import{q as Bn,ap as RX,i as PX,aq as xX,ah as Pte,p as oO,aj as $A,ac as xte,ar as $te,d as oI,as as Dte,e as Nte,o as Xt,w as $R,b as et,c as ar,z as wA,a as BO,t as $n,u as Pe,n as Wo,F as DA,v as NA,s as es,M as Mte,B as $X,at as qte,Y as Fte,aa as kte,f as Bte,au as zte,av as jte,a8 as Lte,D as Gte,aw as Wte,N as Vte,a1 as Zte,ax as IA}from"./index-DH8HZ7DP.js";/**
 * vis-network
 * https://visjs.github.io/vis-network/
 *
 * A dynamic, browser-based visualization library.
 *
 * @version 10.0.2
 * @date    2025-09-15T17:48:13.838Z
 *
 * @copyright (c) 2011-2017 Almende B.V, http://almende.com
 * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
 *
 * @license
 * vis.js is dual licensed under both
 *
 *   1. The Apache 2.0 License
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *   and
 *
 *   2. The MIT License
 *      http://opensource.org/licenses/MIT
 *
 * vis.js may be distributed under either license.
 */function ao(n,e){e===void 0&&(e={});var t=e.insertAt;if(!(!n||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",t==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(document.createTextNode(n))}}var Hte=`div.vis-network div.vis-manipulation {
  box-sizing: content-box;

  border-width: 0;
  border-bottom: 1px;
  border-style: solid;
  border-color: #d6d9d8;
  background: #ffffff; /* Old browsers */
  background: -moz-linear-gradient(
    top,
    #ffffff 0%,
    #fcfcfc 48%,
    #fafafa 50%,
    #fcfcfc 100%
  ); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #ffffff),
    color-stop(48%, #fcfcfc),
    color-stop(50%, #fafafa),
    color-stop(100%, #fcfcfc)
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    #ffffff 0%,
    #fcfcfc 48%,
    #fafafa 50%,
    #fcfcfc 100%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    #ffffff 0%,
    #fcfcfc 48%,
    #fafafa 50%,
    #fcfcfc 100%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(
    top,
    #ffffff 0%,
    #fcfcfc 48%,
    #fafafa 50%,
    #fcfcfc 100%
  ); /* IE10+ */
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #fcfcfc 48%,
    #fafafa 50%,
    #fcfcfc 100%
  ); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc',GradientType=0 ); /* IE6-9 */

  padding-top: 4px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 28px;
}

div.vis-network div.vis-edit-mode,
div.vis-network button.vis-edit-mode {
  position: absolute;
  left: 0;
  top: 5px;
  height: 30px;
}

/* FIXME: shouldn't the vis-close button be a child of the vis-manipulation div? */

div.vis-network button.vis-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
  height: 30px;

  background-color: transparent;
  background-position: 20px 3px;
  background-repeat: no-repeat;
  background-image: url('data:image/png;base64, ');
  border: none;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

div.vis-network button.vis-close:hover {
  opacity: 0.6;
}

div.vis-network div.vis-manipulation button.vis-button,
div.vis-network div.vis-edit-mode button.vis-button {
  float: left;
  font-family: verdana;
  font-size: 12px;
  border: none;
  box-sizing: content-box;
  -moz-border-radius: 15px;
  border-radius: 15px;
  background-color: transparent;
  background-position: 0px 0px;
  background-repeat: no-repeat;
  height: 24px;
  margin-left: 10px;
  cursor: pointer;
  padding: 0px 8px 0px 8px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

div.vis-network div.vis-manipulation button.vis-button:hover {
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
}

div.vis-network div.vis-manipulation button.vis-button:active {
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
}

div.vis-network div.vis-manipulation button.vis-button.vis-back {
  background-image: url('data:image/png;base64, ');
}

div.vis-network div.vis-manipulation div.vis-none:hover {
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0);
  cursor: default;
}
div.vis-network div.vis-manipulation div.vis-none:active {
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0);
}
div.vis-network div.vis-manipulation div.vis-none {
  padding: 0px;
  line-height: 23px;
}
div.vis-network div.vis-manipulation div.notification {
  margin: 2px;
  font-weight: bold;
}

div.vis-network div.vis-manipulation button.vis-button.vis-add {
  background-image: url('data:image/png;base64, ');
}

div.vis-network div.vis-manipulation button.vis-button.vis-edit,
div.vis-network div.vis-edit-mode button.vis-button.vis-edit {
  background-image: url('data:image/png;base64, ');
}

div.vis-network div.vis-edit-mode button.vis-button.vis-edit.vis-edit-mode {
  background-color: #fcfcfc;
  border: 1px solid #cccccc;
}

div.vis-network div.vis-manipulation button.vis-button.vis-connect {
  background-image: url('data:image/png;base64, ');
}

div.vis-network div.vis-manipulation button.vis-button.vis-delete {
  background-image: url('data:image/png;base64, ');
}
/* top right bottom left */
div.vis-network div.vis-manipulation div.vis-label,
div.vis-network div.vis-edit-mode div.vis-label {
  margin: 0 0 0 23px;
  line-height: 25px;
}
div.vis-network div.vis-manipulation div.vis-separator-line {
  float: left;
  display: inline-block;
  width: 1px;
  height: 21px;
  background-color: #bdbdbd;
  margin: 0px 7px 0 15px; /*top right bottom left*/
}

/* TODO: is this redundant?
div.network-navigation_wrapper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
*/
`;ao(Hte);var Ute=`div.vis-network div.vis-navigation div.vis-button {
  width: 34px;
  height: 34px;
  -moz-border-radius: 17px;
  border-radius: 17px;
  position: absolute;
  display: inline-block;
  background-position: 2px 2px;
  background-repeat: no-repeat;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

div.vis-network div.vis-navigation div.vis-button:hover {
  box-shadow: 0 0 3px 3px rgba(56, 207, 21, 0.3);
}

div.vis-network div.vis-navigation div.vis-button:active {
  box-shadow: 0 0 1px 3px rgba(56, 207, 21, 0.95);
}

div.vis-network div.vis-navigation div.vis-button.vis-up {
  background-image: url('data:image/png;base64, ');
  bottom: 50px;
  left: 55px;
}
div.vis-network div.vis-navigation div.vis-button.vis-down {
  background-image: url('data:image/png;base64, ');
  bottom: 10px;
  left: 55px;
}
div.vis-network div.vis-navigation div.vis-button.vis-left {
  background-image: url('data:image/png;base64, ');
  bottom: 10px;
  left: 15px;
}
div.vis-network div.vis-navigation div.vis-button.vis-right {
  background-image: url('data:image/png;base64, ');
  bottom: 10px;
  left: 95px;
}
div.vis-network div.vis-navigation div.vis-button.vis-zoomIn {
  background-image: url('data:image/png;base64, ');
  bottom: 10px;
  right: 15px;
}
div.vis-network div.vis-navigation div.vis-button.vis-zoomOut {
  background-image: url('data:image/png;base64, ');
  bottom: 10px;
  right: 55px;
}
div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends {
  background-image: url('data:image/png;base64, ');
  bottom: 50px;
  right: 15px;
}
`;ao(Ute);var Kte=`.vis-overlay {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;

  /* Must be displayed above for example selected Timeline items */
  z-index: 10;
}

.vis-active {
  box-shadow: 0 0 10px #86d5f8;
}
`;ao(Kte);var Yte=`/* override some bootstrap styles screwing up the timelines css */

.vis [class*="span"] {
  min-height: 0;
  width: auto;
}
`;ao(Yte);var Xte=`div.vis-color-picker {
  position: absolute;
  top: 0px;
  left: 30px;
  margin-top: -140px;
  margin-left: 30px;
  width: 310px;
  height: 444px;
  z-index: 1;
  padding: 10px;
  border-radius: 15px;
  background-color: #ffffff;
  display: none;
  box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 10px 0px;
}

div.vis-color-picker div.vis-arrow {
  position: absolute;
  top: 147px;
  left: 5px;
}

div.vis-color-picker div.vis-arrow::after,
div.vis-color-picker div.vis-arrow::before {
  right: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

div.vis-color-picker div.vis-arrow:after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: #ffffff;
  border-width: 30px;
  margin-top: -30px;
}

div.vis-color-picker div.vis-color {
  position: absolute;
  width: 289px;
  height: 289px;
  cursor: pointer;
}

div.vis-color-picker div.vis-brightness {
  position: absolute;
  top: 313px;
}

div.vis-color-picker div.vis-opacity {
  position: absolute;
  top: 350px;
}

div.vis-color-picker div.vis-selector {
  position: absolute;
  top: 137px;
  left: 137px;
  width: 15px;
  height: 15px;
  border-radius: 15px;
  border: 1px solid #ffffff;
  background: #4c4c4c; /* Old browsers */
  background: -moz-linear-gradient(
    top,
    #4c4c4c 0%,
    #595959 12%,
    #666666 25%,
    #474747 39%,
    #2c2c2c 50%,
    #000000 51%,
    #111111 60%,
    #2b2b2b 76%,
    #1c1c1c 91%,
    #131313 100%
  ); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #4c4c4c),
    color-stop(12%, #595959),
    color-stop(25%, #666666),
    color-stop(39%, #474747),
    color-stop(50%, #2c2c2c),
    color-stop(51%, #000000),
    color-stop(60%, #111111),
    color-stop(76%, #2b2b2b),
    color-stop(91%, #1c1c1c),
    color-stop(100%, #131313)
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    #4c4c4c 0%,
    #595959 12%,
    #666666 25%,
    #474747 39%,
    #2c2c2c 50%,
    #000000 51%,
    #111111 60%,
    #2b2b2b 76%,
    #1c1c1c 91%,
    #131313 100%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    #4c4c4c 0%,
    #595959 12%,
    #666666 25%,
    #474747 39%,
    #2c2c2c 50%,
    #000000 51%,
    #111111 60%,
    #2b2b2b 76%,
    #1c1c1c 91%,
    #131313 100%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(
    top,
    #4c4c4c 0%,
    #595959 12%,
    #666666 25%,
    #474747 39%,
    #2c2c2c 50%,
    #000000 51%,
    #111111 60%,
    #2b2b2b 76%,
    #1c1c1c 91%,
    #131313 100%
  ); /* IE10+ */
  background: linear-gradient(
    to bottom,
    #4c4c4c 0%,
    #595959 12%,
    #666666 25%,
    #474747 39%,
    #2c2c2c 50%,
    #000000 51%,
    #111111 60%,
    #2b2b2b 76%,
    #1c1c1c 91%,
    #131313 100%
  ); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#131313',GradientType=0 ); /* IE6-9 */
}

div.vis-color-picker div.vis-new-color {
  position: absolute;
  width: 140px;
  height: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  top: 380px;
  left: 159px;
  text-align: right;
  padding-right: 2px;
  font-size: 10px;
  color: rgba(0, 0, 0, 0.4);
  vertical-align: middle;
  line-height: 20px;
}

div.vis-color-picker div.vis-initial-color {
  position: absolute;
  width: 140px;
  height: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  top: 380px;
  left: 10px;
  text-align: left;
  padding-left: 2px;
  font-size: 10px;
  color: rgba(0, 0, 0, 0.4);
  vertical-align: middle;
  line-height: 20px;
}

div.vis-color-picker div.vis-label {
  position: absolute;
  width: 300px;
  left: 10px;
}

div.vis-color-picker div.vis-label.vis-brightness {
  top: 300px;
}

div.vis-color-picker div.vis-label.vis-opacity {
  top: 338px;
}

div.vis-color-picker div.vis-button {
  position: absolute;
  width: 68px;
  height: 25px;
  border-radius: 10px;
  vertical-align: middle;
  text-align: center;
  line-height: 25px;
  top: 410px;
  border: 2px solid #d9d9d9;
  background-color: #f7f7f7;
  cursor: pointer;
}

div.vis-color-picker div.vis-button.vis-cancel {
  /*border:2px solid #ff4e33;*/
  /*background-color: #ff7761;*/
  left: 5px;
}
div.vis-color-picker div.vis-button.vis-load {
  /*border:2px solid #a153e6;*/
  /*background-color: #cb8dff;*/
  left: 82px;
}
div.vis-color-picker div.vis-button.vis-apply {
  /*border:2px solid #4588e6;*/
  /*background-color: #82b6ff;*/
  left: 159px;
}
div.vis-color-picker div.vis-button.vis-save {
  /*border:2px solid #45e655;*/
  /*background-color: #6dff7c;*/
  left: 236px;
}

div.vis-color-picker input.vis-range {
  width: 290px;
  height: 20px;
}

/* TODO: is this redundant?
div.vis-color-picker input.vis-range-brightness {
  width: 289px !important;
}


div.vis-color-picker input.vis-saturation-range {
  width: 289px !important;
}*/
`;ao(Xte);var Qte=`div.vis-configuration {
  position: relative;
  display: block;
  float: left;
  font-size: 12px;
}

div.vis-configuration-wrapper {
  display: block;
  width: 700px;
}

div.vis-configuration-wrapper::after {
  clear: both;
  content: "";
  display: block;
}

div.vis-configuration.vis-config-option-container {
  display: block;
  width: 495px;
  background-color: #ffffff;
  border: 2px solid #f7f8fa;
  border-radius: 4px;
  margin-top: 20px;
  left: 10px;
  padding-left: 5px;
}

div.vis-configuration.vis-config-button {
  display: block;
  width: 495px;
  height: 25px;
  vertical-align: middle;
  line-height: 25px;
  background-color: #f7f8fa;
  border: 2px solid #ceced0;
  border-radius: 4px;
  margin-top: 20px;
  left: 10px;
  padding-left: 5px;
  cursor: pointer;
  margin-bottom: 30px;
}

div.vis-configuration.vis-config-button.hover {
  background-color: #4588e6;
  border: 2px solid #214373;
  color: #ffffff;
}

div.vis-configuration.vis-config-item {
  display: block;
  float: left;
  width: 495px;
  height: 25px;
  vertical-align: middle;
  line-height: 25px;
}

div.vis-configuration.vis-config-item.vis-config-s2 {
  left: 10px;
  background-color: #f7f8fa;
  padding-left: 5px;
  border-radius: 3px;
}
div.vis-configuration.vis-config-item.vis-config-s3 {
  left: 20px;
  background-color: #e4e9f0;
  padding-left: 5px;
  border-radius: 3px;
}
div.vis-configuration.vis-config-item.vis-config-s4 {
  left: 30px;
  background-color: #cfd8e6;
  padding-left: 5px;
  border-radius: 3px;
}

div.vis-configuration.vis-config-header {
  font-size: 18px;
  font-weight: bold;
}

div.vis-configuration.vis-config-label {
  width: 120px;
  height: 25px;
  line-height: 25px;
}

div.vis-configuration.vis-config-label.vis-config-s3 {
  width: 110px;
}
div.vis-configuration.vis-config-label.vis-config-s4 {
  width: 100px;
}

div.vis-configuration.vis-config-colorBlock {
  top: 1px;
  width: 30px;
  height: 19px;
  border: 1px solid #444444;
  border-radius: 2px;
  padding: 0px;
  margin: 0px;
  cursor: pointer;
}

input.vis-configuration.vis-config-checkbox {
  left: -5px;
}

input.vis-configuration.vis-config-rangeinput {
  position: relative;
  top: -5px;
  width: 60px;
  /*height:13px;*/
  padding: 1px;
  margin: 0;
  pointer-events: none;
}

input.vis-configuration.vis-config-range {
  /*removes default webkit styles*/
  -webkit-appearance: none;

  /*fix for FF unable to apply focus style bug */
  border: 0px solid white;
  background-color: rgba(0, 0, 0, 0);

  /*required for proper track sizing in FF*/
  width: 300px;
  height: 20px;
}
input.vis-configuration.vis-config-range::-webkit-slider-runnable-track {
  width: 300px;
  height: 5px;
  background: #dedede; /* Old browsers */
  background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #dedede),
    color-stop(99%, #c8c8c8)
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    #dedede 0%,
    #c8c8c8 99%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    #dedede 0%,
    #c8c8c8 99%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* IE10+ */
  background: linear-gradient(to bottom, #dedede 0%, #c8c8c8 99%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */

  border: 1px solid #999999;
  box-shadow: #aaaaaa 0px 0px 3px 0px;
  border-radius: 3px;
}
input.vis-configuration.vis-config-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 1px solid #14334b;
  height: 17px;
  width: 17px;
  border-radius: 50%;
  background: #3876c2; /* Old browsers */
  background: -moz-linear-gradient(top, #3876c2 0%, #385380 100%); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #3876c2),
    color-stop(100%, #385380)
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    #3876c2 0%,
    #385380 100%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    #3876c2 0%,
    #385380 100%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #3876c2 0%, #385380 100%); /* IE10+ */
  background: linear-gradient(to bottom, #3876c2 0%, #385380 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3876c2', endColorstr='#385380',GradientType=0 ); /* IE6-9 */
  box-shadow: #111927 0px 0px 1px 0px;
  margin-top: -7px;
}
input.vis-configuration.vis-config-range:focus {
  outline: none;
}
input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track {
  background: #9d9d9d; /* Old browsers */
  background: -moz-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #9d9d9d),
    color-stop(99%, #c8c8c8)
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    #9d9d9d 0%,
    #c8c8c8 99%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    #9d9d9d 0%,
    #c8c8c8 99%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); /* IE10+ */
  background: linear-gradient(to bottom, #9d9d9d 0%, #c8c8c8 99%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d9d9d', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */
}

input.vis-configuration.vis-config-range::-moz-range-track {
  width: 300px;
  height: 10px;
  background: #dedede; /* Old browsers */
  background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* FF3.6+ */
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #dedede),
    color-stop(99%, #c8c8c8)
  ); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(
    top,
    #dedede 0%,
    #c8c8c8 99%
  ); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(
    top,
    #dedede 0%,
    #c8c8c8 99%
  ); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #dedede 0%, #c8c8c8 99%); /* IE10+ */
  background: linear-gradient(to bottom, #dedede 0%, #c8c8c8 99%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dedede', endColorstr='#c8c8c8',GradientType=0 ); /* IE6-9 */

  border: 1px solid #999999;
  box-shadow: #aaaaaa 0px 0px 3px 0px;
  border-radius: 3px;
}
input.vis-configuration.vis-config-range::-moz-range-thumb {
  border: none;
  height: 16px;
  width: 16px;

  border-radius: 50%;
  background: #385380;
}

/*hide the outline behind the border*/
input.vis-configuration.vis-config-range:-moz-focusring {
  outline: 1px solid white;
  outline-offset: -1px;
}

input.vis-configuration.vis-config-range::-ms-track {
  width: 300px;
  height: 5px;

  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  background: transparent;

  /*leave room for the larger thumb to overflow with a transparent border */
  border-color: transparent;
  border-width: 6px 0;

  /*remove default tick marks*/
  color: transparent;
}
input.vis-configuration.vis-config-range::-ms-fill-lower {
  background: #777;
  border-radius: 10px;
}
input.vis-configuration.vis-config-range::-ms-fill-upper {
  background: #ddd;
  border-radius: 10px;
}
input.vis-configuration.vis-config-range::-ms-thumb {
  border: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #385380;
}
input.vis-configuration.vis-config-range:focus::-ms-fill-lower {
  background: #888;
}
input.vis-configuration.vis-config-range:focus::-ms-fill-upper {
  background: #ccc;
}

.vis-configuration-popup {
  position: absolute;
  background: rgba(57, 76, 89, 0.85);
  border: 2px solid #f2faff;
  line-height: 30px;
  height: 30px;
  width: 150px;
  text-align: center;
  color: #ffffff;
  font-size: 14px;
  border-radius: 4px;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.vis-configuration-popup:after,
.vis-configuration-popup:before {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.vis-configuration-popup:after {
  border-color: rgba(136, 183, 213, 0);
  border-left-color: rgba(57, 76, 89, 0.85);
  border-width: 8px;
  margin-top: -8px;
}
.vis-configuration-popup:before {
  border-color: rgba(194, 225, 245, 0);
  border-left-color: #f2faff;
  border-width: 12px;
  margin-top: -12px;
}
`;ao(Qte);var Jte=`div.vis-tooltip {
  position: absolute;
  visibility: hidden;
  padding: 5px;
  white-space: nowrap;

  font-family: verdana;
  font-size: 14px;
  color: #000000;
  background-color: #f5f4ed;

  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #808074;

  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
  pointer-events: none;

  z-index: 5;
}
`;ao(Jte);var DR=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ne(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var NR={},va,MR;function Le(){if(MR)return va;MR=1;var n=function(e){return e&&e.Math===Math&&e};return va=n(typeof globalThis=="object"&&globalThis)||n(typeof window=="object"&&window)||n(typeof self=="object"&&self)||n(typeof DR=="object"&&DR)||n(typeof va=="object"&&va)||(function(){return this})()||Function("return this")(),va}var sC,qR;function ce(){return qR||(qR=1,sC=function(n){try{return!!n()}catch{return!0}}),sC}var aC,FR;function ag(){if(FR)return aC;FR=1;var n=ce();return aC=!n(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),aC}var gC,kR;function sI(){if(kR)return gC;kR=1;var n=ag(),e=Function.prototype,t=e.apply,r=e.call;return gC=typeof Reflect=="object"&&Reflect.apply||(n?r.bind(t):function(){return r.apply(t,arguments)}),gC}var AC,BR;function me(){if(BR)return AC;BR=1;var n=ag(),e=Function.prototype,t=e.call,r=n&&e.bind.bind(t,t);return AC=n?r:function(i){return function(){return t.apply(i,arguments)}},AC}var IC,zR;function Ai(){if(zR)return IC;zR=1;var n=me(),e=n({}.toString),t=n("".slice);return IC=function(r){return t(e(r),8,-1)},IC}var CC,jR;function zO(){if(jR)return CC;jR=1;var n=Ai(),e=me();return CC=function(t){if(n(t)==="Function")return e(t)},CC}var lC,LR;function yt(){if(LR)return lC;LR=1;var n=typeof document=="object"&&document.all;return lC=typeof n>"u"&&n!==void 0?function(e){return typeof e=="function"||e===n}:function(e){return typeof e=="function"},lC}var dC={},uC,GR;function nt(){if(GR)return uC;GR=1;var n=ce();return uC=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),uC}var hC,WR;function rr(){if(WR)return hC;WR=1;var n=ag(),e=Function.prototype.call;return hC=n?e.bind(e):function(){return e.apply(e,arguments)},hC}var cC={},VR;function aI(){if(VR)return cC;VR=1;var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,t=e&&!n.call({1:2},1);return cC.f=t?function(i){var o=e(this,i);return!!o&&o.enumerable}:n,cC}var fC,ZR;function gg(){return ZR||(ZR=1,fC=function(n,e){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:e}}),fC}var pC,HR;function gI(){if(HR)return pC;HR=1;var n=me(),e=ce(),t=Ai(),r=Object,i=n("".split);return pC=e(function(){return!r("z").propertyIsEnumerable(0)})?function(o){return t(o)==="String"?i(o,""):r(o)}:r,pC}var vC,UR;function Os(){return UR||(UR=1,vC=function(n){return n==null}),vC}var mC,KR;function Ri(){if(KR)return mC;KR=1;var n=Os(),e=TypeError;return mC=function(t){if(n(t))throw new e("Can't call method on "+t);return t},mC}var yC,YR;function Vr(){if(YR)return yC;YR=1;var n=gI(),e=Ri();return yC=function(t){return n(e(t))},yC}var bC,XR;function bt(){if(XR)return bC;XR=1;var n=yt();return bC=function(e){return typeof e=="object"?e!==null:n(e)},bC}var wC,QR;function Ee(){return QR||(QR=1,wC={}),wC}var EC,JR;function gr(){if(JR)return EC;JR=1;var n=Ee(),e=Le(),t=yt(),r=function(i){return t(i)?i:void 0};return EC=function(i,o){return arguments.length<2?r(n[i])||r(e[i]):n[i]&&n[i][o]||e[i]&&e[i][o]},EC}var SC,eP;function Je(){if(eP)return SC;eP=1;var n=me();return SC=n({}.isPrototypeOf),SC}var _C,tP;function Ts(){if(tP)return _C;tP=1;var n=Le(),e=n.navigator,t=e&&e.userAgent;return _C=t?String(t):"",_C}var OC,rP;function Ag(){if(rP)return OC;rP=1;var n=Le(),e=Ts(),t=n.process,r=n.Deno,i=t&&t.versions||r&&r.version,o=i&&i.v8,s,a;return o&&(s=o.split("."),a=s[0]>0&&s[0]<4?1:+(s[0]+s[1])),!a&&e&&(s=e.match(/Edge\/(\d+)/),(!s||s[1]>=74)&&(s=e.match(/Chrome\/(\d+)/),s&&(a=+s[1]))),OC=a,OC}var TC,iP;function Rs(){if(iP)return TC;iP=1;var n=Ag(),e=ce(),t=Le(),r=t.String;return TC=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!r(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41}),TC}var RC,nP;function DX(){if(nP)return RC;nP=1;var n=Rs();return RC=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol",RC}var PC,oP;function Ig(){if(oP)return PC;oP=1;var n=gr(),e=yt(),t=Je(),r=DX(),i=Object;return PC=r?function(o){return typeof o=="symbol"}:function(o){var s=n("Symbol");return e(s)&&t(s.prototype,i(o))},PC}var xC,sP;function Ps(){if(sP)return xC;sP=1;var n=String;return xC=function(e){try{return n(e)}catch{return"Object"}},xC}var $C,aP;function Pi(){if(aP)return $C;aP=1;var n=yt(),e=Ps(),t=TypeError;return $C=function(r){if(n(r))return r;throw new t(e(r)+" is not a function")},$C}var DC,gP;function jO(){if(gP)return DC;gP=1;var n=Pi(),e=Os();return DC=function(t,r){var i=t[r];return e(i)?void 0:n(i)},DC}var NC,AP;function ere(){if(AP)return NC;AP=1;var n=rr(),e=yt(),t=bt(),r=TypeError;return NC=function(i,o){var s,a;if(o==="string"&&e(s=i.toString)&&!t(a=n(s,i))||e(s=i.valueOf)&&!t(a=n(s,i))||o!=="string"&&e(s=i.toString)&&!t(a=n(s,i)))return a;throw new r("Can't convert object to primitive value")},NC}var MC={exports:{}},qC,IP;function xs(){return IP||(IP=1,qC=!0),qC}var FC,CP;function tre(){if(CP)return FC;CP=1;var n=Le(),e=Object.defineProperty;return FC=function(t,r){try{e(n,t,{value:r,configurable:!0,writable:!0})}catch{n[t]=r}return r},FC}var lP;function LO(){if(lP)return MC.exports;lP=1;var n=xs(),e=Le(),t=tre(),r="__core-js_shared__",i=MC.exports=e[r]||t(r,{});return(i.versions||(i.versions=[])).push({version:"3.44.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"}),MC.exports}var kC,dP;function $s(){if(dP)return kC;dP=1;var n=LO();return kC=function(e,t){return n[e]||(n[e]=t||{})},kC}var BC,uP;function Ar(){if(uP)return BC;uP=1;var n=Ri(),e=Object;return BC=function(t){return e(n(t))},BC}var zC,hP;function ct(){if(hP)return zC;hP=1;var n=me(),e=Ar(),t=n({}.hasOwnProperty);return zC=Object.hasOwn||function(i,o){return t(e(i),o)},zC}var jC,cP;function AI(){if(cP)return jC;cP=1;var n=me(),e=0,t=Math.random(),r=n(1.1.toString);return jC=function(i){return"Symbol("+(i===void 0?"":i)+")_"+r(++e+t,36)},jC}var LC,fP;function Ct(){if(fP)return LC;fP=1;var n=Le(),e=$s(),t=ct(),r=AI(),i=Rs(),o=DX(),s=n.Symbol,a=e("wks"),g=o?s.for||s:s&&s.withoutSetter||r;return LC=function(A){return t(a,A)||(a[A]=i&&t(s,A)?s[A]:g("Symbol."+A)),a[A]},LC}var GC,pP;function NX(){if(pP)return GC;pP=1;var n=rr(),e=bt(),t=Ig(),r=jO(),i=ere(),o=Ct(),s=TypeError,a=o("toPrimitive");return GC=function(g,A){if(!e(g)||t(g))return g;var I=r(g,a),C;if(I){if(A===void 0&&(A="default"),C=n(I,g,A),!e(C)||t(C))return C;throw new s("Can't convert object to primitive value")}return A===void 0&&(A="number"),i(g,A)},GC}var WC,vP;function GO(){if(vP)return WC;vP=1;var n=NX(),e=Ig();return WC=function(t){var r=n(t,"string");return e(r)?r:r+""},WC}var VC,mP;function MX(){if(mP)return VC;mP=1;var n=Le(),e=bt(),t=n.document,r=e(t)&&e(t.createElement);return VC=function(i){return r?t.createElement(i):{}},VC}var ZC,yP;function qX(){if(yP)return ZC;yP=1;var n=nt(),e=ce(),t=MX();return ZC=!n&&!e(function(){return Object.defineProperty(t("div"),"a",{get:function(){return 7}}).a!==7}),ZC}var bP;function II(){if(bP)return dC;bP=1;var n=nt(),e=rr(),t=aI(),r=gg(),i=Vr(),o=GO(),s=ct(),a=qX(),g=Object.getOwnPropertyDescriptor;return dC.f=n?g:function(I,C){if(I=i(I),C=o(C),a)try{return g(I,C)}catch{}if(s(I,C))return r(!e(t.f,I,C),I[C])},dC}var HC,wP;function rre(){if(wP)return HC;wP=1;var n=ce(),e=yt(),t=/#|\.prototype\./,r=function(g,A){var I=o[i(g)];return I===a?!0:I===s?!1:e(A)?n(A):!!A},i=r.normalize=function(g){return String(g).replace(t,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",a=r.POLYFILL="P";return HC=r,HC}var UC,EP;function CI(){if(EP)return UC;EP=1;var n=zO(),e=Pi(),t=ag(),r=n(n.bind);return UC=function(i,o){return e(i),o===void 0?i:t?r(i,o):function(){return i.apply(o,arguments)}},UC}var KC={},YC,SP;function FX(){if(SP)return YC;SP=1;var n=nt(),e=ce();return YC=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),YC}var XC,_P;function Ii(){if(_P)return XC;_P=1;var n=bt(),e=String,t=TypeError;return XC=function(r){if(n(r))return r;throw new t(e(r)+" is not an object")},XC}var OP;function mr(){if(OP)return KC;OP=1;var n=nt(),e=qX(),t=FX(),r=Ii(),i=GO(),o=TypeError,s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,g="enumerable",A="configurable",I="writable";return KC.f=n?t?function(l,d,u){if(r(l),d=i(d),r(u),typeof l=="function"&&d==="prototype"&&"value"in u&&I in u&&!u[I]){var h=a(l,d);h&&h[I]&&(l[d]=u.value,u={configurable:A in u?u[A]:h[A],enumerable:g in u?u[g]:h[g],writable:!1})}return s(l,d,u)}:s:function(l,d,u){if(r(l),d=i(d),r(u),e)try{return s(l,d,u)}catch{}if("get"in u||"set"in u)throw new o("Accessors not supported");return"value"in u&&(l[d]=u.value),l},KC}var QC,TP;function Ds(){if(TP)return QC;TP=1;var n=nt(),e=mr(),t=gg();return QC=n?function(r,i,o){return e.f(r,i,t(1,o))}:function(r,i,o){return r[i]=o,r},QC}var JC,RP;function ee(){if(RP)return JC;RP=1;var n=Le(),e=sI(),t=zO(),r=yt(),i=II().f,o=rre(),s=Ee(),a=CI(),g=Ds(),A=ct(),I=function(C){var l=function(d,u,h){if(this instanceof l){switch(arguments.length){case 0:return new C;case 1:return new C(d);case 2:return new C(d,u)}return new C(d,u,h)}return e(C,this,arguments)};return l.prototype=C.prototype,l};return JC=function(C,l){var d=C.target,u=C.global,h=C.stat,v=C.proto,f=u?n:h?n[d]:n[d]&&n[d].prototype,c=u?s:s[d]||g(s,d,{})[d],b=c.prototype,p,y,E,S,m,w,_,T,R;for(S in l)p=o(u?S:d+(h?".":"#")+S,C.forced),y=!p&&f&&A(f,S),w=c[S],y&&(C.dontCallGetSet?(R=i(f,S),_=R&&R.value):_=f[S]),m=y&&_?_:l[S],!(!p&&!v&&typeof w==typeof m)&&(C.bind&&y?T=a(m,n):C.wrap&&y?T=I(m):v&&r(m)?T=t(m):T=m,(C.sham||m&&m.sham||w&&w.sham)&&g(T,"sham",!0),g(c,S,T),v&&(E=d+"Prototype",A(s,E)||g(s,E,{}),g(s[E],S,m),C.real&&b&&(p||!b[S])&&g(b,S,m)))},JC}var el,PP;function ire(){if(PP)return el;PP=1;var n=Math.ceil,e=Math.floor;return el=Math.trunc||function(r){var i=+r;return(i>0?e:n)(i)},el}var tl,xP;function Ns(){if(xP)return tl;xP=1;var n=ire();return tl=function(e){var t=+e;return t!==t||t===0?0:n(t)},tl}var rl,$P;function lI(){if($P)return rl;$P=1;var n=Ns(),e=Math.max,t=Math.min;return rl=function(r,i){var o=n(r);return o<0?e(o+i,0):t(o,i)},rl}var il,DP;function kX(){if(DP)return il;DP=1;var n=Ns(),e=Math.min;return il=function(t){var r=n(t);return r>0?e(r,9007199254740991):0},il}var nl,NP;function xi(){if(NP)return nl;NP=1;var n=kX();return nl=function(e){return n(e.length)},nl}var ol,MP;function WO(){if(MP)return ol;MP=1;var n=Vr(),e=lI(),t=xi(),r=function(i){return function(o,s,a){var g=n(o),A=t(g);if(A===0)return!i&&-1;var I=e(a,A),C;if(i&&s!==s){for(;A>I;)if(C=g[I++],C!==C)return!0}else for(;A>I;I++)if((i||I in g)&&g[I]===s)return i||I||0;return!i&&-1}};return ol={includes:r(!0),indexOf:r(!1)},ol}var sl,qP;function Cg(){return qP||(qP=1,sl={}),sl}var al,FP;function BX(){if(FP)return al;FP=1;var n=me(),e=ct(),t=Vr(),r=WO().indexOf,i=Cg(),o=n([].push);return al=function(s,a){var g=t(s),A=0,I=[],C;for(C in g)!e(i,C)&&e(g,C)&&o(I,C);for(;a.length>A;)e(g,C=a[A++])&&(~r(I,C)||o(I,C));return I},al}var gl,kP;function VO(){return kP||(kP=1,gl=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),gl}var Al,BP;function lg(){if(BP)return Al;BP=1;var n=BX(),e=VO();return Al=Object.keys||function(r){return n(r,e)},Al}var Il={},zP;function dI(){return zP||(zP=1,Il.f=Object.getOwnPropertySymbols),Il}var Cl,jP;function nre(){if(jP)return Cl;jP=1;var n=nt(),e=me(),t=rr(),r=ce(),i=lg(),o=dI(),s=aI(),a=Ar(),g=gI(),A=Object.assign,I=Object.defineProperty,C=e([].concat);return Cl=!A||r(function(){if(n&&A({b:1},A(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var l={},d={},u=Symbol("assign detection"),h="abcdefghijklmnopqrst";return l[u]=7,h.split("").forEach(function(v){d[v]=v}),A({},l)[u]!==7||i(A({},d)).join("")!==h})?function(d,u){for(var h=a(d),v=arguments.length,f=1,c=o.f,b=s.f;v>f;)for(var p=g(arguments[f++]),y=c?C(i(p),c(p)):i(p),E=y.length,S=0,m;E>S;)m=y[S++],(!n||t(b,p,m))&&(h[m]=p[m]);return h}:A,Cl}var LP;function ore(){if(LP)return NR;LP=1;var n=ee(),e=nre();return n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e}),NR}var ll,GP;function sre(){if(GP)return ll;GP=1,ore();var n=Ee();return ll=n.Object.assign,ll}var dl,WP;function are(){if(WP)return dl;WP=1;var n=sre();return dl=n,dl}var ul,VP;function gre(){return VP||(VP=1,ul=are()),ul}var Are=gre(),tt=ne(Are),ZP={},hl,HP;function Ms(){if(HP)return hl;HP=1;var n=me();return hl=n([].slice),hl}var cl,UP;function Ire(){if(UP)return cl;UP=1;var n=me(),e=Pi(),t=bt(),r=ct(),i=Ms(),o=ag(),s=Function,a=n([].concat),g=n([].join),A={},I=function(C,l,d){if(!r(A,l)){for(var u=[],h=0;h<l;h++)u[h]="a["+h+"]";A[l]=s("C,a","return new C("+g(u,",")+")")}return A[l](C,d)};return cl=o?s.bind:function(l){var d=e(this),u=d.prototype,h=i(arguments,1),v=function(){var c=a(h,i(arguments));return this instanceof v?I(d,c.length,c):d.apply(l,c)};return t(u)&&(v.prototype=u),v},cl}var KP;function Cre(){if(KP)return ZP;KP=1;var n=ee(),e=Ire();return n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e}),ZP}var fl,YP;function ft(){if(YP)return fl;YP=1;var n=Le(),e=Ee();return fl=function(t,r){var i=e[t+"Prototype"],o=i&&i[r];if(o)return o;var s=n[t],a=s&&s.prototype;return a&&a[r]},fl}var pl,XP;function lre(){if(XP)return pl;XP=1,Cre();var n=ft();return pl=n("Function","bind"),pl}var vl,QP;function dre(){if(QP)return vl;QP=1;var n=Je(),e=lre(),t=Function.prototype;return vl=function(r){var i=r.bind;return r===t||n(t,r)&&i===t.bind?e:i},vl}var ml,JP;function ure(){if(JP)return ml;JP=1;var n=dre();return ml=n,ml}var yl,e2;function hre(){return e2||(e2=1,yl=ure()),yl}var cre=hre(),z=ne(cre);function ZO(n,e,t,r){n.beginPath(),n.arc(e,t,r,0,2*Math.PI,!1),n.closePath()}function fre(n,e,t,r){n.beginPath(),n.rect(e-r,t-r,r*2,r*2),n.closePath()}function pre(n,e,t,r){n.beginPath(),r*=1.15,t+=.275*r;const i=r*2,o=i/2,s=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-o*o);n.moveTo(e,t-(a-s)),n.lineTo(e+o,t+s),n.lineTo(e-o,t+s),n.lineTo(e,t-(a-s)),n.closePath()}function vre(n,e,t,r){n.beginPath(),r*=1.15,t-=.275*r;const i=r*2,o=i/2,s=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-o*o);n.moveTo(e,t+(a-s)),n.lineTo(e+o,t-s),n.lineTo(e-o,t-s),n.lineTo(e,t+(a-s)),n.closePath()}function mre(n,e,t,r){n.beginPath(),r*=.82,t+=.1*r;for(let i=0;i<10;i++){const o=i%2===0?r*1.3:r*.5;n.lineTo(e+o*Math.sin(i*2*Math.PI/10),t-o*Math.cos(i*2*Math.PI/10))}n.closePath()}function yre(n,e,t,r){n.beginPath(),n.lineTo(e,t+r),n.lineTo(e+r,t),n.lineTo(e,t-r),n.lineTo(e-r,t),n.closePath()}function zX(n,e,t,r,i,o){const s=Math.PI/180;r-2*o<0&&(o=r/2),i-2*o<0&&(o=i/2),n.beginPath(),n.moveTo(e+o,t),n.lineTo(e+r-o,t),n.arc(e+r-o,t+o,o,s*270,s*360,!1),n.lineTo(e+r,t+i-o),n.arc(e+r-o,t+i-o,o,0,s*90,!1),n.lineTo(e+o,t+i),n.arc(e+o,t+i-o,o,s*90,s*180,!1),n.lineTo(e,t+o),n.arc(e+o,t+o,o,s*180,s*270,!1),n.closePath()}function sO(n,e,t,r,i){const o=.5522848,s=r/2*o,a=i/2*o,g=e+r,A=t+i,I=e+r/2,C=t+i/2;n.beginPath(),n.moveTo(e,C),n.bezierCurveTo(e,C-a,I-s,t,I,t),n.bezierCurveTo(I+s,t,g,C-a,g,C),n.bezierCurveTo(g,C+a,I+s,A,I,A),n.bezierCurveTo(I-s,A,e,C+a,e,C),n.closePath()}function jX(n,e,t,r,i){const o=.3333333333333333,s=r,a=i*o,g=.5522848,A=s/2*g,I=a/2*g,C=e+s,l=t+a,d=e+s/2,u=t+a/2,h=t+(i-a/2),v=t+i;n.beginPath(),n.moveTo(C,u),n.bezierCurveTo(C,u+I,d+A,l,d,l),n.bezierCurveTo(d-A,l,e,u+I,e,u),n.bezierCurveTo(e,u-I,d-A,t,d,t),n.bezierCurveTo(d+A,t,C,u-I,C,u),n.lineTo(C,h),n.bezierCurveTo(C,h+I,d+A,v,d,v),n.bezierCurveTo(d-A,v,e,h+I,e,h),n.lineTo(e,u)}function LX(n,e,t,r,i,o){n.beginPath(),n.moveTo(e,t);const s=o.length,a=r-e,g=i-t,A=g/a;let I=Math.sqrt(a*a+g*g),C=0,l=!0,d=0,u=+o[0];for(;I>=.1;)u=+o[C++%s],u>I&&(u=I),d=Math.sqrt(u*u/(1+A*A)),d=a<0?-d:d,e+=d,t+=A*d,l===!0?n.lineTo(e,t):n.moveTo(e,t),I-=u,l=!l}function bre(n,e,t,r){n.beginPath();const i=6,o=Math.PI*2/i;n.moveTo(e+r,t);for(let s=1;s<i;s++)n.lineTo(e+r*Math.cos(o*s),t+r*Math.sin(o*s));n.closePath()}const t2={circle:ZO,dashedLine:LX,database:jX,diamond:yre,ellipse:sO,ellipse_vis:sO,hexagon:bre,roundRect:zX,square:fre,star:mre,triangle:pre,triangleDown:vre};function wre(n){return Object.prototype.hasOwnProperty.call(t2,n)?t2[n]:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];CanvasRenderingContext2D.prototype[n].call(e,r)}}var bl={exports:{}},r2;function Ere(){return r2||(r2=1,(function(n){n.exports=e;function e(r){if(r)return t(r)}function t(r){for(var i in e.prototype)r[i]=e.prototype[i];return r}e.prototype.on=e.prototype.addEventListener=function(r,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(i),this},e.prototype.once=function(r,i){function o(){this.off(r,o),i.apply(this,arguments)}return o.fn=i,this.on(r,o),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(r,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+r];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var s,a=0;a<o.length;a++)if(s=o[a],s===i||s.fn===i){o.splice(a,1);break}return o.length===0&&delete this._callbacks["$"+r],this},e.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var i=new Array(arguments.length-1),o=this._callbacks["$"+r],s=1;s<arguments.length;s++)i[s-1]=arguments[s];if(o){o=o.slice(0);for(var s=0,a=o.length;s<a;++s)o[s].apply(this,i)}return this},e.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]},e.prototype.hasListeners=function(r){return!!this.listeners(r).length}})(bl)),bl.exports}var Sre=Ere(),GX=ne(Sre),i2={},wl,n2;function go(){if(n2)return wl;n2=1;var n=Ai();return wl=Array.isArray||function(t){return n(t)==="Array"},wl}var El,o2;function WX(){if(o2)return El;o2=1;var n=TypeError,e=9007199254740991;return El=function(t){if(t>e)throw n("Maximum allowed index exceeded");return t},El}var Sl,s2;function uI(){if(s2)return Sl;s2=1;var n=nt(),e=mr(),t=gg();return Sl=function(r,i,o){n?e.f(r,i,t(0,o)):r[i]=o},Sl}var _l,a2;function HO(){if(a2)return _l;a2=1;var n=Ct(),e=n("toStringTag"),t={};return t[e]="z",_l=String(t)==="[object z]",_l}var Ol,g2;function fn(){if(g2)return Ol;g2=1;var n=HO(),e=yt(),t=Ai(),r=Ct(),i=r("toStringTag"),o=Object,s=t((function(){return arguments})())==="Arguments",a=function(g,A){try{return g[A]}catch{}};return Ol=n?t:function(g){var A,I,C;return g===void 0?"Undefined":g===null?"Null":typeof(I=a(A=o(g),i))=="string"?I:s?t(A):(C=t(A))==="Object"&&e(A.callee)?"Arguments":C},Ol}var Tl,A2;function _re(){if(A2)return Tl;A2=1;var n=me(),e=yt(),t=LO(),r=n(Function.toString);return e(t.inspectSource)||(t.inspectSource=function(i){return r(i)}),Tl=t.inspectSource,Tl}var Rl,I2;function VX(){if(I2)return Rl;I2=1;var n=me(),e=ce(),t=yt(),r=fn(),i=gr(),o=_re(),s=function(){},a=i("Reflect","construct"),g=/^\s*(?:class|function)\b/,A=n(g.exec),I=!g.test(s),C=function(u){if(!t(u))return!1;try{return a(s,[],u),!0}catch{return!1}},l=function(u){if(!t(u))return!1;switch(r(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!A(g,o(u))}catch{return!0}};return l.sham=!0,Rl=!a||e(function(){var d;return C(C.call)||!C(Object)||!C(function(){d=!0})||d})?l:C,Rl}var Pl,C2;function Ore(){if(C2)return Pl;C2=1;var n=go(),e=VX(),t=bt(),r=Ct(),i=r("species"),o=Array;return Pl=function(s){var a;return n(s)&&(a=s.constructor,e(a)&&(a===o||n(a.prototype))?a=void 0:t(a)&&(a=a[i],a===null&&(a=void 0))),a===void 0?o:a},Pl}var xl,l2;function UO(){if(l2)return xl;l2=1;var n=Ore();return xl=function(e,t){return new(n(e))(t===0?0:t)},xl}var $l,d2;function dg(){if(d2)return $l;d2=1;var n=ce(),e=Ct(),t=Ag(),r=e("species");return $l=function(i){return t>=51||!n(function(){var o=[],s=o.constructor={};return s[r]=function(){return{foo:1}},o[i](Boolean).foo!==1})},$l}var u2;function ZX(){if(u2)return i2;u2=1;var n=ee(),e=ce(),t=go(),r=bt(),i=Ar(),o=xi(),s=WX(),a=uI(),g=UO(),A=dg(),I=Ct(),C=Ag(),l=I("isConcatSpreadable"),d=C>=51||!e(function(){var v=[];return v[l]=!1,v.concat()[0]!==v}),u=function(v){if(!r(v))return!1;var f=v[l];return f!==void 0?!!f:t(v)},h=!d||!A("concat");return n({target:"Array",proto:!0,arity:1,forced:h},{concat:function(f){var c=i(this),b=g(c,0),p=0,y,E,S,m,w;for(y=-1,S=arguments.length;y<S;y++)if(w=y===-1?c:arguments[y],u(w))for(m=o(w),s(p+m),E=0;E<m;E++,p++)E in w&&a(b,p,w[E]);else s(p+1),a(b,p++,w);return b.length=p,b}}),i2}var h2={},c2={},Dl,f2;function yr(){if(f2)return Dl;f2=1;var n=fn(),e=String;return Dl=function(t){if(n(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(t)},Dl}var Nl={},p2;function KO(){if(p2)return Nl;p2=1;var n=nt(),e=FX(),t=mr(),r=Ii(),i=Vr(),o=lg();return Nl.f=n&&!e?Object.defineProperties:function(a,g){r(a);for(var A=i(g),I=o(g),C=I.length,l=0,d;C>l;)t.f(a,d=I[l++],A[d]);return a},Nl}var Ml,v2;function Tre(){if(v2)return Ml;v2=1;var n=gr();return Ml=n("document","documentElement"),Ml}var ql,m2;function hI(){if(m2)return ql;m2=1;var n=$s(),e=AI(),t=n("keys");return ql=function(r){return t[r]||(t[r]=e(r))},ql}var Fl,y2;function ug(){if(y2)return Fl;y2=1;var n=Ii(),e=KO(),t=VO(),r=Cg(),i=Tre(),o=MX(),s=hI(),a=">",g="<",A="prototype",I="script",C=s("IE_PROTO"),l=function(){},d=function(c){return g+I+a+c+g+"/"+I+a},u=function(c){c.write(d("")),c.close();var b=c.parentWindow.Object;return c=null,b},h=function(){var c=o("iframe"),b="java"+I+":",p;return c.style.display="none",i.appendChild(c),c.src=String(b),p=c.contentWindow.document,p.open(),p.write(d("document.F=Object")),p.close(),p.F},v,f=function(){try{v=new ActiveXObject("htmlfile")}catch{}f=typeof document<"u"?document.domain&&v?u(v):h():u(v);for(var c=t.length;c--;)delete f[A][t[c]];return f()};return r[C]=!0,Fl=Object.create||function(b,p){var y;return b!==null?(l[A]=n(b),y=new l,l[A]=null,y[C]=b):y=f(),p===void 0?y:e.f(y,p)},Fl}var kl={},b2;function cI(){if(b2)return kl;b2=1;var n=BX(),e=VO(),t=e.concat("length","prototype");return kl.f=Object.getOwnPropertyNames||function(i){return n(i,t)},kl}var Bl={},w2;function YO(){if(w2)return Bl;w2=1;var n=Ai(),e=Vr(),t=cI().f,r=Ms(),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(s){try{return t(s)}catch{return r(i)}};return Bl.f=function(a){return i&&n(a)==="Window"?o(a):t(e(a))},Bl}var zl,E2;function hg(){if(E2)return zl;E2=1;var n=Ds();return zl=function(e,t,r,i){return i&&i.enumerable?e[t]=r:n(e,t,r),e},zl}var jl,S2;function XO(){if(S2)return jl;S2=1;var n=mr();return jl=function(e,t,r){return n.f(e,t,r)},jl}var Ll={},_2;function fI(){if(_2)return Ll;_2=1;var n=Ct();return Ll.f=n,Ll}var Gl,O2;function Ze(){if(O2)return Gl;O2=1;var n=Ee(),e=ct(),t=fI(),r=mr().f;return Gl=function(i){var o=n.Symbol||(n.Symbol={});e(o,i)||r(o,i,{value:t.f(i)})},Gl}var Wl,T2;function HX(){if(T2)return Wl;T2=1;var n=rr(),e=gr(),t=Ct(),r=hg();return Wl=function(){var i=e("Symbol"),o=i&&i.prototype,s=o&&o.valueOf,a=t("toPrimitive");o&&!o[a]&&r(o,a,function(g){return n(s,this)},{arity:1})},Wl}var Vl,R2;function Rre(){if(R2)return Vl;R2=1;var n=HO(),e=fn();return Vl=n?{}.toString:function(){return"[object "+e(this)+"]"},Vl}var Zl,P2;function Ao(){if(P2)return Zl;P2=1;var n=HO(),e=mr().f,t=Ds(),r=ct(),i=Rre(),o=Ct(),s=o("toStringTag");return Zl=function(a,g,A,I){var C=A?a:a&&a.prototype;C&&(r(C,s)||e(C,s,{configurable:!0,value:g}),I&&!n&&t(C,"toString",i))},Zl}var Hl,x2;function UX(){if(x2)return Hl;x2=1;var n=Le(),e=yt(),t=n.WeakMap;return Hl=e(t)&&/native code/.test(String(t)),Hl}var Ul,$2;function Io(){if($2)return Ul;$2=1;var n=UX(),e=Le(),t=bt(),r=Ds(),i=ct(),o=LO(),s=hI(),a=Cg(),g="Object already initialized",A=e.TypeError,I=e.WeakMap,C,l,d,u=function(c){return d(c)?l(c):C(c,{})},h=function(c){return function(b){var p;if(!t(b)||(p=l(b)).type!==c)throw new A("Incompatible receiver, "+c+" required");return p}};if(n||o.state){var v=o.state||(o.state=new I);v.get=v.get,v.has=v.has,v.set=v.set,C=function(c,b){if(v.has(c))throw new A(g);return b.facade=c,v.set(c,b),b},l=function(c){return v.get(c)||{}},d=function(c){return v.has(c)}}else{var f=s("state");a[f]=!0,C=function(c,b){if(i(c,f))throw new A(g);return b.facade=c,r(c,f,b),b},l=function(c){return i(c,f)?c[f]:{}},d=function(c){return i(c,f)}}return Ul={set:C,get:l,has:d,enforce:u,getterFor:h},Ul}var Kl,D2;function pn(){if(D2)return Kl;D2=1;var n=CI(),e=me(),t=gI(),r=Ar(),i=xi(),o=UO(),s=e([].push),a=function(g){var A=g===1,I=g===2,C=g===3,l=g===4,d=g===6,u=g===7,h=g===5||d;return function(v,f,c,b){for(var p=r(v),y=t(p),E=i(y),S=n(f,c),m=0,w=b||o,_=A?w(v,E):I||u?w(v,0):void 0,T,R;E>m;m++)if((h||m in y)&&(T=y[m],R=S(T,m,p),g))if(A)_[m]=R;else if(R)switch(g){case 3:return!0;case 5:return T;case 6:return m;case 2:s(_,T)}else switch(g){case 4:return!1;case 7:s(_,T)}return d?-1:C||l?l:_}};return Kl={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},Kl}var N2;function Pre(){if(N2)return c2;N2=1;var n=ee(),e=Le(),t=rr(),r=me(),i=xs(),o=nt(),s=Rs(),a=ce(),g=ct(),A=Je(),I=Ii(),C=Vr(),l=GO(),d=yr(),u=gg(),h=ug(),v=lg(),f=cI(),c=YO(),b=dI(),p=II(),y=mr(),E=KO(),S=aI(),m=hg(),w=XO(),_=$s(),T=hI(),R=Cg(),O=AI(),P=Ct(),x=fI(),V=Ze(),M=HX(),U=Ao(),K=Io(),oe=pn().forEach,L=T("hidden"),ae="Symbol",he="prototype",ve=K.set,Rt=K.getterFor(ae),le=Object[he],We=e.Symbol,Pt=We&&We[he],ua=e.RangeError,ha=e.TypeError,Tr=e.QObject,zi=p.f,Ve=y.f,ji=c.f,ca=S.f,Li=r([].push),Se=_("symbols"),xt=_("op-symbols"),fa=_("wks"),Rr=!Tr||!Tr[he]||!Tr[he].findChild,Gi=function(Z,N,q){var F=zi(le,N);F&&delete le[N],Ve(Z,N,q),F&&Z!==le&&Ve(le,N,F)},Pr=o&&a(function(){return h(Ve({},"a",{get:function(){return Ve(this,"a",{value:7}).a}})).a!==7})?Gi:Ve,xr=function(Z,N){var q=Se[Z]=h(Pt);return ve(q,{type:ae,tag:Z,description:N}),o||(q.description=N),q},Ut=function(N,q,F){N===le&&Ut(xt,q,F),I(N);var H=l(q);return I(F),g(Se,H)?(F.enumerable?(g(N,L)&&N[L][H]&&(N[L][H]=!1),F=h(F,{enumerable:u(0,!1)})):(g(N,L)||Ve(N,L,u(1,h(null))),N[L][H]=!0),Pr(N,H,F)):Ve(N,H,F)},$r=function(N,q){I(N);var F=C(q),H=v(F).concat(Zi(F));return oe(H,function(ge){(!o||t(Dr,F,ge))&&Ut(N,ge,F[ge])}),N},pa=function(N,q){return q===void 0?h(N):$r(h(N),q)},Dr=function(N){var q=l(N),F=t(ca,this,q);return this===le&&g(Se,q)&&!g(xt,q)?!1:F||!g(this,q)||!g(Se,q)||g(this,L)&&this[L][q]?F:!0},Wi=function(N,q){var F=C(N),H=l(q);if(!(F===le&&g(Se,H)&&!g(xt,H))){var ge=zi(F,H);return ge&&g(Se,H)&&!(g(F,L)&&F[L][H])&&(ge.enumerable=!0),ge}},Vi=function(N){var q=ji(C(N)),F=[];return oe(q,function(H){!g(Se,H)&&!g(R,H)&&Li(F,H)}),F},Zi=function(Z){var N=Z===le,q=ji(N?xt:C(Z)),F=[];return oe(q,function(H){g(Se,H)&&(!N||g(le,H))&&Li(F,Se[H])}),F};return s||(We=function(){if(A(Pt,this))throw new ha("Symbol is not a constructor");var N=!arguments.length||arguments[0]===void 0?void 0:d(arguments[0]),q=O(N),F=function(H){var ge=this===void 0?e:this;ge===le&&t(F,xt,H),g(ge,L)&&g(ge[L],q)&&(ge[L][q]=!1);var Hi=u(1,H);try{Pr(ge,q,Hi)}catch(Ui){if(!(Ui instanceof ua))throw Ui;Gi(ge,q,Hi)}};return o&&Rr&&Pr(le,q,{configurable:!0,set:F}),xr(q,N)},Pt=We[he],m(Pt,"toString",function(){return Rt(this).tag}),m(We,"withoutSetter",function(Z){return xr(O(Z),Z)}),S.f=Dr,y.f=Ut,E.f=$r,p.f=Wi,f.f=c.f=Vi,b.f=Zi,x.f=function(Z){return xr(P(Z),Z)},o&&(w(Pt,"description",{configurable:!0,get:function(){return Rt(this).description}}),i||m(le,"propertyIsEnumerable",Dr,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!s,sham:!s},{Symbol:We}),oe(v(fa),function(Z){V(Z)}),n({target:ae,stat:!0,forced:!s},{useSetter:function(){Rr=!0},useSimple:function(){Rr=!1}}),n({target:"Object",stat:!0,forced:!s,sham:!o},{create:pa,defineProperty:Ut,defineProperties:$r,getOwnPropertyDescriptor:Wi}),n({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:Vi}),M(),U(We,ae),R[L]=!0,c2}var M2={},Yl,q2;function KX(){if(q2)return Yl;q2=1;var n=Rs();return Yl=n&&!!Symbol.for&&!!Symbol.keyFor,Yl}var F2;function xre(){if(F2)return M2;F2=1;var n=ee(),e=gr(),t=ct(),r=yr(),i=$s(),o=KX(),s=i("string-to-symbol-registry"),a=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!o},{for:function(g){var A=r(g);if(t(s,A))return s[A];var I=e("Symbol")(A);return s[A]=I,a[I]=A,I}}),M2}var k2={},B2;function $re(){if(B2)return k2;B2=1;var n=ee(),e=ct(),t=Ig(),r=Ps(),i=$s(),o=KX(),s=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!o},{keyFor:function(g){if(!t(g))throw new TypeError(r(g)+" is not a symbol");if(e(s,g))return s[g]}}),k2}var z2={},Xl,j2;function Dre(){if(j2)return Xl;j2=1;var n=me(),e=go(),t=yt(),r=Ai(),i=yr(),o=n([].push);return Xl=function(s){if(t(s))return s;if(e(s)){for(var a=s.length,g=[],A=0;A<a;A++){var I=s[A];typeof I=="string"?o(g,I):(typeof I=="number"||r(I)==="Number"||r(I)==="String")&&o(g,i(I))}var C=g.length,l=!0;return function(d,u){if(l)return l=!1,u;if(e(this))return u;for(var h=0;h<C;h++)if(g[h]===d)return u}}},Xl}var L2;function YX(){if(L2)return z2;L2=1;var n=ee(),e=gr(),t=sI(),r=rr(),i=me(),o=ce(),s=yt(),a=Ig(),g=Ms(),A=Dre(),I=Rs(),C=String,l=e("JSON","stringify"),d=i(/./.exec),u=i("".charAt),h=i("".charCodeAt),v=i("".replace),f=i(1.1.toString),c=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,p=/^[\uDC00-\uDFFF]$/,y=!I||o(function(){var w=e("Symbol")("stringify detection");return l([w])!=="[null]"||l({a:w})!=="{}"||l(Object(w))!=="{}"}),E=o(function(){return l("\uDF06\uD834")!=='"\\udf06\\ud834"'||l("\uDEAD")!=='"\\udead"'}),S=function(w,_){var T=g(arguments),R=A(_);if(!(!s(R)&&(w===void 0||a(w))))return T[1]=function(O,P){if(s(R)&&(P=r(R,this,C(O),P)),!a(P))return P},t(l,null,T)},m=function(w,_,T){var R=u(T,_-1),O=u(T,_+1);return d(b,w)&&!d(p,O)||d(p,w)&&!d(b,R)?"\\u"+f(h(w,0),16):w};return l&&n({target:"JSON",stat:!0,arity:3,forced:y||E},{stringify:function(_,T,R){var O=g(arguments),P=t(y?S:l,null,O);return E&&typeof P=="string"?v(P,c,m):P}}),z2}var G2={},W2;function Nre(){if(W2)return G2;W2=1;var n=ee(),e=Rs(),t=ce(),r=dI(),i=Ar(),o=!e||t(function(){r.f(1)});return n({target:"Object",stat:!0,forced:o},{getOwnPropertySymbols:function(a){var g=r.f;return g?g(i(a)):[]}}),G2}var V2;function XX(){return V2||(V2=1,Pre(),xre(),$re(),YX(),Nre()),h2}var Z2={},H2;function QX(){if(H2)return Z2;H2=1;var n=Ze();return n("asyncDispose"),Z2}var U2={},K2;function Mre(){if(K2)return U2;K2=1;var n=Ze();return n("asyncIterator"),U2}var Y2={},X2;function JX(){if(X2)return Y2;X2=1;var n=Ze();return n("dispose"),Y2}var Q2={},J2;function qre(){if(J2)return Q2;J2=1;var n=Ze();return n("hasInstance"),Q2}var ex={},tx;function Fre(){if(tx)return ex;tx=1;var n=Ze();return n("isConcatSpreadable"),ex}var rx={},ix;function eQ(){if(ix)return rx;ix=1;var n=Ze();return n("iterator"),rx}var nx={},ox;function kre(){if(ox)return nx;ox=1;var n=Ze();return n("match"),nx}var sx={},ax;function Bre(){if(ax)return sx;ax=1;var n=Ze();return n("matchAll"),sx}var gx={},Ax;function zre(){if(Ax)return gx;Ax=1;var n=Ze();return n("replace"),gx}var Ix={},Cx;function jre(){if(Cx)return Ix;Cx=1;var n=Ze();return n("search"),Ix}var lx={},dx;function Lre(){if(dx)return lx;dx=1;var n=Ze();return n("species"),lx}var ux={},hx;function Gre(){if(hx)return ux;hx=1;var n=Ze();return n("split"),ux}var cx={},fx;function tQ(){if(fx)return cx;fx=1;var n=Ze(),e=HX();return n("toPrimitive"),e(),cx}var px={},vx;function Wre(){if(vx)return px;vx=1;var n=gr(),e=Ze(),t=Ao();return e("toStringTag"),t(n("Symbol"),"Symbol"),px}var mx={},yx;function Vre(){if(yx)return mx;yx=1;var n=Ze();return n("unscopables"),mx}var bx={},wx;function Zre(){if(wx)return bx;wx=1;var n=Le(),e=Ao();return e(n.JSON,"JSON",!0),bx}var Ql,Ex;function Hre(){if(Ex)return Ql;Ex=1,ZX(),XX(),QX(),Mre(),JX(),qre(),Fre(),eQ(),kre(),Bre(),zre(),jre(),Lre(),Gre(),tQ(),Wre(),Vre(),Zre();var n=Ee();return Ql=n.Symbol,Ql}var Sx={},Jl,_x;function QO(){return _x||(_x=1,Jl=function(){}),Jl}var ed,Ox;function qs(){return Ox||(Ox=1,ed={}),ed}var td,Tx;function Ure(){if(Tx)return td;Tx=1;var n=nt(),e=ct(),t=Function.prototype,r=n&&Object.getOwnPropertyDescriptor,i=e(t,"name"),o=i&&(function(){}).name==="something",s=i&&(!n||n&&r(t,"name").configurable);return td={EXISTS:i,PROPER:o,CONFIGURABLE:s},td}var rd,Rx;function rQ(){if(Rx)return rd;Rx=1;var n=ce();return rd=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),rd}var id,Px;function pI(){if(Px)return id;Px=1;var n=ct(),e=yt(),t=Ar(),r=hI(),i=rQ(),o=r("IE_PROTO"),s=Object,a=s.prototype;return id=i?s.getPrototypeOf:function(g){var A=t(g);if(n(A,o))return A[o];var I=A.constructor;return e(I)&&A instanceof I?I.prototype:A instanceof s?a:null},id}var nd,xx;function iQ(){if(xx)return nd;xx=1;var n=ce(),e=yt(),t=bt(),r=ug(),i=pI(),o=hg(),s=Ct(),a=xs(),g=s("iterator"),A=!1,I,C,l;[].keys&&(l=[].keys(),"next"in l?(C=i(i(l)),C!==Object.prototype&&(I=C)):A=!0);var d=!t(I)||n(function(){var u={};return I[g].call(u)!==u});return d?I={}:a&&(I=r(I)),e(I[g])||o(I,g,function(){return this}),nd={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:A},nd}var od,$x;function Kre(){if($x)return od;$x=1;var n=iQ().IteratorPrototype,e=ug(),t=gg(),r=Ao(),i=qs(),o=function(){return this};return od=function(s,a,g,A){var I=a+" Iterator";return s.prototype=e(n,{next:t(+!A,g)}),r(s,I,!1,!0),i[I]=o,s},od}var sd,Dx;function Yre(){if(Dx)return sd;Dx=1;var n=me(),e=Pi();return sd=function(t,r,i){try{return n(e(Object.getOwnPropertyDescriptor(t,r)[i]))}catch{}},sd}var ad,Nx;function Xre(){if(Nx)return ad;Nx=1;var n=bt();return ad=function(e){return n(e)||e===null},ad}var gd,Mx;function Qre(){if(Mx)return gd;Mx=1;var n=Xre(),e=String,t=TypeError;return gd=function(r){if(n(r))return r;throw new t("Can't set "+e(r)+" as a prototype")},gd}var Ad,qx;function Jre(){if(qx)return Ad;qx=1;var n=Yre(),e=bt(),t=Ri(),r=Qre();return Ad=Object.setPrototypeOf||("__proto__"in{}?(function(){var i=!1,o={},s;try{s=n(Object.prototype,"__proto__","set"),s(o,[]),i=o instanceof Array}catch{}return function(g,A){return t(g),r(A),e(g)&&(i?s(g,A):g.__proto__=A),g}})():void 0),Ad}var Id,Fx;function JO(){if(Fx)return Id;Fx=1;var n=ee(),e=rr(),t=xs(),r=Ure(),i=yt(),o=Kre(),s=pI(),a=Jre(),g=Ao(),A=Ds(),I=hg(),C=Ct(),l=qs(),d=iQ(),u=r.PROPER,h=r.CONFIGURABLE,v=d.IteratorPrototype,f=d.BUGGY_SAFARI_ITERATORS,c=C("iterator"),b="keys",p="values",y="entries",E=function(){return this};return Id=function(S,m,w,_,T,R,O){o(w,m,_);var P=function(ve){if(ve===T&&K)return K;if(!f&&ve&&ve in M)return M[ve];switch(ve){case b:return function(){return new w(this,ve)};case p:return function(){return new w(this,ve)};case y:return function(){return new w(this,ve)}}return function(){return new w(this)}},x=m+" Iterator",V=!1,M=S.prototype,U=M[c]||M["@@iterator"]||T&&M[T],K=!f&&U||P(T),oe=m==="Array"&&M.entries||U,L,ae,he;if(oe&&(L=s(oe.call(new S)),L!==Object.prototype&&L.next&&(!t&&s(L)!==v&&(a?a(L,v):i(L[c])||I(L,c,E)),g(L,x,!0,!0),t&&(l[x]=E))),u&&T===p&&U&&U.name!==p&&(!t&&h?A(M,"name",p):(V=!0,K=function(){return e(U,this)})),T)if(ae={values:P(p),keys:R?K:P(b),entries:P(y)},O)for(he in ae)(f||V||!(he in M))&&I(M,he,ae[he]);else n({target:m,proto:!0,forced:f||V},ae);return(!t||O)&&M[c]!==K&&I(M,c,K,{name:T}),l[m]=K,ae},Id}var Cd,kx;function eT(){return kx||(kx=1,Cd=function(n,e){return{value:n,done:e}}),Cd}var ld,Bx;function $i(){if(Bx)return ld;Bx=1;var n=Vr(),e=QO(),t=qs(),r=Io(),i=mr().f,o=JO(),s=eT(),a=xs(),g=nt(),A="Array Iterator",I=r.set,C=r.getterFor(A);ld=o(Array,"Array",function(d,u){I(this,{type:A,target:n(d),index:0,kind:u})},function(){var d=C(this),u=d.target,h=d.index++;if(!u||h>=u.length)return d.target=null,s(void 0,!0);switch(d.kind){case"keys":return s(h,!1);case"values":return s(u[h],!1)}return s([h,u[h]],!1)},"values");var l=t.Arguments=t.Array;if(e("keys"),e("values"),e("entries"),!a&&g&&l.name!=="values")try{i(l,"name",{value:"values"})}catch{}return ld}var dd,zx;function eie(){return zx||(zx=1,dd={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),dd}var jx;function Di(){if(jx)return Sx;jx=1,$i();var n=eie(),e=Le(),t=Ao(),r=qs();for(var i in n)t(e[i],i),r[i]=r.Array;return Sx}var ud,Lx;function nQ(){if(Lx)return ud;Lx=1;var n=Hre();return Di(),ud=n,ud}var hd,Gx;function tie(){return Gx||(Gx=1,hd=nQ()),hd}var rie=tie(),iie=ne(rie),Wx={},Vx;function nie(){if(Vx)return Wx;Vx=1;var n=ee(),e=go(),t=VX(),r=bt(),i=lI(),o=xi(),s=Vr(),a=uI(),g=Ct(),A=dg(),I=Ms(),C=A("slice"),l=g("species"),d=Array,u=Math.max;return n({target:"Array",proto:!0,forced:!C},{slice:function(v,f){var c=s(this),b=o(c),p=i(v,b),y=i(f===void 0?b:f,b),E,S,m;if(e(c)&&(E=c.constructor,t(E)&&(E===d||e(E.prototype))?E=void 0:r(E)&&(E=E[l],E===null&&(E=void 0)),E===d||E===void 0))return I(c,p,y);for(S=new(E===void 0?d:E)(u(y-p,0)),m=0;p<y;p++,m++)p in c&&a(S,m,c[p]);return S.length=m,S}}),Wx}var cd,Zx;function oie(){if(Zx)return cd;Zx=1,nie();var n=ft();return cd=n("Array","slice"),cd}var fd,Hx;function sie(){if(Hx)return fd;Hx=1;var n=Je(),e=oie(),t=Array.prototype;return fd=function(r){var i=r.slice;return r===t||n(t,r)&&i===t.slice?e:i},fd}var pd,Ux;function aie(){if(Ux)return pd;Ux=1;var n=sie();return pd=n,pd}var vd,Kx;function gie(){return Kx||(Kx=1,vd=aie()),vd}var Aie=gie(),zr=ne(Aie),Yx={},md,Xx;function oQ(){if(Xx)return md;Xx=1;var n=gr(),e=me(),t=cI(),r=dI(),i=Ii(),o=e([].concat);return md=n("Reflect","ownKeys")||function(a){var g=t.f(i(a)),A=r.f;return A?o(g,A(a)):g},md}var Qx;function Iie(){if(Qx)return Yx;Qx=1;var n=ee(),e=oQ();return n({target:"Reflect",stat:!0},{ownKeys:e}),Yx}var yd,Jx;function Cie(){if(Jx)return yd;Jx=1,Iie();var n=Ee();return yd=n.Reflect.ownKeys,yd}var bd,e$;function lie(){if(e$)return bd;e$=1;var n=Cie();return bd=n,bd}var wd,t$;function die(){return t$||(t$=1,wd=lie()),wd}var uie=die(),hie=ne(uie),r$={},i$;function cie(){if(i$)return r$;i$=1;var n=ee(),e=go();return n({target:"Array",stat:!0},{isArray:e}),r$}var Ed,n$;function fie(){if(n$)return Ed;n$=1,cie();var n=Ee();return Ed=n.Array.isArray,Ed}var Sd,o$;function pie(){if(o$)return Sd;o$=1;var n=fie();return Sd=n,Sd}var _d,s$;function vie(){return s$||(s$=1,_d=pie()),_d}var mie=vie(),we=ne(mie),a$={},g$;function yie(){if(g$)return a$;g$=1;var n=ee(),e=pn().map,t=dg(),r=t("map");return n({target:"Array",proto:!0,forced:!r},{map:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),a$}var Od,A$;function bie(){if(A$)return Od;A$=1,yie();var n=ft();return Od=n("Array","map"),Od}var Td,I$;function wie(){if(I$)return Td;I$=1;var n=Je(),e=bie(),t=Array.prototype;return Td=function(r){var i=r.map;return r===t||n(t,r)&&i===t.map?e:i},Td}var Rd,C$;function Eie(){if(C$)return Rd;C$=1;var n=wie();return Rd=n,Rd}var Pd,l$;function Sie(){return l$||(l$=1,Pd=Eie()),Pd}var _ie=Sie(),Mt=ne(_ie),d$={},u$;function Oie(){if(u$)return d$;u$=1;var n=ee(),e=Ar(),t=lg(),r=ce(),i=r(function(){t(1)});return n({target:"Object",stat:!0,forced:i},{keys:function(s){return t(e(s))}}),d$}var xd,h$;function Tie(){if(h$)return xd;h$=1,Oie();var n=Ee();return xd=n.Object.keys,xd}var $d,c$;function Rie(){if(c$)return $d;c$=1;var n=Tie();return $d=n,$d}var Dd,f$;function Pie(){return f$||(f$=1,Dd=Rie()),Dd}var xie=Pie(),Be=ne(xie),p$={},v$;function $ie(){if(v$)return p$;v$=1;var n=ee(),e=me(),t=Date,r=e(t.prototype.getTime);return n({target:"Date",stat:!0},{now:function(){return r(new t)}}),p$}var Nd,m$;function Die(){if(m$)return Nd;m$=1,$ie();var n=Ee();return Nd=n.Date.now,Nd}var Md,y$;function Nie(){if(y$)return Md;y$=1;var n=Die();return Md=n,Md}var qd,b$;function Mie(){return b$||(b$=1,qd=Nie()),qd}var qie=Mie(),MA=ne(qie),w$={},Fd,E$;function Fs(){if(E$)return Fd;E$=1;var n=ce();return Fd=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})},Fd}var kd,S$;function Fie(){if(S$)return kd;S$=1;var n=pn().forEach,e=Fs(),t=e("forEach");return kd=t?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)},kd}var _$;function kie(){if(_$)return w$;_$=1;var n=ee(),e=Fie();return n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e}),w$}var Bd,O$;function Bie(){if(O$)return Bd;O$=1,kie();var n=ft();return Bd=n("Array","forEach"),Bd}var zd,T$;function zie(){if(T$)return zd;T$=1;var n=Bie();return zd=n,zd}var jd,R$;function jie(){if(R$)return jd;R$=1;var n=fn(),e=ct(),t=Je(),r=zie(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return jd=function(s){var a=s.forEach;return s===i||t(i,s)&&a===i.forEach||e(o,n(s))?r:a},jd}var Ld,P$;function Lie(){return P$||(P$=1,Ld=jie()),Ld}var Gie=Lie(),be=ne(Gie),x$={},$$;function Wie(){if($$)return x$;$$=1;var n=ee(),e=me(),t=go(),r=e([].reverse),i=[1,2];return n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return t(this)&&(this.length=this.length),r(this)}}),x$}var Gd,D$;function Vie(){if(D$)return Gd;D$=1,Wie();var n=ft();return Gd=n("Array","reverse"),Gd}var Wd,N$;function Zie(){if(N$)return Wd;N$=1;var n=Je(),e=Vie(),t=Array.prototype;return Wd=function(r){var i=r.reverse;return r===t||n(t,r)&&i===t.reverse?e:i},Wd}var Vd,M$;function Hie(){if(M$)return Vd;M$=1;var n=Zie();return Vd=n,Vd}var Zd,q$;function Uie(){return q$||(q$=1,Zd=Hie()),Zd}var Kie=Uie(),zn=ne(Kie),F$={},Hd,k$;function Yie(){if(k$)return Hd;k$=1;var n=nt(),e=go(),t=TypeError,r=Object.getOwnPropertyDescriptor,i=n&&!(function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(o){return o instanceof TypeError}})();return Hd=i?function(o,s){if(e(o)&&!r(o,"length").writable)throw new t("Cannot set read only .length");return o.length=s}:function(o,s){return o.length=s},Hd}var Ud,B$;function sQ(){if(B$)return Ud;B$=1;var n=Ps(),e=TypeError;return Ud=function(t,r){if(!delete t[r])throw new e("Cannot delete property "+n(r)+" of "+n(t))},Ud}var z$;function Xie(){if(z$)return F$;z$=1;var n=ee(),e=Ar(),t=lI(),r=Ns(),i=xi(),o=Yie(),s=WX(),a=UO(),g=uI(),A=sQ(),I=dg(),C=I("splice"),l=Math.max,d=Math.min;return n({target:"Array",proto:!0,forced:!C},{splice:function(h,v){var f=e(this),c=i(f),b=t(h,c),p=arguments.length,y,E,S,m,w,_;for(p===0?y=E=0:p===1?(y=0,E=c-b):(y=p-2,E=d(l(r(v),0),c-b)),s(c+y-E),S=a(f,E),m=0;m<E;m++)w=b+m,w in f&&g(S,m,f[w]);if(S.length=E,y<E){for(m=b;m<c-E;m++)w=m+E,_=m+y,w in f?f[_]=f[w]:A(f,_);for(m=c;m>c-E+y;m--)A(f,m-1)}else if(y>E)for(m=c-E;m>b;m--)w=m+E-1,_=m+y-1,w in f?f[_]=f[w]:A(f,_);for(m=0;m<y;m++)f[m+b]=arguments[m+2];return o(f,c-E+y),S}}),F$}var Kd,j$;function Qie(){if(j$)return Kd;j$=1,Xie();var n=ft();return Kd=n("Array","splice"),Kd}var Yd,L$;function Jie(){if(L$)return Yd;L$=1;var n=Je(),e=Qie(),t=Array.prototype;return Yd=function(r){var i=r.splice;return r===t||n(t,r)&&i===t.splice?e:i},Yd}var Xd,G$;function ene(){if(G$)return Xd;G$=1;var n=Jie();return Xd=n,Xd}var Qd,W$;function tne(){return W$||(W$=1,Qd=ene()),Qd}var rne=tne(),ti=ne(rne),V$={},Z$;function ine(){if(Z$)return V$;Z$=1;var n=ee(),e=WO().includes,t=ce(),r=QO(),i=t(function(){return!Array(1).includes()});return n({target:"Array",proto:!0,forced:i},{includes:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),r("includes"),V$}var Jd,H$;function nne(){if(H$)return Jd;H$=1,ine();var n=ft();return Jd=n("Array","includes"),Jd}var U$={},eu,K$;function one(){if(K$)return eu;K$=1;var n=bt(),e=Ai(),t=Ct(),r=t("match");return eu=function(i){var o;return n(i)&&((o=i[r])!==void 0?!!o:e(i)==="RegExp")},eu}var tu,Y$;function sne(){if(Y$)return tu;Y$=1;var n=one(),e=TypeError;return tu=function(t){if(n(t))throw new e("The method doesn't accept regular expressions");return t},tu}var ru,X$;function ane(){if(X$)return ru;X$=1;var n=Ct(),e=n("match");return ru=function(t){var r=/./;try{"/./"[t](r)}catch{try{return r[e]=!1,"/./"[t](r)}catch{}}return!1},ru}var Q$;function gne(){if(Q$)return U$;Q$=1;var n=ee(),e=me(),t=sne(),r=Ri(),i=yr(),o=ane(),s=e("".indexOf);return n({target:"String",proto:!0,forced:!o("includes")},{includes:function(g){return!!~s(i(r(this)),i(t(g)),arguments.length>1?arguments[1]:void 0)}}),U$}var iu,J$;function Ane(){if(J$)return iu;J$=1,gne();var n=ft();return iu=n("String","includes"),iu}var nu,eD;function Ine(){if(eD)return nu;eD=1;var n=Je(),e=nne(),t=Ane(),r=Array.prototype,i=String.prototype;return nu=function(o){var s=o.includes;return o===r||n(r,o)&&s===r.includes?e:typeof o=="string"||o===i||n(i,o)&&s===i.includes?t:s},nu}var ou,tD;function Cne(){if(tD)return ou;tD=1;var n=Ine();return ou=n,ou}var su,rD;function lne(){return rD||(rD=1,su=Cne()),su}var dne=lne(),rn=ne(dne),iD={},nD;function une(){if(nD)return iD;nD=1;var n=ee(),e=ce(),t=Ar(),r=pI(),i=rQ(),o=e(function(){r(1)});return n({target:"Object",stat:!0,forced:o,sham:!i},{getPrototypeOf:function(a){return r(t(a))}}),iD}var au,oD;function hne(){if(oD)return au;oD=1,une();var n=Ee();return au=n.Object.getPrototypeOf,au}var gu,sD;function cne(){if(sD)return gu;sD=1;var n=hne();return gu=n,gu}var Au,aD;function fne(){return aD||(aD=1,Au=cne()),Au}var pne=fne(),gD=ne(pne),Iu,AD;function vne(){if(AD)return Iu;AD=1,ZX();var n=ft();return Iu=n("Array","concat"),Iu}var Cu,ID;function mne(){if(ID)return Cu;ID=1;var n=Je(),e=vne(),t=Array.prototype;return Cu=function(r){var i=r.concat;return r===t||n(t,r)&&i===t.concat?e:i},Cu}var lu,CD;function yne(){if(CD)return lu;CD=1;var n=mne();return lu=n,lu}var du,lD;function bne(){return lD||(lD=1,du=yne()),du}var wne=bne(),aQ=ne(wne),dD={},uD;function Ene(){if(uD)return dD;uD=1;var n=ee(),e=pn().filter,t=dg(),r=t("filter");return n({target:"Array",proto:!0,forced:!r},{filter:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),dD}var uu,hD;function Sne(){if(hD)return uu;hD=1,Ene();var n=ft();return uu=n("Array","filter"),uu}var hu,cD;function _ne(){if(cD)return hu;cD=1;var n=Je(),e=Sne(),t=Array.prototype;return hu=function(r){var i=r.filter;return r===t||n(t,r)&&i===t.filter?e:i},hu}var cu,fD;function One(){if(fD)return cu;fD=1;var n=_ne();return cu=n,cu}var fu,pD;function Tne(){return pD||(pD=1,fu=One()),fu}var Rne=Tne(),st=ne(Rne),vD={},pu,mD;function Pne(){if(mD)return pu;mD=1;var n=nt(),e=ce(),t=me(),r=pI(),i=lg(),o=Vr(),s=aI().f,a=t(s),g=t([].push),A=n&&e(function(){var C=Object.create(null);return C[2]=2,!a(C,2)}),I=function(C){return function(l){for(var d=o(l),u=i(d),h=A&&r(d)===null,v=u.length,f=0,c=[],b;v>f;)b=u[f++],(!n||(h?b in d:a(d,b)))&&g(c,C?[b,d[b]]:d[b]);return c}};return pu={entries:I(!0),values:I(!1)},pu}var yD;function xne(){if(yD)return vD;yD=1;var n=ee(),e=Pne().values;return n({target:"Object",stat:!0},{values:function(r){return e(r)}}),vD}var vu,bD;function $ne(){if(bD)return vu;bD=1,xne();var n=Ee();return vu=n.Object.values,vu}var mu,wD;function Dne(){if(wD)return mu;wD=1;var n=$ne();return mu=n,mu}var yu,ED;function Nne(){return ED||(ED=1,yu=Dne()),yu}var Mne=Nne(),qne=ne(Mne),SD={},bu,_D;function tT(){return _D||(_D=1,bu=`	
\v\f\r                　\u2028\u2029\uFEFF`),bu}var wu,OD;function gQ(){if(OD)return wu;OD=1;var n=me(),e=Ri(),t=yr(),r=tT(),i=n("".replace),o=RegExp("^["+r+"]+"),s=RegExp("(^|[^"+r+"])["+r+"]+$"),a=function(g){return function(A){var I=t(e(A));return g&1&&(I=i(I,o,"")),g&2&&(I=i(I,s,"$1")),I}};return wu={start:a(1),end:a(2),trim:a(3)},wu}var Eu,TD;function Fne(){if(TD)return Eu;TD=1;var n=Le(),e=ce(),t=me(),r=yr(),i=gQ().trim,o=tT(),s=n.parseInt,a=n.Symbol,g=a&&a.iterator,A=/^[+-]?0x/i,I=t(A.exec),C=s(o+"08")!==8||s(o+"0x16")!==22||g&&!e(function(){s(Object(g))});return Eu=C?function(d,u){var h=i(r(d));return s(h,u>>>0||(I(A,h)?16:10))}:s,Eu}var RD;function kne(){if(RD)return SD;RD=1;var n=ee(),e=Fne();return n({global:!0,forced:parseInt!==e},{parseInt:e}),SD}var Su,PD;function Bne(){if(PD)return Su;PD=1,kne();var n=Ee();return Su=n.parseInt,Su}var _u,xD;function zne(){if(xD)return _u;xD=1;var n=Bne();return _u=n,_u}var Ou,$D;function jne(){return $D||($D=1,Ou=zne()),Ou}var Lne=jne(),Fr=ne(Lne),DD={},ND;function Gne(){if(ND)return DD;ND=1;var n=ee(),e=zO(),t=WO().indexOf,r=Fs(),i=e([].indexOf),o=!!i&&1/i([1],1,-0)<0,s=o||!r("indexOf");return n({target:"Array",proto:!0,forced:s},{indexOf:function(g){var A=arguments.length>1?arguments[1]:void 0;return o?i(this,g,A)||0:t(this,g,A)}}),DD}var Tu,MD;function Wne(){if(MD)return Tu;MD=1,Gne();var n=ft();return Tu=n("Array","indexOf"),Tu}var Ru,qD;function Vne(){if(qD)return Ru;qD=1;var n=Je(),e=Wne(),t=Array.prototype;return Ru=function(r){var i=r.indexOf;return r===t||n(t,r)&&i===t.indexOf?e:i},Ru}var Pu,FD;function Zne(){if(FD)return Pu;FD=1;var n=Vne();return Pu=n,Pu}var xu,kD;function Hne(){return kD||(kD=1,xu=Zne()),xu}var Une=Hne(),_e=ne(Une),BD={},zD;function Kne(){if(zD)return BD;zD=1;var n=ee(),e=nt(),t=ug();return n({target:"Object",stat:!0,sham:!e},{create:t}),BD}var $u,jD;function Yne(){if(jD)return $u;jD=1,Kne();var n=Ee(),e=n.Object;return $u=function(r,i){return e.create(r,i)},$u}var Du,LD;function Xne(){if(LD)return Du;LD=1;var n=Yne();return Du=n,Du}var Nu,GD;function Qne(){return GD||(GD=1,Nu=Xne()),Nu}var Jne=Qne(),nn=ne(Jne),WD={},Mu,VD;function eoe(){if(VD)return Mu;VD=1;var n=Ns(),e=yr(),t=Ri(),r=RangeError;return Mu=function(o){var s=e(t(this)),a="",g=n(o);if(g<0||g===1/0)throw new r("Wrong number of repetitions");for(;g>0;(g>>>=1)&&(s+=s))g&1&&(a+=s);return a},Mu}var qu,ZD;function toe(){if(ZD)return qu;ZD=1;var n=me(),e=kX(),t=yr(),r=eoe(),i=Ri(),o=n(r),s=n("".slice),a=Math.ceil,g=function(A){return function(I,C,l){var d=t(i(I)),u=e(C),h=d.length,v=l===void 0?" ":t(l),f,c;return u<=h||v===""?d:(f=u-h,c=o(v,a(f/v.length)),c.length>f&&(c=s(c,0,f)),A?d+c:c+d)}};return qu={start:g(!1),end:g(!0)},qu}var Fu,HD;function roe(){if(HD)return Fu;HD=1;var n=me(),e=ce(),t=toe().start,r=RangeError,i=isFinite,o=Math.abs,s=Date.prototype,a=s.toISOString,g=n(s.getTime),A=n(s.getUTCDate),I=n(s.getUTCFullYear),C=n(s.getUTCHours),l=n(s.getUTCMilliseconds),d=n(s.getUTCMinutes),u=n(s.getUTCMonth),h=n(s.getUTCSeconds);return Fu=e(function(){return a.call(new Date(-5e13-1))!=="0385-07-25T07:06:39.999Z"})||!e(function(){a.call(new Date(NaN))})?function(){if(!i(g(this)))throw new r("Invalid time value");var f=this,c=I(f),b=l(f),p=c<0?"-":c>9999?"+":"";return p+t(o(c),p?6:4,0)+"-"+t(u(f)+1,2,0)+"-"+t(A(f),2,0)+"T"+t(C(f),2,0)+":"+t(d(f),2,0)+":"+t(h(f),2,0)+"."+t(b,3,0)+"Z"}:a,Fu}var UD;function ioe(){if(UD)return WD;UD=1;var n=ee(),e=rr(),t=Ar(),r=NX(),i=roe(),o=Ai(),s=ce(),a=s(function(){return new Date(NaN).toJSON()!==null||e(Date.prototype.toJSON,{toISOString:function(){return 1}})!==1});return n({target:"Date",proto:!0,forced:a},{toJSON:function(A){var I=t(this),C=r(I,"number");return typeof C=="number"&&!isFinite(C)?null:!("toISOString"in I)&&o(I)==="Date"?e(i,I):I.toISOString()}}),WD}var ku,KD;function noe(){if(KD)return ku;KD=1,ioe(),YX();var n=Ee(),e=sI();return n.JSON||(n.JSON={stringify:JSON.stringify}),ku=function(r,i,o){return e(n.JSON.stringify,null,arguments)},ku}var Bu,YD;function ooe(){if(YD)return Bu;YD=1;var n=noe();return Bu=n,Bu}var zu,XD;function soe(){return XD||(XD=1,zu=ooe()),zu}var aoe=soe(),ks=ne(aoe),QD={},JD={},ju,eN;function AQ(){if(eN)return ju;eN=1;var n=Le(),e=Ts(),t=Ai(),r=function(i){return e.slice(0,i.length)===i};return ju=(function(){return r("Bun/")?"BUN":r("Cloudflare-Workers")?"CLOUDFLARE":r("Deno/")?"DENO":r("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":t(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"})(),ju}var Lu,tN;function goe(){if(tN)return Lu;tN=1;var n=TypeError;return Lu=function(e,t){if(e<t)throw new n("Not enough arguments");return e},Lu}var Gu,rN;function IQ(){if(rN)return Gu;rN=1;var n=Le(),e=sI(),t=yt(),r=AQ(),i=Ts(),o=Ms(),s=goe(),a=n.Function,g=/MSIE .\./.test(i)||r==="BUN"&&(function(){var A=n.Bun.version.split(".");return A.length<3||A[0]==="0"&&(A[1]<3||A[1]==="3"&&A[2]==="0")})();return Gu=function(A,I){var C=I?2:1;return g?function(l,d){var u=s(arguments.length,1)>C,h=t(l)?l:a(l),v=u?o(arguments,C):[],f=u?function(){e(h,this,v)}:h;return I?A(f,d):A(f)}:A},Gu}var iN;function Aoe(){if(iN)return JD;iN=1;var n=ee(),e=Le(),t=IQ(),r=t(e.setInterval,!0);return n({global:!0,bind:!0,forced:e.setInterval!==r},{setInterval:r}),JD}var nN={},oN;function Ioe(){if(oN)return nN;oN=1;var n=ee(),e=Le(),t=IQ(),r=t(e.setTimeout,!0);return n({global:!0,bind:!0,forced:e.setTimeout!==r},{setTimeout:r}),nN}var sN;function CQ(){return sN||(sN=1,Aoe(),Ioe()),QD}var Wu,aN;function Coe(){if(aN)return Wu;aN=1,CQ();var n=Ee();return Wu=n.setTimeout,Wu}var Vu,gN;function loe(){return gN||(gN=1,Vu=Coe()),Vu}var doe=loe(),ri=ne(doe),AN={},Zu,IN;function uoe(){if(IN)return Zu;IN=1;var n=Ar(),e=lI(),t=xi();return Zu=function(i){for(var o=n(this),s=t(o),a=arguments.length,g=e(a>1?arguments[1]:void 0,s),A=a>2?arguments[2]:void 0,I=A===void 0?s:e(A,s);I>g;)o[g++]=i;return o},Zu}var CN;function hoe(){if(CN)return AN;CN=1;var n=ee(),e=uoe(),t=QO();return n({target:"Array",proto:!0},{fill:e}),t("fill"),AN}var Hu,lN;function coe(){if(lN)return Hu;lN=1,hoe();var n=ft();return Hu=n("Array","fill"),Hu}var Uu,dN;function foe(){if(dN)return Uu;dN=1;var n=Je(),e=coe(),t=Array.prototype;return Uu=function(r){var i=r.fill;return r===t||n(t,r)&&i===t.fill?e:i},Uu}var Ku,uN;function poe(){if(uN)return Ku;uN=1;var n=foe();return Ku=n,Ku}var Yu,hN;function voe(){return hN||(hN=1,Yu=poe()),Yu}var moe=voe(),cg=ne(moe);/*! Hammer.JS - v2.0.17-rc - 2019-12-16
 * http://naver.github.io/egjs
 *
 * Forked By Naver egjs
 * Copyright (c) hammerjs
 * Licensed under the MIT license */function Lr(){return Lr=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Lr.apply(this,arguments)}function br(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function CA(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}var aO;typeof Object.assign!="function"?aO=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o])}return t}:aO=Object.assign;var Kn=aO,cN=["","webkit","Moz","MS","ms","o"],yoe=typeof document>"u"?{style:{}}:document.createElement("div"),boe="function",Vo=Math.round,Yn=Math.abs,rT=Date.now;function vI(n,e){for(var t,r,i=e[0].toUpperCase()+e.slice(1),o=0;o<cN.length;){if(t=cN[o],r=t?t+i:e,r in n)return r;o++}}var fi;typeof window>"u"?fi={}:fi=window;var lQ=vI(yoe.style,"touchAction"),dQ=lQ!==void 0;function woe(){if(!dQ)return!1;var n={},e=fi.CSS&&fi.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return n[t]=e?fi.CSS.supports("touch-action",t):!0}),n}var uQ="compute",hQ="auto",gO="manipulation",jn="none",Ga="pan-x",Wa="pan-y",lA=woe(),Eoe=/mobile|tablet|ip(ad|hone|od)|android/i,cQ="ontouchstart"in fi,Soe=vI(fi,"PointerEvent")!==void 0,_oe=cQ&&Eoe.test(navigator.userAgent),fg="touch",Ooe="pen",iT="mouse",Toe="kinect",Roe=25,Wt=1,Co=2,at=4,Jt=8,qA=1,pg=2,vg=4,mg=8,Is=16,ii=pg|vg,Ln=mg|Is,fQ=ii|Ln,pQ=["x","y"],FA=["clientX","clientY"];function pi(n,e,t){var r;if(n)if(n.forEach)n.forEach(e,t);else if(n.length!==void 0)for(r=0;r<n.length;)e.call(t,n[r],r,n),r++;else for(r in n)n.hasOwnProperty(r)&&e.call(t,n[r],r,n)}function mI(n,e){return typeof n===boe?n.apply(e&&e[0]||void 0,e):n}function Dn(n,e){return n.indexOf(e)>-1}function Poe(n){if(Dn(n,jn))return jn;var e=Dn(n,Ga),t=Dn(n,Wa);return e&&t?jn:e||t?e?Ga:Wa:Dn(n,gO)?gO:hQ}var vQ=(function(){function n(t,r){this.manager=t,this.set(r)}var e=n.prototype;return e.set=function(r){r===uQ&&(r=this.compute()),dQ&&this.manager.element.style&&lA[r]&&(this.manager.element.style[lQ]=r),this.actions=r.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var r=[];return pi(this.manager.recognizers,function(i){mI(i.options.enable,[i])&&(r=r.concat(i.getTouchAction()))}),Poe(r.join(" "))},e.preventDefaults=function(r){var i=r.srcEvent,o=r.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var s=this.actions,a=Dn(s,jn)&&!lA[jn],g=Dn(s,Wa)&&!lA[Wa],A=Dn(s,Ga)&&!lA[Ga];if(a){var I=r.pointers.length===1,C=r.distance<2,l=r.deltaTime<250;if(I&&C&&l)return}if(!(A&&g)&&(a||g&&o&ii||A&&o&Ln))return this.preventSrc(i)},e.preventSrc=function(r){this.manager.session.prevented=!0,r.preventDefault()},n})();function nT(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function mQ(n){var e=n.length;if(e===1)return{x:Vo(n[0].clientX),y:Vo(n[0].clientY)};for(var t=0,r=0,i=0;i<e;)t+=n[i].clientX,r+=n[i].clientY,i++;return{x:Vo(t/e),y:Vo(r/e)}}function fN(n){for(var e=[],t=0;t<n.pointers.length;)e[t]={clientX:Vo(n.pointers[t].clientX),clientY:Vo(n.pointers[t].clientY)},t++;return{timeStamp:rT(),pointers:e,center:mQ(e),deltaX:n.deltaX,deltaY:n.deltaY}}function kA(n,e,t){t||(t=pQ);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.sqrt(r*r+i*i)}function AO(n,e,t){t||(t=pQ);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.atan2(i,r)*180/Math.PI}function yQ(n,e){return n===e?qA:Yn(n)>=Yn(e)?n<0?pg:vg:e<0?mg:Is}function xoe(n,e){var t=e.center,r=n.offsetDelta||{},i=n.prevDelta||{},o=n.prevInput||{};(e.eventType===Wt||o.eventType===at)&&(i=n.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=n.offsetDelta={x:t.x,y:t.y}),e.deltaX=i.x+(t.x-r.x),e.deltaY=i.y+(t.y-r.y)}function bQ(n,e,t){return{x:e/n||0,y:t/n||0}}function $oe(n,e){return kA(e[0],e[1],FA)/kA(n[0],n[1],FA)}function Doe(n,e){return AO(e[1],e[0],FA)+AO(n[1],n[0],FA)}function Noe(n,e){var t=n.lastInterval||e,r=e.timeStamp-t.timeStamp,i,o,s,a;if(e.eventType!==Jt&&(r>Roe||t.velocity===void 0)){var g=e.deltaX-t.deltaX,A=e.deltaY-t.deltaY,I=bQ(r,g,A);o=I.x,s=I.y,i=Yn(I.x)>Yn(I.y)?I.x:I.y,a=yQ(g,A),n.lastInterval=e}else i=t.velocity,o=t.velocityX,s=t.velocityY,a=t.direction;e.velocity=i,e.velocityX=o,e.velocityY=s,e.direction=a}function Moe(n,e){var t=n.session,r=e.pointers,i=r.length;t.firstInput||(t.firstInput=fN(e)),i>1&&!t.firstMultiple?t.firstMultiple=fN(e):i===1&&(t.firstMultiple=!1);var o=t.firstInput,s=t.firstMultiple,a=s?s.center:o.center,g=e.center=mQ(r);e.timeStamp=rT(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=AO(a,g),e.distance=kA(a,g),xoe(t,e),e.offsetDirection=yQ(e.deltaX,e.deltaY);var A=bQ(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=A.x,e.overallVelocityY=A.y,e.overallVelocity=Yn(A.x)>Yn(A.y)?A.x:A.y,e.scale=s?$oe(s.pointers,r):1,e.rotation=s?Doe(s.pointers,r):0,e.maxPointers=t.prevInput?e.pointers.length>t.prevInput.maxPointers?e.pointers.length:t.prevInput.maxPointers:e.pointers.length,Noe(t,e);var I=n.element,C=e.srcEvent,l;C.composedPath?l=C.composedPath()[0]:C.path?l=C.path[0]:l=C.target,nT(l,I)&&(I=l),e.target=I}function qoe(n,e,t){var r=t.pointers.length,i=t.changedPointers.length,o=e&Wt&&r-i===0,s=e&(at|Jt)&&r-i===0;t.isFirst=!!o,t.isFinal=!!s,o&&(n.session={}),t.eventType=e,Moe(n,t),n.emit("hammer.input",t),n.recognize(t),n.session.prevInput=t}function Va(n){return n.trim().split(/\s+/g)}function xa(n,e,t){pi(Va(e),function(r){n.addEventListener(r,t,!1)})}function $a(n,e,t){pi(Va(e),function(r){n.removeEventListener(r,t,!1)})}function pN(n){var e=n.ownerDocument||n;return e.defaultView||e.parentWindow||window}var Bs=(function(){function n(t,r){var i=this;this.manager=t,this.callback=r,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(o){mI(t.options.enable,[t])&&i.handler(o)},this.init()}var e=n.prototype;return e.handler=function(){},e.init=function(){this.evEl&&xa(this.element,this.evEl,this.domHandler),this.evTarget&&xa(this.target,this.evTarget,this.domHandler),this.evWin&&xa(pN(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&$a(this.element,this.evEl,this.domHandler),this.evTarget&&$a(this.target,this.evTarget,this.domHandler),this.evWin&&$a(pN(this.element),this.evWin,this.domHandler)},n})();function Xn(n,e,t){if(n.indexOf&&!t)return n.indexOf(e);for(var r=0;r<n.length;){if(t&&n[r][t]==e||!t&&n[r]===e)return r;r++}return-1}var Foe={pointerdown:Wt,pointermove:Co,pointerup:at,pointercancel:Jt,pointerout:Jt},koe={2:fg,3:Ooe,4:iT,5:Toe},wQ="pointerdown",EQ="pointermove pointerup pointercancel";fi.MSPointerEvent&&!fi.PointerEvent&&(wQ="MSPointerDown",EQ="MSPointerMove MSPointerUp MSPointerCancel");var SQ=(function(n){br(e,n);function e(){var r,i=e.prototype;return i.evEl=wQ,i.evWin=EQ,r=n.apply(this,arguments)||this,r.store=r.manager.session.pointerEvents=[],r}var t=e.prototype;return t.handler=function(i){var o=this.store,s=!1,a=i.type.toLowerCase().replace("ms",""),g=Foe[a],A=koe[i.pointerType]||i.pointerType,I=A===fg,C=Xn(o,i.pointerId,"pointerId");g&Wt&&(i.button===0||I)?C<0&&(o.push(i),C=o.length-1):g&(at|Jt)&&(s=!0),!(C<0)&&(o[C]=i,this.callback(this.manager,g,{pointers:o,changedPointers:[i],pointerType:A,srcEvent:i}),s&&o.splice(C,1))},e})(Bs);function Za(n){return Array.prototype.slice.call(n,0)}function oT(n,e,t){for(var r=[],i=[],o=0;o<n.length;){var s=e?n[o][e]:n[o];Xn(i,s)<0&&r.push(n[o]),i[o]=s,o++}return t&&(e?r=r.sort(function(a,g){return a[e]>g[e]}):r=r.sort()),r}var Boe={touchstart:Wt,touchmove:Co,touchend:at,touchcancel:Jt},zoe="touchstart touchmove touchend touchcancel",sT=(function(n){br(e,n);function e(){var r;return e.prototype.evTarget=zoe,r=n.apply(this,arguments)||this,r.targetIds={},r}var t=e.prototype;return t.handler=function(i){var o=Boe[i.type],s=joe.call(this,i,o);s&&this.callback(this.manager,o,{pointers:s[0],changedPointers:s[1],pointerType:fg,srcEvent:i})},e})(Bs);function joe(n,e){var t=Za(n.touches),r=this.targetIds;if(e&(Wt|Co)&&t.length===1)return r[t[0].identifier]=!0,[t,t];var i,o,s=Za(n.changedTouches),a=[],g=this.target;if(o=t.filter(function(A){return nT(A.target,g)}),e===Wt)for(i=0;i<o.length;)r[o[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),e&(at|Jt)&&delete r[s[i].identifier],i++;if(a.length)return[oT(o.concat(a),"identifier",!0),a]}var Loe={mousedown:Wt,mousemove:Co,mouseup:at},Goe="mousedown",Woe="mousemove mouseup",aT=(function(n){br(e,n);function e(){var r,i=e.prototype;return i.evEl=Goe,i.evWin=Woe,r=n.apply(this,arguments)||this,r.pressed=!1,r}var t=e.prototype;return t.handler=function(i){var o=Loe[i.type];o&Wt&&i.button===0&&(this.pressed=!0),o&Co&&i.which!==1&&(o=at),this.pressed&&(o&at&&(this.pressed=!1),this.callback(this.manager,o,{pointers:[i],changedPointers:[i],pointerType:iT,srcEvent:i}))},e})(Bs),Voe=2500,vN=25;function mN(n){var e=n.changedPointers,t=e[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY},i=this.lastTouches;this.lastTouches.push(r);var o=function(){var a=i.indexOf(r);a>-1&&i.splice(a,1)};setTimeout(o,Voe)}}function Zoe(n,e){n&Wt?(this.primaryTouch=e.changedPointers[0].identifier,mN.call(this,e)):n&(at|Jt)&&mN.call(this,e)}function Hoe(n){for(var e=n.srcEvent.clientX,t=n.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],o=Math.abs(e-i.x),s=Math.abs(t-i.y);if(o<=vN&&s<=vN)return!0}return!1}var _Q=(function(){var n=(function(e){br(t,e);function t(i,o){var s;return s=e.call(this,i,o)||this,s.handler=function(a,g,A){var I=A.pointerType===fg,C=A.pointerType===iT;if(!(C&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(I)Zoe.call(CA(CA(s)),g,A);else if(C&&Hoe.call(CA(CA(s)),A))return;s.callback(a,g,A)}},s.touch=new sT(s.manager,s.handler),s.mouse=new aT(s.manager,s.handler),s.primaryTouch=null,s.lastTouches=[],s}var r=t.prototype;return r.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t})(Bs);return n})();function Uoe(n){var e,t=n.options.inputClass;return t?e=t:Soe?e=SQ:_oe?e=sT:cQ?e=_Q:e=aT,new e(n,qoe)}function Zo(n,e,t){return Array.isArray(n)?(pi(n,t[e],t),!0):!1}var EA=1,fr=2,Cs=4,on=8,vi=on,Ha=16,Yr=32,Koe=1;function Yoe(){return Koe++}function dA(n,e){var t=e.manager;return t?t.get(n):n}function yN(n){return n&Ha?"cancel":n&on?"end":n&Cs?"move":n&fr?"start":""}var yg=(function(){function n(t){t===void 0&&(t={}),this.options=Lr({enable:!0},t),this.id=Yoe(),this.manager=null,this.state=EA,this.simultaneous={},this.requireFail=[]}var e=n.prototype;return e.set=function(r){return Kn(this.options,r),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(r){if(Zo(r,"recognizeWith",this))return this;var i=this.simultaneous;return r=dA(r,this),i[r.id]||(i[r.id]=r,r.recognizeWith(this)),this},e.dropRecognizeWith=function(r){return Zo(r,"dropRecognizeWith",this)?this:(r=dA(r,this),delete this.simultaneous[r.id],this)},e.requireFailure=function(r){if(Zo(r,"requireFailure",this))return this;var i=this.requireFail;return r=dA(r,this),Xn(i,r)===-1&&(i.push(r),r.requireFailure(this)),this},e.dropRequireFailure=function(r){if(Zo(r,"dropRequireFailure",this))return this;r=dA(r,this);var i=Xn(this.requireFail,r);return i>-1&&this.requireFail.splice(i,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(r){return!!this.simultaneous[r.id]},e.emit=function(r){var i=this,o=this.state;function s(a){i.manager.emit(a,r)}o<on&&s(i.options.event+yN(o)),s(i.options.event),r.additionalEvent&&s(r.additionalEvent),o>=on&&s(i.options.event+yN(o))},e.tryEmit=function(r){if(this.canEmit())return this.emit(r);this.state=Yr},e.canEmit=function(){for(var r=0;r<this.requireFail.length;){if(!(this.requireFail[r].state&(Yr|EA)))return!1;r++}return!0},e.recognize=function(r){var i=Kn({},r);if(!mI(this.options.enable,[this,i])){this.reset(),this.state=Yr;return}this.state&(vi|Ha|Yr)&&(this.state=EA),this.state=this.process(i),this.state&(fr|Cs|on|Ha)&&this.tryEmit(i)},e.process=function(r){},e.getTouchAction=function(){},e.reset=function(){},n})(),IO=(function(n){br(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Lr({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},r))||this,i.pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}var t=e.prototype;return t.getTouchAction=function(){return[gO]},t.process=function(i){var o=this,s=this.options,a=i.pointers.length===s.pointers,g=i.distance<s.threshold,A=i.deltaTime<s.time;if(this.reset(),i.eventType&Wt&&this.count===0)return this.failTimeout();if(g&&A&&a){if(i.eventType!==at)return this.failTimeout();var I=this.pTime?i.timeStamp-this.pTime<s.interval:!0,C=!this.pCenter||kA(this.pCenter,i.center)<s.posThreshold;this.pTime=i.timeStamp,this.pCenter=i.center,!C||!I?this.count=1:this.count+=1,this._input=i;var l=this.count%s.taps;if(l===0)return this.hasRequireFailures()?(this._timer=setTimeout(function(){o.state=vi,o.tryEmit()},s.interval),fr):vi}return Yr},t.failTimeout=function(){var i=this;return this._timer=setTimeout(function(){i.state=Yr},this.options.interval),Yr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){this.state===vi&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e})(yg),ls=(function(n){br(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Lr({pointers:1},r))||this}var t=e.prototype;return t.attrTest=function(i){var o=this.options.pointers;return o===0||i.pointers.length===o},t.process=function(i){var o=this.state,s=i.eventType,a=o&(fr|Cs),g=this.attrTest(i);return a&&(s&Jt||!g)?o|Ha:a||g?s&at?o|on:o&fr?o|Cs:fr:Yr},e})(yg);function OQ(n){return n===Is?"down":n===mg?"up":n===pg?"left":n===vg?"right":""}var gT=(function(n){br(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Lr({event:"pan",threshold:10,pointers:1,direction:fQ},r))||this,i.pX=null,i.pY=null,i}var t=e.prototype;return t.getTouchAction=function(){var i=this.options.direction,o=[];return i&ii&&o.push(Wa),i&Ln&&o.push(Ga),o},t.directionTest=function(i){var o=this.options,s=!0,a=i.distance,g=i.direction,A=i.deltaX,I=i.deltaY;return g&o.direction||(o.direction&ii?(g=A===0?qA:A<0?pg:vg,s=A!==this.pX,a=Math.abs(i.deltaX)):(g=I===0?qA:I<0?mg:Is,s=I!==this.pY,a=Math.abs(i.deltaY))),i.direction=g,s&&a>o.threshold&&g&o.direction},t.attrTest=function(i){return ls.prototype.attrTest.call(this,i)&&(this.state&fr||!(this.state&fr)&&this.directionTest(i))},t.emit=function(i){this.pX=i.deltaX,this.pY=i.deltaY;var o=OQ(i.direction);o&&(i.additionalEvent=this.options.event+o),n.prototype.emit.call(this,i)},e})(ls),TQ=(function(n){br(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Lr({event:"swipe",threshold:10,velocity:.3,direction:ii|Ln,pointers:1},r))||this}var t=e.prototype;return t.getTouchAction=function(){return gT.prototype.getTouchAction.call(this)},t.attrTest=function(i){var o=this.options.direction,s;return o&(ii|Ln)?s=i.overallVelocity:o&ii?s=i.overallVelocityX:o&Ln&&(s=i.overallVelocityY),n.prototype.attrTest.call(this,i)&&o&i.offsetDirection&&i.distance>this.options.threshold&&i.maxPointers===this.options.pointers&&Yn(s)>this.options.velocity&&i.eventType&at},t.emit=function(i){var o=OQ(i.offsetDirection);o&&this.manager.emit(this.options.event+o,i),this.manager.emit(this.options.event,i)},e})(ls),RQ=(function(n){br(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Lr({event:"pinch",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[jn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.scale-1)>this.options.threshold||this.state&fr)},t.emit=function(i){if(i.scale!==1){var o=i.scale<1?"in":"out";i.additionalEvent=this.options.event+o}n.prototype.emit.call(this,i)},e})(ls),PQ=(function(n){br(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Lr({event:"rotate",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[jn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.rotation)>this.options.threshold||this.state&fr)},e})(ls),xQ=(function(n){br(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Lr({event:"press",pointers:1,time:251,threshold:9},r))||this,i._timer=null,i._input=null,i}var t=e.prototype;return t.getTouchAction=function(){return[hQ]},t.process=function(i){var o=this,s=this.options,a=i.pointers.length===s.pointers,g=i.distance<s.threshold,A=i.deltaTime>s.time;if(this._input=i,!g||!a||i.eventType&(at|Jt)&&!A)this.reset();else if(i.eventType&Wt)this.reset(),this._timer=setTimeout(function(){o.state=vi,o.tryEmit()},s.time);else if(i.eventType&at)return vi;return Yr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(i){this.state===vi&&(i&&i.eventType&at?this.manager.emit(this.options.event+"up",i):(this._input.timeStamp=rT(),this.manager.emit(this.options.event,this._input)))},e})(yg),$Q={domEvents:!1,touchAction:uQ,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},bN=[[PQ,{enable:!1}],[RQ,{enable:!1},["rotate"]],[TQ,{direction:ii}],[gT,{direction:ii},["swipe"]],[IO],[IO,{event:"doubletap",taps:2},["tap"]],[xQ]],Xoe=1,wN=2;function EN(n,e){var t=n.element;if(t.style){var r;pi(n.options.cssProps,function(i,o){r=vI(t.style,o),e?(n.oldCssProps[r]=t.style[r],t.style[r]=i):t.style[r]=n.oldCssProps[r]||""}),e||(n.oldCssProps={})}}function Qoe(n,e){var t=document.createEvent("Event");t.initEvent(n,!0,!0),t.gesture=e,e.target.dispatchEvent(t)}var SN=(function(){function n(t,r){var i=this;this.options=Kn({},$Q,r||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=Uoe(this),this.touchAction=new vQ(this,this.options.touchAction),EN(this,!0),pi(this.options.recognizers,function(o){var s=i.add(new o[0](o[1]));o[2]&&s.recognizeWith(o[2]),o[3]&&s.requireFailure(o[3])},this)}var e=n.prototype;return e.set=function(r){return Kn(this.options,r),r.touchAction&&this.touchAction.update(),r.inputTarget&&(this.input.destroy(),this.input.target=r.inputTarget,this.input.init()),this},e.stop=function(r){this.session.stopped=r?wN:Xoe},e.recognize=function(r){var i=this.session;if(!i.stopped){this.touchAction.preventDefaults(r);var o,s=this.recognizers,a=i.curRecognizer;(!a||a&&a.state&vi)&&(i.curRecognizer=null,a=null);for(var g=0;g<s.length;)o=s[g],i.stopped!==wN&&(!a||o===a||o.canRecognizeWith(a))?o.recognize(r):o.reset(),!a&&o.state&(fr|Cs|on)&&(i.curRecognizer=o,a=o),g++}},e.get=function(r){if(r instanceof yg)return r;for(var i=this.recognizers,o=0;o<i.length;o++)if(i[o].options.event===r)return i[o];return null},e.add=function(r){if(Zo(r,"add",this))return this;var i=this.get(r.options.event);return i&&this.remove(i),this.recognizers.push(r),r.manager=this,this.touchAction.update(),r},e.remove=function(r){if(Zo(r,"remove",this))return this;var i=this.get(r);if(r){var o=this.recognizers,s=Xn(o,i);s!==-1&&(o.splice(s,1),this.touchAction.update())}return this},e.on=function(r,i){if(r===void 0||i===void 0)return this;var o=this.handlers;return pi(Va(r),function(s){o[s]=o[s]||[],o[s].push(i)}),this},e.off=function(r,i){if(r===void 0)return this;var o=this.handlers;return pi(Va(r),function(s){i?o[s]&&o[s].splice(Xn(o[s],i),1):delete o[s]}),this},e.emit=function(r,i){this.options.domEvents&&Qoe(r,i);var o=this.handlers[r]&&this.handlers[r].slice();if(!(!o||!o.length)){i.type=r,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var s=0;s<o.length;)o[s](i),s++}},e.destroy=function(){this.element&&EN(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},n})(),Joe={touchstart:Wt,touchmove:Co,touchend:at,touchcancel:Jt},ese="touchstart",tse="touchstart touchmove touchend touchcancel",rse=(function(n){br(e,n);function e(){var r,i=e.prototype;return i.evTarget=ese,i.evWin=tse,r=n.apply(this,arguments)||this,r.started=!1,r}var t=e.prototype;return t.handler=function(i){var o=Joe[i.type];if(o===Wt&&(this.started=!0),!!this.started){var s=ise.call(this,i,o);o&(at|Jt)&&s[0].length-s[1].length===0&&(this.started=!1),this.callback(this.manager,o,{pointers:s[0],changedPointers:s[1],pointerType:fg,srcEvent:i})}},e})(Bs);function ise(n,e){var t=Za(n.touches),r=Za(n.changedTouches);return e&(at|Jt)&&(t=oT(t.concat(r),"identifier",!0)),[t,r]}function DQ(n,e,t){var r="DEPRECATED METHOD: "+e+`
`+t+` AT 
`;return function(){var i=new Error("get-stack-trace"),o=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=window.console&&(window.console.warn||window.console.log);return s&&s.call(window.console,r,o),n.apply(this,arguments)}}var NQ=DQ(function(n,e,t){for(var r=Object.keys(e),i=0;i<r.length;)(!t||t&&n[r[i]]===void 0)&&(n[r[i]]=e[r[i]]),i++;return n},"extend","Use `assign`."),nse=DQ(function(n,e){return NQ(n,e,!0)},"merge","Use `assign`.");function ose(n,e,t){var r=e.prototype,i;i=n.prototype=Object.create(r),i.constructor=n,i._super=r,t&&Kn(i,t)}function _N(n,e){return function(){return n.apply(e,arguments)}}var MQ=(function(){var n=function(t,r){return r===void 0&&(r={}),new SN(t,Lr({recognizers:bN.concat()},r))};return n.VERSION="2.0.17-rc",n.DIRECTION_ALL=fQ,n.DIRECTION_DOWN=Is,n.DIRECTION_LEFT=pg,n.DIRECTION_RIGHT=vg,n.DIRECTION_UP=mg,n.DIRECTION_HORIZONTAL=ii,n.DIRECTION_VERTICAL=Ln,n.DIRECTION_NONE=qA,n.DIRECTION_DOWN=Is,n.INPUT_START=Wt,n.INPUT_MOVE=Co,n.INPUT_END=at,n.INPUT_CANCEL=Jt,n.STATE_POSSIBLE=EA,n.STATE_BEGAN=fr,n.STATE_CHANGED=Cs,n.STATE_ENDED=on,n.STATE_RECOGNIZED=vi,n.STATE_CANCELLED=Ha,n.STATE_FAILED=Yr,n.Manager=SN,n.Input=Bs,n.TouchAction=vQ,n.TouchInput=sT,n.MouseInput=aT,n.PointerEventInput=SQ,n.TouchMouseInput=_Q,n.SingleTouchInput=rse,n.Recognizer=yg,n.AttrRecognizer=ls,n.Tap=IO,n.Pan=gT,n.Swipe=TQ,n.Pinch=RQ,n.Rotate=PQ,n.Press=xQ,n.on=xa,n.off=$a,n.each=pi,n.merge=nse,n.extend=NQ,n.bindFn=_N,n.assign=Kn,n.inherit=ose,n.bindFn=_N,n.prefixed=vI,n.toArray=Za,n.inArray=Xn,n.uniqueArray=oT,n.splitStr=Va,n.boolOrFn=mI,n.hasParent=nT,n.addEventListeners=xa,n.removeEventListeners=$a,n.defaults=Kn({},$Q,{preset:bN}),n})();MQ.defaults;const qQ=iie("DELETE");function sse(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return FQ({},n,...t)}function FQ(){const n=BA(...arguments);return BQ(n),n}function BA(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];if(e.length<2)return e[0];if(e.length>2)return BA(FQ(e[0],e[1]),...zr(e).call(e,2));const r=e[0],i=e[1];if(r instanceof Date&&i instanceof Date)return r.setTime(i.getTime()),r;for(const o of hie(i))Object.prototype.propertyIsEnumerable.call(i,o)&&(i[o]===qQ?delete r[o]:r[o]!==null&&i[o]!==null&&typeof r[o]=="object"&&typeof i[o]=="object"&&!we(r[o])&&!we(i[o])?r[o]=BA(r[o],i[o]):r[o]=kQ(i[o]));return r}function kQ(n){return we(n)?Mt(n).call(n,e=>kQ(e)):typeof n=="object"&&n!==null?n instanceof Date?new Date(n.getTime()):BA({},n):n}function BQ(n){for(const e of Be(n))n[e]===qQ?delete n[e]:typeof n[e]=="object"&&n[e]!==null&&BQ(n[e])}function yI(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];return ase(e.length?e:[MA()])}function ase(n){let[e,t,r]=gse(n),i=1;const o=()=>{const s=2091639*e+i*23283064365386963e-26;return e=t,t=r,r=s-(i=s|0)};return o.uint32=()=>o()*4294967296,o.fract53=()=>o()+(o()*2097152|0)*11102230246251565e-32,o.algorithm="Alea",o.seed=n,o.version="0.9",o}function gse(){const n=Ase();let e=n(" "),t=n(" "),r=n(" ");for(let i=0;i<arguments.length;i++)e-=n(i<0||arguments.length<=i?void 0:arguments[i]),e<0&&(e+=1),t-=n(i<0||arguments.length<=i?void 0:arguments[i]),t<0&&(t+=1),r-=n(i<0||arguments.length<=i?void 0:arguments[i]),r<0&&(r+=1);return[e,t,r]}function Ase(){let n=4022871197;return function(e){const t=e.toString();for(let r=0;r<t.length;r++){n+=t.charCodeAt(r);let i=.02519603282416938*n;n=i>>>0,i-=n,i*=n,n=i>>>0,i-=n,n+=i*4294967296}return(n>>>0)*23283064365386963e-26}}function Ise(){const n=()=>{};return{on:n,off:n,destroy:n,emit:n,get(){return{set:n}}}}const AT=typeof window<"u"?window.Hammer||MQ:function(){return Ise()};function Xr(n){var e;this._cleanupQueue=[],this.active=!1,this._dom={container:n,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push(()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)});const t=AT(this._dom.overlay);t.on("tap",z(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push(()=>{t.destroy()});const r=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];be(r).call(r,i=>{t.on(i,o=>{o.srcEvent.stopPropagation()})}),document&&document.body&&(this._onClick=i=>{Cse(i.target,n)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push(()=>{document.body.removeEventListener("click",this._onClick)})),this._escListener=i=>{("key"in i?i.key==="Escape":i.keyCode===27)&&this.deactivate()}}GX(Xr.prototype);Xr.current=null;Xr.prototype.destroy=function(){this.deactivate();for(const t of zn(n=ti(e=this._cleanupQueue).call(e,0)).call(n)){var n,e;t()}};Xr.prototype.activate=function(){Xr.current&&Xr.current.deactivate(),Xr.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)};Xr.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")};Xr.prototype._onTapOverlay=function(n){this.activate(),n.srcEvent.stopPropagation()};function Cse(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}const lse=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,dse=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,use=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,hse=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function Ki(n){if(n)for(;n.hasChildNodes()===!0;){const e=n.firstChild;e&&(Ki(e),n.removeChild(e))}}function ts(n){return n instanceof String||typeof n=="string"}function ON(n){return typeof n=="object"&&n!==null}function Qn(n,e,t,r){let i=!1;r===!0&&(i=e[t]===null&&n[t]!==void 0),i?delete n[t]:n[t]=e[t]}function zQ(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;for(const r in n)if(e[r]!==void 0)if(e[r]===null||typeof e[r]!="object")Qn(n,e,r,t);else{const i=n[r],o=e[r];ON(i)&&ON(o)&&zQ(i,o,t)}}function zs(n,e,t){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(we(t))throw new TypeError("Arrays are not supported by deepExtend");for(let i=0;i<n.length;i++){const o=n[i];if(Object.prototype.hasOwnProperty.call(t,o))if(t[o]&&t[o].constructor===Object)e[o]===void 0&&(e[o]={}),e[o].constructor===Object?Me(e[o],t[o],!1,r):Qn(e,t,o,r);else{if(we(t[o]))throw new TypeError("Arrays are not supported by deepExtend");Qn(e,t,o,r)}}return e}function zA(n,e,t){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(we(t))throw new TypeError("Arrays are not supported by deepExtend");for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&!rn(n).call(n,i))if(t[i]&&t[i].constructor===Object)e[i]===void 0&&(e[i]={}),e[i].constructor===Object?Me(e[i],t[i]):Qn(e,t,i,r);else if(we(t[i])){e[i]=[];for(let o=0;o<t[i].length;o++)e[i].push(t[i][o])}else Qn(e,t,i,r);return e}function Me(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)||t===!0)if(typeof e[o]=="object"&&e[o]!==null&&gD(e[o])===Object.prototype)n[o]===void 0?n[o]=Me({},e[o],t):typeof n[o]=="object"&&n[o]!==null&&gD(n[o])===Object.prototype?Me(n[o],e[o],t):Qn(n,e,o,r);else if(we(e[o])){var i;n[o]=zr(i=e[o]).call(i)}else Qn(n,e,o,r);return n}function jA(n,e){return[...n,e]}function cse(n){return zr(n).call(n)}function fse(n){return n.getBoundingClientRect().left}function pse(n){return n.getBoundingClientRect().top}function de(n,e){if(we(n)){const t=n.length;for(let r=0;r<t;r++)e(n[r],r,n)}else for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(n[t],t,n)}function IT(n){let e;switch(n.length){case 3:case 4:return e=dse.exec(n),e?{r:Fr(e[1]+e[1],16),g:Fr(e[2]+e[2],16),b:Fr(e[3]+e[3],16)}:null;case 6:case 7:return e=lse.exec(n),e?{r:Fr(e[1],16),g:Fr(e[2],16),b:Fr(e[3],16)}:null;default:return null}}function hr(n,e){if(rn(n).call(n,"rgba"))return n;if(rn(n).call(n,"rgb")){const t=n.substr(_e(n).call(n,"(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+e+")"}else{const t=IT(n);return t==null?n:"rgba("+t.r+","+t.g+","+t.b+","+e+")"}}function jQ(n,e,t){var r;return"#"+zr(r=((1<<24)+(n<<16)+(e<<8)+t).toString(16)).call(r,1)}function CO(n,e){if(ts(n)){let r=n;if(GQ(r)){var t;const i=Mt(t=r.substr(4).substr(0,r.length-5).split(",")).call(t,function(o){return Fr(o)});r=jQ(i[0],i[1],i[2])}if(LQ(r)===!0){const i=vse(r),o={h:i.h,s:i.s*.8,v:Math.min(1,i.v*1.02)},s={h:i.h,s:Math.min(1,i.s*1.25),v:i.v*.8},a=lO(s.h,s.s,s.v),g=lO(o.h,o.s,o.v);return{background:r,border:a,highlight:{background:g,border:a},hover:{background:g,border:a}}}else return{background:r,border:r,highlight:{background:r,border:r},hover:{background:r,border:r}}}else return{background:n.background||void 0,border:n.border||void 0,highlight:ts(n.highlight)?{border:n.highlight,background:n.highlight}:{background:n.highlight&&n.highlight.background||void 0,border:n.highlight&&n.highlight.border||void 0},hover:ts(n.hover)?{border:n.hover,background:n.hover}:{border:n.hover&&n.hover.border||void 0,background:n.hover&&n.hover.background||void 0}}}function _a(n,e,t){n=n/255,e=e/255,t=t/255;const r=Math.min(n,Math.min(e,t)),i=Math.max(n,Math.max(e,t));if(r===i)return{h:0,s:0,v:r};const o=n===r?e-t:t===r?n-e:t-n,a=60*((n===r?3:t===r?1:5)-o/(i-r))/360,g=(i-r)/i;return{h:a,s:g,v:i}}function SA(n,e,t){let r,i,o;const s=Math.floor(n*6),a=n*6-s,g=t*(1-e),A=t*(1-a*e),I=t*(1-(1-a)*e);switch(s%6){case 0:r=t,i=I,o=g;break;case 1:r=A,i=t,o=g;break;case 2:r=g,i=t,o=I;break;case 3:r=g,i=A,o=t;break;case 4:r=I,i=g,o=t;break;case 5:r=t,i=g,o=A;break}return{r:Math.floor(r*255),g:Math.floor(i*255),b:Math.floor(o*255)}}function lO(n,e,t){const r=SA(n,e,t);return jQ(r.r,r.g,r.b)}function vse(n){const e=IT(n);if(!e)throw new TypeError("'".concat(n,"' is not a valid color."));return _a(e.r,e.g,e.b)}function LQ(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)}function GQ(n){return use.test(n)}function mse(n){return hse.test(n)}function sn(n){if(n===null||typeof n!="object")return null;if(n instanceof Element)return n;const e=nn(n);for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&typeof n[t]=="object"&&(e[t]=sn(n[t]));return e}function dr(n,e,t){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=function(d){return d!=null},o=function(d){return d!==null&&typeof d=="object"},s=function(d){for(const u in d)if(Object.prototype.hasOwnProperty.call(d,u))return!1;return!0};if(!o(n))throw new Error("Parameter mergeTarget must be an object");if(!o(e))throw new Error("Parameter options must be an object");if(!i(t))throw new Error("Parameter option must have a value");if(!o(r))throw new Error("Parameter globalOptions must be an object");const a=function(d,u,h){o(d[h])||(d[h]={});const v=u[h],f=d[h];for(const c in v)Object.prototype.hasOwnProperty.call(v,c)&&(f[c]=v[c])},g=e[t],I=o(r)&&!s(r)?r[t]:void 0,C=I?I.enabled:void 0;if(g===void 0)return;if(typeof g=="boolean"){o(n[t])||(n[t]={}),n[t].enabled=g;return}if(g===null&&!o(n[t]))if(i(I))n[t]=nn(I);else return;if(!o(g))return;let l=!0;g.enabled!==void 0?l=g.enabled:C!==void 0&&(l=I.enabled),a(n,e,t),n[t].enabled=l}const yse={linear(n){return n},easeInQuad(n){return n*n},easeOutQuad(n){return n*(2-n)},easeInOutQuad(n){return n<.5?2*n*n:-1+(4-2*n)*n},easeInCubic(n){return n*n*n},easeOutCubic(n){return--n*n*n+1},easeInOutCubic(n){return n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1},easeInQuart(n){return n*n*n*n},easeOutQuart(n){return 1- --n*n*n*n},easeInOutQuart(n){return n<.5?8*n*n*n*n:1-8*--n*n*n*n},easeInQuint(n){return n*n*n*n*n},easeOutQuint(n){return 1+--n*n*n*n*n},easeInOutQuint(n){return n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n}};function Yi(n,e){let t;we(e)||(e=[e]);for(const r of n)if(r){t=r[e[0]];for(let i=1;i<e.length;i++)t&&(t=t[e[i]]);if(typeof t<"u")break}return t}const bse={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};let wse=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:289/2,y:289/2},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=()=>{},this.closeCallback=()=>{},this._create()}insertTo(e){this.hammer!==void 0&&(this.hammer.destroy(),this.hammer=void 0),this.container=e,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}setUpdateCallback(e){if(typeof e=="function")this.updateCallback=e;else throw new Error("Function attempted to set as colorPicker update callback is not a function.")}setCloseCallback(e){if(typeof e=="function")this.closeCallback=e;else throw new Error("Function attempted to set as colorPicker closing callback is not a function.")}_isColorString(e){if(typeof e=="string")return bse[e]}setColor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e==="none")return;let r;const i=this._isColorString(e);if(i!==void 0&&(e=i),ts(e)===!0){if(GQ(e)===!0){const o=e.substr(4).substr(0,e.length-5).split(",");r={r:o[0],g:o[1],b:o[2],a:1}}else if(mse(e)===!0){const o=e.substr(5).substr(0,e.length-6).split(",");r={r:o[0],g:o[1],b:o[2],a:o[3]}}else if(LQ(e)===!0){const o=IT(e);r={r:o.r,g:o.g,b:o.b,a:1}}}else if(e instanceof Object&&e.r!==void 0&&e.g!==void 0&&e.b!==void 0){const o=e.a!==void 0?e.a:"1.0";r={r:e.r,g:e.g,b:e.b,a:o}}if(r===void 0)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+ks(e));this._setColor(r,t)}show(){this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}_hide(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0)===!0&&(this.previousColor=tt({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",ri(()=>{this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0)},0)}_save(){this.updateCallback(this.color),this.applied=!1,this._hide()}_apply(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}_loadLast(){this.previousColor!==void 0?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}_setColor(e){(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)===!0&&(this.initialColor=tt({},e)),this.color=e;const r=_a(e.r,e.g,e.b),i=2*Math.PI,o=this.r*r.s,s=this.centerCoordinates.x+o*Math.sin(i*r.h),a=this.centerCoordinates.y+o*Math.cos(i*r.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=a-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(e)}_setOpacity(e){this.color.a=e/100,this._updatePicker(this.color)}_setBrightness(e){const t=_a(this.color.r,this.color.g,this.color.b);t.v=e/100;const r=SA(t.h,t.s,t.v);r.a=this.color.a,this.color=r,this._updatePicker()}_updatePicker(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.color;const t=_a(e.r,e.g,e.b),r=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1)),r.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const i=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;r.clearRect(0,0,i,o),r.putImageData(this.hueCircle,0,0),r.fillStyle="rgba(0,0,0,"+(1-t.v)+")",r.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),cg(r).call(r),this.brightnessRange.value=100*t.v,this.opacityRange.value=100*e.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}_setSize(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}_create(){var e,t,r,i;if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){const s=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{const s=document.createElement("DIV");s.style.color="red",s.style.fontWeight="bold",s.style.padding="10px",s.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(s)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch{}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch{}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);const o=this;this.opacityRange.onchange=function(){o._setOpacity(this.value)},this.opacityRange.oninput=function(){o._setOpacity(this.value)},this.brightnessRange.onchange=function(){o._setBrightness(this.value)},this.brightnessRange.oninput=function(){o._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=z(e=this._hide).call(e,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=z(t=this._apply).call(t,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=z(r=this._save).call(r,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=z(i=this._loadLast).call(i,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}_bindHammer(){this.drag={},this.pinch={},this.hammer=new AT(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",e=>{e.isFirst&&this._moveSelector(e)}),this.hammer.on("tap",e=>{this._moveSelector(e)}),this.hammer.on("panstart",e=>{this._moveSelector(e)}),this.hammer.on("panmove",e=>{this._moveSelector(e)}),this.hammer.on("panend",e=>{this._moveSelector(e)})}_generateHueCircle(){if(this.generated===!1){const e=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const t=this.colorPickerCanvas.clientWidth,r=this.colorPickerCanvas.clientHeight;e.clearRect(0,0,t,r);let i,o,s,a;this.centerCoordinates={x:t*.5,y:r*.5},this.r=.49*t;const g=2*Math.PI/360,A=1/360,I=1/this.r;let C;for(s=0;s<360;s++)for(a=0;a<this.r;a++)i=this.centerCoordinates.x+a*Math.sin(g*s),o=this.centerCoordinates.y+a*Math.cos(g*s),C=SA(s*A,a*I,1),e.fillStyle="rgb("+C.r+","+C.g+","+C.b+")",e.fillRect(i-.5,o-.5,2,2);e.strokeStyle="rgba(0,0,0,1)",e.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),e.stroke(),this.hueCircle=e.getImageData(0,0,t,r)}this.generated=!0}_moveSelector(e){const t=this.colorPickerDiv.getBoundingClientRect(),r=e.center.x-t.left,i=e.center.y-t.top,o=.5*this.colorPickerDiv.clientHeight,s=.5*this.colorPickerDiv.clientWidth,a=r-s,g=i-o,A=Math.atan2(a,g),I=.98*Math.min(Math.sqrt(a*a+g*g),s),C=Math.cos(A)*I+o,l=Math.sin(A)*I+s;this.colorPickerSelector.style.top=C-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=l-.5*this.colorPickerSelector.clientWidth+"px";let d=A/(2*Math.PI);d=d<0?d+1:d;const u=I/this.r,h=_a(this.color.r,this.color.g,this.color.b);h.h=d,h.s=u;const v=SA(h.h,h.s,h.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}};function dO(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];if(e.length<1)throw new TypeError("Invalid arguments.");if(e.length===1)return document.createTextNode(e[0]);{const r=document.createElement(e[0]);return r.appendChild(dO(...zr(e).call(e,1))),r}}let Ese=class{constructor(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:()=>!1;this.parent=e,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.hideOption=o,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},tt(this.options,this.defaultOptions),this.configureOptions=r,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new wse(i),this.wrapper=void 0}setOptions(e){if(e!==void 0){this.popupHistory={},this._removePopup();let t=!0;if(typeof e=="string")this.options.filter=e;else if(we(e))this.options.filter=e.join();else if(typeof e=="object"){if(e==null)throw new TypeError("options cannot be null");e.container!==void 0&&(this.options.container=e.container),st(e)!==void 0&&(this.options.filter=st(e)),e.showButton!==void 0&&(this.options.showButton=e.showButton),e.enabled!==void 0&&(t=e.enabled)}else typeof e=="boolean"?(this.options.filter=!0,t=e):typeof e=="function"&&(this.options.filter=e,t=!0);st(this.options)===!1&&(t=!1),this.options.enabled=t}this._clean()}setModuleOptions(e){this.moduleOptions=e,this.options.enabled===!0&&(this._clean(),this.options.container!==void 0&&(this.container=this.options.container),this._create())}_create(){this._clean(),this.changedOptions=[];const e=st(this.options);let t=0,r=!1;for(const i in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,i)&&(this.allowCreation=!1,r=!1,typeof e=="function"?(r=e(i,[]),r=r||this._handleObject(this.configureOptions[i],[i],!0)):(e===!0||_e(e).call(e,i)!==-1)&&(r=!0),r!==!1&&(this.allowCreation=!0,t>0&&this._makeItem([]),this._makeHeader(i),this._handleObject(this.configureOptions[i],[i])),t++);this._makeButton(),this._push()}_push(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(let e=0;e<this.domElements.length;e++)this.wrapper.appendChild(this.domElements[e]);this._showPopupIfNeeded()}_clean(){for(let e=0;e<this.domElements.length;e++)this.wrapper.removeChild(this.domElements[e]);this.wrapper!==void 0&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}_getValue(e){let t=this.moduleOptions;for(let r=0;r<e.length;r++)if(t[e[r]]!==void 0)t=t[e[r]];else{t=void 0;break}return t}_makeItem(e){if(this.allowCreation===!0){const o=document.createElement("div");o.className="vis-configuration vis-config-item vis-config-s"+e.length;for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return be(r).call(r,s=>{o.appendChild(s)}),this.domElements.push(o),this.domElements.length}return 0}_makeHeader(e){const t=document.createElement("div");t.className="vis-configuration vis-config-header",t.innerText=e,this._makeItem([],t)}_makeLabel(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const i=document.createElement("div");if(i.className="vis-configuration vis-config-label vis-config-s"+t.length,r===!0){for(;i.firstChild;)i.removeChild(i.firstChild);i.appendChild(dO("i","b",e))}else i.innerText=e+":";return i}_makeDropdown(e,t,r){const i=document.createElement("select");i.className="vis-configuration vis-config-select";let o=0;t!==void 0&&_e(e).call(e,t)!==-1&&(o=_e(e).call(e,t));for(let g=0;g<e.length;g++){const A=document.createElement("option");A.value=e[g],g===o&&(A.selected="selected"),A.innerText=e[g],i.appendChild(A)}const s=this;i.onchange=function(){s._update(this.value,r)};const a=this._makeLabel(r[r.length-1],r);this._makeItem(r,a,i)}_makeRange(e,t,r){const i=e[0],o=e[1],s=e[2],a=e[3],g=document.createElement("input");g.className="vis-configuration vis-config-range";try{g.type="range",g.min=o,g.max=s}catch{}g.step=a;let A="",I=0;t!==void 0?(t<0&&t*1.2<o?(g.min=Math.ceil(t*1.2),I=g.min,A="range increased"):t/1.2<o&&(g.min=Math.ceil(t/1.2),I=g.min,A="range increased"),t*1.2>s&&s!==1&&(g.max=Math.ceil(t*1.2),I=g.max,A="range increased"),g.value=t):g.value=i;const C=document.createElement("input");C.className="vis-configuration vis-config-rangeinput",C.value=g.value;const l=this;g.onchange=function(){C.value=this.value,l._update(Number(this.value),r)},g.oninput=function(){C.value=this.value};const d=this._makeLabel(r[r.length-1],r),u=this._makeItem(r,d,g,C);A!==""&&this.popupHistory[u]!==I&&(this.popupHistory[u]=I,this._setupPopup(A,u))}_makeButton(){if(this.options.showButton===!0){const e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=()=>{this._printOptions()},e.onmouseover=()=>{e.className="vis-configuration vis-config-button hover"},e.onmouseout=()=>{e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}_setupPopup(e,t){if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter<this.popupLimit){const r=document.createElement("div");r.id="vis-configuration-popup",r.className="vis-configuration-popup",r.innerText=e,r.onclick=()=>{this._removePopup()},this.popupCounter+=1,this.popupDiv={html:r,index:t}}}_removePopup(){this.popupDiv.html!==void 0&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}_showPopupIfNeeded(){if(this.popupDiv.html!==void 0){const t=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=t.left+"px",this.popupDiv.html.style.top=t.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=ri(()=>{this.popupDiv.html.style.opacity=0},1500),this.popupDiv.deleteTimeout=ri(()=>{this._removePopup()},1800)}}_makeCheckbox(e,t,r){const i=document.createElement("input");i.type="checkbox",i.className="vis-configuration vis-config-checkbox",i.checked=e,t!==void 0&&(i.checked=t,t!==e&&(typeof e=="object"?t!==e.enabled&&this.changedOptions.push({path:r,value:t}):this.changedOptions.push({path:r,value:t})));const o=this;i.onchange=function(){o._update(this.checked,r)};const s=this._makeLabel(r[r.length-1],r);this._makeItem(r,s,i)}_makeTextInput(e,t,r){const i=document.createElement("input");i.type="text",i.className="vis-configuration vis-config-text",i.value=t,t!==e&&this.changedOptions.push({path:r,value:t});const o=this;i.onchange=function(){o._update(this.value,r)};const s=this._makeLabel(r[r.length-1],r);this._makeItem(r,s,i)}_makeColorField(e,t,r){const i=e[1],o=document.createElement("div");t=t===void 0?i:t,t!=="none"?(o.className="vis-configuration vis-config-colorBlock",o.style.backgroundColor=t):o.className="vis-configuration vis-config-colorBlock none",t=t===void 0?i:t,o.onclick=()=>{this._showColorPicker(t,o,r)};const s=this._makeLabel(r[r.length-1],r);this._makeItem(r,s,o)}_showColorPicker(e,t,r){t.onclick=function(){},this.colorPicker.insertTo(t),this.colorPicker.show(),this.colorPicker.setColor(e),this.colorPicker.setUpdateCallback(i=>{const o="rgba("+i.r+","+i.g+","+i.b+","+i.a+")";t.style.backgroundColor=o,this._update(o,r)}),this.colorPicker.setCloseCallback(()=>{t.onclick=()=>{this._showColorPicker(e,t,r)}})}_handleObject(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=!1;const o=st(this.options);let s=!1;for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)){i=!0;const g=e[a],A=jA(t,a);if(typeof o=="function"&&(i=o(a,t),i===!1&&!we(g)&&typeof g!="string"&&typeof g!="boolean"&&g instanceof Object&&(this.allowCreation=!1,i=this._handleObject(g,A,!0),this.allowCreation=r===!1)),i!==!1){s=!0;const I=this._getValue(A);if(we(g))this._handleArray(g,I,A);else if(typeof g=="string")this._makeTextInput(g,I,A);else if(typeof g=="boolean")this._makeCheckbox(g,I,A);else if(g instanceof Object){if(!this.hideOption(t,a,this.moduleOptions))if(g.enabled!==void 0){const C=jA(A,"enabled"),l=this._getValue(C);if(l===!0){const d=this._makeLabel(a,A,!0);this._makeItem(A,d),s=this._handleObject(g,A)||s}else this._makeCheckbox(g,l,A)}else{const C=this._makeLabel(a,A,!0);this._makeItem(A,C),s=this._handleObject(g,A)||s}}else console.error("dont know how to handle",g,a,A)}}return s}_handleArray(e,t,r){typeof e[0]=="string"&&e[0]==="color"?(this._makeColorField(e,t,r),e[1]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="string"?(this._makeDropdown(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="number"&&(this._makeRange(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:Number(t)}))}_update(e,t){const r=this._constructOptions(e,t);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",r),this.initialized=!0,this.parent.setOptions(r)}_constructOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r;e=e==="true"?!0:e,e=e==="false"?!1:e;for(let o=0;o<t.length;o++)t[o]!=="global"&&(i[t[o]]===void 0&&(i[t[o]]={}),o!==t.length-1?i=i[t[o]]:i[t[o]]=e);return r}_printOptions(){const e=this.getOptions();for(;this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(dO("pre","const options = "+ks(e,null,2)))}getOptions(){const e={};for(let t=0;t<this.changedOptions.length;t++)this._constructOptions(this.changedOptions[t].value,this.changedOptions[t].path,e);return e}},Sse=class{constructor(e,t){this.container=e,this.overflowMethod=t||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}setPosition(e,t){this.x=Fr(e),this.y=Fr(t)}setText(e){if(e instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(e)}else this.frame.innerText=e}show(e){if(e===void 0&&(e=!0),e===!0){const t=this.frame.clientHeight,r=this.frame.clientWidth,i=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth;let s=0,a=0;if(this.overflowMethod=="flip"){let g=!1,A=!0;this.y-t<this.padding&&(A=!1),this.x+r>o-this.padding&&(g=!0),g?s=this.x-r:s=this.x,A?a=this.y-t:a=this.y}else a=this.y-t,a+t+this.padding>i&&(a=i-t-this.padding),a<this.padding&&(a=this.padding),s=this.x,s+r+this.padding>o&&(s=o-r-this.padding),s<this.padding&&(s=this.padding);this.frame.style.left=s+"px",this.frame.style.top=a+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}hide(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}destroy(){this.frame.parentNode.removeChild(this.frame)}},ma=!1,TN;const uO="background: #FFeeee; color: #dd0000";let _se=class Ke{static validate(e,t,r){ma=!1,TN=t;let i=t;return r!==void 0&&(i=t[r]),Ke.parse(e,i,[]),ma}static parse(e,t,r){for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&Ke.check(i,e,t,r)}static check(e,t,r,i){if(r[e]===void 0&&r.__any__===void 0){Ke.getSuggestion(e,r,i);return}let o=e,s=!0;r[e]===void 0&&r.__any__!==void 0&&(o="__any__",s=Ke.getType(t[e])==="object");let a=r[o];s&&a.__type__!==void 0&&(a=a.__type__),Ke.checkFields(e,t,r,o,a,i)}static checkFields(e,t,r,i,o,s){const a=function(I){console.error("%c"+I+Ke.printLocation(s,e),uO)},g=Ke.getType(t[e]),A=o[g];A!==void 0?Ke.getType(A)==="array"&&_e(A).call(A,t[e])===-1?(a('Invalid option detected in "'+e+'". Allowed values are:'+Ke.print(A)+' not "'+t[e]+'". '),ma=!0):g==="object"&&i!=="__any__"&&(s=jA(s,e),Ke.parse(t[e],r[i],s)):o.any===void 0&&(a('Invalid type received for "'+e+'". Expected: '+Ke.print(Be(o))+". Received ["+g+'] "'+t[e]+'"'),ma=!0)}static getType(e){const t=typeof e;return t==="object"?e===null?"null":e instanceof Boolean?"boolean":e instanceof Number?"number":e instanceof String?"string":we(e)?"array":e instanceof Date?"date":e.nodeType!==void 0?"dom":e._isAMomentObject===!0?"moment":"object":t==="number"?"number":t==="boolean"?"boolean":t==="string"?"string":t===void 0?"undefined":t}static getSuggestion(e,t,r){const i=Ke.findInOptions(e,t,r,!1),o=Ke.findInOptions(e,TN,[],!0),s=8,a=4;let g;i.indexMatch!==void 0?g=" in "+Ke.printLocation(i.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+i.indexMatch+`"?

`:o.distance<=a&&i.distance>o.distance?g=" in "+Ke.printLocation(i.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+Ke.printLocation(o.path,o.closestMatch,""):i.distance<=s?g='. Did you mean "'+i.closestMatch+'"?'+Ke.printLocation(i.path,e):g=". Did you mean one of these: "+Ke.print(Be(t))+Ke.printLocation(r,e),console.error('%cUnknown option detected: "'+e+'"'+g,uO),ma=!0}static findInOptions(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=1e9,s="",a=[];const g=e.toLowerCase();let A;for(const C in t){let l;if(t[C].__type__!==void 0&&i===!0){const d=Ke.findInOptions(e,t[C],jA(r,C));o>d.distance&&(s=d.closestMatch,a=d.path,o=d.distance,A=d.indexMatch)}else{var I;_e(I=C.toLowerCase()).call(I,g)!==-1&&(A=C),l=Ke.levenshteinDistance(e,C),o>l&&(s=C,a=cse(r),o=l)}}return{closestMatch:s,path:a,distance:o,indexMatch:A}}static printLocation(e,t){let i=`

`+(arguments.length>2&&arguments[2]!==void 0?arguments[2]:`Problem value found at: 
`)+`options = {
`;for(let o=0;o<e.length;o++){for(let s=0;s<o+1;s++)i+="  ";i+=e[o]+`: {
`}for(let o=0;o<e.length+1;o++)i+="  ";i+=t+`
`;for(let o=0;o<e.length+1;o++){for(let s=0;s<e.length-o;s++)i+="  ";i+=`}
`}return i+`

`}static print(e){return ks(e).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}static levenshteinDistance(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;const r=[];let i;for(i=0;i<=t.length;i++)r[i]=[i];let o;for(o=0;o<=e.length;o++)r[0][o]=o;for(i=1;i<=t.length;i++)for(o=1;o<=e.length;o++)t.charAt(i-1)==e.charAt(o-1)?r[i][o]=r[i-1][o-1]:r[i][o]=Math.min(r[i-1][o-1]+1,Math.min(r[i][o-1]+1,r[i-1][o]+1));return r[t.length][e.length]}};const Ose=Xr,Tse=Ese,rs=AT,Rse=Sse,WQ=uO,Pse=_se;function xse(n){return en=n,Mse()}var VQ={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},CT=nn(VQ);CT.color="color.color";CT.style="dashes";var kt={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},RN={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},en="",ds=0,Ie="",re="",Kt=kt.NULL;function $se(){ds=0,Ie=en.charAt(0)}function vt(){ds++,Ie=en.charAt(ds)}function ko(){return en.charAt(ds+1)}function PN(n){var e=n.charCodeAt(0);return e<47?e===35||e===46:e<59?e>47:e<91?e>64:e<96?e===95:e<123?e>96:!1}function dn(n,e){if(n||(n={}),e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function Dse(n,e,t){for(var r=e.split("."),i=n;r.length;){var o=r.shift();r.length?(i[o]||(i[o]={}),i=i[o]):i[o]=t}}function ZQ(n,e){for(var t,r,i=null,o=[n],s=n;s.parent;)o.push(s.parent),s=s.parent;if(s.nodes){for(t=0,r=s.nodes.length;t<r;t++)if(e.id===s.nodes[t].id){i=s.nodes[t];break}}for(i||(i={id:e.id},n.node&&(i.attr=dn(i.attr,n.node))),t=o.length-1;t>=0;t--){var a,g=o[t];g.nodes||(g.nodes=[]),_e(a=g.nodes).call(a,i)===-1&&g.nodes.push(i)}e.attr&&(i.attr=dn(i.attr,e.attr))}function Nse(n,e){if(n.edges||(n.edges=[]),n.edges.push(e),n.edge){var t=dn({},n.edge);e.attr=dn(t,e.attr)}}function HQ(n,e,t,r,i){var o={from:e,to:t,type:r};return n.edge&&(o.attr=dn({},n.edge)),o.attr=dn(o.attr||{},i),i!=null&&i.hasOwnProperty("arrows")&&i.arrows!=null&&(o.arrows={to:{enabled:!0,type:i.arrows.type}},i.arrows=null),o}function Fe(){for(Kt=kt.NULL,re="";Ie===" "||Ie==="	"||Ie===`
`||Ie==="\r";)vt();do{var n=!1;if(Ie==="#"){for(var e=ds-1;en.charAt(e)===" "||en.charAt(e)==="	";)e--;if(en.charAt(e)===`
`||en.charAt(e)===""){for(;Ie!=""&&Ie!=`
`;)vt();n=!0}}if(Ie==="/"&&ko()==="/"){for(;Ie!=""&&Ie!=`
`;)vt();n=!0}if(Ie==="/"&&ko()==="*"){for(;Ie!="";)if(Ie==="*"&&ko()==="/"){vt(),vt();break}else vt();n=!0}for(;Ie===" "||Ie==="	"||Ie===`
`||Ie==="\r";)vt()}while(n);if(Ie===""){Kt=kt.DELIMITER;return}var t=Ie+ko();if(RN[t]){Kt=kt.DELIMITER,re=t,vt(),vt();return}if(RN[Ie]){Kt=kt.DELIMITER,re=Ie,vt();return}if(PN(Ie)||Ie==="-"){for(re+=Ie,vt();PN(Ie);)re+=Ie,vt();re==="false"?re=!1:re==="true"?re=!0:isNaN(Number(re))||(re=Number(re)),Kt=kt.IDENTIFIER;return}if(Ie==='"'){for(vt();Ie!=""&&(Ie!='"'||Ie==='"'&&ko()==='"');)Ie==='"'?(re+=Ie,vt()):Ie==="\\"&&ko()==="n"?(re+=`
`,vt()):re+=Ie,vt();if(Ie!='"')throw Bt('End of string " expected');vt(),Kt=kt.IDENTIFIER;return}for(Kt=kt.UNKNOWN;Ie!="";)re+=Ie,vt();throw new SyntaxError('Syntax error in part "'+XQ(re,30)+'"')}function Mse(){var n={};if($se(),Fe(),re==="strict"&&(n.strict=!0,Fe()),(re==="graph"||re==="digraph")&&(n.type=re,Fe()),Kt===kt.IDENTIFIER&&(n.id=re,Fe()),re!="{")throw Bt("Angle bracket { expected");if(Fe(),UQ(n),re!="}")throw Bt("Angle bracket } expected");if(Fe(),re!=="")throw Bt("End of file expected");return Fe(),delete n.node,delete n.edge,delete n.graph,n}function UQ(n){for(;re!==""&&re!="}";)qse(n),re===";"&&Fe()}function qse(n){var e=KQ(n);if(e){YQ(n,e);return}var t=Fse(n);if(!t){if(Kt!=kt.IDENTIFIER)throw Bt("Identifier expected");var r=re;if(Fe(),re==="="){if(Fe(),Kt!=kt.IDENTIFIER)throw Bt("Identifier expected");n[r]=re,Fe()}else kse(n,r)}}function KQ(n){var e=null;if(re==="subgraph"&&(e={},e.type="subgraph",Fe(),Kt===kt.IDENTIFIER&&(e.id=re,Fe())),re==="{"){if(Fe(),e||(e={}),e.parent=n,e.node=n.node,e.edge=n.edge,e.graph=n.graph,UQ(e),re!="}")throw Bt("Angle bracket } expected");Fe(),delete e.node,delete e.edge,delete e.graph,delete e.parent,n.subgraphs||(n.subgraphs=[]),n.subgraphs.push(e)}return e}function Fse(n){return re==="node"?(Fe(),n.node=Da(),"node"):re==="edge"?(Fe(),n.edge=Da(),"edge"):re==="graph"?(Fe(),n.graph=Da(),"graph"):null}function kse(n,e){var t={id:e},r=Da();r&&(t.attr=r),ZQ(n,t),YQ(n,e)}function YQ(n,e){for(;re==="->"||re==="--";){var t,r=re;Fe();var i=KQ(n);if(i)t=i;else{if(Kt!=kt.IDENTIFIER)throw Bt("Identifier or subgraph expected");t=re,ZQ(n,{id:t}),Fe()}var o=Da(),s=HQ(n,e,t,r,o);Nse(n,s),e=t}}function Da(){for(var n,e=null,t={dashed:!0,solid:!1,dotted:[1,5]},r={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},i=new Array,o=new Array;re==="[";){for(Fe(),e={};re!==""&&re!="]";){if(Kt!=kt.IDENTIFIER)throw Bt("Attribute name expected");var s=re;if(Fe(),re!="=")throw Bt("Equal sign = expected");if(Fe(),Kt!=kt.IDENTIFIER)throw Bt("Attribute value expected");var a=re;s==="style"&&(a=t[a]);var g;s==="arrowhead"&&(g=r[a],s="arrows",a={to:{enabled:!0,type:g}}),s==="arrowtail"&&(g=r[a],s="arrows",a={from:{enabled:!0,type:g}}),i.push({attr:e,name:s,value:a}),o.push(s),Fe(),re==","&&Fe()}if(re!="]")throw Bt("Bracket ] expected");Fe()}if(rn(o).call(o,"dir")){var A={};for(A.arrows={},n=0;n<i.length;n++)if(i[n].name==="arrows")if(i[n].value.to!=null)A.arrows.to=n;else if(i[n].value.from!=null)A.arrows.from=n;else throw Bt("Invalid value of arrows");else i[n].name==="dir"&&(A.dir=n);var I=i[A.dir].value;if(!rn(o).call(o,"arrows"))if(I==="both")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1,i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="forward")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1;else if(I==="back")i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="none")i.push({attr:i[A.dir].attr,name:"arrows",value:""}),A.arrows.to=i.length-1;else throw Bt('Invalid dir type "'+I+'"');var C,l;if(I==="both")A.arrows.to&&A.arrows.from?(l=i[A.arrows.to].value.to.type,C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}},ti(i).call(i,A.arrows.from,1)):A.arrows.to?(l=i[A.arrows.to].value.to.type,C="arrow",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.from&&(l="arrow",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}});else if(I==="back")A.arrows.to&&A.arrows.from?(l="",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.to?(l="",C="arrow",A.arrows.from=A.arrows.to,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.from&&(l="",C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}),i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{from:{enabled:!0,type:i[A.arrows.from].value.from.type}}};else if(I==="none"){var d;A.arrows.to?d=A.arrows.to:d=A.arrows.from,i[d]={attr:i[d].attr,name:i[d].name,value:""}}else if(I==="forward")A.arrows.to&&A.arrows.from?(l=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.to?(l=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.from&&(l="arrow",C="",A.arrows.to=A.arrows.from,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}),i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:i[A.arrows.to].value.to.type}}};else throw Bt('Invalid dir type "'+I+'"');ti(i).call(i,A.dir,1)}var u;if(rn(o).call(o,"penwidth")){var h=[];for(u=i.length,n=0;n<u;n++)i[n].name!=="width"&&(i[n].name==="penwidth"&&(i[n].name="width"),h.push(i[n]));i=h}for(u=i.length,n=0;n<u;n++)Dse(i[n].attr,i[n].name,i[n].value);return e}function Bt(n){return new SyntaxError(n+', got "'+XQ(re,30)+'" (char '+ds+")")}function XQ(n,e){return n.length<=e?n:n.substr(0,27)+"..."}function Bse(n,e,t){we(n)?be(n).call(n,function(r){we(e)?be(e).call(e,function(i){t(r,i)}):t(r,e)}):we(e)?be(e).call(e,function(r){t(n,r)}):t(n,e)}function Xu(n,e,t){for(var r=e.split("."),i=r.pop(),o=n,s=0;s<r.length;s++){var a=r[s];a in o||(o[a]={}),o=o[a]}return o[i]=t,n}function xN(n,e){var t={};for(var r in n)if(n.hasOwnProperty(r)){var i=e[r];we(i)?be(i).call(i,function(o){Xu(t,o,n[r])}):typeof i=="string"?Xu(t,i,n[r]):Xu(t,r,n[r])}return t}function zse(n){var e=xse(n),t={nodes:[],edges:[],options:{}};if(e.nodes){var r;be(r=e.nodes).call(r,function(s){var a={id:s.id,label:String(s.label||s.id)};dn(a,xN(s.attr,VQ)),a.image&&(a.shape="image"),t.nodes.push(a)})}if(e.edges){var i,o=function(s){var a={from:s.from,to:s.to};return dn(a,xN(s.attr,CT)),a.arrows==null&&s.type==="->"&&(a.arrows="to"),a};be(i=e.edges).call(i,function(s){var a,g;if(s.from instanceof Object?a=s.from.nodes:a={id:s.from},s.to instanceof Object?g=s.to.nodes:g={id:s.to},s.from instanceof Object&&s.from.edges){var A;be(A=s.from.edges).call(A,function(C){var l=o(C);t.edges.push(l)})}if(Bse(a,g,function(C,l){var d=HQ(t,C.id,l.id,s.type,s.attr),u=o(d);t.edges.push(u)}),s.to instanceof Object&&s.to.edges){var I;be(I=s.to.edges).call(I,function(C){var l=o(C);t.edges.push(l)})}})}return e.attr&&(t.options=e.attr),t}function jse(n,e){var t;const r={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};e!=null&&(e.fixed!=null&&(r.nodes.fixed=e.fixed),e.parseColor!=null&&(r.nodes.parseColor=e.parseColor),e.inheritColor!=null&&(r.edges.inheritColor=e.inheritColor));const i=n.edges,o=Mt(i).call(i,a=>{const g={from:a.source,id:a.id,to:a.target};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.type==="Directed"&&(g.arrows="to"),a.color&&r.edges.inheritColor===!1&&(g.color=a.color),g});return{nodes:Mt(t=n.nodes).call(t,a=>{const g={id:a.id,fixed:r.nodes.fixed&&a.x!=null&&a.y!=null};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.size!=null&&(g.size=a.size),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.title!=null&&(g.title=a.title),a.x!=null&&(g.x=a.x),a.y!=null&&(g.y=a.y),a.color!=null&&(r.nodes.parseColor===!0?g.color=a.color:g.color={background:a.color,border:a.color,highlight:{background:a.color,border:a.color},hover:{background:a.color,border:a.color}}),g}),edges:o}}const Lse={addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},Gse={addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},Wse={addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},Vse={addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},Zse={addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},Hse={addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},Use={addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},Kse={addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},Yse={addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"},Xse={addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},Qse={addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"};var Jse=Object.freeze({__proto__:null,cn:Kse,cs:Qse,de:Gse,en:Lse,es:Wse,fr:Xse,it:Vse,nl:Zse,pt:Hse,ru:Use,uk:Yse});function eae(n,e){try{const[r,i]=e.split(/[-_ /]/,2),o=r!=null?r.toLowerCase():null,s=i!=null?i.toUpperCase():null;if(o&&s){const a=o+"-"+s;if(Object.prototype.hasOwnProperty.call(n,a))return a;var t;console.warn(aQ(t="Unknown variant ".concat(s," of language ")).call(t,o,"."))}if(o){const a=o;if(Object.prototype.hasOwnProperty.call(n,a))return a;console.warn("Unknown language ".concat(o))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(r){return console.error(r),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}let tae=class{constructor(){this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}init(){if(this.initialized())return;this.src=this.image.src;const e=this.image.width,t=this.image.height;this.width=e,this.height=t;const r=Math.floor(t/2),i=Math.floor(t/4),o=Math.floor(t/8),s=Math.floor(t/16),a=Math.floor(e/2),g=Math.floor(e/4),A=Math.floor(e/8),I=Math.floor(e/16);this.canvas.width=3*g,this.canvas.height=r,this.coordinates=[[0,0,a,r],[a,0,g,i],[a,i,A,o],[5*A,i,I,s]],this._fillMipMap()}initialized(){return this.coordinates!==void 0}_fillMipMap(){const e=this.canvas.getContext("2d"),t=this.coordinates[0];e.drawImage(this.image,t[0],t[1],t[2],t[3]);for(let r=1;r<this.NUM_ITERATIONS;r++){const i=this.coordinates[r-1],o=this.coordinates[r];e.drawImage(this.canvas,i[0],i[1],i[2],i[3],o[0],o[1],o[2],o[3])}}drawImageAtPosition(e,t,r,i,o,s){if(this.initialized())if(t>2){t*=.5;let a=0;for(;t>2&&a<this.NUM_ITERATIONS;)t*=.5,a+=1;a>=this.NUM_ITERATIONS&&(a=this.NUM_ITERATIONS-1);const g=this.coordinates[a];e.drawImage(this.canvas,g[0],g[1],g[2],g[3],r,i,o,s)}else e.drawImage(this.image,r,i,o,s)}},rae=class{constructor(e){this.images={},this.imageBroken={},this.callback=e}_tryloadBrokenUrl(e,t,r){if(!(e===void 0||r===void 0)){if(t===void 0){console.warn("No broken url image defined");return}r.image.onerror=()=>{console.error("Could not load brokenImage:",t)},r.image.src=t}}_redrawWithImage(e){this.callback&&this.callback(e)}load(e,t){const r=this.images[e];if(r)return r;const i=new tae;return this.images[e]=i,i.image.onload=()=>{this._fixImageCoordinates(i.image),i.init(),this._redrawWithImage(i)},i.image.onerror=()=>{console.error("Could not load image:",e),this._tryloadBrokenUrl(e,t,i)},i.image.src=e,i}_fixImageCoordinates(e){e.width===0&&(document.body.appendChild(e),e.width=e.offsetWidth,e.height=e.offsetHeight,document.body.removeChild(e))}};var $N={},DN={},Qu={exports:{}},Ju,NN;function iae(){if(NN)return Ju;NN=1;var n=ce();return Ju=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),Ju}var eh,MN;function nae(){if(MN)return eh;MN=1;var n=ce(),e=bt(),t=Ai(),r=iae(),i=Object.isExtensible,o=n(function(){});return eh=o||r?function(a){return!e(a)||r&&t(a)==="ArrayBuffer"?!1:i?i(a):!0}:i,eh}var th,qN;function QQ(){if(qN)return th;qN=1;var n=ce();return th=!n(function(){return Object.isExtensible(Object.preventExtensions({}))}),th}var FN;function bI(){if(FN)return Qu.exports;FN=1;var n=ee(),e=me(),t=Cg(),r=bt(),i=ct(),o=mr().f,s=cI(),a=YO(),g=nae(),A=AI(),I=QQ(),C=!1,l=A("meta"),d=0,u=function(p){o(p,l,{value:{objectID:"O"+d++,weakData:{}}})},h=function(p,y){if(!r(p))return typeof p=="symbol"?p:(typeof p=="string"?"S":"P")+p;if(!i(p,l)){if(!g(p))return"F";if(!y)return"E";u(p)}return p[l].objectID},v=function(p,y){if(!i(p,l)){if(!g(p))return!0;if(!y)return!1;u(p)}return p[l].weakData},f=function(p){return I&&C&&g(p)&&!i(p,l)&&u(p),p},c=function(){b.enable=function(){},C=!0;var p=s.f,y=e([].splice),E={};E[l]=1,p(E).length&&(s.f=function(S){for(var m=p(S),w=0,_=m.length;w<_;w++)if(m[w]===l){y(m,w,1);break}return m},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:a.f}))},b=Qu.exports={enable:c,fastKey:h,getWeakData:v,onFreeze:f};return t[l]=!0,Qu.exports}var rh,kN;function oae(){if(kN)return rh;kN=1;var n=Ct(),e=qs(),t=n("iterator"),r=Array.prototype;return rh=function(i){return i!==void 0&&(e.Array===i||r[t]===i)},rh}var ih,BN;function JQ(){if(BN)return ih;BN=1;var n=fn(),e=jO(),t=Os(),r=qs(),i=Ct(),o=i("iterator");return ih=function(s){if(!t(s))return e(s,o)||e(s,"@@iterator")||r[n(s)]},ih}var nh,zN;function e7(){if(zN)return nh;zN=1;var n=rr(),e=Pi(),t=Ii(),r=Ps(),i=JQ(),o=TypeError;return nh=function(s,a){var g=arguments.length<2?i(s):a;if(e(g))return t(n(g,s));throw new o(r(s)+" is not iterable")},nh}var oh,jN;function lT(){if(jN)return oh;jN=1;var n=rr(),e=Ii(),t=jO();return oh=function(r,i,o){var s,a;e(r);try{if(s=t(r,"return"),!s){if(i==="throw")throw o;return o}s=n(s,r)}catch(g){a=!0,s=g}if(i==="throw")throw o;if(a)throw s;return e(s),o},oh}var sh,LN;function wI(){if(LN)return sh;LN=1;var n=CI(),e=rr(),t=Ii(),r=Ps(),i=oae(),o=xi(),s=Je(),a=e7(),g=JQ(),A=lT(),I=TypeError,C=function(d,u){this.stopped=d,this.result=u},l=C.prototype;return sh=function(d,u,h){var v=h&&h.that,f=!!(h&&h.AS_ENTRIES),c=!!(h&&h.IS_RECORD),b=!!(h&&h.IS_ITERATOR),p=!!(h&&h.INTERRUPTED),y=n(u,v),E,S,m,w,_,T,R,O=function(x){return E&&A(E,"normal"),new C(!0,x)},P=function(x){return f?(t(x),p?y(x[0],x[1],O):y(x[0],x[1])):p?y(x,O):y(x)};if(c)E=d.iterator;else if(b)E=d;else{if(S=g(d),!S)throw new I(r(d)+" is not iterable");if(i(S)){for(m=0,w=o(d);w>m;m++)if(_=P(d[m]),_&&s(l,_))return _;return new C(!1)}E=a(d,S)}for(T=c?d.next:E.next;!(R=e(T,E)).done;){try{_=P(R.value)}catch(x){A(E,"throw",x)}if(typeof _=="object"&&_&&s(l,_))return _}return new C(!1)},sh}var ah,GN;function dT(){if(GN)return ah;GN=1;var n=Je(),e=TypeError;return ah=function(t,r){if(n(r,t))return t;throw new e("Incorrect invocation")},ah}var gh,WN;function uT(){if(WN)return gh;WN=1;var n=ee(),e=Le(),t=bI(),r=ce(),i=Ds(),o=wI(),s=dT(),a=yt(),g=bt(),A=Os(),I=Ao(),C=mr().f,l=pn().forEach,d=nt(),u=Io(),h=u.set,v=u.getterFor;return gh=function(f,c,b){var p=f.indexOf("Map")!==-1,y=f.indexOf("Weak")!==-1,E=p?"set":"add",S=e[f],m=S&&S.prototype,w={},_;if(!d||!a(S)||!(y||m.forEach&&!r(function(){new S().entries().next()})))_=b.getConstructor(c,f,p,E),t.enable();else{_=c(function(O,P){h(s(O,T),{type:f,collection:new S}),A(P)||o(P,O[E],{that:O,AS_ENTRIES:p})});var T=_.prototype,R=v(f);l(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(O){var P=O==="add"||O==="set";O in m&&!(y&&O==="clear")&&i(T,O,function(x,V){var M=R(this).collection;if(!P&&y&&!g(x))return O==="get"?void 0:!1;var U=M[O](x===0?0:x,V);return P?this:U})}),y||C(T,"size",{configurable:!0,get:function(){return R(this).collection.size}})}return I(_,f,!1,!0),w[f]=_,n({global:!0,forced:!0},w),y||b.setStrong(_,f,p),_},gh}var Ah,VN;function hT(){if(VN)return Ah;VN=1;var n=hg();return Ah=function(e,t,r){for(var i in t)r&&r.unsafe&&e[i]?e[i]=t[i]:n(e,i,t[i],r);return e},Ah}var Ih,ZN;function sae(){if(ZN)return Ih;ZN=1;var n=gr(),e=XO(),t=Ct(),r=nt(),i=t("species");return Ih=function(o){var s=n(o);r&&s&&!s[i]&&e(s,i,{configurable:!0,get:function(){return this}})},Ih}var Ch,HN;function t7(){if(HN)return Ch;HN=1;var n=ug(),e=XO(),t=hT(),r=CI(),i=dT(),o=Os(),s=wI(),a=JO(),g=eT(),A=sae(),I=nt(),C=bI().fastKey,l=Io(),d=l.set,u=l.getterFor;return Ch={getConstructor:function(h,v,f,c){var b=h(function(m,w){i(m,p),d(m,{type:v,index:n(null),first:null,last:null,size:0}),I||(m.size=0),o(w)||s(w,m[c],{that:m,AS_ENTRIES:f})}),p=b.prototype,y=u(v),E=function(m,w,_){var T=y(m),R=S(m,w),O,P;return R?R.value=_:(T.last=R={index:P=C(w,!0),key:w,value:_,previous:O=T.last,next:null,removed:!1},T.first||(T.first=R),O&&(O.next=R),I?T.size++:m.size++,P!=="F"&&(T.index[P]=R)),m},S=function(m,w){var _=y(m),T=C(w),R;if(T!=="F")return _.index[T];for(R=_.first;R;R=R.next)if(R.key===w)return R};return t(p,{clear:function(){for(var w=this,_=y(w),T=_.first;T;)T.removed=!0,T.previous&&(T.previous=T.previous.next=null),T=T.next;_.first=_.last=null,_.index=n(null),I?_.size=0:w.size=0},delete:function(m){var w=this,_=y(w),T=S(w,m);if(T){var R=T.next,O=T.previous;delete _.index[T.index],T.removed=!0,O&&(O.next=R),R&&(R.previous=O),_.first===T&&(_.first=R),_.last===T&&(_.last=O),I?_.size--:w.size--}return!!T},forEach:function(w){for(var _=y(this),T=r(w,arguments.length>1?arguments[1]:void 0),R;R=R?R.next:_.first;)for(T(R.value,R.key,this);R&&R.removed;)R=R.previous},has:function(w){return!!S(this,w)}}),t(p,f?{get:function(w){var _=S(this,w);return _&&_.value},set:function(w,_){return E(this,w===0?0:w,_)}}:{add:function(w){return E(this,w=w===0?0:w,w)}}),I&&e(p,"size",{configurable:!0,get:function(){return y(this).size}}),b},setStrong:function(h,v,f){var c=v+" Iterator",b=u(v),p=u(c);a(h,v,function(y,E){d(this,{type:c,target:y,state:b(y),kind:E,last:null})},function(){for(var y=p(this),E=y.kind,S=y.last;S&&S.removed;)S=S.previous;return!y.target||!(y.last=S=S?S.next:y.state.first)?(y.target=null,g(void 0,!0)):g(E==="keys"?S.key:E==="values"?S.value:[S.key,S.value],!1)},f?"entries":"values",!f,!0),A(v)}},Ch}var UN;function aae(){if(UN)return DN;UN=1;var n=uT(),e=t7();return n("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),DN}var KN;function gae(){return KN||(KN=1,aae()),$N}var YN={},lh,XN;function r7(){return XN||(XN=1,lh=function(n,e){return e===1?function(t,r){return t[n](r)}:function(t,r,i){return t[n](r,i)}}),lh}var dh,QN;function Aae(){if(QN)return dh;QN=1;var n=gr(),e=r7(),t=n("Map");return dh={Map:t,set:e("set",2),get:e("get",1),has:e("has",1),remove:e("delete",1),proto:t.prototype},dh}var JN;function Iae(){if(JN)return YN;JN=1;var n=ee(),e=me(),t=Pi(),r=Ri(),i=wI(),o=Aae(),s=xs(),a=ce(),g=o.Map,A=o.has,I=o.get,C=o.set,l=e([].push),d=s||a(function(){return g.groupBy("ab",function(u){return u}).get("a").length!==1});return n({target:"Map",stat:!0,forced:s||d},{groupBy:function(h,v){r(h),t(v);var f=new g,c=0;return i(h,function(b){var p=v(b,c++);A(f,p)?l(I(f,p),b):C(f,p,[b])}),f}}),YN}var eM={},uh,tM;function Cae(){if(tM)return uh;tM=1;var n=me(),e=Ns(),t=yr(),r=Ri(),i=n("".charAt),o=n("".charCodeAt),s=n("".slice),a=function(g){return function(A,I){var C=t(r(A)),l=e(I),d=C.length,u,h;return l<0||l>=d?g?"":void 0:(u=o(C,l),u<55296||u>56319||l+1===d||(h=o(C,l+1))<56320||h>57343?g?i(C,l):u:g?s(C,l,l+2):(u-55296<<10)+(h-56320)+65536)}};return uh={codeAt:a(!1),charAt:a(!0)},uh}var rM;function EI(){if(rM)return eM;rM=1;var n=Cae().charAt,e=yr(),t=Io(),r=JO(),i=eT(),o="String Iterator",s=t.set,a=t.getterFor(o);return r(String,"String",function(g){s(this,{type:o,string:e(g),index:0})},function(){var A=a(this),I=A.string,C=A.index,l;return C>=I.length?i(void 0,!0):(l=n(I,C),A.index+=l.length,i(l,!1))}),eM}var hh,iM;function lae(){if(iM)return hh;iM=1,$i(),gae(),Iae(),EI();var n=Ee();return hh=n.Map,hh}var ch,nM;function dae(){if(nM)return ch;nM=1;var n=lae();return Di(),ch=n,ch}var fh,oM;function uae(){return oM||(oM=1,fh=dae()),fh}var hae=uae(),bg=ne(hae);let cae=class{constructor(){this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},tt(this.options,this.defaultOptions)}setOptions(e){const t=["useDefaultGroups"];if(e!==void 0){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&_e(t).call(t,r)===-1){const i=e[r];this.add(r,i)}}}clear(){this._groups=new bg,this._groupNames=[]}get(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this._groups.get(e);if(r===void 0&&t)if(this.options.useDefaultGroups===!1&&this._groupNames.length>0){const i=this._groupIndex%this._groupNames.length;++this._groupIndex,r={},r.color=this._groups.get(this._groupNames[i]),this._groups.set(e,r)}else{const i=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,r={},r.color=this._defaultGroups[i],this._groups.set(e,r)}return r}add(e,t){return this._groups.has(e)||this._groupNames.push(e),this._groups.set(e,t),t}};var sM={},aM;function fae(){if(aM)return sM;aM=1;var n=ee();return n({target:"Number",stat:!0},{isNaN:function(t){return t!==t}}),sM}var ph,gM;function pae(){if(gM)return ph;gM=1,fae();var n=Ee();return ph=n.Number.isNaN,ph}var vh,AM;function vae(){if(AM)return vh;AM=1;var n=pae();return vh=n,vh}var mh,IM;function mae(){return IM||(IM=1,mh=vae()),mh}var yae=mae(),hO=ne(yae),CM={},yh,lM;function bae(){if(lM)return yh;lM=1;var n=Le(),e=n.isFinite;return yh=Number.isFinite||function(r){return typeof r=="number"&&e(r)},yh}var dM;function wae(){if(dM)return CM;dM=1;var n=ee(),e=bae();return n({target:"Number",stat:!0},{isFinite:e}),CM}var bh,uM;function Eae(){if(uM)return bh;uM=1,wae();var n=Ee();return bh=n.Number.isFinite,bh}var wh,hM;function Sae(){if(hM)return wh;hM=1;var n=Eae();return wh=n,wh}var Eh,cM;function _ae(){return cM||(cM=1,Eh=Sae()),Eh}var Oae=_ae(),Nn=ne(Oae),fM={},pM;function Tae(){if(pM)return fM;pM=1;var n=ee(),e=pn().some,t=Fs(),r=t("some");return n({target:"Array",proto:!0,forced:!r},{some:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),fM}var Sh,vM;function Rae(){if(vM)return Sh;vM=1,Tae();var n=ft();return Sh=n("Array","some"),Sh}var _h,mM;function Pae(){if(mM)return _h;mM=1;var n=Je(),e=Rae(),t=Array.prototype;return _h=function(r){var i=r.some;return r===t||n(t,r)&&i===t.some?e:i},_h}var Oh,yM;function xae(){if(yM)return Oh;yM=1;var n=Pae();return Oh=n,Oh}var Th,bM;function $ae(){return bM||(bM=1,Th=xae()),Th}var Dae=$ae(),i7=ne(Dae),Rh,wM;function Nae(){if(wM)return Rh;wM=1,XX();var n=Ee();return Rh=n.Object.getOwnPropertySymbols,Rh}var Ph,EM;function Mae(){if(EM)return Ph;EM=1;var n=Nae();return Ph=n,Ph}var xh,SM;function qae(){return SM||(SM=1,xh=Mae()),xh}var Fae=qae(),ai=ne(Fae),$h={exports:{}},_M={},OM;function kae(){if(OM)return _M;OM=1;var n=ee(),e=ce(),t=Vr(),r=II().f,i=nt(),o=!i||e(function(){r(1)});return n({target:"Object",stat:!0,forced:o,sham:!i},{getOwnPropertyDescriptor:function(a,g){return r(t(a),g)}}),_M}var TM;function Bae(){if(TM)return $h.exports;TM=1,kae();var n=Ee(),e=n.Object,t=$h.exports=function(i,o){return e.getOwnPropertyDescriptor(i,o)};return e.getOwnPropertyDescriptor.sham&&(t.sham=!0),$h.exports}var Dh,RM;function zae(){if(RM)return Dh;RM=1;var n=Bae();return Dh=n,Dh}var Nh,PM;function jae(){return PM||(PM=1,Nh=zae()),Nh}var Lae=jae(),Ci=ne(Lae),xM={},$M;function Gae(){if($M)return xM;$M=1;var n=ee(),e=nt(),t=oQ(),r=Vr(),i=II(),o=uI();return n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(a){for(var g=r(a),A=i.f,I=t(g),C={},l=0,d,u;I.length>l;)u=A(g,d=I[l++]),u!==void 0&&o(C,d,u);return C}}),xM}var Mh,DM;function Wae(){if(DM)return Mh;DM=1,Gae();var n=Ee();return Mh=n.Object.getOwnPropertyDescriptors,Mh}var qh,NM;function Vae(){if(NM)return qh;NM=1;var n=Wae();return qh=n,qh}var Fh,MM;function Zae(){return MM||(MM=1,Fh=Vae()),Fh}var Hae=Zae(),gi=ne(Hae),kh={exports:{}},qM={},FM;function Uae(){if(FM)return qM;FM=1;var n=ee(),e=nt(),t=KO().f;return n({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!e},{defineProperties:t}),qM}var kM;function Kae(){if(kM)return kh.exports;kM=1,Uae();var n=Ee(),e=n.Object,t=kh.exports=function(i,o){return e.defineProperties(i,o)};return e.defineProperties.sham&&(t.sham=!0),kh.exports}var Bh,BM;function Yae(){if(BM)return Bh;BM=1;var n=Kae();return Bh=n,Bh}var zh,zM;function Xae(){return zM||(zM=1,zh=Yae()),zh}var Qae=Xae(),wg=ne(Qae),jh={exports:{}},jM={},LM;function Jae(){if(LM)return jM;LM=1;var n=ee(),e=nt(),t=mr().f;return n({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!e},{defineProperty:t}),jM}var GM;function ege(){if(GM)return jh.exports;GM=1,Jae();var n=Ee(),e=n.Object,t=jh.exports=function(i,o,s){return e.defineProperty(i,o,s)};return e.defineProperty.sham&&(t.sham=!0),jh.exports}var Lh,WM;function n7(){if(WM)return Lh;WM=1;var n=ege();return Lh=n,Lh}var Gh,VM;function tge(){if(VM)return Gh;VM=1;var n=n7();return Gh=n,Gh}var Wh,ZM;function rge(){if(ZM)return Wh;ZM=1;var n=tge();return Wh=n,Wh}var Vh,HM;function ige(){return HM||(HM=1,Vh=rge()),Vh}var nge=ige(),oge=ne(nge),UM={},KM;function sge(){if(KM)return UM;KM=1;var n=Ct(),e=mr().f,t=n("metadata"),r=Function.prototype;return r[t]===void 0&&e(r,t,{value:null}),UM}var YM={},XM;function age(){return XM||(XM=1,QX()),YM}var QM={},JM;function gge(){return JM||(JM=1,JX()),QM}var eq={},tq;function Age(){if(tq)return eq;tq=1;var n=Ze();return n("metadata"),eq}var Zh,rq;function Ige(){if(rq)return Zh;rq=1;var n=nQ();return sge(),age(),gge(),Age(),Zh=n,Zh}var iq={},Hh,nq;function o7(){if(nq)return Hh;nq=1;var n=gr(),e=me(),t=n("Symbol"),r=t.keyFor,i=e(t.prototype.valueOf);return Hh=t.isRegisteredSymbol||function(s){try{return r(i(s))!==void 0}catch{return!1}},Hh}var oq;function Cge(){if(oq)return iq;oq=1;var n=ee(),e=o7();return n({target:"Symbol",stat:!0},{isRegisteredSymbol:e}),iq}var sq={},Uh,aq;function s7(){if(aq)return Uh;aq=1;for(var n=$s(),e=gr(),t=me(),r=Ig(),i=Ct(),o=e("Symbol"),s=o.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),g=t(o.prototype.valueOf),A=n("wks"),I=0,C=a(o),l=C.length;I<l;I++)try{var d=C[I];r(o[d])&&i(d)}catch{}return Uh=function(h){if(s&&s(h))return!0;try{for(var v=g(h),f=0,c=a(A),b=c.length;f<b;f++)if(A[c[f]]==v)return!0}catch{}return!1},Uh}var gq;function lge(){if(gq)return sq;gq=1;var n=ee(),e=s7();return n({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:e}),sq}var Aq={},Iq;function dge(){if(Iq)return Aq;Iq=1;var n=Ze();return n("customMatcher"),Aq}var Cq={},lq;function uge(){if(lq)return Cq;lq=1;var n=Ze();return n("observable"),Cq}var dq={},uq;function hge(){if(uq)return dq;uq=1;var n=ee(),e=o7();return n({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:e}),dq}var hq={},cq;function cge(){if(cq)return hq;cq=1;var n=ee(),e=s7();return n({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:e}),hq}var fq={},pq;function fge(){if(pq)return fq;pq=1;var n=Ze();return n("matcher"),fq}var vq={},mq;function pge(){if(mq)return vq;mq=1;var n=Ze();return n("metadataKey"),vq}var yq={},bq;function vge(){if(bq)return yq;bq=1;var n=Ze();return n("patternMatch"),yq}var wq={},Eq;function mge(){if(Eq)return wq;Eq=1;var n=Ze();return n("replaceAll"),wq}var Kh,Sq;function yge(){if(Sq)return Kh;Sq=1;var n=Ige();return Cge(),lge(),dge(),uge(),hge(),cge(),fge(),pge(),vge(),mge(),Kh=n,Kh}var Yh,_q;function bge(){return _q||(_q=1,Yh=yge()),Yh}var wge=bge(),uA=ne(wge),Xh,Oq;function Ege(){if(Oq)return Xh;Oq=1,$i(),EI(),eQ();var n=fI();return Xh=n.f("iterator"),Xh}var Qh,Tq;function a7(){if(Tq)return Qh;Tq=1;var n=Ege();return Di(),Qh=n,Qh}var Jh,Rq;function Sge(){if(Rq)return Jh;Rq=1;var n=a7();return Jh=n,Jh}var ec,Pq;function _ge(){if(Pq)return ec;Pq=1;var n=Sge();return ec=n,ec}var tc,xq;function Oge(){return xq||(xq=1,tc=_ge()),tc}var Tge=Oge(),Rge=ne(Tge);function Ua(n){"@babel/helpers - typeof";return Ua=typeof uA=="function"&&typeof Rge=="symbol"?function(e){return typeof e}:function(e){return e&&typeof uA=="function"&&e.constructor===uA&&e!==uA.prototype?"symbol":typeof e},Ua(n)}var rc,$q;function Pge(){if($q)return rc;$q=1,tQ();var n=fI();return rc=n.f("toPrimitive"),rc}var ic,Dq;function xge(){if(Dq)return ic;Dq=1;var n=Pge();return ic=n,ic}var nc,Nq;function $ge(){if(Nq)return nc;Nq=1;var n=xge();return nc=n,nc}var oc,Mq;function Dge(){if(Mq)return oc;Mq=1;var n=$ge();return oc=n,oc}var sc,qq;function Nge(){return qq||(qq=1,sc=Dge()),sc}var Mge=Nge(),qge=ne(Mge);function Fge(n,e){if(Ua(n)!="object"||!n)return n;var t=n[qge];if(t!==void 0){var r=t.call(n,e);if(Ua(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function kge(n){var e=Fge(n,"string");return Ua(e)=="symbol"?e:e+""}function ze(n,e,t){return(e=kge(e))in n?oge(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Fq={},ac,kq;function Bge(){if(kq)return ac;kq=1;var n=Pi(),e=Ar(),t=gI(),r=xi(),i=TypeError,o="Reduce of empty array with no initial value",s=function(a){return function(g,A,I,C){var l=e(g),d=t(l),u=r(l);if(n(A),u===0&&I<2)throw new i(o);var h=a?u-1:0,v=a?-1:1;if(I<2)for(;;){if(h in d){C=d[h],h+=v;break}if(h+=v,a?h<0:u<=h)throw new i(o)}for(;a?h>=0:u>h;h+=v)h in d&&(C=A(C,d[h],h,l));return C}};return ac={left:s(!1),right:s(!0)},ac}var gc,Bq;function zge(){if(Bq)return gc;Bq=1;var n=AQ();return gc=n==="NODE",gc}var zq;function jge(){if(zq)return Fq;zq=1;var n=ee(),e=Bge().left,t=Fs(),r=Ag(),i=zge(),o=!i&&r>79&&r<83,s=o||!t("reduce");return n({target:"Array",proto:!0,forced:s},{reduce:function(g){var A=arguments.length;return e(this,g,A,A>1?arguments[1]:void 0)}}),Fq}var Ac,jq;function Lge(){if(jq)return Ac;jq=1,jge();var n=ft();return Ac=n("Array","reduce"),Ac}var Ic,Lq;function Gge(){if(Lq)return Ic;Lq=1;var n=Je(),e=Lge(),t=Array.prototype;return Ic=function(r){var i=r.reduce;return r===t||n(t,r)&&i===t.reduce?e:i},Ic}var Cc,Gq;function Wge(){if(Gq)return Cc;Gq=1;var n=Gge();return Cc=n,Cc}var lc,Wq;function Vge(){return Wq||(Wq=1,lc=Wge()),lc}var Zge=Vge(),cT=ne(Zge),dc,Vq;function Hge(){return Vq||(Vq=1,dc=a7()),dc}var Uge=Hge(),Ho=ne(Uge),Zq={},Hq={},Uq;function Kge(){if(Uq)return Hq;Uq=1;var n=uT(),e=t7();return n("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),Hq}var Kq;function Yge(){return Kq||(Kq=1,Kge()),Zq}var Yq={},uc,Xq;function lo(){if(Xq)return uc;Xq=1;var n=Ps(),e=TypeError;return uc=function(t){if(typeof t=="object"&&"size"in t&&"has"in t&&"add"in t&&"delete"in t&&"keys"in t)return t;throw new e(n(t)+" is not a set")},uc}var hc,Qq;function uo(){if(Qq)return hc;Qq=1;var n=gr(),e=r7(),t=n("Set"),r=t.prototype;return hc={Set:t,add:e("add",1),has:e("has",1),remove:e("delete",1),proto:r},hc}var cc,Jq;function ho(){if(Jq)return cc;Jq=1;var n=rr();return cc=function(e,t,r){for(var i=r?e:e.iterator,o=e.next,s,a;!(s=n(o,i)).done;)if(a=t(s.value),a!==void 0)return a},cc}var fc,eF;function Eg(){if(eF)return fc;eF=1;var n=ho();return fc=function(e,t,r){return r?n(e.keys(),t,!0):e.forEach(t)},fc}var pc,tF;function fT(){if(tF)return pc;tF=1;var n=uo(),e=Eg(),t=n.Set,r=n.add;return pc=function(i){var o=new t;return e(i,function(s){r(o,s)}),o},pc}var vc,rF;function Sg(){return rF||(rF=1,vc=function(n){return n.size}),vc}var mc,iF;function Xge(){return iF||(iF=1,mc=function(n){return{iterator:n,next:n.next,done:!1}}),mc}var yc,nF;function co(){if(nF)return yc;nF=1;var n=Pi(),e=Ii(),t=rr(),r=Ns(),i=Xge(),o="Invalid size",s=RangeError,a=TypeError,g=Math.max,A=function(I,C){this.set=I,this.size=g(C,0),this.has=n(I.has),this.keys=n(I.keys)};return A.prototype={getIterator:function(){return i(e(t(this.keys,this.set)))},includes:function(I){return t(this.has,this.set,I)}},yc=function(I){e(I);var C=+I.size;if(C!==C)throw new a(o);var l=r(C);if(l<0)throw new s(o);return new A(I,l)},yc}var bc,oF;function Qge(){if(oF)return bc;oF=1;var n=lo(),e=uo(),t=fT(),r=Sg(),i=co(),o=Eg(),s=ho(),a=e.has,g=e.remove;return bc=function(I){var C=n(this),l=i(I),d=t(C);return r(C)<=l.size?o(C,function(u){l.includes(u)&&g(d,u)}):s(l.getIterator(),function(u){a(d,u)&&g(d,u)}),d},bc}var wc,sF;function fo(){return sF||(sF=1,wc=function(){return!1}),wc}var aF;function Jge(){if(aF)return Yq;aF=1;var n=ee(),e=Qge(),t=ce(),r=fo(),i=!r("difference",function(s){return s.size===0}),o=i||t(function(){var s={size:1,has:function(){return!0},keys:function(){var g=0;return{next:function(){var A=g++>1;return a.has(1)&&a.clear(),{done:A,value:2}}}}},a=new Set([1,2,3,4]);return a.difference(s).size!==3});return n({target:"Set",proto:!0,real:!0,forced:o},{difference:e}),Yq}var gF={},Ec,AF;function eAe(){if(AF)return Ec;AF=1;var n=lo(),e=uo(),t=Sg(),r=co(),i=Eg(),o=ho(),s=e.Set,a=e.add,g=e.has;return Ec=function(I){var C=n(this),l=r(I),d=new s;return t(C)>l.size?o(l.getIterator(),function(u){g(C,u)&&a(d,u)}):i(C,function(u){l.includes(u)&&a(d,u)}),d},Ec}var IF;function tAe(){if(IF)return gF;IF=1;var n=ee(),e=ce(),t=eAe(),r=fo(),i=!r("intersection",function(o){return o.size===2&&o.has(1)&&o.has(2)})||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});return n({target:"Set",proto:!0,real:!0,forced:i},{intersection:t}),gF}var CF={},Sc,lF;function rAe(){if(lF)return Sc;lF=1;var n=lo(),e=uo().has,t=Sg(),r=co(),i=Eg(),o=ho(),s=lT();return Sc=function(g){var A=n(this),I=r(g);if(t(A)<=I.size)return i(A,function(l){if(I.includes(l))return!1},!0)!==!1;var C=I.getIterator();return o(C,function(l){if(e(A,l))return s(C,"normal",!1)})!==!1},Sc}var dF;function iAe(){if(dF)return CF;dF=1;var n=ee(),e=rAe(),t=fo(),r=!t("isDisjointFrom",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isDisjointFrom:e}),CF}var uF={},_c,hF;function nAe(){if(hF)return _c;hF=1;var n=lo(),e=Sg(),t=Eg(),r=co();return _c=function(o){var s=n(this),a=r(o);return e(s)>a.size?!1:t(s,function(g){if(!a.includes(g))return!1},!0)!==!1},_c}var cF;function oAe(){if(cF)return uF;cF=1;var n=ee(),e=nAe(),t=fo(),r=!t("isSubsetOf",function(i){return i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSubsetOf:e}),uF}var fF={},Oc,pF;function sAe(){if(pF)return Oc;pF=1;var n=lo(),e=uo().has,t=Sg(),r=co(),i=ho(),o=lT();return Oc=function(a){var g=n(this),A=r(a);if(t(g)<A.size)return!1;var I=A.getIterator();return i(I,function(C){if(!e(g,C))return o(I,"normal",!1)})!==!1},Oc}var vF;function aAe(){if(vF)return fF;vF=1;var n=ee(),e=sAe(),t=fo(),r=!t("isSupersetOf",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSupersetOf:e}),fF}var mF={},Tc,yF;function gAe(){if(yF)return Tc;yF=1;var n=lo(),e=uo(),t=fT(),r=co(),i=ho(),o=e.add,s=e.has,a=e.remove;return Tc=function(A){var I=n(this),C=r(A).getIterator(),l=t(I);return i(C,function(d){s(I,d)?a(l,d):o(l,d)}),l},Tc}var Rc,bF;function g7(){return bF||(bF=1,Rc=function(n){try{var e=new Set,t={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},r=e[n](t);return r.size===1&&r.values().next().value===4}catch{return!1}}),Rc}var wF;function AAe(){if(wF)return mF;wF=1;var n=ee(),e=gAe(),t=g7(),r=fo(),i=!r("symmetricDifference")||!t("symmetricDifference");return n({target:"Set",proto:!0,real:!0,forced:i},{symmetricDifference:e}),mF}var EF={},Pc,SF;function IAe(){if(SF)return Pc;SF=1;var n=lo(),e=uo().add,t=fT(),r=co(),i=ho();return Pc=function(s){var a=n(this),g=r(s).getIterator(),A=t(a);return i(g,function(I){e(A,I)}),A},Pc}var _F;function CAe(){if(_F)return EF;_F=1;var n=ee(),e=IAe(),t=g7(),r=fo(),i=!r("union")||!t("union");return n({target:"Set",proto:!0,real:!0,forced:i},{union:e}),EF}var xc,OF;function lAe(){if(OF)return xc;OF=1,$i(),Yge(),Jge(),tAe(),iAe(),oAe(),aAe(),AAe(),CAe(),EI();var n=Ee();return xc=n.Set,xc}var $c,TF;function dAe(){if(TF)return $c;TF=1;var n=lAe();return Di(),$c=n,$c}var Dc,RF;function uAe(){return RF||(RF=1,Dc=dAe()),Dc}var hAe=uAe(),jr=ne(hAe),Nc,PF;function cAe(){if(PF)return Nc;PF=1,$i(),EI();var n=e7();return Nc=n,Nc}var Mc,xF;function fAe(){if(xF)return Mc;xF=1;var n=cAe();return Di(),Mc=n,Mc}var qc,$F;function pAe(){if($F)return qc;$F=1;var n=fAe();return qc=n,qc}var Fc,DF;function vAe(){if(DF)return Fc;DF=1;var n=pAe();return Fc=n,Fc}var kc,NF;function mAe(){return NF||(NF=1,kc=vAe()),kc}var Bc,MF;function yAe(){return MF||(MF=1,Bc=mAe()),Bc}var bAe=yAe(),zc=ne(bAe),qF={},jc,FF;function wAe(){if(FF)return jc;FF=1;var n=Ms(),e=Math.floor,t=function(r,i){var o=r.length;if(o<8)for(var s=1,a,g;s<o;){for(g=s,a=r[s];g&&i(r[g-1],a)>0;)r[g]=r[--g];g!==s++&&(r[g]=a)}else for(var A=e(o/2),I=t(n(r,0,A),i),C=t(n(r,A),i),l=I.length,d=C.length,u=0,h=0;u<l||h<d;)r[u+h]=u<l&&h<d?i(I[u],C[h])<=0?I[u++]:C[h++]:u<l?I[u++]:C[h++];return r};return jc=t,jc}var Lc,kF;function EAe(){if(kF)return Lc;kF=1;var n=Ts(),e=n.match(/firefox\/(\d+)/i);return Lc=!!e&&+e[1],Lc}var Gc,BF;function SAe(){if(BF)return Gc;BF=1;var n=Ts();return Gc=/MSIE|Trident/.test(n),Gc}var Wc,zF;function _Ae(){if(zF)return Wc;zF=1;var n=Ts(),e=n.match(/AppleWebKit\/(\d+)\./);return Wc=!!e&&+e[1],Wc}var jF;function OAe(){if(jF)return qF;jF=1;var n=ee(),e=me(),t=Pi(),r=Ar(),i=xi(),o=sQ(),s=yr(),a=ce(),g=wAe(),A=Fs(),I=EAe(),C=SAe(),l=Ag(),d=_Ae(),u=[],h=e(u.sort),v=e(u.push),f=a(function(){u.sort(void 0)}),c=a(function(){u.sort(null)}),b=A("sort"),p=!a(function(){if(l)return l<70;if(!(I&&I>3)){if(C)return!0;if(d)return d<603;var S="",m,w,_,T;for(m=65;m<76;m++){switch(w=String.fromCharCode(m),m){case 66:case 69:case 70:case 72:_=3;break;case 68:case 71:_=4;break;default:_=2}for(T=0;T<47;T++)u.push({k:w+T,v:_})}for(u.sort(function(R,O){return O.v-R.v}),T=0;T<u.length;T++)w=u[T].k.charAt(0),S.charAt(S.length-1)!==w&&(S+=w);return S!=="DGBEFHACIJK"}}),y=f||!c||!b||!p,E=function(S){return function(m,w){return w===void 0?-1:m===void 0?1:S!==void 0?+S(m,w)||0:s(m)>s(w)?1:-1}};return n({target:"Array",proto:!0,forced:y},{sort:function(m){m!==void 0&&t(m);var w=r(this);if(p)return m===void 0?h(w):h(w,m);var _=[],T=i(w),R,O;for(O=0;O<T;O++)O in w&&v(_,w[O]);for(g(_,E(m)),R=i(_),O=0;O<R;)w[O]=_[O++];for(;O<T;)o(w,O++);return w}}),qF}var Vc,LF;function TAe(){if(LF)return Vc;LF=1,OAe();var n=ft();return Vc=n("Array","sort"),Vc}var Zc,GF;function RAe(){if(GF)return Zc;GF=1;var n=Je(),e=TAe(),t=Array.prototype;return Zc=function(r){var i=r.sort;return r===t||n(t,r)&&i===t.sort?e:i},Zc}var Hc,WF;function PAe(){if(WF)return Hc;WF=1;var n=RAe();return Hc=n,Hc}var Uc,VF;function xAe(){return VF||(VF=1,Uc=PAe()),Uc}var $Ae=xAe(),mi=ne($Ae),Kc,ZF;function DAe(){if(ZF)return Kc;ZF=1,$i();var n=ft();return Kc=n("Array","keys"),Kc}var Yc,HF;function NAe(){if(HF)return Yc;HF=1;var n=DAe();return Yc=n,Yc}var Xc,UF;function MAe(){if(UF)return Xc;UF=1,Di();var n=fn(),e=ct(),t=Je(),r=NAe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return Xc=function(s){var a=s.keys;return s===i||t(i,s)&&a===i.keys||e(o,n(s))?r:a},Xc}var Qc,KF;function qAe(){return KF||(KF=1,Qc=MAe()),Qc}var FAe=qAe(),Bo=ne(FAe),Jc,YF;function kAe(){if(YF)return Jc;YF=1,$i();var n=ft();return Jc=n("Array","values"),Jc}var ef,XF;function BAe(){if(XF)return ef;XF=1;var n=kAe();return ef=n,ef}var tf,QF;function zAe(){if(QF)return tf;QF=1,Di();var n=fn(),e=ct(),t=Je(),r=BAe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return tf=function(s){var a=s.values;return s===i||t(i,s)&&a===i.values||e(o,n(s))?r:a},tf}var rf,JF;function jAe(){return JF||(JF=1,rf=zAe()),rf}var LAe=jAe(),LA=ne(LAe),nf,ek;function GAe(){if(ek)return nf;ek=1,$i();var n=ft();return nf=n("Array","entries"),nf}var of,tk;function WAe(){if(tk)return of;tk=1;var n=GAe();return of=n,of}var sf,rk;function VAe(){if(rk)return sf;rk=1,Di();var n=fn(),e=ct(),t=Je(),r=WAe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return sf=function(s){var a=s.entries;return s===i||t(i,s)&&a===i.entries||e(o,n(s))?r:a},sf}var af,ik;function ZAe(){return ik||(ik=1,af=VAe()),af}var HAe=ZAe(),UAe=ne(HAe),gf,nk;function KAe(){return nk||(nk=1,gf=n7()),gf}var YAe=KAe(),_g=ne(YAe);const $t=[];for(let n=0;n<256;++n)$t.push((n+256).toString(16).slice(1));function XAe(n,e=0){return($t[n[e+0]]+$t[n[e+1]]+$t[n[e+2]]+$t[n[e+3]]+"-"+$t[n[e+4]]+$t[n[e+5]]+"-"+$t[n[e+6]]+$t[n[e+7]]+"-"+$t[n[e+8]]+$t[n[e+9]]+"-"+$t[n[e+10]]+$t[n[e+11]]+$t[n[e+12]]+$t[n[e+13]]+$t[n[e+14]]+$t[n[e+15]]).toLowerCase()}let Af;const QAe=new Uint8Array(16);function JAe(){if(!Af){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Af=crypto.getRandomValues.bind(crypto)}return Af(QAe)}const eIe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var ok={randomUUID:eIe};function tIe(n,e,t){n=n||{};const r=n.random??n.rng?.()??JAe();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,XAe(r)}function is(n,e,t){return ok.randomUUID&&!n?ok.randomUUID():tIe(n)}function sk(n,e){var t=Be(n);if(ai){var r=ai(n);e&&(r=st(r).call(r,function(i){return Ci(n,i).enumerable})),t.push.apply(t,r)}return t}function ak(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?be(t=sk(Object(i),!0)).call(t,function(o){ze(n,o,i[o])}):gi?wg(n,gi(i)):be(r=sk(Object(i))).call(r,function(o){_g(n,o,Ci(i,o))})}return n}function gk(n){return typeof n=="string"||typeof n=="number"}let rIe=class A7{constructor(e){ze(this,"delay",void 0),ze(this,"max",void 0),ze(this,"_queue",[]),ze(this,"_timeout",null),ze(this,"_extended",null),this.delay=null,this.max=1/0,this.setOptions(e)}setOptions(e){e&&typeof e.delay<"u"&&(this.delay=e.delay),e&&typeof e.max<"u"&&(this.max=e.max),this._flushIfNeeded()}static extend(e,t){const r=new A7(t);if(e.flush!==void 0)throw new Error("Target object already has a property flush");e.flush=()=>{r.flush()};const i=[{name:"flush",original:void 0}];if(t&&t.replace)for(let o=0;o<t.replace.length;o++){const s=t.replace[o];i.push({name:s,original:e[s]}),r.replace(e,s)}return r._extended={object:e,methods:i},r}destroy(){if(this.flush(),this._extended){const e=this._extended.object,t=this._extended.methods;for(let r=0;r<t.length;r++){const i=t[r];i.original?e[i.name]=i.original:delete e[i.name]}this._extended=null}}replace(e,t){const r=this,i=e[t];if(!i)throw new Error("Method "+t+" undefined");e[t]=function(){for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];r.queue({args:s,fn:i,context:this})}}queue(e){typeof e=="function"?this._queue.push({fn:e}):this._queue.push(e),this._flushIfNeeded()}_flushIfNeeded(){this._queue.length>this.max&&this.flush(),this._timeout!=null&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&typeof this.delay=="number"&&(this._timeout=ri(()=>{this.flush()},this.delay))}flush(){var e,t;be(e=ti(t=this._queue).call(t,0)).call(e,r=>{r.fn.apply(r.context||r.fn,r.args||[])})}},iIe=class cO{constructor(){ze(this,"_subscribers",{"*":[],add:[],remove:[],update:[]}),ze(this,"subscribe",cO.prototype.on),ze(this,"unsubscribe",cO.prototype.off)}_trigger(e,t,r){var i;if(e==="*")throw new Error("Cannot trigger event *");be(i=[...this._subscribers[e],...this._subscribers["*"]]).call(i,o=>{o(e,t,r??null)})}on(e,t){typeof t=="function"&&this._subscribers[e].push(t)}off(e,t){var r;this._subscribers[e]=st(r=this._subscribers[e]).call(r,i=>i!==t)}},Ak=class Oa{constructor(e){ze(this,"_pairs",void 0),this._pairs=e}*[Ho](){for(const[e,t]of this._pairs)yield[e,t]}*entries(){for(const[e,t]of this._pairs)yield[e,t]}*keys(){for(const[e]of this._pairs)yield e}*values(){for(const[,e]of this._pairs)yield e}toIdArray(){var e;return Mt(e=[...this._pairs]).call(e,t=>t[0])}toItemArray(){var e;return Mt(e=[...this._pairs]).call(e,t=>t[1])}toEntryArray(){return[...this._pairs]}toObjectMap(){const e=nn(null);for(const[t,r]of this._pairs)e[t]=r;return e}toMap(){return new bg(this._pairs)}toIdSet(){return new jr(this.toIdArray())}toItemSet(){return new jr(this.toItemArray())}cache(){return new Oa([...this._pairs])}distinct(e){const t=new jr;for(const[r,i]of this._pairs)t.add(e(i,r));return t}filter(e){const t=this._pairs;return new Oa({*[Ho](){for(const[r,i]of t)e(i,r)&&(yield[r,i])}})}forEach(e){for(const[t,r]of this._pairs)e(r,t)}map(e){const t=this._pairs;return new Oa({*[Ho](){for(const[r,i]of t)yield[r,e(i,r)]}})}max(e){const t=zc(this._pairs);let r=t.next();if(r.done)return null;let i=r.value[1],o=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[s,a]=r.value,g=e(a,s);g>o&&(o=g,i=a)}return i}min(e){const t=zc(this._pairs);let r=t.next();if(r.done)return null;let i=r.value[1],o=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[s,a]=r.value,g=e(a,s);g<o&&(o=g,i=a)}return i}reduce(e,t){for(const[r,i]of this._pairs)t=e(t,i,r);return t}sort(e){return new Oa({[Ho]:()=>{var t;return zc(mi(t=[...this._pairs]).call(t,(r,i)=>{let[o,s]=r,[a,g]=i;return e(s,g,o,a)}))}})}};function nIe(n,e){return n[e]==null&&(n[e]=is()),n}let us=class extends iIe{get idProp(){return this._idProp}constructor(e,t){super(),ze(this,"flush",void 0),ze(this,"length",void 0),ze(this,"_options",void 0),ze(this,"_data",void 0),ze(this,"_idProp",void 0),ze(this,"_queue",null),e&&!we(e)&&(t=e,e=[]),this._options=t||{},this._data=new bg,this.length=0,this._idProp=this._options.fieldId||"id",e&&e.length&&this.add(e),this.setOptions(t)}setOptions(e){e&&e.queue!==void 0&&(e.queue===!1?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=rIe.extend(this,{replace:["add","update","remove"]})),e.queue&&typeof e.queue=="object"&&this._queue.setOptions(e.queue)))}add(e,t){const r=[];let i;if(we(e)){const o=Mt(e).call(e,s=>s[this._idProp]);if(i7(o).call(o,s=>this._data.has(s)))throw new Error("A duplicate id was found in the parameter array.");for(let s=0,a=e.length;s<a;s++)i=this._addItem(e[s]),r.push(i)}else if(e&&typeof e=="object")i=this._addItem(e),r.push(i);else throw new Error("Unknown dataType");return r.length&&this._trigger("add",{items:r},t),r}update(e,t){const r=[],i=[],o=[],s=[],a=this._idProp,g=A=>{const I=A[a];if(I!=null&&this._data.has(I)){const C=A,l=tt({},this._data.get(I)),d=this._updateItem(C);i.push(d),s.push(C),o.push(l)}else{const C=this._addItem(A);r.push(C)}};if(we(e))for(let A=0,I=e.length;A<I;A++)e[A]&&typeof e[A]=="object"?g(e[A]):console.warn("Ignoring input item, which is not an object at index "+A);else if(e&&typeof e=="object")g(e);else throw new Error("Unknown dataType");if(r.length&&this._trigger("add",{items:r},t),i.length){const A={items:i,oldData:o,data:s};this._trigger("update",A,t)}return aQ(r).call(r,i)}updateOnly(e,t){var r;we(e)||(e=[e]);const i=Mt(r=Mt(e).call(e,o=>{const s=this._data.get(o[this._idProp]);if(s==null)throw new Error("Updating non-existent items is not allowed.");return{oldData:s,update:o}})).call(r,o=>{let{oldData:s,update:a}=o;const g=s[this._idProp],A=sse(s,a);return this._data.set(g,A),{id:g,oldData:s,updatedData:A}});if(i.length){const o={items:Mt(i).call(i,s=>s.id),oldData:Mt(i).call(i,s=>s.oldData),data:Mt(i).call(i,s=>s.updatedData)};return this._trigger("update",o,t),o.items}else return[]}get(e,t){let r,i,o;gk(e)?(r=e,o=t):we(e)?(i=e,o=t):o=e;const s=o&&o.returnType==="Object"?"Object":"Array",a=o&&st(o),g=[];let A,I,C;if(r!=null)A=this._data.get(r),A&&a&&!a(A)&&(A=void 0);else if(i!=null)for(let d=0,u=i.length;d<u;d++)A=this._data.get(i[d]),A!=null&&(!a||a(A))&&g.push(A);else{var l;I=[...Bo(l=this._data).call(l)];for(let d=0,u=I.length;d<u;d++)C=I[d],A=this._data.get(C),A!=null&&(!a||a(A))&&g.push(A)}if(o&&o.order&&r==null&&this._sort(g,o.order),o&&o.fields){const d=o.fields;if(r!=null&&A!=null)A=this._filterFields(A,d);else for(let u=0,h=g.length;u<h;u++)g[u]=this._filterFields(g[u],d)}if(s=="Object"){const d={};for(let u=0,h=g.length;u<h;u++){const v=g[u],f=v[this._idProp];d[f]=v}return d}else return r!=null?A??null:g}getIds(e){const t=this._data,r=e&&st(e),i=e&&e.order,o=[...Bo(t).call(t)],s=[];if(r)if(i){const a=[];for(let g=0,A=o.length;g<A;g++){const I=o[g],C=this._data.get(I);C!=null&&r(C)&&a.push(C)}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)s.push(a[g][this._idProp])}else for(let a=0,g=o.length;a<g;a++){const A=o[a],I=this._data.get(A);I!=null&&r(I)&&s.push(I[this._idProp])}else if(i){const a=[];for(let g=0,A=o.length;g<A;g++){const I=o[g];a.push(t.get(I))}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)s.push(a[g][this._idProp])}else for(let a=0,g=o.length;a<g;a++){const A=o[a],I=t.get(A);I!=null&&s.push(I[this._idProp])}return s}getDataSet(){return this}forEach(e,t){const r=t&&st(t),i=this._data,o=[...Bo(i).call(i)];if(t&&t.order){const s=this.get(t);for(let a=0,g=s.length;a<g;a++){const A=s[a],I=A[this._idProp];e(A,I)}}else for(let s=0,a=o.length;s<a;s++){const g=o[s],A=this._data.get(g);A!=null&&(!r||r(A))&&e(A,g)}}map(e,t){const r=t&&st(t),i=[],o=this._data,s=[...Bo(o).call(o)];for(let a=0,g=s.length;a<g;a++){const A=s[a],I=this._data.get(A);I!=null&&(!r||r(I))&&i.push(e(I,A))}return t&&t.order&&this._sort(i,t.order),i}_filterFields(e,t){var r;return e&&cT(r=we(t)?t:Be(t)).call(r,(i,o)=>(i[o]=e[o],i),{})}_sort(e,t){if(typeof t=="string"){const r=t;mi(e).call(e,(i,o)=>{const s=i[r],a=o[r];return s>a?1:s<a?-1:0})}else if(typeof t=="function")mi(e).call(e,t);else throw new TypeError("Order must be a function or a string")}remove(e,t){const r=[],i=[],o=we(e)?e:[e];for(let s=0,a=o.length;s<a;s++){const g=this._remove(o[s]);if(g){const A=g[this._idProp];A!=null&&(r.push(A),i.push(g))}}return r.length&&this._trigger("remove",{items:r,oldData:i},t),r}_remove(e){let t;if(gk(e)?t=e:e&&typeof e=="object"&&(t=e[this._idProp]),t!=null&&this._data.has(t)){const r=this._data.get(t)||null;return this._data.delete(t),--this.length,r}return null}clear(e){var t;const r=[...Bo(t=this._data).call(t)],i=[];for(let o=0,s=r.length;o<s;o++)i.push(this._data.get(r[o]));return this._data.clear(),this.length=0,this._trigger("remove",{items:r,oldData:i},e),r}max(e){let t=null,r=null;for(const o of LA(i=this._data).call(i)){var i;const s=o[e];typeof s=="number"&&(r==null||s>r)&&(t=o,r=s)}return t||null}min(e){let t=null,r=null;for(const o of LA(i=this._data).call(i)){var i;const s=o[e];typeof s=="number"&&(r==null||s<r)&&(t=o,r=s)}return t||null}distinct(e){const t=this._data,r=[...Bo(t).call(t)],i=[];let o=0;for(let s=0,a=r.length;s<a;s++){const g=r[s],I=t.get(g)[e];let C=!1;for(let l=0;l<o;l++)if(i[l]==I){C=!0;break}!C&&I!==void 0&&(i[o]=I,o++)}return i}_addItem(e){const t=nIe(e,this._idProp),r=t[this._idProp];if(this._data.has(r))throw new Error("Cannot add item: item with id "+r+" already exists");return this._data.set(r,t),++this.length,r}_updateItem(e){const t=e[this._idProp];if(t==null)throw new Error("Cannot update item: item has no id (item: "+ks(e)+")");const r=this._data.get(t);if(!r)throw new Error("Cannot update item: no item with id "+t+" found");return this._data.set(t,ak(ak({},r),e)),t}stream(e){if(e){const r=this._data;return new Ak({*[Ho](){for(const i of e){const o=r.get(i);o!=null&&(yield[i,o])}}})}else{var t;return new Ak({[Ho]:z(t=UAe(this._data)).call(t,this._data)})}}};function oIe(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof e.add=="function"&&typeof e.clear=="function"&&typeof e.distinct=="function"&&typeof be(e)=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof Mt(e)=="function"&&typeof e.max=="function"&&typeof e.min=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.remove=="function"&&typeof e.setOptions=="function"&&typeof e.stream=="function"&&typeof e.update=="function"&&typeof e.updateOnly=="function"}function I7(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof be(e)=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof Mt(e)=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.stream=="function"&&oIe(n,e.getDataSet())}var Ik={},If,Ck;function sIe(){if(Ck)return If;Ck=1;var n=Le(),e=ce(),t=me(),r=yr(),i=gQ().trim,o=tT(),s=t("".charAt),a=n.parseFloat,g=n.Symbol,A=g&&g.iterator,I=1/a(o+"-0")!==-1/0||A&&!e(function(){a(Object(A))});return If=I?function(l){var d=i(r(l)),u=a(d);return u===0&&s(d,0)==="-"?-0:u}:a,If}var lk;function aIe(){if(lk)return Ik;lk=1;var n=ee(),e=sIe();return n({global:!0,forced:parseFloat!==e},{parseFloat:e}),Ik}var Cf,dk;function gIe(){if(dk)return Cf;dk=1,aIe();var n=Ee();return Cf=n.parseFloat,Cf}var lf,uk;function AIe(){if(uk)return lf;uk=1;var n=gIe();return lf=n,lf}var df,hk;function IIe(){return hk||(hk=1,df=AIe()),df}var CIe=IIe(),C7=ne(CIe),ck={},fk;function lIe(){if(fk)return ck;fk=1;var n=ee(),e=ce(),t=YO().f,r=e(function(){return!Object.getOwnPropertyNames(1)});return n({target:"Object",stat:!0,forced:r},{getOwnPropertyNames:t}),ck}var uf,pk;function dIe(){if(pk)return uf;pk=1,lIe();var n=Ee(),e=n.Object;return uf=function(r){return e.getOwnPropertyNames(r)},uf}var hf,vk;function uIe(){if(vk)return hf;vk=1;var n=dIe();return hf=n,hf}var cf,mk;function hIe(){return mk||(mk=1,cf=uIe()),cf}var cIe=hIe(),fIe=ne(cIe);function pT(n,e){const t=["node","edge","label"];let r=!0;const i=Yi(e,"chosen");if(typeof i=="boolean")r=i;else if(typeof i=="object"){if(_e(t).call(t,n)===-1)throw new Error("choosify: subOption '"+n+"' should be one of '"+t.join("', '")+"'");const o=Yi(e,["chosen",n]);(typeof o=="boolean"||typeof o=="function")&&(r=o)}return r}function fO(n,e,t){if(n.width<=0||n.height<=0)return!1;if(t!==void 0){const o={x:e.x-t.x,y:e.y-t.y};if(t.angle!==0){const s=-t.angle;e={x:Math.cos(s)*o.x-Math.sin(s)*o.y,y:Math.sin(s)*o.x+Math.cos(s)*o.y}}else e=o}const r=n.x+n.width,i=n.y+n.width;return n.left<e.x&&r>e.x&&n.top<e.y&&i>e.y}function GA(n){return typeof n=="string"&&n!==""}function l7(n,e,t,r){let i=r.x,o=r.y;if(typeof r.distanceToBorder=="function"){const s=r.distanceToBorder(n,e),a=Math.sin(e)*s,g=Math.cos(e)*s;g===s?(i+=s,o=r.y):a===s?(i=r.x,o-=s):(i+=g,o-=a)}else r.shape.width>r.shape.height?(i=r.x+r.shape.width*.5,o=r.y-t):(i=r.x+t,o=r.y-r.shape.height*.5);return{x:i,y:o}}let pIe=class{constructor(e){this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}_add(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"normal";this.lines[e]===void 0&&(this.lines[e]={width:0,height:0,blocks:[]});let i=t;(t===void 0||t==="")&&(i=" ");const o=this.measureText(i,r),s=tt({},LA(o));s.text=t,s.width=o.width,s.mod=r,(t===void 0||t==="")&&(s.width=0),this.lines[e].blocks.push(s),this.lines[e].width+=s.width}curWidth(){const e=this.lines[this.current];return e===void 0?0:e.width}append(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t)}newLine(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t),this.current++}determineLineHeights(){for(let e=0;e<this.lines.length;e++){const t=this.lines[e];let r=0;if(t.blocks!==void 0)for(let i=0;i<t.blocks.length;i++){const o=t.blocks[i];r<o.height&&(r=o.height)}t.height=r}}determineLabelSize(){let e=0,t=0;for(let r=0;r<this.lines.length;r++){const i=this.lines[r];i.width>e&&(e=i.width),t+=i.height}this.width=e,this.height=t}removeEmptyBlocks(){const e=[];for(let t=0;t<this.lines.length;t++){const r=this.lines[t];if(r.blocks.length===0||t===this.lines.length-1&&r.width===0)continue;const i={};tt(i,r),i.blocks=[];let o;const s=[];for(let a=0;a<r.blocks.length;a++){const g=r.blocks[a];g.width!==0?s.push(g):o===void 0&&(o=g)}s.length===0&&o!==void 0&&s.push(o),i.blocks=s,e.push(i)}return e}finalize(){this.determineLineHeights(),this.determineLabelSize();const e=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:e}}};const vIe={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/};let yk=class{constructor(e){this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}mod(){return this.modStack.length===0?"normal":this.modStack[0]}modName(){if(this.modStack.length===0)return"normal";if(this.modStack[0]==="mono")return"mono";if(this.bold&&this.ital)return"boldital";if(this.bold)return"bold";if(this.ital)return"ital"}emitBlock(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}add(e){e===" "&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1),e!=" "&&(this.buffer+=e)}parseWS(e){return/[ \t]/.test(e)?(this.mono?this.add(e):this.spacing=!0,!0):!1}setTag(e){this.emitBlock(),this[e]=!0,this.modStack.unshift(e)}unsetTag(e){this.emitBlock(),this[e]=!1,this.modStack.shift()}parseStartTag(e,t){return!this.mono&&!this[e]&&this.match(t)?(this.setTag(e),!0):!1}match(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const[r,i]=this.prepareRegExp(e),o=r.test(this.text.substr(this.position,i));return o&&t&&(this.position+=i-1),o}parseEndTag(e,t,r){let i=this.mod()===e;return e==="mono"?i=i&&this.mono:i=i&&!this.mono,i&&this.match(t)?(r!==void 0?(this.position===this.text.length-1||this.match(r,!1))&&this.unsetTag(e):this.unsetTag(e),!0):!1}replace(e,t){return this.match(e)?(this.add(t),this.position+=length-1,!0):!1}prepareRegExp(e){let t,r;if(e instanceof RegExp)r=e,t=1;else{const i=vIe[e];i!==void 0?r=i:r=new RegExp(e),t=e.length}return[r,t]}},mIe=class{constructor(e,t,r,i){this.ctx=e,this.parent=t,this.selected=r,this.hover=i;const o=(s,a)=>{if(s===void 0)return 0;const g=this.parent.getFormattingValues(e,r,i,a);let A=0;return s!==""&&(A=this.ctx.measureText(s).width),{width:A,values:g}};this.lines=new pIe(o)}process(e){if(!GA(e))return this.lines.finalize();const t=this.parent.fontOptions;e=e.replace(/\r\n/g,`
`),e=e.replace(/\r/g,`
`);const r=String(e).split(`
`),i=r.length;if(t.multi)for(let o=0;o<i;o++){const s=this.splitBlocks(r[o],t.multi);if(s!==void 0){if(s.length===0){this.lines.newLine("");continue}if(t.maxWdt>0)for(let a=0;a<s.length;a++){const g=s[a].mod,A=s[a].text;this.splitStringIntoLines(A,g,!0)}else for(let a=0;a<s.length;a++){const g=s[a].mod,A=s[a].text;this.lines.append(A,g)}this.lines.newLine()}}else if(t.maxWdt>0)for(let o=0;o<i;o++)this.splitStringIntoLines(r[o]);else for(let o=0;o<i;o++)this.lines.newLine(r[o]);return this.lines.finalize()}decodeMarkupSystem(e){let t="none";return e==="markdown"||e==="md"?t="markdown":(e===!0||e==="html")&&(t="html"),t}splitHtmlBlocks(e){const t=new yk(e),r=i=>/&/.test(i)?(t.replace(t.text,"&lt;","<")||t.replace(t.text,"&amp;","&")||t.add("&"),!0):!1;for(;t.position<t.text.length;){const i=t.text.charAt(t.position);t.parseWS(i)||/</.test(i)&&(t.parseStartTag("bold","<b>")||t.parseStartTag("ital","<i>")||t.parseStartTag("mono","<code>")||t.parseEndTag("bold","</b>")||t.parseEndTag("ital","</i>")||t.parseEndTag("mono","</code>"))||r(i)||t.add(i),t.position++}return t.emitBlock(),t.blocks}splitMarkdownBlocks(e){const t=new yk(e);let r=!0;const i=o=>/\\/.test(o)?(t.position<this.text.length+1&&(t.position++,o=this.text.charAt(t.position),/ \t/.test(o)?t.spacing=!0:(t.add(o),r=!1)),!0):!1;for(;t.position<t.text.length;){const o=t.text.charAt(t.position);t.parseWS(o)||i(o)||(r||t.spacing)&&(t.parseStartTag("bold","*")||t.parseStartTag("ital","_")||t.parseStartTag("mono","`"))||t.parseEndTag("bold","*","afterBold")||t.parseEndTag("ital","_","afterItal")||t.parseEndTag("mono","`","afterMono")||(t.add(o),r=!1),t.position++}return t.emitBlock(),t.blocks}splitBlocks(e,t){const r=this.decodeMarkupSystem(t);if(r==="none")return[{text:e,mod:"normal"}];if(r==="markdown")return this.splitMarkdownBlocks(e);if(r==="html")return this.splitHtmlBlocks(e)}overMaxWidth(e){const t=this.ctx.measureText(e).width;return this.lines.curWidth()+t>this.parent.fontOptions.maxWdt}getLongestFit(e){let t="",r=0;for(;r<e.length;){const o=t+(t===""?"":" ")+e[r];if(this.overMaxWidth(o))break;t=o,r++}return r}getLongestFitWord(e){let t=0;for(;t<e.length&&!this.overMaxWidth(zr(e).call(e,0,t));)t++;return t}splitStringIntoLines(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.parent.getFormattingValues(this.ctx,this.selected,this.hover,t),e=e.replace(/^( +)/g,"$1\r"),e=e.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");let i=e.split("\r");for(;i.length>0;){let o=this.getLongestFit(i);if(o===0){const s=i[0],a=this.getLongestFitWord(s);this.lines.newLine(zr(s).call(s,0,a),t),i[0]=zr(s).call(s,a)}else{let s=o;i[o-1]===" "?o--:i[s]===" "&&s++;const a=zr(i).call(i,0,o).join("");o==i.length&&r?this.lines.append(a,t):this.lines.newLine(a,t),i=zr(i).call(i,s)}}}};const ya=["bold","ital","boldital","mono"];let d7=class _A{constructor(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(t),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=r}setOptions(e){if(this.elementOptions=e,this.initFontOptions(e.font),GA(e.label)?this.labelDirty=!0:e.label=void 0,e.font!==void 0&&e.font!==null){if(typeof e.font=="string")this.baseSize=this.fontOptions.size;else if(typeof e.font=="object"){const t=e.font.size;t!==void 0&&(this.baseSize=t)}}}initFontOptions(e){if(de(ya,t=>{this.fontOptions[t]={}}),_A.parseFontString(this.fontOptions,e)){this.fontOptions.vadjust=0;return}de(e,(t,r)=>{t!=null&&typeof t!="object"&&(this.fontOptions[r]=t)})}static parseFontString(e,t){if(!t||typeof t!="string")return!1;const r=t.split(" ");return e.size=+r[0].replace("px",""),e.face=r[1],e.color=r[2],!0}constrain(e){const t={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},r=Yi(e,"widthConstraint");if(typeof r=="number")t.maxWdt=Number(r),t.minWdt=Number(r);else if(typeof r=="object"){const o=Yi(e,["widthConstraint","maximum"]);typeof o=="number"&&(t.maxWdt=Number(o));const s=Yi(e,["widthConstraint","minimum"]);typeof s=="number"&&(t.minWdt=Number(s))}const i=Yi(e,"heightConstraint");if(typeof i=="number")t.minHgt=Number(i);else if(typeof i=="object"){const o=Yi(e,["heightConstraint","minimum"]);typeof o=="number"&&(t.minHgt=Number(o));const s=Yi(e,["heightConstraint","valign"]);typeof s=="string"&&(s==="top"||s==="bottom")&&(t.valign=s)}return t}update(e,t){this.setOptions(e,!0),this.propagateFonts(t),Me(this.fontOptions,this.constrain(t)),this.fontOptions.chooser=pT("label",t)}adjustSizes(e){const t=e?e.right+e.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=t,this.fontOptions.minWdt-=t);const r=e?e.top+e.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=r)}addFontOptionsToPile(e,t){for(let r=0;r<t.length;++r)this.addFontToPile(e,t[r])}addFontToPile(e,t){if(t===void 0||t.font===void 0||t.font===null)return;const r=t.font;e.push(r)}getBasicOptions(e){const t={};for(let r=0;r<e.length;++r){let i=e[r];const o={};_A.parseFontString(o,i)&&(i=o),de(i,(s,a)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(t,a)||(_e(ya).call(ya,a)!==-1?t[a]={}:t[a]=s))})}return t}getFontOption(e,t,r){let i;for(let o=0;o<e.length;++o){const s=e[o];if(Object.prototype.hasOwnProperty.call(s,t)){if(i=s[t],i==null)continue;const a={};if(_A.parseFontString(a,i)&&(i=a),Object.prototype.hasOwnProperty.call(i,r))return i[r]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,r))return this.fontOptions[r];throw new Error("Did not find value for multi-font for property: '"+r+"'")}getFontOptions(e,t){const r={},i=["color","size","face","mod","vadjust"];for(let o=0;o<i.length;++o){const s=i[o];r[s]=this.getFontOption(e,t,s)}return r}propagateFonts(e){const t=[];this.addFontOptionsToPile(t,e),this.fontOptions=this.getBasicOptions(t);for(let r=0;r<ya.length;++r){const i=ya[r],o=this.fontOptions[i],s=this.getFontOptions(t,i);de(s,(a,g)=>{o[g]=a}),o.size=Number(o.size),o.vadjust=Number(o.vadjust)}}draw(e,t,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";if(this.elementOptions.label===void 0)return;let a=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&a<this.elementOptions.scaling.label.drawThreshold-1||(a>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(e,i,o,t,r,s),this._drawBackground(e),this._drawText(e,t,this.size.yLine,s,a))}_drawBackground(e){if(this.fontOptions.background!==void 0&&this.fontOptions.background!=="none"){e.fillStyle=this.fontOptions.background;const t=this.getSize();e.fillRect(t.left,t.top,t.width,t.height)}}_drawText(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"middle",o=arguments.length>4?arguments[4]:void 0;[t,r]=this._setAlignment(e,t,r,i),e.textAlign="left",t=t-this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&(this.fontOptions.valign==="top"&&(r-=(this.size.height-this.size.labelHeight)/2),this.fontOptions.valign==="bottom"&&(r+=(this.size.height-this.size.labelHeight)/2));for(let s=0;s<this.lineCount;s++){const a=this.lines[s];if(a&&a.blocks){let g=0;this.isEdgeLabel||this.fontOptions.align==="center"?g+=(this.size.width-a.width)/2:this.fontOptions.align==="right"&&(g+=this.size.width-a.width);for(let A=0;A<a.blocks.length;A++){const I=a.blocks[A];e.font=I.font;const[C,l]=this._getColor(I.color,o,I.strokeColor);I.strokeWidth>0&&(e.lineWidth=I.strokeWidth,e.strokeStyle=l,e.lineJoin="round"),e.fillStyle=C,I.strokeWidth>0&&e.strokeText(I.text,t+g,r+I.vadjust),e.fillText(I.text,t+g,r+I.vadjust),g+=I.width}r+=a.height}}}_setAlignment(e,t,r,i){if(this.isEdgeLabel&&this.fontOptions.align!=="horizontal"&&this.pointToSelf===!1){t=0,r=0;const o=2;this.fontOptions.align==="top"?(e.textBaseline="alphabetic",r-=2*o):this.fontOptions.align==="bottom"?(e.textBaseline="hanging",r+=2*o):e.textBaseline="middle"}else e.textBaseline=i;return[t,r]}_getColor(e,t,r){let i=e||"#000000",o=r||"#ffffff";if(t<=this.elementOptions.scaling.label.drawThreshold){const s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-t)));i=hr(i,s),o=hr(o,s)}return[i,o]}getTextSize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this._processLabel(e,t,r),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}getSize(){let t=this.size.left,r=this.size.top-.5*2;if(this.isEdgeLabel){const o=-this.size.width*.5;switch(this.fontOptions.align){case"middle":t=o,r=-this.size.height*.5;break;case"top":t=o,r=-(this.size.height+2);break;case"bottom":t=o,r=2;break}}return{left:t,top:r,width:this.size.width,height:this.size.height}}calculateLabelSize(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";this._processLabel(e,t,r),this.size.left=i-this.size.width*.5,this.size.top=o-this.size.height*.5,this.size.yLine=o+(1-this.lineCount)*.5*this.fontOptions.size,s==="hanging"&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}getFormattingValues(e,t,r,i){const o=function(g,A,I){return A==="normal"?I==="mod"?"":g[I]:g[A][I]!==void 0?g[A][I]:g[I]},s={color:o(this.fontOptions,i,"color"),size:o(this.fontOptions,i,"size"),face:o(this.fontOptions,i,"face"),mod:o(this.fontOptions,i,"mod"),vadjust:o(this.fontOptions,i,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(t||r)&&(i==="normal"&&this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?s.mod="bold":typeof this.fontOptions.chooser=="function"&&this.fontOptions.chooser(s,this.elementOptions.id,t,r));let a="";return s.mod!==void 0&&s.mod!==""&&(a+=s.mod+" "),a+=s.size+"px "+s.face,e.font=a.replace(/"/g,""),s.font=e.font,s.height=s.size,s}differentState(e,t){return e!==this.selectedState||t!==this.hoverState}_processLabelText(e,t,r,i){return new mIe(e,this,t,r).process(i)}_processLabel(e,t,r){if(this.labelDirty===!1&&!this.differentState(t,r))return;const i=this._processLabelText(e,t,r,this.elementOptions.label);this.fontOptions.minWdt>0&&i.width<this.fontOptions.minWdt&&(i.width=this.fontOptions.minWdt),this.size.labelHeight=i.height,this.fontOptions.minHgt>0&&i.height<this.fontOptions.minHgt&&(i.height=this.fontOptions.minHgt),this.lines=i.lines,this.lineCount=i.lines.length,this.size.width=i.width,this.size.height=i.height,this.selectedState=t,this.hoverState=r,this.labelDirty=!1}visible(){return!(this.size.width===0||this.size.height===0||this.elementOptions.label===void 0||this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}},po=class{constructor(e,t,r){this.body=t,this.labelModule=r,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}setOptions(e){this.options=e}_setMargins(e){this.margin={},this.options.margin&&(typeof this.options.margin=="object"?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),e.adjustSizes(this.margin)}_distanceToBorder(e,t){const r=this.options.borderWidth;return e&&this.resize(e),Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}enableShadow(e,t){t.shadow&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}enableBorderDashes(e,t){if(t.borderDashes!==!1)if(e.setLineDash!==void 0){let r=t.borderDashes;r===!0&&(r=[5,15]),e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1}disableBorderDashes(e,t){t.borderDashes!==!1&&(e.setLineDash!==void 0?e.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1))}needsRefresh(e,t){return this.refreshNeeded===!0?(this.refreshNeeded=!1,!0):this.width===void 0||this.labelModule.differentState(e,t)}initContextForDraw(e,t){const r=t.borderWidth/this.body.view.scale;e.lineWidth=Math.min(this.width,r),e.strokeStyle=t.borderColor,e.fillStyle=t.color}performStroke(e,t){const r=t.borderWidth/this.body.view.scale;e.save(),r>0&&(this.enableBorderDashes(e,t),e.stroke(),this.disableBorderDashes(e,t)),e.restore()}performFill(e,t){e.save(),e.fillStyle=t.color,this.enableShadow(e,t),cg(e).call(e),this.disableShadow(e,t),e.restore(),this.performStroke(e,t)}_addBoundingBoxMargin(e){this.boundingBox.left-=e,this.boundingBox.top-=e,this.boundingBox.bottom+=e,this.boundingBox.right+=e}_updateBoundingBox(e,t,r,i,o){r!==void 0&&this.resize(r,i,o),this.left=e-this.width/2,this.top=t-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}updateBoundingBox(e,t,r,i,o){this._updateBoundingBox(e,t,r,i,o)}getDimensionsFromLabel(e,t,r){this.textSize=this.labelModule.getTextSize(e,t,r);let i=this.textSize.width,o=this.textSize.height;const s=14;return i===0&&(i=s,o=s),{width:i,height:o}}},yIe=class extends po{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.width=i.width+this.margin.right+this.margin.left,this.height=i.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,s),zX(e,this.left,this.top,this.width,this.height,s.borderRadius),this.performFill(e,s),this.updateBoundingBox(t,r,e,i,o),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,o)}updateBoundingBox(e,t,r,i,o){this._updateBoundingBox(e,t,r,i,o);const s=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(s)}distanceToBorder(e,t){e&&this.resize(e);const r=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}},vT=class extends po{constructor(e,t,r){super(e,t,r),this.labelOffset=0,this.selected=!1}setOptions(e,t,r){this.options=e,t===void 0&&r===void 0||this.setImages(t,r)}setImages(e,t){t&&this.selected?(this.imageObj=t,this.imageObjAlt=e):(this.imageObj=e,this.imageObjAlt=t)}switchImages(e){const t=e&&!this.selected||!e&&this.selected;if(this.selected=e,this.imageObjAlt!==void 0&&t){const r=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=r}}_getImagePadding(){const e={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){const t=this.options.imagePadding;typeof t=="object"?(e.top=t.top,e.right=t.right,e.bottom=t.bottom,e.left=t.left):(e.top=t,e.right=t,e.bottom=t,e.left=t)}return e}_resizeImage(){let e,t;if(this.options.shapeProperties.useImageSize===!1){let r=1,i=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?r=this.imageObj.width/this.imageObj.height:i=this.imageObj.height/this.imageObj.width),e=this.options.size*2*r,t=this.options.size*2*i}else{const r=this._getImagePadding();e=this.imageObj.width+r.left+r.right,t=this.imageObj.height+r.top+r.bottom}this.width=e,this.height=t,this.radius=.5*this.width}_drawRawCircle(e,t,r,i){this.initContextForDraw(e,i),ZO(e,t,r,i.size),this.performFill(e,i)}_drawImageAtPosition(e,t){if(this.imageObj.width!=0){e.globalAlpha=t.opacity!==void 0?t.opacity:1,this.enableShadow(e,t);let r=1;this.options.shapeProperties.interpolation===!0&&(r=this.imageObj.width/this.width/this.body.view.scale);const i=this._getImagePadding(),o=this.left+i.left,s=this.top+i.top,a=this.width-i.left-i.right,g=this.height-i.top-i.bottom;this.imageObj.drawImageAtPosition(e,r,o,s,a,g),this.disableShadow(e,t)}}_drawImageLabel(e,t,r,i,o){let s=0;if(this.height!==void 0){s=this.height*.5;const g=this.labelModule.getTextSize(e,i,o);g.lineCount>=1&&(s+=g.height/2)}const a=r+s;this.options.label&&(this.labelOffset=s),this.labelModule.draw(e,t,a,i,o,"hanging")}},bIe=class extends vT{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r),o=Math.max(i.width+this.margin.right+this.margin.left,i.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this._drawRawCircle(e,t,r,s),this.updateBoundingBox(t,r),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,r,i,o)}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size}distanceToBorder(e){return e&&this.resize(e),this.width*.5}},wIe=class extends vT{constructor(e,t,r,i,o){super(e,t,r),this.setImages(i,o)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const o=this.options.size*2;this.width=o,this.height=o,this.radius=.5*this.width;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,o,s){this.switchImages(i),this.resize();let a=t,g=r;this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this._drawRawCircle(e,a,g,s),e.save(),e.clip(),this._drawImageAtPosition(e,s),e.restore(),this._drawImageLabel(e,a,g,i,o),this.updateBoundingBox(t,r)}updateBoundingBox(e,t){this.options.shapeProperties.coordinateOrigin==="top-left"?(this.boundingBox.top=t,this.boundingBox.left=e,this.boundingBox.right=e+this.options.size*2,this.boundingBox.bottom=t+this.options.size*2):(this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}distanceToBorder(e){return e&&this.resize(e),this.width*.5}},vn=class extends po{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{size:this.options.size};if(this.needsRefresh(t,r)){var o,s;this.labelModule.getTextSize(e,t,r);const a=2*i.size;this.width=(o=this.customSizeWidth)!==null&&o!==void 0?o:a,this.height=(s=this.customSizeHeight)!==null&&s!==void 0?s:a,this.radius=.5*this.width}}_drawShape(e,t,r,i,o,s,a,g){return this.resize(e,s,a,g),this.left=i-this.width/2,this.top=o-this.height/2,this.initContextForDraw(e,g),wre(t)(e,i,o,g.size),this.performFill(e,g),this.options.icon!==void 0&&this.options.icon.code!==void 0&&(e.font=(s?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",e.fillText(this.options.icon.code,i,o)),{drawExternalLabel:()=>{if(this.options.label!==void 0){this.labelModule.calculateLabelSize(e,s,a,i,o,"hanging");const A=o+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(e,i,A,s,a,"hanging")}this.updateBoundingBox(i,o)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}};function bk(n,e){var t=Be(n);if(ai){var r=ai(n);e&&(r=st(r).call(r,function(i){return Ci(n,i).enumerable})),t.push.apply(t,r)}return t}function EIe(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?be(t=bk(Object(i),!0)).call(t,function(o){ze(n,o,i[o])}):gi?wg(n,gi(i)):be(r=bk(Object(i))).call(r,function(o){_g(n,o,Ci(i,o))})}return n}let SIe=class extends vn{constructor(e,t,r,i){super(e,t,r,i),this.ctxRenderer=i}draw(e,t,r,i,o,s){this.resize(e,i,o,s),this.left=t-this.width/2,this.top=r-this.height/2,e.save();const a=this.ctxRenderer({ctx:e,id:this.options.id,x:t,y:r,state:{selected:i,hover:o},style:EIe({},s),label:this.options.label});if(a.drawNode!=null&&a.drawNode(),e.restore(),a.drawExternalLabel){const g=a.drawExternalLabel;a.drawExternalLabel=()=>{e.save(),g(),e.restore()}}return a.nodeDimensions&&(this.customSizeWidth=a.nodeDimensions.width,this.customSizeHeight=a.nodeDimensions.height),a}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},_Ie=class extends po{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){if(this.needsRefresh(t,r)){const o=this.getDimensionsFromLabel(e,t,r).width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,s),jX(e,t-this.width/2,r-this.height/2,this.width,this.height),this.performFill(e,s),this.updateBoundingBox(t,r,e,i,o),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},OIe=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"diamond",4,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},TIe=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"circle",2,t,r,i,o,s)}distanceToBorder(e){return e&&this.resize(e),this.options.size}},wk=class extends po{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.height=i.height*2,this.width=i.width+i.height,this.radius=.5*this.width}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width*.5,this.top=r-this.height*.5,this.initContextForDraw(e,s),sO(e,this.left,this.top,this.width,this.height),this.performFill(e,s),this.updateBoundingBox(t,r,e,i,o),this.labelModule.draw(e,t,r,i,o)}distanceToBorder(e,t){e&&this.resize(e);const r=this.width*.5,i=this.height*.5,o=Math.sin(t)*r,s=Math.cos(t)*i;return r*i/Math.sqrt(o*o+s*s)}},RIe=class extends po{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,o,s){return this.resize(e,i,o),this.options.icon.size=this.options.icon.size||50,this.left=t-this.width/2,this.top=r-this.height/2,this._icon(e,t,r,i,o,s),{drawExternalLabel:()=>{this.options.label!==void 0&&this.labelModule.draw(e,this.left+this.iconSize.width/2+this.margin.left,r+this.height/2+5,i),this.updateBoundingBox(t,r)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.icon.size*.5,this.boundingBox.left=e-this.options.icon.size*.5,this.boundingBox.right=e+this.options.icon.size*.5,this.boundingBox.bottom=t+this.options.icon.size*.5,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5))}_icon(e,t,r,i,o,s){const a=Number(this.options.icon.size);this.options.icon.code!==void 0?(e.font=[this.options.icon.weight!=null?this.options.icon.weight:i?"bold":"",(this.options.icon.weight!=null&&i?5:0)+a+"px",this.options.icon.face].join(" "),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",this.enableShadow(e,s),e.fillText(this.options.icon.code,t,r),this.disableShadow(e,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},PIe=class extends vT{constructor(e,t,r,i,o){super(e,t,r),this.setImages(i,o)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const o=this.options.size*2;this.width=o,this.height=o;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,o,s){e.save(),this.switchImages(i),this.resize();let a=t,g=r;if(this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this.options.shapeProperties.useBorderWithImage===!0){const A=this.options.borderWidth,I=this.options.borderWidthSelected||2*this.options.borderWidth,C=(i?I:A)/this.body.view.scale;e.lineWidth=Math.min(this.width,C),e.beginPath();let l=i?this.options.color.highlight.border:o?this.options.color.hover.border:this.options.color.border,d=i?this.options.color.highlight.background:o?this.options.color.hover.background:this.options.color.background;s.opacity!==void 0&&(l=hr(l,s.opacity),d=hr(d,s.opacity)),e.strokeStyle=l,e.fillStyle=d,e.rect(this.left-.5*e.lineWidth,this.top-.5*e.lineWidth,this.width+e.lineWidth,this.height+e.lineWidth),cg(e).call(e),this.performStroke(e,s),e.closePath()}this._drawImageAtPosition(e,s),this._drawImageLabel(e,a,g,i,o),this.updateBoundingBox(t,r),e.restore()}updateBoundingBox(e,t){this.resize(),this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=e,this.top=t):(this.left=e-this.width/2,this.top=t-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},xIe=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"square",2,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},$Ie=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"hexagon",4,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},DIe=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"star",4,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},NIe=class extends po{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.textSize=this.labelModule.getTextSize(e,t,r),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this.enableShadow(e,s),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,o),this.disableShadow(e,s),this.updateBoundingBox(t,r,e,i,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},MIe=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"triangle",3,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}},qIe=class extends vn{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"triangleDown",3,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};function Ek(n,e){var t=Be(n);if(ai){var r=ai(n);e&&(r=st(r).call(r,function(i){return Ci(n,i).enumerable})),t.push.apply(t,r)}return t}function Sk(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?be(t=Ek(Object(i),!0)).call(t,function(o){ze(n,o,i[o])}):gi?wg(n,gi(i)):be(r=Ek(Object(i))).call(r,function(o){_g(n,o,Ci(i,o))})}return n}let sr=class qr{constructor(e,t,r,i,o,s){this.options=sn(o),this.globalOptions=o,this.defaultOptions=s,this.body=t,this.edges=[],this.id=void 0,this.imagelist=r,this.grouplist=i,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new d7(this.body,this.options,!1),this.setOptions(e)}attachEdge(e){var t;_e(t=this.edges).call(t,e)===-1&&this.edges.push(e)}detachEdge(e){var t;const r=_e(t=this.edges).call(t,e);if(r!=-1){var i;ti(i=this.edges).call(i,r,1)}}setOptions(e){const t=this.options.shape;if(!e)return;if(typeof e.color<"u"&&(this._localColor=e.color),e.id!==void 0&&(this.id=e.id),this.id===void 0)throw new Error("Node must have an id");qr.checkMass(e,this.id),e.x!==void 0&&(e.x===null?(this.x=void 0,this.predefinedPosition=!1):(this.x=Fr(e.x),this.predefinedPosition=!0)),e.y!==void 0&&(e.y===null?(this.y=void 0,this.predefinedPosition=!1):(this.y=Fr(e.y),this.predefinedPosition=!0)),e.size!==void 0&&(this.baseSize=e.size),e.value!==void 0&&(e.value=C7(e.value)),qr.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);const r=[e,this.options,this.defaultOptions];return this.chooser=pT("node",r),this._load_images(),this.updateLabelModule(e),e.opacity!==void 0&&qr.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(t),e.hidden!==void 0||e.physics!==void 0}_load_images(){if((this.options.shape==="circularImage"||this.options.shape==="image")&&this.options.image===void 0)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(this.options.image!==void 0){if(this.imagelist===void 0)throw new Error("Internal Error: No images provided");if(typeof this.options.image=="string")this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(this.options.image.unselected===void 0)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),this.options.image.selected!==void 0?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}static checkOpacity(e){return 0<=e&&e<=1}static checkCoordinateOrigin(e){return e===void 0||e==="center"||e==="top-left"}static updateGroupOptions(e,t,r){var i;if(r===void 0)return;const o=e.group;if(t!==void 0&&t.group!==void 0&&o!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if(!(typeof o=="number"||typeof o=="string"&&o!=""))return;const a=r.get(o);a.opacity!==void 0&&t.opacity===void 0&&(qr.checkOpacity(a.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+a.opacity),a.opacity=void 0));const g=st(i=fIe(t)).call(i,A=>t[A]!=null);g.push("font"),zA(g,e,a),e.color=CO(e.color)}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=arguments.length>4?arguments[4]:void 0;if(zA(["color","fixed","shadow"],e,t,r),qr.checkMass(t),e.opacity!==void 0&&(qr.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),t.opacity!==void 0&&(qr.checkOpacity(t.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity),t.opacity=void 0)),t.shapeProperties&&!qr.checkCoordinateOrigin(t.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+t.shapeProperties.coordinateOrigin),dr(e,t,"shadow",i),t.color!==void 0&&t.color!==null){const a=CO(t.color);zQ(e.color,a)}else r===!0&&t.color===null&&(e.color=sn(i.color));t.fixed!==void 0&&t.fixed!==null&&(typeof t.fixed=="boolean"?(e.fixed.x=t.fixed,e.fixed.y=t.fixed):(t.fixed.x!==void 0&&typeof t.fixed.x=="boolean"&&(e.fixed.x=t.fixed.x),t.fixed.y!==void 0&&typeof t.fixed.y=="boolean"&&(e.fixed.y=t.fixed.y))),r===!0&&t.font===null&&(e.font=sn(i.font)),qr.updateGroupOptions(e,t,o),t.scaling!==void 0&&dr(e.scaling,t.scaling,"label",i.scaling)}getFormattingValues(){const e={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?this.chooser===!0?this.selected?(this.options.borderWidthSelected!=null?e.borderWidth=this.options.borderWidthSelected:e.borderWidth*=2,e.color=this.options.color.highlight.background,e.borderColor=this.options.color.highlight.border,e.shadow=this.options.shadow.enabled):this.hover&&(e.color=this.options.color.hover.background,e.borderColor=this.options.color.hover.border,e.shadow=this.options.shadow.enabled):typeof this.chooser=="function"&&(this.chooser(e,this.options.id,this.selected,this.hover),e.shadow===!1&&(e.shadowColor!==this.options.shadow.color||e.shadowSize!==this.options.shadow.size||e.shadowX!==this.options.shadow.x||e.shadowY!==this.options.shadow.y)&&(e.shadow=!0)):e.shadow=this.options.shadow.enabled,this.options.opacity!==void 0){const t=this.options.opacity;e.borderColor=hr(e.borderColor,t),e.color=hr(e.color,t),e.shadowColor=hr(e.shadowColor,t)}return e}updateLabelModule(e){(this.options.label===void 0||this.options.label===null)&&(this.options.label=""),qr.updateGroupOptions(this.options,Sk(Sk({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);const t=this.grouplist.get(this.options.group,!1),r=[e,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,r),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateShape(e){if(e===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new yIe(this.options,this.body,this.labelModule);break;case"circle":this.shape=new bIe(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new wIe(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new SIe(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new _Ie(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new OIe(this.options,this.body,this.labelModule);break;case"dot":this.shape=new TIe(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new wk(this.options,this.body,this.labelModule);break;case"icon":this.shape=new RIe(this.options,this.body,this.labelModule);break;case"image":this.shape=new PIe(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new xIe(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new $Ie(this.options,this.body,this.labelModule);break;case"star":this.shape=new DIe(this.options,this.body,this.labelModule);break;case"text":this.shape=new NIe(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new MIe(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new qIe(this.options,this.body,this.labelModule);break;default:this.shape=new wk(this.options,this.body,this.labelModule);break}this.needsRefresh()}select(){this.selected=!0,this.needsRefresh()}unselect(){this.selected=!1,this.needsRefresh()}needsRefresh(){this.shape.refreshNeeded=!0}getTitle(){return this.options.title}distanceToBorder(e,t){return this.shape.distanceToBorder(e,t)}isFixed(){return this.options.fixed.x&&this.options.fixed.y}isSelected(){return this.selected}getValue(){return this.options.value}getLabelSize(){return this.labelModule.size()}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*s}this.options.size=this.options.scaling.min+i*o}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}draw(e){const t=this.getFormattingValues();return this.shape.draw(e,this.x,this.y,this.selected,this.hover,t)||{}}updateBoundingBox(e){this.shape.updateBoundingBox(this.x,this.y,e)}resize(e){const t=this.getFormattingValues();this.shape.resize(e,this.selected,this.hover,t)}getItemsOnPoint(e){const t=[];return this.labelModule.visible()&&fO(this.labelModule.getSize(),e)&&t.push({nodeId:this.id,labelId:0}),fO(this.shape.boundingBox,e)&&t.push({nodeId:this.id}),t}isOverlappingWith(e){return this.shape.left<e.right&&this.shape.left+this.shape.width>e.left&&this.shape.top<e.bottom&&this.shape.top+this.shape.height>e.top}isBoundingBoxOverlappingWith(e){return this.shape.boundingBox.left<e.right&&this.shape.boundingBox.right>e.left&&this.shape.boundingBox.top<e.bottom&&this.shape.boundingBox.bottom>e.top}static checkMass(e,t){if(e.mass!==void 0&&e.mass<=0){let r="";t!==void 0&&(r=" in node id: "+t),console.error("%cNegative or zero mass disallowed"+r+", setting mass to 1.",WQ),e.mass=1}}},FIe=class{constructor(e,t,r,i){var o;if(this.body=e,this.images=t,this.groups=r,this.layoutEngine=i,this.body.functions.createNode=z(o=this.create).call(o,this),this.nodesListeners={add:(s,a)=>{this.add(a.items)},update:(s,a)=>{this.update(a.items,a.data,a.oldData)},remove:(s,a)=>{this.remove(a.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(s,a,g,A){if(a===s)return .5;{const I=1/(a-s);return Math.max(0,(A-s)*I)}}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=sn(this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e,t;this.body.emitter.on("refreshNodes",z(e=this.refresh).call(e,this)),this.body.emitter.on("refresh",z(t=this.refresh).call(t,this)),this.body.emitter.on("destroy",()=>{de(this.nodesListeners,(r,i)=>{this.body.data.nodes&&this.body.data.nodes.off(i,r)}),delete this.body.functions.createNode,delete this.nodesListeners.add,delete this.nodesListeners.update,delete this.nodesListeners.remove,delete this.nodesListeners})}setOptions(e){if(e!==void 0){if(sr.parseOptions(this.options,e),e.opacity!==void 0&&(hO(e.opacity)||!Nn(e.opacity)||e.opacity<0||e.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity):this.options.opacity=e.opacity),e.shape!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].updateShape();if(typeof e.font<"u"||typeof e.widthConstraint<"u"||typeof e.heightConstraint<"u")for(const t of Be(this.body.nodes))this.body.nodes[t].updateLabelModule(),this.body.nodes[t].needsRefresh();if(e.size!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].needsRefresh();(e.hidden!==void 0||e.physics!==void 0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.nodes;if(I7("id",e))this.body.data.nodes=e;else if(we(e))this.body.data.nodes=new us,this.body.data.nodes.add(e);else if(!e)this.body.data.nodes=new us;else throw new TypeError("Array or DataSet expected");if(r&&de(this.nodesListeners,function(i,o){r.off(o,i)}),this.body.nodes={},this.body.data.nodes){const i=this;de(this.nodesListeners,function(s,a){i.body.data.nodes.on(a,s)});const o=this.body.data.nodes.getIds();this.add(o,!0)}t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r;const i=[];for(let o=0;o<e.length;o++){r=e[o];const s=this.body.data.nodes.get(r),a=this.create(s);i.push(a),this.body.nodes[r]=a}this.layoutEngine.positionInitially(i),t===!1&&this.body.emitter.emit("_dataChanged")}update(e,t,r){const i=this.body.nodes;let o=!1;for(let s=0;s<e.length;s++){const a=e[s];let g=i[a];const A=t[s];g!==void 0?g.setOptions(A)&&(o=!0):(o=!0,g=this.create(A),i[a]=g)}!o&&r!==void 0&&(o=i7(t).call(t,function(s,a){const g=r[a];return g&&g.level!==s.level})),o===!0?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}remove(e){const t=this.body.nodes;for(let r=0;r<e.length;r++){const i=e[r];delete t[i]}this.body.emitter.emit("_dataChanged")}create(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sr;return new t(e,this.body,this.images,this.groups,this.options,this.defaultOptions)}refresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;de(this.body.nodes,(t,r)=>{const i=this.body.data.nodes.get(r);i!==void 0&&(e===!0&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(i))})}getPositions(e){const t={};if(e!==void 0){if(we(e)===!0){for(let r=0;r<e.length;r++)if(this.body.nodes[e[r]]!==void 0){const i=this.body.nodes[e[r]];t[e[r]]={x:Math.round(i.x),y:Math.round(i.y)}}}else if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];t[e]={x:Math.round(r.x),y:Math.round(r.y)}}}else for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];t[this.body.nodeIndices[r]]={x:Math.round(i.x),y:Math.round(i.y)}}return t}getPosition(e){if(e==null)throw new TypeError("No id was specified for getPosition method.");if(this.body.nodes[e]==null)throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(e));return{x:Math.round(this.body.nodes[e].x),y:Math.round(this.body.nodes[e].y)}}storePositions(){const e=[],t=this.body.data.nodes.getDataSet();for(const r of t.get()){const i=r.id,o=this.body.nodes[i],s=Math.round(o.x),a=Math.round(o.y);(r.x!==s||r.y!==a)&&e.push({id:i,x:s,y:a})}t.update(e)}getBoundingBox(e){if(this.body.nodes[e]!==void 0)return this.body.nodes[e].shape.boundingBox}getConnectedNodes(e,t){const r=[];if(this.body.nodes[e]!==void 0){const i=this.body.nodes[e],o={};for(let s=0;s<i.edges.length;s++){const a=i.edges[s];t!=="to"&&a.toId==i.id?o[a.fromId]===void 0&&(r.push(a.fromId),o[a.fromId]=!0):t!=="from"&&a.fromId==i.id&&o[a.toId]===void 0&&(r.push(a.toId),o[a.toId]=!0)}}return r}getConnectedEdges(e){const t=[];if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];for(let i=0;i<r.edges.length;i++)t.push(r.edges[i].id)}else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",e);return t}moveNode(e,t,r){this.body.nodes[e]!==void 0?(this.body.nodes[e].x=Number(t),this.body.nodes[e].y=Number(r),ri(()=>{this.body.emitter.emit("startSimulation")},0)):console.error("Node id supplied to moveNode does not exist. Provided: ",e)}};var _k={},Ok;function kIe(){if(Ok)return _k;Ok=1;var n=ee(),e=Math.hypot,t=Math.abs,r=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;return n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(s,a){for(var g=0,A=0,I=arguments.length,C=0,l,d;A<I;)l=t(arguments[A++]),C<l?(d=C/l,g=g*d*d+1,C=l):l>0?(d=l/C,g+=d*d):g+=l;return C===1/0?1/0:C*r(g)}}),_k}var ff,Tk;function BIe(){if(Tk)return ff;Tk=1,kIe();var n=Ee();return ff=n.Math.hypot,ff}var pf,Rk;function zIe(){if(Rk)return pf;Rk=1;var n=BIe();return pf=n,pf}var vf,Pk;function jIe(){return Pk||(Pk=1,vf=zIe()),vf}var LIe=jIe(),GIe=ne(LIe);let rt=class{static transform(e,t){we(e)||(e=[e]);const r=t.point.x,i=t.point.y,o=t.angle,s=t.length;for(let a=0;a<e.length;++a){const g=e[a],A=g.x*Math.cos(o)-g.y*Math.sin(o),I=g.x*Math.sin(o)+g.y*Math.cos(o);g.x=r+s*A,g.y=i+s*I}}static drawPath(e,t){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let r=1;r<t.length;++r)e.lineTo(t[r].x,t[r].y);e.closePath()}},WIe=class extends rt{static draw(e,t){if(t.image){e.save(),e.translate(t.point.x,t.point.y),e.rotate(Math.PI/2+t.angle);const r=t.imageWidth!=null?t.imageWidth:t.image.width,i=t.imageHeight!=null?t.imageHeight:t.image.height;t.image.drawImageAtPosition(e,1,-r/2,0,r,i),e.restore()}return!1}},VIe=class extends rt{static draw(e,t){const r=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return rt.transform(r,t),rt.drawPath(e,r),!0}},ZIe=class{static draw(e,t){const r=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return rt.transform(r,t),rt.drawPath(e,r),!0}},HIe=class{static draw(e,t){const r={x:-.4,y:0};rt.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,o=t.angle-i/2,s=t.angle+i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,o,s,!1),e.stroke(),!0}},UIe=class{static draw(e,t){const r={x:-.3,y:0};rt.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,o=t.angle+i/2,s=t.angle+3*i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,o,s,!1),e.stroke(),!0}},KIe=class{static draw(e,t){const r=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return rt.transform(r,t),rt.drawPath(e,r),!0}},YIe=class{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return rt.transform(r,t),rt.drawPath(e,r),!0}},XIe=class{static draw(e,t){const r={x:-.4,y:0};return rt.transform(r,t),ZO(e,r.x,r.y,t.length*.4),!0}},QIe=class{static draw(e,t){const r=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return rt.transform(r,t),rt.drawPath(e,r),!0}},JIe=class{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return rt.transform(r,t),rt.drawPath(e,r),!0}},eCe=class{static draw(e,t){const r=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return rt.transform(r,t),rt.drawPath(e,r),!0}},tCe=class{static draw(e,t){const r=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return rt.transform(r,t),rt.drawPath(e,r),!0}},u7=class{static draw(e,t){let r;switch(t.type&&(r=t.type.toLowerCase()),r){case"image":return WIe.draw(e,t);case"circle":return XIe.draw(e,t);case"box":return JIe.draw(e,t);case"crow":return ZIe.draw(e,t);case"curve":return HIe.draw(e,t);case"diamond":return eCe.draw(e,t);case"inv_curve":return UIe.draw(e,t);case"triangle":return KIe.draw(e,t);case"inv_triangle":return YIe.draw(e,t);case"bar":return QIe.draw(e,t);case"vee":return tCe.draw(e,t);case"arrow":default:return VIe.draw(e,t)}}};function xk(n,e){var t=Be(n);if(ai){var r=ai(n);e&&(r=st(r).call(r,function(i){return Ci(n,i).enumerable})),t.push.apply(t,r)}return t}function $k(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?be(t=xk(Object(i),!0)).call(t,function(o){ze(n,o,i[o])}):gi?wg(n,gi(i)):be(r=xk(Object(i))).call(r,function(o){_g(n,o,Ci(i,o))})}return n}let h7=class{constructor(e,t,r){ze(this,"color",{}),ze(this,"colorDirty",!0),ze(this,"hoverWidth",1.5),ze(this,"selectionWidth",2),this._body=t,this._labelModule=r,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}cleanup(){return!1}setOptions(e){this.options=e,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}drawLine(e,t,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.getViaNode();e.strokeStyle=this.getColor(e,t),e.lineWidth=t.width,t.dashes!==!1?this._drawDashedLine(e,t,o):this._drawLine(e,t,o)}_drawLine(e,t,r,i,o){if(this.from!=this.to)this._line(e,t,r,i,o);else{const[s,a,g]=this._getCircleData(e);this._circle(e,t,s,a,g)}}_drawDashedLine(e,t,r,i,o){e.lineCap="round";const s=we(t.dashes)?t.dashes:[5,5];if(e.setLineDash!==void 0){if(e.save(),e.setLineDash(s),e.lineDashOffset=0,this.from!=this.to)this._line(e,t,r);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}e.setLineDash([0]),e.lineDashOffset=0,e.restore()}else{if(this.from!=this.to)LX(e,this.from.x,this.from.y,this.to.x,this.to.y,s);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}}findBorderPosition(e,t,r){return this.from!=this.to?this._findBorderPosition(e,t,r):this._findBorderPositionCircle(e,t,r)}findBorderPositions(e){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,e),to:this._findBorderPosition(this.to,e)};{var t;const[r,i]=zr(t=this._getCircleData(e)).call(t,0,2);return{from:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.6,high:.8,direction:1})}}}_getCircleData(e){const t=this.options.selfReference.size;e!==void 0&&this.from.shape.width===void 0&&this.from.shape.resize(e);const r=l7(e,this.options.selfReference.angle,t,this.from);return[r.x,r.y,t]}_pointOnCircle(e,t,r,i){const o=i*2*Math.PI;return{x:e+r*Math.cos(o),y:t-r*Math.sin(o)}}_findBorderPositionCircle(e,t,r){const i=r.x,o=r.y;let s=r.low,a=r.high;const g=r.direction,A=10,I=this.options.selfReference.size,C=.05;let l,d=(s+a)*.5,u=0;this.options.arrowStrikethrough===!0&&(g===-1?u=this.options.endPointOffset.from:g===1&&(u=this.options.endPointOffset.to));let h=0;do{d=(s+a)*.5,l=this._pointOnCircle(i,o,I,d);const v=Math.atan2(e.y-l.y,e.x-l.x),f=e.distanceToBorder(t,v)+u,c=Math.sqrt(Math.pow(l.x-e.x,2)+Math.pow(l.y-e.y,2)),b=f-c;if(Math.abs(b)<C)break;b>0?g>0?s=d:a=d:g>0?a=d:s=d,++h}while(s<=a&&h<A);return $k($k({},l),{},{t:d})}getLineWidth(e,t){return e===!0?Math.max(this.selectionWidth,.3/this._body.view.scale):t===!0?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}getColor(e,t){if(t.inheritsColor!==!1){if(t.inheritsColor==="both"&&this.from.id!==this.to.id){const r=e.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);let i=this.from.options.color.highlight.border,o=this.to.options.color.highlight.border;return this.from.selected===!1&&this.to.selected===!1?(i=hr(this.from.options.color.border,t.opacity),o=hr(this.to.options.color.border,t.opacity)):this.from.selected===!0&&this.to.selected===!1?o=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(i=this.from.options.color.border),r.addColorStop(0,i),r.addColorStop(1,o),r}return t.inheritsColor==="to"?hr(this.to.options.color.border,t.opacity):hr(this.from.options.color.border,t.opacity)}else return hr(t.color,t.opacity)}_circle(e,t,r,i,o){this.enableShadow(e,t);let s=0,a=Math.PI*2;if(!this.options.selfReference.renderBehindTheNode){const g=this.options.selfReference.angle,A=this.options.selfReference.angle+Math.PI,I=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:-1}),C=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:1});s=Math.atan2(I.y-i,I.x-r),a=Math.atan2(C.y-i,C.x-r)}e.beginPath(),e.arc(r,i,o,s,a,!1),e.stroke(),this.disableShadow(e,t)}getDistanceToEdge(e,t,r,i,o,s){if(this.from!=this.to)return this._getDistanceToEdge(e,t,r,i,o,s);{const[a,g,A]=this._getCircleData(void 0),I=a-o,C=g-s;return Math.abs(Math.sqrt(I*I+C*C)-A)}}_getDistanceToLine(e,t,r,i,o,s){const a=r-e,g=i-t,A=a*a+g*g;let I=((o-e)*a+(s-t)*g)/A;I>1?I=1:I<0&&(I=0);const C=e+I*a,l=t+I*g,d=C-o,u=l-s;return Math.sqrt(d*d+u*u)}getArrowData(e,t,r,i,o,s){let a,g,A,I,C,l,d;const u=s.width;t==="from"?(A=this.from,I=this.to,C=s.fromArrowScale<0,l=Math.abs(s.fromArrowScale),d=s.fromArrowType):t==="to"?(A=this.to,I=this.from,C=s.toArrowScale<0,l=Math.abs(s.toArrowScale),d=s.toArrowType):(A=this.to,I=this.from,C=s.middleArrowScale<0,l=Math.abs(s.middleArrowScale),d=s.middleArrowType);const h=15*l+3*u;if(A!=I){const b=GIe(A.x-I.x,A.y-I.y),p=h/b;if(t!=="middle")if(this.options.smooth.enabled===!0){const y=this._findBorderPosition(A,e,{via:r}),E=this.getPoint(y.t+p*(t==="from"?1:-1),r);a=Math.atan2(y.y-E.y,y.x-E.x),g=y}else a=Math.atan2(A.y-I.y,A.x-I.x),g=this._findBorderPosition(A,e);else{const y=(C?-p:p)/2,E=this.getPoint(.5+y,r),S=this.getPoint(.5-y,r);a=Math.atan2(E.y-S.y,E.x-S.x),g=this.getPoint(.5,r)}}else{const[b,p,y]=this._getCircleData(e);if(t==="from"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:-1});a=m.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI,g=m}else if(t==="to"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:1});a=m.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI,g=m}else{const E=this.options.selfReference.angle/(2*Math.PI);g=this._pointOnCircle(b,p,y,E),a=E*-2*Math.PI+1.5*Math.PI+.1*Math.PI}}const v=g.x-h*.9*Math.cos(a),f=g.y-h*.9*Math.sin(a);return{point:g,core:{x:v,y:f},angle:a,length:h,type:d}}drawArrowHead(e,t,r,i,o){e.strokeStyle=this.getColor(e,t),e.fillStyle=e.strokeStyle,e.lineWidth=t.width,u7.draw(e,o)&&(this.enableShadow(e,t),cg(e).call(e),this.disableShadow(e,t))}enableShadow(e,t){t.shadow===!0&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow===!0&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}drawBackground(e,t){if(t.background!==!1){const r={strokeStyle:e.strokeStyle,lineWidth:e.lineWidth,dashes:e.dashes};e.strokeStyle=t.backgroundColor,e.lineWidth=t.backgroundSize,this.setStrokeDashed(e,t.backgroundDashes),e.stroke(),e.strokeStyle=r.strokeStyle,e.lineWidth=r.lineWidth,e.dashes=r.dashes,this.setStrokeDashed(e,t.dashes)}}setStrokeDashed(e,t){if(t!==!1)if(e.setLineDash!==void 0){const r=we(t)?t:[5,5];e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else e.setLineDash!==void 0?e.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}};function Dk(n,e){var t=Be(n);if(ai){var r=ai(n);e&&(r=st(r).call(r,function(i){return Ci(n,i).enumerable})),t.push.apply(t,r)}return t}function Nk(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?be(t=Dk(Object(i),!0)).call(t,function(o){ze(n,o,i[o])}):gi?wg(n,gi(i)):be(r=Dk(Object(i))).call(r,function(o){_g(n,o,Ci(i,o))})}return n}let mT=class extends h7{constructor(e,t,r){super(e,t,r)}_findBorderPositionBezier(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this._getViaCoordinates();const i=10,o=.2;let s=!1,a=1,g=0,A=this.to,I,C,l=this.options.endPointOffset?this.options.endPointOffset.to:0;e.id===this.from.id&&(A=this.from,s=!0,l=this.options.endPointOffset?this.options.endPointOffset.from:0),this.options.arrowStrikethrough===!1&&(l=0);let d=0;do{C=(g+a)*.5,I=this.getPoint(C,r);const u=Math.atan2(A.y-I.y,A.x-I.x),h=A.distanceToBorder(t,u)+l,v=Math.sqrt(Math.pow(I.x-A.x,2)+Math.pow(I.y-A.y,2)),f=h-v;if(Math.abs(f)<o)break;f<0?s===!1?g=C:a=C:s===!1?a=C:g=C,++d}while(g<=a&&d<i);return Nk(Nk({},I),{},{t:C})}_getDistanceToBezierEdge(e,t,r,i,o,s,a){let g=1e9,A,I,C,l,d,u=e,h=t;for(I=1;I<10;I++)C=.1*I,l=Math.pow(1-C,2)*e+2*C*(1-C)*a.x+Math.pow(C,2)*r,d=Math.pow(1-C,2)*t+2*C*(1-C)*a.y+Math.pow(C,2)*i,I>0&&(A=this._getDistanceToLine(u,h,l,d,o,s),g=A<g?A:g),u=l,h=d;return g}_bezierCurve(e,t,r,i){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),r!=null&&r.x!=null?i!=null&&i.x!=null?e.bezierCurveTo(r.x,r.y,i.x,i.y,this.toPoint.x,this.toPoint.y):e.quadraticCurveTo(r.x,r.y,this.toPoint.x,this.toPoint.y):e.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(e,t),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){return this._getViaCoordinates()}},Mk=class extends mT{constructor(e,t,r){super(e,t,r),ze(this,"via",this.via),this._boundFunction=()=>{this.positionBezierNode()},this._body.emitter.on("_repositionBezierNodes",this._boundFunction)}setOptions(e){super.setOptions(e);let t=!1;this.options.physics!==e.physics&&(t=!0),this.options=e,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),t===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.from===void 0||this.to===void 0||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}cleanup(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),this.via!==void 0?(delete this._body.nodes[this.via.id],this.via=void 0,!0):!1}setupSupportNode(){if(this.via===void 0){const e="edgeId:"+this.id,t=this._body.functions.createNode({id:e,shape:"circle",physics:!0,hidden:!0});this._body.nodes[e]=t,this.via=t,this.via.parentEdgeId=this.id,this.positionBezierNode()}}positionBezierNode(){this.via!==void 0&&this.from!==void 0&&this.to!==void 0?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):this.via!==void 0&&(this.via.x=0,this.via.y=0)}_line(e,t,r){this._bezierCurve(e,t,r)}_getViaCoordinates(){return this.via}getViaNode(){return this.via}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.via;if(this.from===this.to){const[r,i,o]=this._getCircleData(),s=2*Math.PI*(1-e);return{x:r+o*Math.sin(s),y:i+o-o*(1-Math.cos(s))}}else return{x:Math.pow(1-e,2)*this.fromPoint.x+2*e*(1-e)*t.x+Math.pow(e,2)*this.toPoint.x,y:Math.pow(1-e,2)*this.fromPoint.y+2*e*(1-e)*t.y+Math.pow(e,2)*this.toPoint.y}}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t,this.via)}_getDistanceToEdge(e,t,r,i,o,s){return this._getDistanceToBezierEdge(e,t,r,i,o,s,this.via)}},qk=class extends mT{constructor(e,t,r){super(e,t,r)}_line(e,t,r){this._bezierCurve(e,t,r)}getViaNode(){return this._getViaCoordinates()}_getViaCoordinates(){const e=this.options.smooth.roundness,t=this.options.smooth.type;let r=Math.abs(this.from.x-this.to.x),i=Math.abs(this.from.y-this.to.y);if(t==="discrete"||t==="diagonalCross"){let o,s;r<=i?o=s=e*i:o=s=e*r,this.from.x>this.to.x&&(o=-o),this.from.y>=this.to.y&&(s=-s);let a=this.from.x+o,g=this.from.y+s;return t==="discrete"&&(r<=i?a=r<e*i?this.from.x:a:g=i<e*r?this.from.y:g),{x:a,y:g}}else if(t==="straightCross"){let o=(1-e)*r,s=(1-e)*i;return r<=i?(o=0,this.from.y<this.to.y&&(s=-s)):(this.from.x<this.to.x&&(o=-o),s=0),{x:this.to.x+o,y:this.to.y+s}}else if(t==="horizontal"){let o=(1-e)*r;return this.from.x<this.to.x&&(o=-o),{x:this.to.x+o,y:this.from.y}}else if(t==="vertical"){let o=(1-e)*i;return this.from.y<this.to.y&&(o=-o),{x:this.from.x,y:this.to.y+o}}else if(t==="curvedCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const o=Math.sqrt(r*r+i*i),s=Math.PI,g=(Math.atan2(i,r)+(e*.5+.5)*s)%(2*s);return{x:this.from.x+(e*.5+.5)*o*Math.sin(g),y:this.from.y+(e*.5+.5)*o*Math.cos(g)}}else if(t==="curvedCCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const o=Math.sqrt(r*r+i*i),s=Math.PI,g=(Math.atan2(i,r)+(-e*.5+.5)*s)%(2*s);return{x:this.from.x+(e*.5+.5)*o*Math.sin(g),y:this.from.y+(e*.5+.5)*o*Math.cos(g)}}else{let o,s;r<=i?o=s=e*i:o=s=e*r,this.from.x>this.to.x&&(o=-o),this.from.y>=this.to.y&&(s=-s);let a=this.from.x+o,g=this.from.y+s;return r<=i?this.from.x<=this.to.x?a=this.to.x<a?this.to.x:a:a=this.to.x>a?this.to.x:a:this.from.y>=this.to.y?g=this.to.y>g?this.to.y:g:g=this.to.y<g?this.to.y:g,{x:a,y:g}}}_findBorderPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this._findBorderPositionBezier(e,t,r.via)}_getDistanceToEdge(e,t,r,i,o,s){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(e,t,r,i,o,s,a)}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const r=e,i=Math.pow(1-r,2)*this.fromPoint.x+2*r*(1-r)*t.x+Math.pow(r,2)*this.toPoint.x,o=Math.pow(1-r,2)*this.fromPoint.y+2*r*(1-r)*t.y+Math.pow(r,2)*this.toPoint.y;return{x:i,y:o}}},rCe=class extends mT{constructor(e,t,r){super(e,t,r)}_getDistanceToBezierEdge2(e,t,r,i,o,s,a,g){let A=1e9,I=e,C=t;const l=[0,0,0,0];for(let d=1;d<10;d++){const u=.1*d;l[0]=Math.pow(1-u,3),l[1]=3*u*Math.pow(1-u,2),l[2]=3*Math.pow(u,2)*(1-u),l[3]=Math.pow(u,3);const h=l[0]*e+l[1]*a.x+l[2]*g.x+l[3]*r,v=l[0]*t+l[1]*a.y+l[2]*g.y+l[3]*i;if(d>0){const f=this._getDistanceToLine(I,C,h,v,o,s);A=f<A?f:A}I=h,C=v}return A}},Fk=class extends rCe{constructor(e,t,r){super(e,t,r)}_line(e,t,r){const i=r[0],o=r[1];this._bezierCurve(e,t,i,o)}_getViaCoordinates(){const e=this.from.x-this.to.x,t=this.from.y-this.to.y;let r,i,o,s;const a=this.options.smooth.roundness;return(Math.abs(e)>Math.abs(t)||this.options.smooth.forceDirection===!0||this.options.smooth.forceDirection==="horizontal")&&this.options.smooth.forceDirection!=="vertical"?(i=this.from.y,s=this.to.y,r=this.from.x-a*e,o=this.to.x+a*e):(i=this.from.y-a*t,s=this.to.y+a*t,r=this.from.x,o=this.to.x),[{x:r,y:i},{x:o,y:s}]}getViaNode(){return this._getViaCoordinates()}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t)}_getDistanceToEdge(e,t,r,i,o,s){let[a,g]=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge2(e,t,r,i,o,s,a,g)}getPoint(e){let[t,r]=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const i=e,o=[Math.pow(1-i,3),3*i*Math.pow(1-i,2),3*Math.pow(i,2)*(1-i),Math.pow(i,3)],s=o[0]*this.fromPoint.x+o[1]*t.x+o[2]*r.x+o[3]*this.toPoint.x,a=o[0]*this.fromPoint.y+o[1]*t.y+o[2]*r.y+o[3]*this.toPoint.y;return{x:s,y:a}}},kk=class extends h7{constructor(e,t,r){super(e,t,r)}_line(e,t){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),e.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){}getPoint(e){return{x:(1-e)*this.fromPoint.x+e*this.toPoint.x,y:(1-e)*this.fromPoint.y+e*this.toPoint.y}}_findBorderPosition(e,t){let r=this.to,i=this.from;e.id===this.from.id&&(r=this.from,i=this.to);const o=Math.atan2(r.y-i.y,r.x-i.x),s=r.x-i.x,a=r.y-i.y,g=Math.sqrt(s*s+a*a),A=e.distanceToBorder(t,o),I=(g-A)/g;return{x:(1-I)*i.x+I*r.x,y:(1-I)*i.y+I*r.y,t:0}}_getDistanceToEdge(e,t,r,i,o,s){return this._getDistanceToLine(e,t,r,i,o,s)}},ns=class c7{constructor(e,t,r,i,o){if(t===void 0)throw new Error("No body provided");this.options=sn(i),this.globalOptions=i,this.defaultOptions=o,this.body=t,this.imagelist=r,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new d7(this.body,this.options,!0),this.setOptions(e)}setOptions(e){if(!e)return;let t=typeof e.physics<"u"&&this.options.physics!==e.physics||typeof e.hidden<"u"&&(this.options.hidden||!1)!==(e.hidden||!1)||typeof e.from<"u"&&this.options.from!==e.from||typeof e.to<"u"&&this.options.to!==e.to;c7.parseOptions(this.options,e,!0,this.globalOptions),e.id!==void 0&&(this.id=e.id),e.from!==void 0&&(this.fromId=e.from),e.to!==void 0&&(this.toId=e.to),e.title!==void 0&&(this.title=e.title),e.value!==void 0&&(e.value=C7(e.value));const r=[e,this.options,this.defaultOptions];return this.chooser=pT("edge",r),this.updateLabelModule(e),t=this.updateEdgeType()||t,this._setInteractionWidths(),this.connect(),t}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(zs(["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"],e,t,r),t.endPointOffset!==void 0&&t.endPointOffset.from!==void 0&&(Nn(t.endPointOffset.from)?e.endPointOffset.from=t.endPointOffset.from:(e.endPointOffset.from=i.endPointOffset.from!==void 0?i.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),t.endPointOffset!==void 0&&t.endPointOffset.to!==void 0&&(Nn(t.endPointOffset.to)?e.endPointOffset.to=t.endPointOffset.to:(e.endPointOffset.to=i.endPointOffset.to!==void 0?i.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),GA(t.label)?e.label=t.label:GA(e.label)||(e.label=void 0),dr(e,t,"smooth",i),dr(e,t,"shadow",i),dr(e,t,"background",i),t.dashes!==void 0&&t.dashes!==null?e.dashes=t.dashes:r===!0&&t.dashes===null&&(e.dashes=nn(i.dashes)),t.scaling!==void 0&&t.scaling!==null?(t.scaling.min!==void 0&&(e.scaling.min=t.scaling.min),t.scaling.max!==void 0&&(e.scaling.max=t.scaling.max),dr(e.scaling,t.scaling,"label",i.scaling)):r===!0&&t.scaling===null&&(e.scaling=nn(i.scaling)),t.arrows!==void 0&&t.arrows!==null)if(typeof t.arrows=="string"){const a=t.arrows.toLowerCase();e.arrows.to.enabled=_e(a).call(a,"to")!=-1,e.arrows.middle.enabled=_e(a).call(a,"middle")!=-1,e.arrows.from.enabled=_e(a).call(a,"from")!=-1}else if(typeof t.arrows=="object")dr(e.arrows,t.arrows,"to",i.arrows),dr(e.arrows,t.arrows,"middle",i.arrows),dr(e.arrows,t.arrows,"from",i.arrows);else throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+ks(t.arrows));else r===!0&&t.arrows===null&&(e.arrows=nn(i.arrows));if(t.color!==void 0&&t.color!==null){const a=ts(t.color)?{color:t.color,highlight:t.color,hover:t.color,inherit:!1,opacity:1}:t.color,g=e.color;if(o)Me(g,i.color,!1,r);else for(const A in g)Object.prototype.hasOwnProperty.call(g,A)&&delete g[A];if(ts(g))g.color=g,g.highlight=g,g.hover=g,g.inherit=!1,a.opacity===void 0&&(g.opacity=1);else{let A=!1;a.color!==void 0&&(g.color=a.color,A=!0),a.highlight!==void 0&&(g.highlight=a.highlight,A=!0),a.hover!==void 0&&(g.hover=a.hover,A=!0),a.inherit!==void 0&&(g.inherit=a.inherit),a.opacity!==void 0&&(g.opacity=Math.min(1,Math.max(0,a.opacity))),A===!0?g.inherit=!1:g.inherit===void 0&&(g.inherit="from")}}else r===!0&&t.color===null&&(e.color=sn(i.color));r===!0&&t.font===null&&(e.font=sn(i.font)),Object.prototype.hasOwnProperty.call(t,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),e.selfReference.size=t.selfReferenceSize)}getFormattingValues(){const e=this.options.arrows.to===!0||this.options.arrows.to.enabled===!0,t=this.options.arrows.from===!0||this.options.arrows.from.enabled===!0,r=this.options.arrows.middle===!0||this.options.arrows.middle.enabled===!0,i=this.options.color.inherit,o={toArrow:e,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:r,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:t,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:i?void 0:this.options.color.color,inheritsColor:i,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(this.chooser===!0){if(this.selected){const s=this.options.selectionWidth;typeof s=="function"?o.width=s(o.width):typeof s=="number"&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.highlight,o.shadow=this.options.shadow.enabled}else if(this.hover){const s=this.options.hoverWidth;typeof s=="function"?o.width=s(o.width):typeof s=="number"&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.hover,o.shadow=this.options.shadow.enabled}}else typeof this.chooser=="function"&&(this.chooser(o,this.options.id,this.selected,this.hover),o.color!==void 0&&(o.inheritsColor=!1),o.shadow===!1&&(o.shadowColor!==this.options.shadow.color||o.shadowSize!==this.options.shadow.size||o.shadowX!==this.options.shadow.x||o.shadowY!==this.options.shadow.y)&&(o.shadow=!0));else o.shadow=this.options.shadow.enabled,o.width=Math.max(o.width,.3/this.body.view.scale);return o}updateLabelModule(e){const t=[e,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,t),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateEdgeType(){const e=this.options.smooth;let t=!1,r=!0;return this.edgeType!==void 0&&((this.edgeType instanceof Mk&&e.enabled===!0&&e.type==="dynamic"||this.edgeType instanceof Fk&&e.enabled===!0&&e.type==="cubicBezier"||this.edgeType instanceof qk&&e.enabled===!0&&e.type!=="dynamic"&&e.type!=="cubicBezier"||this.edgeType instanceof kk&&e.type.enabled===!1)&&(r=!1),r===!0&&(t=this.cleanup())),r===!0?e.enabled===!0?e.type==="dynamic"?(t=!0,this.edgeType=new Mk(this.options,this.body,this.labelModule)):e.type==="cubicBezier"?this.edgeType=new Fk(this.options,this.body,this.labelModule):this.edgeType=new qk(this.options,this.body,this.labelModule):this.edgeType=new kk(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),t}connect(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=this.from!==void 0&&this.to!==void 0,this.connected===!0?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}disconnect(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}getTitle(){return this.title}isSelected(){return this.selected}getValue(){return this.options.value}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*s}this.options.width=this.options.scaling.min+i*o}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}_setInteractionWidths(){typeof this.options.hoverWidth=="function"?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,typeof this.options.selectionWidth=="function"?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}draw(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode();this.edgeType.drawLine(e,t,this.selected,this.hover,r),this.drawLabel(e,r)}drawArrows(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode(),i={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,t.fromArrow&&(i.from=this.edgeType.getArrowData(e,"from",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.fromPoint=i.from.core),t.fromArrowSrc&&(i.from.image=this.imagelist.load(t.fromArrowSrc)),t.fromArrowImageWidth&&(i.from.imageWidth=t.fromArrowImageWidth),t.fromArrowImageHeight&&(i.from.imageHeight=t.fromArrowImageHeight)),t.toArrow&&(i.to=this.edgeType.getArrowData(e,"to",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.toPoint=i.to.core),t.toArrowSrc&&(i.to.image=this.imagelist.load(t.toArrowSrc)),t.toArrowImageWidth&&(i.to.imageWidth=t.toArrowImageWidth),t.toArrowImageHeight&&(i.to.imageHeight=t.toArrowImageHeight)),t.middleArrow&&(i.middle=this.edgeType.getArrowData(e,"middle",r,this.selected,this.hover,t),t.middleArrowSrc&&(i.middle.image=this.imagelist.load(t.middleArrowSrc)),t.middleArrowImageWidth&&(i.middle.imageWidth=t.middleArrowImageWidth),t.middleArrowImageHeight&&(i.middle.imageHeight=t.middleArrowImageHeight)),t.fromArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.from),t.middleArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.middle),t.toArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.to)}drawLabel(e,t){if(this.options.label!==void 0){const r=this.from,i=this.to;this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(e,this.selected,this.hover);let o;if(r.id!=i.id){this.labelModule.pointToSelf=!1,o=this.edgeType.getPoint(.5,t),e.save();const s=this._getRotation(e);s.angle!=0&&(e.translate(s.x,s.y),e.rotate(s.angle)),this.labelModule.draw(e,o.x,o.y,this.selected,this.hover),e.restore()}else{this.labelModule.pointToSelf=!0;const s=l7(e,this.options.selfReference.angle,this.options.selfReference.size,r);o=this._pointOnCircle(s.x,s.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(e,o.x,o.y,this.selected,this.hover)}}}getItemsOnPoint(e){const t=[];if(this.labelModule.visible()){const i=this._getRotation();fO(this.labelModule.getSize(),e,i)&&t.push({edgeId:this.id,labelId:0})}const r={left:e.x,top:e.y};return this.isOverlappingWith(r)&&t.push({edgeId:this.id}),t}isOverlappingWith(e){if(this.connected){const r=this.from.x,i=this.from.y,o=this.to.x,s=this.to.y,a=e.left,g=e.top;return this.edgeType.getDistanceToEdge(r,i,o,s,a,g)<10}else return!1}_getRotation(e){const t=this.edgeType.getViaNode(),r=this.edgeType.getPoint(.5,t);e!==void 0&&this.labelModule.calculateLabelSize(e,this.selected,this.hover,r.x,r.y);const i={x:r.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible()||this.options.font.align==="horizontal")return i;const o=this.from.y-this.to.y,s=this.from.x-this.to.x;let a=Math.atan2(o,s);return(a<-1&&s<0||a>0&&s<0)&&(a+=Math.PI),i.angle=a,i}_pointOnCircle(e,t,r,i){return{x:e+r*Math.cos(i),y:t-r*Math.sin(i)}}select(){this.selected=!0}unselect(){this.selected=!1}cleanup(){return this.edgeType.cleanup()}remove(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}endPointsValid(){return this.body.nodes[this.fromId]!==void 0&&this.body.nodes[this.toId]!==void 0}},iCe=class{constructor(e,t,r){var i;this.body=e,this.images=t,this.groups=r,this.body.functions.createEdge=z(i=this.create).call(i,this),this.edgesListeners={add:(o,s)=>{this.add(s.items)},update:(o,s)=>{this.update(s.items)},remove:(o,s)=>{this.remove(s.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(o,s,a,g){if(s===o)return .5;{const A=1/(s-o);return Math.max(0,(g-o)*A)}}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},Me(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e=this,t,r;this.body.emitter.on("_forceDisableDynamicCurves",function(i){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;i==="dynamic"&&(i="continuous");let s=!1;for(const a in e.body.edges)if(Object.prototype.hasOwnProperty.call(e.body.edges,a)){const g=e.body.edges[a],A=e.body.data.edges.get(a);if(A!=null){const I=A.smooth;I!==void 0&&I.enabled===!0&&I.type==="dynamic"&&(i===void 0?g.setOptions({smooth:!1}):g.setOptions({smooth:{type:i}}),s=!0)}}o===!0&&s===!0&&e.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",()=>{this.reconnectEdges()}),this.body.emitter.on("refreshEdges",z(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",z(r=this.refresh).call(r,this)),this.body.emitter.on("destroy",()=>{de(this.edgesListeners,(i,o)=>{this.body.data.edges&&this.body.data.edges.off(o,i)}),delete this.body.functions.createEdge,delete this.edgesListeners.add,delete this.edgesListeners.update,delete this.edgesListeners.remove,delete this.edgesListeners})}setOptions(e){if(e!==void 0){ns.parseOptions(this.options,e,!0,this.defaultOptions,!0);let t=!1;if(e.smooth!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&(t=this.body.edges[r].updateEdgeType()||t);if(e.font!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&this.body.edges[r].updateLabelModule();(e.hidden!==void 0||e.physics!==void 0||t===!0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.edges;if(I7("id",e))this.body.data.edges=e;else if(we(e))this.body.data.edges=new us,this.body.data.edges.add(e);else if(!e)this.body.data.edges=new us;else throw new TypeError("Array or DataSet expected");if(r&&de(this.edgesListeners,(i,o)=>{r.off(o,i)}),this.body.edges={},this.body.data.edges){de(this.edgesListeners,(o,s)=>{this.body.data.edges.on(s,o)});const i=this.body.data.edges.getIds();this.add(i,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.edges,i=this.body.data.edges;for(let o=0;o<e.length;o++){const s=e[o],a=r[s];a&&a.disconnect();const g=i.get(s,{showInternalIds:!0});r[s]=this.create(g)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}update(e){const t=this.body.edges,r=this.body.data.edges;let i=!1;for(let o=0;o<e.length;o++){const s=e[o],a=r.get(s),g=t[s];g!==void 0?(g.disconnect(),i=g.setOptions(a)||i,g.connect()):(this.body.edges[s]=this.create(a),i=!0)}i===!0?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}remove(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.length===0)return;const r=this.body.edges;de(e,i=>{const o=r[i];o!==void 0&&o.remove()}),t&&this.body.emitter.emit("_dataChanged")}refresh(){de(this.body.edges,(e,t)=>{const r=this.body.data.edges.get(t);r!==void 0&&e.setOptions(r)})}create(e){return new ns(e,this.body,this.images,this.options,this.defaultOptions)}reconnectEdges(){let e;const t=this.body.nodes,r=this.body.edges;for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].edges=[]);for(e in r)if(Object.prototype.hasOwnProperty.call(r,e)){const i=r[e];i.from=null,i.to=null,i.connect()}}getConnectedNodes(e){const t=[];if(this.body.edges[e]!==void 0){const r=this.body.edges[e];r.fromId!==void 0&&t.push(r.fromId),r.toId!==void 0&&t.push(r.toId)}return t}_updateState(){this._addMissingEdges(),this._removeInvalidEdges()}_removeInvalidEdges(){const e=[];de(this.body.edges,(t,r)=>{const i=this.body.nodes[t.toId],o=this.body.nodes[t.fromId];i!==void 0&&i.isCluster===!0||o!==void 0&&o.isCluster===!0||(i===void 0||o===void 0)&&e.push(r)}),this.remove(e,!1)}_addMissingEdges(){const e=this.body.data.edges;if(e==null)return;const t=this.body.edges,r=[];be(e).call(e,(i,o)=>{t[o]===void 0&&r.push(o)}),this.add(r,!0)}},f7=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.barnesHutTree,this.setOptions(r),this._rng=yI("BARNES HUT SOLVER")}setOptions(e){this.options=e,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}solve(){if(this.options.gravitationalConstant!==0&&this.physicsBody.physicsNodeIndices.length>0){let e;const t=this.body.nodes,r=this.physicsBody.physicsNodeIndices,i=r.length,o=this._formBarnesHutTree(t,r);this.barnesHutTree=o;for(let s=0;s<i;s++)e=t[r[s]],e.options.mass>0&&this._getForceContributions(o.root,e)}}_getForceContributions(e,t){this._getForceContribution(e.children.NW,t),this._getForceContribution(e.children.NE,t),this._getForceContribution(e.children.SW,t),this._getForceContribution(e.children.SE,t)}_getForceContribution(e,t){if(e.childrenCount>0){const r=e.centerOfMass.x-t.x,i=e.centerOfMass.y-t.y,o=Math.sqrt(r*r+i*i);o*e.calcSize>this.thetaInversed?this._calculateForces(o,r,i,t,e):e.childrenCount===4?this._getForceContributions(e,t):e.children.data.id!=t.id&&this._calculateForces(o,r,i,t,e)}}_calculateForces(e,t,r,i,o){e===0&&(e=.1,t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const s=this.options.gravitationalConstant*o.mass*i.options.mass/Math.pow(e,3),a=t*s,g=r*s;this.physicsBody.forces[i.id].x+=a,this.physicsBody.forces[i.id].y+=g}_formBarnesHutTree(e,t){let r;const i=t.length;let o=e[t[0]].x,s=e[t[0]].y,a=e[t[0]].x,g=e[t[0]].y;for(let v=1;v<i;v++){const f=e[t[v]],c=f.x,b=f.y;f.options.mass>0&&(c<o&&(o=c),c>a&&(a=c),b<s&&(s=b),b>g&&(g=b))}const A=Math.abs(a-o)-Math.abs(g-s);A>0?(s-=.5*A,g+=.5*A):(o+=.5*A,a-=.5*A);const C=Math.max(1e-5,Math.abs(a-o)),l=.5*C,d=.5*(o+a),u=.5*(s+g),h={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:d-l,maxX:d+l,minY:u-l,maxY:u+l},size:C,calcSize:1/C,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(h.root);for(let v=0;v<i;v++)r=e[t[v]],r.options.mass>0&&this._placeInTree(h.root,r);return h}_updateBranchMass(e,t){const r=e.centerOfMass,i=e.mass+t.options.mass,o=1/i;r.x=r.x*e.mass+t.x*t.options.mass,r.x*=o,r.y=r.y*e.mass+t.y*t.options.mass,r.y*=o,e.mass=i;const s=Math.max(Math.max(t.height,t.radius),t.width);e.maxWidth=e.maxWidth<s?s:e.maxWidth}_placeInTree(e,t,r){(r!=!0||r===void 0)&&this._updateBranchMass(e,t);const i=e.children.NW.range;let o;i.maxX>t.x?i.maxY>t.y?o="NW":o="SW":i.maxY>t.y?o="NE":o="SE",this._placeInRegion(e,t,o)}_placeInRegion(e,t,r){const i=e.children[r];switch(i.childrenCount){case 0:i.children.data=t,i.childrenCount=1,this._updateBranchMass(i,t);break;case 1:i.children.data.x===t.x&&i.children.data.y===t.y?(t.x+=this._rng(),t.y+=this._rng()):(this._splitBranch(i),this._placeInTree(i,t));break;case 4:this._placeInTree(i,t);break}}_splitBranch(e){let t=null;e.childrenCount===1&&(t=e.children.data,e.mass=0,e.centerOfMass.x=0,e.centerOfMass.y=0),e.childrenCount=4,e.children.data=null,this._insertRegion(e,"NW"),this._insertRegion(e,"NE"),this._insertRegion(e,"SW"),this._insertRegion(e,"SE"),t!=null&&this._placeInTree(e,t)}_insertRegion(e,t){let r,i,o,s;const a=.5*e.size;switch(t){case"NW":r=e.range.minX,i=e.range.minX+a,o=e.range.minY,s=e.range.minY+a;break;case"NE":r=e.range.minX+a,i=e.range.maxX,o=e.range.minY,s=e.range.minY+a;break;case"SW":r=e.range.minX,i=e.range.minX+a,o=e.range.minY+a,s=e.range.maxY;break;case"SE":r=e.range.minX+a,i=e.range.maxX,o=e.range.minY+a,s=e.range.maxY;break}e.children[t]={centerOfMass:{x:0,y:0},mass:0,range:{minX:r,maxX:i,minY:o,maxY:s},size:.5*e.size,calcSize:2*e.calcSize,children:{data:null},maxWidth:0,level:e.level+1,childrenCount:0}}_debug(e,t){this.barnesHutTree!==void 0&&(e.lineWidth=1,this._drawBranch(this.barnesHutTree.root,e,t))}_drawBranch(e,t,r){r===void 0&&(r="#FF0000"),e.childrenCount===4&&(this._drawBranch(e.children.NW,t),this._drawBranch(e.children.NE,t),this._drawBranch(e.children.SE,t),this._drawBranch(e.children.SW,t)),t.strokeStyle=r,t.beginPath(),t.moveTo(e.range.minX,e.range.minY),t.lineTo(e.range.maxX,e.range.minY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.minY),t.lineTo(e.range.maxX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.maxY),t.lineTo(e.range.minX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.minX,e.range.maxY),t.lineTo(e.range.minX,e.range.minY),t.stroke()}},nCe=class{constructor(e,t,r){this._rng=yI("REPULSION SOLVER"),this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,o,s,a,g;const A=this.body.nodes,I=this.physicsBody.physicsNodeIndices,C=this.physicsBody.forces,l=this.options.nodeDistance,d=-2/3/l,u=4/3;for(let h=0;h<I.length-1;h++){a=A[I[h]];for(let v=h+1;v<I.length;v++)g=A[I[v]],e=g.x-a.x,t=g.y-a.y,r=Math.sqrt(e*e+t*t),r===0&&(r=.1*this._rng(),e=r),r<2*l&&(r<.5*l?s=1:s=d*r+u,s=s/r,i=e*s,o=t*s,C[a.id].x-=i,C[a.id].y-=o,C[g.id].x+=i,C[g.id].y+=o)}}},oCe=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}solve(){const e=this.body.nodes,t=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,i=this.options.nodeDistance;for(let o=0;o<t.length-1;o++){const s=e[t[o]];for(let a=o+1;a<t.length;a++){const g=e[t[a]];if(s.level===g.level){const A=i+this.overlapAvoidanceFactor*((s.shape.radius||0)/2+(g.shape.radius||0)/2),I=g.x-s.x,C=g.y-s.y,l=Math.sqrt(I*I+C*C),d=.05;let u;l<A?u=-Math.pow(d*l,2)+Math.pow(d*A,2):u=0,l!==0&&(u=u/l);const h=I*u,v=C*u;r[s.id].x-=h,r[s.id].y-=v,r[g.id].x+=h,r[g.id].y+=v}}}}},mf=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t;const r=this.physicsBody.physicsEdgeIndices,i=this.body.edges;let o,s,a;for(let g=0;g<r.length;g++)t=i[r[g]],t.connected===!0&&t.toId!==t.fromId&&this.body.nodes[t.toId]!==void 0&&this.body.nodes[t.fromId]!==void 0&&(t.edgeType.via!==void 0?(e=t.options.length===void 0?this.options.springLength:t.options.length,o=t.to,s=t.edgeType.via,a=t.from,this._calculateSpringForce(o,s,.5*e),this._calculateSpringForce(s,a,.5*e)):(e=t.options.length===void 0?this.options.springLength*1.5:t.options.length,this._calculateSpringForce(t.from,t.to,e)))}_calculateSpringForce(e,t,r){const i=e.x-t.x,o=e.y-t.y,s=Math.max(Math.sqrt(i*i+o*o),.01),a=this.options.springConstant*(r-s)/s,g=i*a,A=o*a;this.physicsBody.forces[e.id]!==void 0&&(this.physicsBody.forces[e.id].x+=g,this.physicsBody.forces[e.id].y+=A),this.physicsBody.forces[t.id]!==void 0&&(this.physicsBody.forces[t.id].x-=g,this.physicsBody.forces[t.id].y-=A)}},sCe=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,o,s,a,g;const A=this.body.edges,I=.5,C=this.physicsBody.physicsEdgeIndices,l=this.physicsBody.physicsNodeIndices,d=this.physicsBody.forces;for(let p=0;p<l.length;p++){const y=l[p];d[y].springFx=0,d[y].springFy=0}for(let p=0;p<C.length;p++)t=A[C[p]],t.connected===!0&&(e=t.options.length===void 0?this.options.springLength:t.options.length,r=t.from.x-t.to.x,i=t.from.y-t.to.y,g=Math.sqrt(r*r+i*i),g=g===0?.01:g,a=this.options.springConstant*(e-g)/g,o=r*a,s=i*a,t.to.level!=t.from.level?(d[t.toId]!==void 0&&(d[t.toId].springFx-=o,d[t.toId].springFy-=s),d[t.fromId]!==void 0&&(d[t.fromId].springFx+=o,d[t.fromId].springFy+=s)):(d[t.toId]!==void 0&&(d[t.toId].x-=I*o,d[t.toId].y-=I*s),d[t.fromId]!==void 0&&(d[t.fromId].x+=I*o,d[t.fromId].y+=I*s)));a=1;let u,h;for(let p=0;p<l.length;p++){const y=l[p];u=Math.min(a,Math.max(-a,d[y].springFx)),h=Math.min(a,Math.max(-a,d[y].springFy)),d[y].x+=u,d[y].y+=h}let v=0,f=0;for(let p=0;p<l.length;p++){const y=l[p];v+=d[y].x,f+=d[y].y}const c=v/l.length,b=f/l.length;for(let p=0;p<l.length;p++){const y=l[p];d[y].x-=c,d[y].y-=b}}},OA=class{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i;const o=this.body.nodes,s=this.physicsBody.physicsNodeIndices,a=this.physicsBody.forces;for(let g=0;g<s.length;g++){const A=s[g];i=o[A],e=-i.x,t=-i.y,r=Math.sqrt(e*e+t*t),this._calculateForces(r,e,t,a,i)}}_calculateForces(e,t,r,i,o){const s=e===0?0:this.options.centralGravity/e;i[o.id].x=t*s,i[o.id].y=r*s}},aCe=class extends f7{constructor(e,t,r){super(e,t,r),this._rng=yI("FORCE ATLAS 2 BASED REPULSION SOLVER")}_calculateForces(e,t,r,i,o){e===0&&(e=.1*this._rng(),t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const s=i.edges.length+1,a=this.options.gravitationalConstant*o.mass*i.options.mass*s/Math.pow(e,2),g=t*a,A=r*a;this.physicsBody.forces[i.id].x+=g,this.physicsBody.forces[i.id].y+=A}},gCe=class extends OA{constructor(e,t,r){super(e,t,r)}_calculateForces(e,t,r,i,o){if(e>0){const s=o.edges.length+1,a=this.options.centralGravity*s*o.options.mass;i[o.id].x=t*a,i[o.id].y=r*a}}},ACe=class{constructor(e){this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},tt(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("initPhysics",()=>{this.initPhysics()}),this.body.emitter.on("_layoutFailed",()=>{this.layoutFailed=!0}),this.body.emitter.on("resetPhysics",()=>{this.stopSimulation(),this.ready=!1}),this.body.emitter.on("disablePhysics",()=>{this.physicsEnabled=!1,this.stopSimulation()}),this.body.emitter.on("restorePhysics",()=>{this.setOptions(this.options),this.ready===!0&&this.startSimulation()}),this.body.emitter.on("startSimulation",()=>{this.ready===!0&&this.startSimulation()}),this.body.emitter.on("stopSimulation",()=>{this.stopSimulation()}),this.body.emitter.on("destroy",()=>{this.stopSimulation(!1),this.body.emitter.off()}),this.body.emitter.on("_dataChanged",()=>{this.updatePhysicsData()})}setOptions(e){if(e!==void 0)if(e===!1)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(e===!0)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,zA(["stabilization"],this.options,e),dr(this.options,e,"stabilization"),e.enabled===void 0&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation());const t=this.options.wind;t&&((typeof t.x!="number"||hO(t.x))&&(t.x=0),(typeof t.y!="number"||hO(t.y))&&(t.y=0)),this.timestep=this.options.timestep}this.init()}init(){let e;this.options.solver==="forceAtlas2Based"?(e=this.options.forceAtlas2Based,this.nodesSolver=new aCe(this.body,this.physicsBody,e),this.edgesSolver=new mf(this.body,this.physicsBody,e),this.gravitySolver=new gCe(this.body,this.physicsBody,e)):this.options.solver==="repulsion"?(e=this.options.repulsion,this.nodesSolver=new nCe(this.body,this.physicsBody,e),this.edgesSolver=new mf(this.body,this.physicsBody,e),this.gravitySolver=new OA(this.body,this.physicsBody,e)):this.options.solver==="hierarchicalRepulsion"?(e=this.options.hierarchicalRepulsion,this.nodesSolver=new oCe(this.body,this.physicsBody,e),this.edgesSolver=new sCe(this.body,this.physicsBody,e),this.gravitySolver=new OA(this.body,this.physicsBody,e)):(e=this.options.barnesHut,this.nodesSolver=new f7(this.body,this.physicsBody,e),this.edgesSolver=new mf(this.body,this.physicsBody,e),this.gravitySolver=new OA(this.body,this.physicsBody,e)),this.modelOptions=e}initPhysics(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}startSimulation(){if(this.physicsEnabled===!0&&this.options.enabled===!0){if(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),this.viewFunction===void 0){var e;this.viewFunction=z(e=this.simulationStep).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}else this.body.emitter.emit("_redraw")}stopSimulation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.stabilized=!0,e===!0&&this._emitStabilized(),this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,e===!0&&this.body.emitter.emit("_stopRendering"))}simulationStep(){const e=MA();this.physicsTick(),(MA()-e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}_emitStabilized(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&ri(()=>{this.body.emitter.emit("stabilized",{iterations:e}),this.startedStabilization=!1,this.stabilizationIterations=0},0)}physicsStep(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}adjustTimeStep(){this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}physicsTick(){this._startStabilizing(),this.stabilized!==!0&&(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0?(this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1):(this.timestep=this.options.timestep,this.physicsStep()),this.stabilized===!0&&this.revert(),this.stabilizationIterations++)}updatePhysicsData(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];const e=this.body.nodes,t=this.body.edges;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&e[r].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(e[r].id);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&t[r].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(t[r].id);for(let r=0;r<this.physicsBody.physicsNodeIndices.length;r++){const i=this.physicsBody.physicsNodeIndices[r];this.physicsBody.forces[i]={x:0,y:0},this.physicsBody.velocities[i]===void 0&&(this.physicsBody.velocities[i]={x:0,y:0})}for(const r in this.physicsBody.velocities)e[r]===void 0&&delete this.physicsBody.velocities[r]}revert(){const e=Be(this.previousStates),t=this.body.nodes,r=this.physicsBody.velocities;this.referenceState={};for(let i=0;i<e.length;i++){const o=e[i];t[o]!==void 0?t[o].options.physics===!0&&(this.referenceState[o]={positions:{x:t[o].x,y:t[o].y}},r[o].x=this.previousStates[o].vx,r[o].y=this.previousStates[o].vy,t[o].x=this.previousStates[o].x,t[o].y=this.previousStates[o].y):delete this.previousStates[o]}}_evaluateStepQuality(){let e,t,r;const i=this.body.nodes,o=this.referenceState,s=.3;for(const a in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,a)&&i[a]!==void 0&&(e=i[a].x-o[a].positions.x,t=i[a].y-o[a].positions.y,r=Math.sqrt(Math.pow(e,2)+Math.pow(t,2)),r>s))return!1;return!0}moveNodes(){const e=this.physicsBody.physicsNodeIndices;let t=0,r=0;const i=5;for(let o=0;o<e.length;o++){const s=e[o],a=this._performStep(s);t=Math.max(t,a),r+=a}this.adaptiveTimestepEnabled=r/e.length<i,this.stabilized=t<this.options.minVelocity}calculateComponentVelocity(e,t,r){const i=this.modelOptions.damping*e,o=(t-i)/r;e+=o*this.timestep;const s=this.options.maxVelocity||1e9;return Math.abs(e)>s&&(e=e>0?s:-s),e}_performStep(e){const t=this.body.nodes[e],r=this.physicsBody.forces[e];this.options.wind&&(r.x+=this.options.wind.x,r.y+=this.options.wind.y);const i=this.physicsBody.velocities[e];return this.previousStates[e]={x:t.x,y:t.y,vx:i.x,vy:i.y},t.options.fixed.x===!1?(i.x=this.calculateComponentVelocity(i.x,r.x,t.options.mass),t.x+=i.x*this.timestep):(r.x=0,i.x=0),t.options.fixed.y===!1?(i.y=this.calculateComponentVelocity(i.y,r.y,t.options.mass),t.y+=i.y*this.timestep):(r.y=0,i.y=0),Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2))}_freezeNodes(){const e=this.body.nodes;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t].x&&e[t].y){const r=e[t].options.fixed;this.freezeCache[t]={x:r.x,y:r.y},r.x=!0,r.y=!0}}_restoreFrozenNodes(){const e=this.body.nodes;for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.freezeCache[t]!==void 0&&(e[t].options.fixed.x=this.freezeCache[t].x,e[t].options.fixed.y=this.freezeCache[t].y);this.freezeCache={}}stabilize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.stabilization.iterations;if(typeof e!="number"&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),this.physicsBody.physicsNodeIndices.length===0){this.ready=!0;return}this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,ri(()=>this._stabilizationBatch(),0)}_startStabilizing(){return this.startedStabilization===!0?!1:(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}_stabilizationBatch(){const e=()=>this.stabilized===!1&&this.stabilizationIterations<this.targetIterations,t=()=>{this.body.emitter.emit("stabilizationProgress",{iterations:this.stabilizationIterations,total:this.targetIterations})};this._startStabilizing()&&t();let r=0;for(;e()&&r<this.options.stabilization.updateInterval;)this.physicsTick(),r++;if(t(),e()){var i;ri(z(i=this._stabilizationBatch).call(i,this),0)}else this._finalizeStabilization()}_finalizeStabilization(){this.body.emitter.emit("_allowRedraw"),this.options.stabilization.fit===!0&&this.body.emitter.emit("fit"),this.options.stabilization.onlyDynamicEdges===!0&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),this.stabilized===!0?this._emitStabilized():this.startSimulation(),this.ready=!0}_drawForces(e){for(let t=0;t<this.physicsBody.physicsNodeIndices.length;t++){const r=this.physicsBody.physicsNodeIndices[t],i=this.body.nodes[r],o=this.physicsBody.forces[r],s=20,a=.03,g=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.x,2)),A=Math.min(Math.max(5,g),15),I=3*A,C=lO((180-Math.min(1,Math.max(0,a*g))*180)/360,1,1),l={x:i.x+s*o.x,y:i.y+s*o.y};e.lineWidth=A,e.strokeStyle=C,e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(l.x,l.y),e.stroke();const d=Math.atan2(o.y,o.x);e.fillStyle=C,u7.draw(e,{type:"arrow",point:l,angle:d,length:I}),cg(e).call(e)}}},Lt=class{constructor(){}static getRange(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,o=1e9,s=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],o>a.shape.boundingBox.left&&(o=a.shape.boundingBox.left),s<a.shape.boundingBox.right&&(s=a.shape.boundingBox.right),r>a.shape.boundingBox.top&&(r=a.shape.boundingBox.top),i<a.shape.boundingBox.bottom&&(i=a.shape.boundingBox.bottom);return o===1e9&&s===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,o=0,s=0),{minX:o,maxX:s,minY:r,maxY:i}}static getRangeCore(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,o=1e9,s=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],o>a.x&&(o=a.x),s<a.x&&(s=a.x),r>a.y&&(r=a.y),i<a.y&&(i=a.y);return o===1e9&&s===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,o=0,s=0),{minX:o,maxX:s,minY:r,maxY:i}}static findCenter(e){return{x:.5*(e.maxX+e.minX),y:.5*(e.maxY+e.minY)}}static cloneOptions(e,t){const r={};return t===void 0||t==="node"?(Me(r,e.options,!0),r.x=e.x,r.y=e.y,r.amountOfConnections=e.edges.length):Me(r,e.options,!0),r}},ICe=class extends sr{constructor(e,t,r,i,o,s){super(e,t,r,i,o,s),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}_openChildCluster(e){const t=this.body.nodes[e];if(this.containedNodes[e]===void 0)throw new Error("node with id: "+e+" not in current cluster");if(!t.isCluster)throw new Error("node with id: "+e+" is not a cluster");delete this.containedNodes[e],de(t.edges,r=>{delete this.containedEdges[r.id]}),de(t.containedNodes,(r,i)=>{this.containedNodes[i]=r}),t.containedNodes={},de(t.containedEdges,(r,i)=>{this.containedEdges[i]=r}),t.containedEdges={},de(t.edges,r=>{de(this.edges,i=>{var o,s;const a=_e(o=i.clusteringEdgeReplacingIds).call(o,r.id);a!==-1&&(de(r.clusteringEdgeReplacingIds,g=>{i.clusteringEdgeReplacingIds.push(g),this.body.edges[g].edgeReplacedById=i.id}),ti(s=i.clusteringEdgeReplacingIds).call(s,a,1))})}),t.edges=[]}},CCe=class{constructor(e){this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},tt(this.options,this.defaultOptions),this.body.emitter.on("_resetData",()=>{this.clusteredNodes={},this.clusteredEdges={}})}clusterByHubsize(e,t){e===void 0?e=this._getHubSize():typeof e=="object"&&(t=this._checkOptions(e),e=this._getHubSize());const r=[];for(let i=0;i<this.body.nodeIndices.length;i++){const o=this.body.nodes[this.body.nodeIndices[i]];o.edges.length>=e&&r.push(o.id)}for(let i=0;i<r.length;i++)this.clusterByConnection(r[i],t,!0);this.body.emitter.emit("_dataChanged")}cluster(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.joinCondition===void 0)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);const r={},i={};de(this.body.nodes,(o,s)=>{o.options&&e.joinCondition(o.options)===!0&&(r[s]=o,de(o.edges,a=>{this.clusteredEdges[a.id]===void 0&&(i[a.id]=a)}))}),this._cluster(r,i,e,t)}clusterByEdgeCount(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;t=this._checkOptions(t);const i=[],o={};let s,a,g;for(let A=0;A<this.body.nodeIndices.length;A++){const I={},C={},l=this.body.nodeIndices[A],d=this.body.nodes[l];if(o[l]===void 0){g=0,a=[];for(let u=0;u<d.edges.length;u++)s=d.edges[u],this.clusteredEdges[s.id]===void 0&&(s.toId!==s.fromId&&g++,a.push(s));if(g===e){const u=function(v){if(t.joinCondition===void 0||t.joinCondition===null)return!0;const f=Lt.cloneOptions(v);return t.joinCondition(f)};let h=!0;for(let v=0;v<a.length;v++){s=a[v];const f=this._getConnectedId(s,l);if(u(d))C[s.id]=s,I[l]=d,I[f]=this.body.nodes[f],o[l]=!0;else{h=!1;break}}if(Be(I).length>0&&Be(C).length>0&&h===!0){const f=function(){for(let c=0;c<i.length;++c)for(const b in I)if(i[c].nodes[b]!==void 0)return i[c]}();if(f!==void 0){for(const c in I)f.nodes[c]===void 0&&(f.nodes[c]=I[c]);for(const c in C)f.edges[c]===void 0&&(f.edges[c]=C[c])}else i.push({nodes:I,edges:C})}}}}for(let A=0;A<i.length;A++)this._cluster(i[A].nodes,i[A].edges,t,!1);r===!0&&this.body.emitter.emit("_dataChanged")}clusterOutliers(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(1,e,t)}clusterBridges(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(2,e,t)}clusterByConnection(e,t){var r;let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No nodeId supplied to clusterByConnection!");if(this.body.nodes[e]===void 0)throw new Error("The nodeId given to clusterByConnection does not exist!");const o=this.body.nodes[e];t=this._checkOptions(t,o),t.clusterNodeProperties.x===void 0&&(t.clusterNodeProperties.x=o.x),t.clusterNodeProperties.y===void 0&&(t.clusterNodeProperties.y=o.y),t.clusterNodeProperties.fixed===void 0&&(t.clusterNodeProperties.fixed={},t.clusterNodeProperties.fixed.x=o.options.fixed.x,t.clusterNodeProperties.fixed.y=o.options.fixed.y);const s={},a={},g=o.id,A=Lt.cloneOptions(o);s[g]=o;for(let C=0;C<o.edges.length;C++){const l=o.edges[C];if(this.clusteredEdges[l.id]===void 0){const d=this._getConnectedId(l,g);if(this.clusteredNodes[d]===void 0)if(d!==g)if(t.joinCondition===void 0)a[l.id]=l,s[d]=this.body.nodes[d];else{const u=Lt.cloneOptions(this.body.nodes[d]);t.joinCondition(A,u)===!0&&(a[l.id]=l,s[d]=this.body.nodes[d])}else a[l.id]=l}}const I=Mt(r=Be(s)).call(r,function(C){return s[C].id});for(const C in s){if(!Object.prototype.hasOwnProperty.call(s,C))continue;const l=s[C];for(let d=0;d<l.edges.length;d++){const u=l.edges[d];_e(I).call(I,this._getConnectedId(u,l.id))>-1&&(a[u.id]=u)}}this._cluster(s,a,t,i)}_createClusterEdges(e,t,r,i){let o,s,a,g,A,I;const C=Be(e),l=[];for(let h=0;h<C.length;h++){s=C[h],a=e[s];for(let v=0;v<a.edges.length;v++)o=a.edges[v],this.clusteredEdges[o.id]===void 0&&(o.toId==o.fromId?t[o.id]=o:o.toId==s?(g=r.id,A=o.fromId,I=A):(g=o.toId,A=r.id,I=g),e[I]===void 0&&l.push({edge:o,fromId:A,toId:g}))}const d=[],u=function(h){for(let v=0;v<d.length;v++){const f=d[v],c=h.fromId===f.fromId&&h.toId===f.toId,b=h.fromId===f.toId&&h.toId===f.fromId;if(c||b)return f}return null};for(let h=0;h<l.length;h++){const v=l[h],f=v.edge;let c=u(v);c===null?(c=this._createClusteredEdge(v.fromId,v.toId,f,i),d.push(c)):c.clusteringEdgeReplacingIds.push(f.id),this.body.edges[f.id].edgeReplacedById=c.id,this._backupEdgeOptions(f),f.setOptions({physics:!1})}}_checkOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.clusterEdgeProperties===void 0&&(e.clusterEdgeProperties={}),e.clusterNodeProperties===void 0&&(e.clusterNodeProperties={}),e}_cluster(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;const o=[];for(const I in e)Object.prototype.hasOwnProperty.call(e,I)&&this.clusteredNodes[I]!==void 0&&o.push(I);for(let I=0;I<o.length;++I)delete e[o[I]];if(Be(e).length==0||Be(e).length==1&&r.clusterNodeProperties.allowSingleNodeCluster!=!0)return;let s=Me({},r.clusterNodeProperties);if(r.processProperties!==void 0){const I=[];for(const l in e)if(Object.prototype.hasOwnProperty.call(e,l)){const d=Lt.cloneOptions(e[l]);I.push(d)}const C=[];for(const l in t)if(Object.prototype.hasOwnProperty.call(t,l)&&l.substr(0,12)!=="clusterEdge:"){const d=Lt.cloneOptions(t[l],"edge");C.push(d)}if(s=r.processProperties(s,I,C),!s)throw new Error("The processProperties function does not return properties!")}s.id===void 0&&(s.id="cluster:"+is());const a=s.id;s.label===void 0&&(s.label="cluster");let g;s.x===void 0&&(g=this._getClusterPosition(e),s.x=g.x),s.y===void 0&&(g===void 0&&(g=this._getClusterPosition(e)),s.y=g.y),s.id=a;const A=this.body.functions.createNode(s,ICe);A.containedNodes=e,A.containedEdges=t,A.clusterEdgeProperties=r.clusterEdgeProperties,this.body.nodes[s.id]=A,this._clusterEdges(e,t,s,r.clusterEdgeProperties),s.id=void 0,i===!0&&this.body.emitter.emit("_dataChanged")}_backupEdgeOptions(e){this.clusteredEdges[e.id]===void 0&&(this.clusteredEdges[e.id]={physics:e.options.physics})}_restoreEdge(e){const t=this.clusteredEdges[e.id];t!==void 0&&(e.setOptions({physics:t.physics}),delete this.clusteredEdges[e.id])}isCluster(e){return this.body.nodes[e]!==void 0?this.body.nodes[e].isCluster===!0:(console.error("Node does not exist."),!1)}_getClusterPosition(e){const t=Be(e);let r=e[t[0]].x,i=e[t[0]].x,o=e[t[0]].y,s=e[t[0]].y,a;for(let g=1;g<t.length;g++)a=e[t[g]],r=a.x<r?a.x:r,i=a.x>i?a.x:i,o=a.y<o?a.y:o,s=a.y>s?a.y:s;return{x:.5*(r+i),y:.5*(o+s)}}openCluster(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No clusterNodeId supplied to openCluster.");const i=this.body.nodes[e];if(i===void 0)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(i.isCluster!==!0||i.containedNodes===void 0||i.containedEdges===void 0)throw new Error("The node:"+e+" is not a valid cluster.");const o=this.findNode(e),s=_e(o).call(o,e)-1;if(s>=0){const I=o[s];this.body.nodes[I]._openChildCluster(e),delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged");return}const a=i.containedNodes,g=i.containedEdges;if(t!==void 0&&t.releaseFunction!==void 0&&typeof t.releaseFunction=="function"){const I={},C={x:i.x,y:i.y};for(const d in a)if(Object.prototype.hasOwnProperty.call(a,d)){const u=this.body.nodes[d];I[d]={x:u.x,y:u.y}}const l=t.releaseFunction(C,I);for(const d in a)if(Object.prototype.hasOwnProperty.call(a,d)){const u=this.body.nodes[d];l[d]!==void 0&&(u.x=l[d].x===void 0?i.x:l[d].x,u.y=l[d].y===void 0?i.y:l[d].y)}}else de(a,function(I){I.options.fixed.x===!1&&(I.x=i.x),I.options.fixed.y===!1&&(I.y=i.y)});for(const I in a)if(Object.prototype.hasOwnProperty.call(a,I)){const C=this.body.nodes[I];C.vx=i.vx,C.vy=i.vy,C.setOptions({physics:!0}),delete this.clusteredNodes[I]}const A=[];for(let I=0;I<i.edges.length;I++)A.push(i.edges[I]);for(let I=0;I<A.length;I++){const C=A[I],l=this._getConnectedId(C,e),d=this.clusteredNodes[l];for(let u=0;u<C.clusteringEdgeReplacingIds.length;u++){const h=C.clusteringEdgeReplacingIds[u],v=this.body.edges[h];if(v!==void 0)if(d!==void 0){const f=this.body.nodes[d.clusterId];f.containedEdges[v.id]=v,delete g[v.id];let c=v.fromId,b=v.toId;v.toId==l?b=d.clusterId:c=d.clusterId,this._createClusteredEdge(c,b,v,f.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(v)}C.remove()}for(const I in g)Object.prototype.hasOwnProperty.call(g,I)&&this._restoreEdge(g[I]);delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged")}getNodesInCluster(e){const t=[];if(this.isCluster(e)===!0){const r=this.body.nodes[e].containedNodes;for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.push(this.body.nodes[i].id)}return t}findNode(e){const t=[];let i=0,o;for(;this.clusteredNodes[e]!==void 0&&i<100;){if(o=this.body.nodes[e],o===void 0)return[];t.push(o.id),e=this.clusteredNodes[e].clusterId,i++}return o=this.body.nodes[e],o===void 0?[]:(t.push(o.id),zn(t).call(t),t)}updateClusteredNode(e,t){if(e===void 0)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(t===void 0)throw new Error("No newOptions supplied to updateClusteredNode.");if(this.body.nodes[e]===void 0)throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[e].setOptions(t),this.body.emitter.emit("_dataChanged")}updateEdge(e,t){if(e===void 0)throw new Error("No startEdgeId supplied to updateEdge.");if(t===void 0)throw new Error("No newOptions supplied to updateEdge.");if(this.body.edges[e]===void 0)throw new Error("The startEdgeId supplied to updateEdge does not exist.");const r=this.getClusteredEdges(e);for(let i=0;i<r.length;i++)this.body.edges[r[i]].setOptions(t);this.body.emitter.emit("_dataChanged")}getClusteredEdges(e){const t=[];let i=0;for(;e!==void 0&&this.body.edges[e]!==void 0&&i<100;)t.push(this.body.edges[e].id),e=this.body.edges[e].edgeReplacedById,i++;return zn(t).call(t),t}getBaseEdge(e){return this.getBaseEdges(e)[0]}getBaseEdges(e){const t=[e],r=[],i=[],o=100;let s=0;for(;t.length>0&&s<o;){const a=t.pop();if(a===void 0)continue;const g=this.body.edges[a];if(g===void 0)continue;s++;const A=g.clusteringEdgeReplacingIds;if(A===void 0)i.push(a);else for(let I=0;I<A.length;++I){const C=A[I];_e(t).call(t,A)!==-1||_e(r).call(r,A)!==-1||t.push(C)}r.push(a)}return i}_getConnectedId(e,t){return e.toId!=t?e.toId:(e.fromId!=t,e.fromId)}_getHubSize(){let e=0,t=0,r=0,i=0;for(let g=0;g<this.body.nodeIndices.length;g++){const A=this.body.nodes[this.body.nodeIndices[g]];A.edges.length>i&&(i=A.edges.length),e+=A.edges.length,t+=Math.pow(A.edges.length,2),r+=1}e=e/r,t=t/r;const o=t-Math.pow(e,2),s=Math.sqrt(o);let a=Math.floor(e+2*s);return a>i&&(a=i),a}_createClusteredEdge(e,t,r,i,o){const s=Lt.cloneOptions(r,"edge");Me(s,i),s.from=e,s.to=t,s.id="clusterEdge:"+is(),o!==void 0&&Me(s,o);const a=this.body.functions.createEdge(s);return a.clusteringEdgeReplacingIds=[r.id],a.connect(),this.body.edges[a.id]=a,a}_clusterEdges(e,t,r,i){if(t instanceof ns){const o=t,s={};s[o.id]=o,t=s}if(e instanceof sr){const o=e,s={};s[o.id]=o,e=s}if(r==null)throw new Error("_clusterEdges: parameter clusterNode required");i===void 0&&(i=r.clusterEdgeProperties),this._createClusterEdges(e,t,r,i);for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&this.body.edges[o]!==void 0){const s=this.body.edges[o];this._backupEdgeOptions(s),s.setOptions({physics:!1})}for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(this.clusteredNodes[o]={clusterId:r.id,node:this.body.nodes[o]},this.body.nodes[o].setOptions({physics:!1}))}_getClusterNodeForNode(e){if(e===void 0)return;const t=this.clusteredNodes[e];if(t===void 0)return;const r=t.clusterId;if(r!==void 0)return this.body.nodes[r]}_filter(e,t){const r=[];return de(e,i=>{t(i)&&r.push(i)}),r}_updateState(){let e;const t=[],r={},i=g=>{de(this.body.nodes,A=>{A.isCluster===!0&&g(A)})};for(e in this.clusteredNodes){if(!Object.prototype.hasOwnProperty.call(this.clusteredNodes,e))continue;this.body.nodes[e]===void 0&&t.push(e)}i(function(g){for(let A=0;A<t.length;A++)delete g.containedNodes[t[A]]});for(let g=0;g<t.length;g++)delete this.clusteredNodes[t[g]];de(this.clusteredEdges,g=>{const A=this.body.edges[g];(A===void 0||!A.endPointsValid())&&(r[g]=g)}),i(function(g){de(g.containedEdges,(A,I)=>{!A.endPointsValid()&&!r[I]&&(r[I]=I)})}),de(this.body.edges,(g,A)=>{let I=!0;const C=g.clusteringEdgeReplacingIds;if(C!==void 0){let l=0;de(C,d=>{const u=this.body.edges[d];u!==void 0&&u.endPointsValid()&&(l+=1)}),I=l>0}(!g.endPointsValid()||!I)&&(r[A]=A)}),i(g=>{de(r,A=>{delete g.containedEdges[A],de(g.edges,(I,C)=>{if(I.id===A){g.edges[C]=null;return}I.clusteringEdgeReplacingIds=this._filter(I.clusteringEdgeReplacingIds,function(l){return!r[l]})}),g.edges=this._filter(g.edges,function(I){return I!==null})})}),de(r,g=>{delete this.clusteredEdges[g]}),de(r,g=>{delete this.body.edges[g]});const o=Be(this.body.edges);de(o,g=>{const A=this.body.edges[g],I=this._isClusteredNode(A.fromId)||this._isClusteredNode(A.toId);if(I!==this._isClusteredEdge(A.id))if(I){const C=this._getClusterNodeForNode(A.fromId);C!==void 0&&this._clusterEdges(this.body.nodes[A.fromId],A,C);const l=this._getClusterNodeForNode(A.toId);l!==void 0&&this._clusterEdges(this.body.nodes[A.toId],A,l)}else delete this._clusterEdges[g],this._restoreEdge(A)});let s=!1,a=!0;for(;a;){const g=[];i(function(A){const I=Be(A.containedNodes).length,C=A.options.allowSingleNodeCluster===!0;(C&&I<1||!C&&I<2)&&g.push(A.id)});for(let A=0;A<g.length;++A)this.openCluster(g[A],{},!1);a=g.length>0,s=s||a}s&&this._updateState()}_isClusteredNode(e){return this.clusteredNodes[e]!==void 0}_isClusteredEdge(e){return this.clusteredEdges[e]!==void 0}},lCe=class{constructor(e,t){this.body=e,this.canvas=t,this.redrawRequested=!1,this.requestAnimationFrameRequestId=void 0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.on("dragStart",()=>{this.dragging=!0}),this.body.emitter.on("dragEnd",()=>{this.dragging=!1}),this.body.emitter.on("zoom",()=>{this.zooming=!0,window.clearTimeout(this.zoomTimeoutId),this.zoomTimeoutId=ri(()=>{var t;this.zooming=!1,z(t=this._requestRedraw).call(t,this)()},250)}),this.body.emitter.on("_resizeNodes",()=>{this._resizeNodes()}),this.body.emitter.on("_redraw",()=>{this.renderingActive===!1&&this._redraw()}),this.body.emitter.on("_blockRedraw",()=>{this.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",()=>{this.allowRedraw=!0,this.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",z(e=this._requestRedraw).call(e,this)),this.body.emitter.on("_startRendering",()=>{this.renderRequests+=1,this.renderingActive=!0,this._startRendering()}),this.body.emitter.on("_stopRendering",()=>{this.renderRequests-=1,this.renderingActive=this.renderRequests>0,this.requestAnimationFrameRequestId=void 0}),this.body.emitter.on("destroy",()=>{this.renderRequests=0,this.allowRedraw=!1,this.renderingActive=!1,window.cancelAnimationFrame(this.requestAnimationFrameRequestId),this.body.emitter.off()})}setOptions(e){e!==void 0&&zs(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,e)}_startRendering(){if(this.renderingActive===!0&&this.requestAnimationFrameRequestId===void 0){var e;this.requestAnimationFrameRequestId=window.requestAnimationFrame(z(e=this._renderStep).call(e,this),this.simulationInterval)}}_renderStep(){this.renderingActive===!0&&(this.requestAnimationFrameRequestId=void 0,this._startRendering(),this._redraw())}redraw(){this.body.emitter.emit("setSize"),this._redraw()}_requestRedraw(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,window.requestAnimationFrame(()=>{this._redraw(!1)}))}_redraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;const t={drawExternalLabels:null};(this.canvas.frame.canvas.width===0||this.canvas.frame.canvas.height===0)&&this.canvas.setSize(),this.canvas.setTransform();const r=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(r.clearRect(0,0,i,o),this.canvas.frame.clientWidth===0)return;if(r.save(),r.translate(this.body.view.translation.x,this.body.view.translation.y),r.scale(this.body.view.scale,this.body.view.scale),r.beginPath(),this.body.emitter.emit("beforeDrawing",r),r.closePath(),e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawEdges(r),this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1){const{drawExternalLabels:s}=this._drawNodes(r,e);t.drawExternalLabels=s}e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawArrows(r),t.drawExternalLabels!=null&&t.drawExternalLabels(),e===!1&&this._drawSelectionBox(r),r.beginPath(),this.body.emitter.emit("afterDrawing",r),r.closePath(),r.restore(),e===!0&&r.clearRect(0,0,i,o)}}_resizeNodes(){this.canvas.setTransform();const e=this.canvas.getContext();e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale);const t=this.body.nodes;let r;for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r=t[i],r.resize(e),r.updateBoundingBox(e,r.selected));e.restore()}_drawNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.nodes,i=this.body.nodeIndices;let o;const s=[],a=[],g=20,A=this.canvas.DOMtoCanvas({x:-g,y:-g}),I=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+g,y:this.canvas.frame.canvas.clientHeight+g}),C={top:A.y,left:A.x,bottom:I.y,right:I.x},l=[];for(let v=0;v<i.length;v++)if(o=r[i[v]],o.hover)a.push(i[v]);else if(o.isSelected())s.push(i[v]);else if(t===!0){const f=o.draw(e);f.drawExternalLabel!=null&&l.push(f.drawExternalLabel)}else if(o.isBoundingBoxOverlappingWith(C)===!0){const f=o.draw(e);f.drawExternalLabel!=null&&l.push(f.drawExternalLabel)}else o.updateBoundingBox(e,o.selected);let d;const u=s.length,h=a.length;for(d=0;d<u;d++){o=r[s[d]];const v=o.draw(e);v.drawExternalLabel!=null&&l.push(v.drawExternalLabel)}for(d=0;d<h;d++){o=r[a[d]];const v=o.draw(e);v.drawExternalLabel!=null&&l.push(v.drawExternalLabel)}return{drawExternalLabels:()=>{for(const v of l)v()}}}_drawEdges(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const o=t[r[i]];o.connected===!0&&o.draw(e)}}_drawArrows(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const o=t[r[i]];o.connected===!0&&o.drawArrows(e)}}_drawSelectionBox(e){if(this.body.selectionBox.show){e.beginPath();const t=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,r=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;e.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.fillStyle="rgba(151, 194, 252, 0.2)",e.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.strokeStyle="rgba(151, 194, 252, 1)",e.stroke()}else e.closePath()}};var yf,Bk;function dCe(){if(Bk)return yf;Bk=1,CQ();var n=Ee();return yf=n.setInterval,yf}var bf,zk;function uCe(){return zk||(zk=1,bf=dCe()),bf}var hCe=uCe(),cCe=ne(hCe);function WA(n,e){e.inputHandler=function(t){t.isFirst&&e(t)},n.on("hammer.input",e.inputHandler)}function p7(n,e){return e.inputHandler=function(t){t.isFinal&&e(t)},n.on("hammer.input",e.inputHandler)}let fCe=class{constructor(e){this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.once("resize",t=>{t.width!==0&&(this.body.view.translation.x=t.width*.5),t.height!==0&&(this.body.view.translation.y=t.height*.5)}),this.body.emitter.on("setSize",z(e=this.setSize).call(e,this)),this.body.emitter.on("destroy",()=>{this.hammerFrame.destroy(),this.hammer.destroy(),this._cleanUp()})}setOptions(e){if(e!==void 0&&zs(["width","height","autoResize"],this.options,e),this._cleanUp(),this.options.autoResize===!0){var t;if(window.ResizeObserver){const i=new ResizeObserver(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")}),{frame:o}=this;i.observe(o),this._cleanupCallbacks.push(()=>{i.unobserve(o)})}else{const i=cCe(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")},1e3);this._cleanupCallbacks.push(()=>{clearInterval(i)})}const r=z(t=this._onResize).call(t,this);window.addEventListener("resize",r),this._cleanupCallbacks.push(()=>{window.removeEventListener("resize",r)})}}_cleanUp(){var e,t,r;be(e=zn(t=ti(r=this._cleanupCallbacks).call(r,0)).call(t)).call(e,i=>{try{i()}catch(o){console.error(o)}})}_onResize(){this.setSize(),this.body.emitter.emit("_redraw")}_getCameraState(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/e,this.cameraState.previousHeight=this.frame.canvas.height/e,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/e,y:.5*this.frame.canvas.height/e}))}_setCameraState(){if(this.cameraState.scale!==void 0&&this.frame.canvas.clientWidth!==0&&this.frame.canvas.clientHeight!==0&&this.pixelRatio!==0&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){const e=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,t=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight;let r=this.cameraState.scale;e!=1&&t!=1?r=this.cameraState.scale*.5*(e+t):e!=1?r=this.cameraState.scale*e:t!=1&&(r=this.cameraState.scale*t),this.body.view.scale=r;const i=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),o={x:i.x-this.cameraState.position.x,y:i.y-this.cameraState.position.y};this.body.view.translation.x+=o.x*this.body.view.scale,this.body.view.translation.y+=o.y*this.body.view.scale}}_prepareValue(e){if(typeof e=="number")return e+"px";if(typeof e=="string"){if(_e(e).call(e,"%")!==-1||_e(e).call(e,"px")!==-1)return e;if(_e(e).call(e,"%")===-1)return e+"px"}throw new Error("Could not use the value supplied for width or height:"+e)}_create(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{const e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}_bindHammer(){this.hammer!==void 0&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new rs(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:rs.DIRECTION_ALL}),WA(this.hammer,e=>{this.body.eventListeners.onTouch(e)}),this.hammer.on("tap",e=>{this.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",e=>{this.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",e=>{this.body.eventListeners.onHold(e)}),this.hammer.on("panstart",e=>{this.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",e=>{this.body.eventListeners.onDrag(e)}),this.hammer.on("panend",e=>{this.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",e=>{this.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("wheel",e=>{this.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",e=>{this.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",e=>{this.body.eventListeners.onContext(e)}),this.hammerFrame=new rs(this.frame),p7(this.hammerFrame,e=>{this.body.eventListeners.onRelease(e)})}setSize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.width,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.height;e=this._prepareValue(e),t=this._prepareValue(t);let r=!1;const i=this.frame.canvas.width,o=this.frame.canvas.height,s=this.pixelRatio;if(this._setPixelRatio(),e!=this.options.width||t!=this.options.height||this.frame.style.width!=e||this.frame.style.height!=t)this._getCameraState(s),this.frame.style.width=e,this.frame.style.height=t,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=e,this.options.height=t,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},r=!0;else{const a=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),g=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);(this.frame.canvas.width!==a||this.frame.canvas.height!==g)&&this._getCameraState(s),this.frame.canvas.width!==a&&(this.frame.canvas.width=a,r=!0),this.frame.canvas.height!==g&&(this.frame.canvas.height=g,r=!0)}return r===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(i/this.pixelRatio),oldHeight:Math.round(o/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,r}getContext(){return this.frame.canvas.getContext("2d")}_determinePixelRatio(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");let t=1;typeof window<"u"&&(t=window.devicePixelRatio||1);const r=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/r}_setPixelRatio(){this.pixelRatio=this._determinePixelRatio()}setTransform(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}_XconvertDOMtoCanvas(e){return(e-this.body.view.translation.x)/this.body.view.scale}_XconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.x}_YconvertDOMtoCanvas(e){return(e-this.body.view.translation.y)/this.body.view.scale}_YconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.y}canvasToDOM(e){return{x:this._XconvertCanvasToDOM(e.x),y:this._YconvertCanvasToDOM(e.y)}}DOMtoCanvas(e){return{x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)}}};function pCe(n,e){const t=tt({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},n??{});if(!we(t.nodes))throw new TypeError("Nodes has to be an array of ids.");if(t.nodes.length===0&&(t.nodes=e),!(typeof t.minZoomLevel=="number"&&t.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!(typeof t.maxZoomLevel=="number"&&t.minZoomLevel<=t.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return t}let vCe=class{constructor(e,t){var r,i;this.body=e,this.canvas=t,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",z(r=this.fit).call(r,this)),this.body.emitter.on("animationFinished",()=>{this.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",z(i=this.releaseNode).call(i,this))}setOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=e}fit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;e=pCe(e,this.body.nodeIndices);const r=this.canvas.frame.canvas.clientWidth,i=this.canvas.frame.canvas.clientHeight;let o,s;if(r===0||i===0)s=1,o=Lt.getRange(this.body.nodes,e.nodes);else if(t===!0){let A=0;for(const l in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,l)&&this.body.nodes[l].predefinedPosition===!0&&(A+=1);if(A>.5*this.body.nodeIndices.length){this.fit(e,!1);return}o=Lt.getRange(this.body.nodes,e.nodes),s=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;const C=Math.min(r/600,i/600);s*=C}else{this.body.emitter.emit("_resizeNodes"),o=Lt.getRange(this.body.nodes,e.nodes);const A=Math.abs(o.maxX-o.minX)*1.1,I=Math.abs(o.maxY-o.minY)*1.1,C=r/A,l=i/I;s=C<=l?C:l}s>e.maxZoomLevel?s=e.maxZoomLevel:s<e.minZoomLevel&&(s=e.minZoomLevel);const g={position:Lt.findCenter(o),scale:s,animation:e.animation};this.moveTo(g)}focus(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.body.nodes[e]!==void 0){const r={x:this.body.nodes[e].x,y:this.body.nodes[e].y};t.position=r,t.lockedOnNode=e,this.moveTo(t)}else console.error("Node: "+e+" cannot be found.")}moveTo(e){if(e===void 0){e={};return}if(e.offset!=null){if(e.offset.x!=null){if(e.offset.x=+e.offset.x,!Nn(e.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else e.offset.x=0;if(e.offset.y!=null){if(e.offset.y=+e.offset.y,!Nn(e.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else e.offset.x=0}else e.offset={x:0,y:0};if(e.position!=null){if(e.position.x!=null){if(e.position.x=+e.position.x,!Nn(e.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else e.position.x=0;if(e.position.y!=null){if(e.position.y=+e.position.y,!Nn(e.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else e.position.x=0}else e.position=this.getViewPosition();if(e.scale!=null){if(e.scale=+e.scale,!(e.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else e.scale=this.body.view.scale;e.animation===void 0&&(e.animation={duration:0}),e.animation===!1&&(e.animation={duration:0}),e.animation===!0&&(e.animation={}),e.animation.duration===void 0&&(e.animation.duration=1e3),e.animation.easingFunction===void 0&&(e.animation.easingFunction="easeInOutQuad"),this.animateView(e)}animateView(e){if(e===void 0)return;this.animationEasingFunction=e.animation.easingFunction,this.releaseNode(),e.locked===!0&&(this.lockedOnNodeId=e.lockedOnNode,this.lockedOnNodeOffset=e.offset),this.easingTime!=0&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=e.scale,this.body.view.scale=this.targetScale;const t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.position.x,y:t.y-e.position.y};if(this.targetTranslation={x:this.sourceTranslation.x+r.x*this.targetScale+e.offset.x,y:this.sourceTranslation.y+r.y*this.targetScale+e.offset.y},e.animation.duration===0)if(this.lockedOnNodeId!=null){var i;this.viewFunction=z(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction)}else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else{var o;this.animationSpeed=1/(60*e.animation.duration*.001)||1/60,this.animationEasingFunction=e.animation.easingFunction,this.viewFunction=z(o=this._transitionRedraw).call(o,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}_lockedRedraw(){const e={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.x,y:t.y-e.y},i=this.body.view.translation,o={x:i.x+r.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:i.y+r.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=o}releaseNode(){this.lockedOnNodeId!==void 0&&this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}_transitionRedraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.easingTime+=this.animationSpeed,this.easingTime=e===!0?1:this.easingTime;const t=yse[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*t,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*t,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*t},this.easingTime>=1){if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,this.lockedOnNodeId!=null){var r;this.viewFunction=z(r=this._lockedRedraw).call(r,this),this.body.emitter.on("initRedraw",this.viewFunction)}this.body.emitter.emit("animationFinished")}}getScale(){return this.body.view.scale}getViewPosition(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}};function jk(n){var e=n&&n.preventDefault||!1,t=n&&n.container||window,r={},i={keydown:{},keyup:{}},o={},s;for(s=97;s<=122;s++)o[String.fromCharCode(s)]={code:65+(s-97),shift:!1};for(s=65;s<=90;s++)o[String.fromCharCode(s)]={code:s,shift:!0};for(s=0;s<=9;s++)o[""+s]={code:48+s,shift:!1};for(s=1;s<=12;s++)o["F"+s]={code:111+s,shift:!1};for(s=0;s<=9;s++)o["num"+s]={code:96+s,shift:!1};o["num*"]={code:106,shift:!1},o["num+"]={code:107,shift:!1},o["num-"]={code:109,shift:!1},o["num/"]={code:111,shift:!1},o["num."]={code:110,shift:!1},o.left={code:37,shift:!1},o.up={code:38,shift:!1},o.right={code:39,shift:!1},o.down={code:40,shift:!1},o.space={code:32,shift:!1},o.enter={code:13,shift:!1},o.shift={code:16,shift:void 0},o.esc={code:27,shift:!1},o.backspace={code:8,shift:!1},o.tab={code:9,shift:!1},o.ctrl={code:17,shift:!1},o.alt={code:18,shift:!1},o.delete={code:46,shift:!1},o.pageup={code:33,shift:!1},o.pagedown={code:34,shift:!1},o["="]={code:187,shift:!1},o["-"]={code:189,shift:!1},o["]"]={code:221,shift:!1},o["["]={code:219,shift:!1};var a=function(I){A(I,"keydown")},g=function(I){A(I,"keyup")},A=function(I,C){if(i[C][I.keyCode]!==void 0){for(var l=i[C][I.keyCode],d=0;d<l.length;d++)(l[d].shift===void 0||l[d].shift==!0&&I.shiftKey==!0||l[d].shift==!1&&I.shiftKey==!1)&&l[d].fn(I);e==!0&&I.preventDefault()}};return r.bind=function(I,C,l){if(l===void 0&&(l="keydown"),o[I]===void 0)throw new Error("unsupported key: "+I);i[l][o[I].code]===void 0&&(i[l][o[I].code]=[]),i[l][o[I].code].push({fn:C,shift:o[I].shift})},r.bindAll=function(I,C){C===void 0&&(C="keydown");for(var l in o)o.hasOwnProperty(l)&&r.bind(l,I,C)},r.getKey=function(I){for(var C in o)if(o.hasOwnProperty(C)){if(I.shiftKey==!0&&o[C].shift==!0&&I.keyCode==o[C].code)return C;if(I.shiftKey==!1&&o[C].shift==!1&&I.keyCode==o[C].code)return C;if(I.keyCode==o[C].code&&C=="shift")return C}return"unknown key, currently not supported"},r.unbind=function(I,C,l){if(l===void 0&&(l="keydown"),o[I]===void 0)throw new Error("unsupported key: "+I);if(C!==void 0){var d=[],u=i[l][o[I].code];if(u!==void 0)for(var h=0;h<u.length;h++)u[h].fn==C&&u[h].shift==o[I].shift||d.push(i[l][o[I].code][h]);i[l][o[I].code]=d}else i[l][o[I].code]=[]},r.reset=function(){i={keydown:{},keyup:{}}},r.destroy=function(){i={keydown:{},keyup:{}},t.removeEventListener("keydown",a,!0),t.removeEventListener("keyup",g,!0)},t.addEventListener("keydown",a,!0),t.addEventListener("keyup",g,!0),r}let mCe=class{constructor(e,t){this.body=e,this.canvas=t,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",()=>{this.activated=!0,this.configureKeyboardBindings()}),this.body.emitter.on("deactivate",()=>{this.activated=!1,this.configureKeyboardBindings()}),this.body.emitter.on("destroy",()=>{this.keycharm!==void 0&&this.keycharm.destroy()}),this.options={}}setOptions(e){e!==void 0&&(this.options=e,this.create())}create(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}cleanNavigation(){if(this.navigationHammers.length!=0){for(let e=0;e<this.navigationHammers.length;e++)this.navigationHammers[e].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}loadNavigationElements(){this.cleanNavigation(),this.navigationDOM={};const e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],t=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(let s=0;s<e.length;s++){this.navigationDOM[e[s]]=document.createElement("div"),this.navigationDOM[e[s]].className="vis-button vis-"+e[s],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[s]]);const a=new rs(this.navigationDOM[e[s]]);if(t[s]==="_fit"){var r;WA(a,z(r=this._fit).call(r,this))}else{var i;WA(a,z(i=this.bindToRedraw).call(i,this,t[s]))}this.navigationHammers.push(a)}const o=new rs(this.canvas.frame);p7(o,()=>{this._stopMovement()}),this.navigationHammers.push(o),this.iconsCreated=!0}bindToRedraw(e){if(this.boundFunctions[e]===void 0){var t;this.boundFunctions[e]=z(t=this[e]).call(t,this),this.body.emitter.on("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_startRendering")}}unbindFromRedraw(e){this.boundFunctions[e]!==void 0&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[e])}_fit(){new Date().valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=new Date().valueOf())}_stopMovement(){for(const e in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,e)&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}_moveUp(){this.body.view.translation.y+=this.options.keyboard.speed.y}_moveDown(){this.body.view.translation.y-=this.options.keyboard.speed.y}_moveLeft(){this.body.view.translation.x+=this.options.keyboard.speed.x}_moveRight(){this.body.view.translation.x-=this.options.keyboard.speed.x}_zoomIn(){const e=this.body.view.scale,t=this.body.view.scale*(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,o=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,s=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:o,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}_zoomOut(){const e=this.body.view.scale,t=this.body.view.scale/(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,o=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,s=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:o,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}configureKeyboardBindings(){if(this.keycharm!==void 0&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=jk({container:window,preventDefault:!0}):this.keycharm=jk({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0)){var e,t,r,i,o,s,a,g,A,I,C,l,d,u,h,v,f,c,b,p,y,E,S,m;z(e=this.keycharm).call(e,"up",()=>{this.bindToRedraw("_moveUp")},"keydown"),z(t=this.keycharm).call(t,"down",()=>{this.bindToRedraw("_moveDown")},"keydown"),z(r=this.keycharm).call(r,"left",()=>{this.bindToRedraw("_moveLeft")},"keydown"),z(i=this.keycharm).call(i,"right",()=>{this.bindToRedraw("_moveRight")},"keydown"),z(o=this.keycharm).call(o,"=",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(s=this.keycharm).call(s,"num+",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(a=this.keycharm).call(a,"num-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(g=this.keycharm).call(g,"-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(A=this.keycharm).call(A,"[",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(I=this.keycharm).call(I,"]",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(C=this.keycharm).call(C,"pageup",()=>{this.bindToRedraw("_zoomIn")},"keydown"),z(l=this.keycharm).call(l,"pagedown",()=>{this.bindToRedraw("_zoomOut")},"keydown"),z(d=this.keycharm).call(d,"up",()=>{this.unbindFromRedraw("_moveUp")},"keyup"),z(u=this.keycharm).call(u,"down",()=>{this.unbindFromRedraw("_moveDown")},"keyup"),z(h=this.keycharm).call(h,"left",()=>{this.unbindFromRedraw("_moveLeft")},"keyup"),z(v=this.keycharm).call(v,"right",()=>{this.unbindFromRedraw("_moveRight")},"keyup"),z(f=this.keycharm).call(f,"=",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(c=this.keycharm).call(c,"num+",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(b=this.keycharm).call(b,"num-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),z(p=this.keycharm).call(p,"-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),z(y=this.keycharm).call(y,"[",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),z(E=this.keycharm).call(E,"]",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(S=this.keycharm).call(S,"pageup",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),z(m=this.keycharm).call(m,"pagedown",()=>{this.unbindFromRedraw("_zoomOut")},"keyup")}}},yCe=class{constructor(e,t,r){var i,o,s,a,g,A,I,C,l,d,u,h,v;this.body=e,this.canvas=t,this.selectionHandler=r,this.navigationHandler=new mCe(e,t),this.body.eventListeners.onTap=z(i=this.onTap).call(i,this),this.body.eventListeners.onTouch=z(o=this.onTouch).call(o,this),this.body.eventListeners.onDoubleTap=z(s=this.onDoubleTap).call(s,this),this.body.eventListeners.onHold=z(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=z(g=this.onDragStart).call(g,this),this.body.eventListeners.onDrag=z(A=this.onDrag).call(A,this),this.body.eventListeners.onDragEnd=z(I=this.onDragEnd).call(I,this),this.body.eventListeners.onMouseWheel=z(C=this.onMouseWheel).call(C,this),this.body.eventListeners.onPinch=z(l=this.onPinch).call(l,this),this.body.eventListeners.onMouseMove=z(d=this.onMouseMove).call(d,this),this.body.eventListeners.onRelease=z(u=this.onRelease).call(u,this),this.body.eventListeners.onContext=z(h=this.onContext).call(h,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=z(v=this.getPointer).call(v,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("destroy",()=>{clearTimeout(this.popupTimer),delete this.body.functions.getPointer})}setOptions(e){e!==void 0&&(zA(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,e),dr(this.options,e,"keyboard"),e.tooltip&&(tt(this.options.tooltip,e.tooltip),e.tooltip.color&&(this.options.tooltip.color=CO(e.tooltip.color)))),this.navigationHandler.setOptions(this.options)}getPointer(e){return{x:e.x-fse(this.canvas.frame.canvas),y:e.y-pse(this.canvas.frame.canvas)}}onTouch(e){new Date().valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(e.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=new Date().valueOf())}onTap(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect&&(e.changedPointers[0].ctrlKey||e.changedPointers[0].metaKey);this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t)}onDoubleTap(e){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("doubleClick",e,t)}onHold(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect;this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t),this.selectionHandler.generateClickEvent("hold",e,t)}onRelease(e){if(new Date().valueOf()-this.touchTime>10){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("release",e,t),this.touchTime=new Date().valueOf()}}onContext(e){const t=this.getPointer({x:e.clientX,y:e.clientY});this.selectionHandler.generateClickEvent("oncontext",e,t)}checkSelectionChanges(e){(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)===!0?this.selectionHandler.selectAdditionalOnPoint(e):this.selectionHandler.selectOnPoint(e)}_determineDifference(e,t){const r=function(i,o){const s=[];for(let a=0;a<i.length;a++){const g=i[a];_e(o).call(o,g)===-1&&s.push(g)}return s};return{nodes:r(e.nodes,t.nodes),edges:r(e.edges,t.edges)}}onDragStart(e){if(this.drag.dragging)return;this.drag.pointer===void 0&&this.onTouch(e);const t=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=tt({},this.body.view.translation),this.drag.nodeId=void 0,e.srcEvent.shiftKey){this.body.selectionBox.show=!0;const r=this.getPointer(e.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)}}else if(t!==void 0&&this.options.dragNodes===!0){this.drag.nodeId=t.id,t.isSelected()===!1&&this.selectionHandler.setSelection({nodes:[t.id]}),this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer);for(const r of this.selectionHandler.getSelectedNodes()){const i={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(i)}}else this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer,void 0,!0)}onDrag(e){if(this.drag.pinched===!0)return;this.body.emitter.emit("unlockNode");const t=this.getPointer(e.center),r=this.drag.selection;if(r&&r.length&&this.options.dragNodes===!0){this.selectionHandler.generateClickEvent("dragging",e,t);const i=t.x-this.drag.pointer.x,o=t.y-this.drag.pointer.y;be(r).call(r,s=>{const a=s.node;s.xFixed===!1&&(a.x=this.canvas._XconvertDOMtoCanvas(this.canvas._XconvertCanvasToDOM(s.x)+i)),s.yFixed===!1&&(a.y=this.canvas._YconvertDOMtoCanvas(this.canvas._YconvertCanvasToDOM(s.y)+o))}),this.body.emitter.emit("startSimulation")}else{if(e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)},this.body.emitter.emit("_requestRedraw")}if(this.options.dragView===!0&&!e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}const i=t.x-this.drag.pointer.x,o=t.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+i,y:this.drag.translation.y+o},this.body.emitter.emit("_requestRedraw")}}}onDragEnd(e){if(this.drag.dragging=!1,this.body.selectionBox.show){var t;this.body.selectionBox.show=!1;const r=this.body.selectionBox.position,i={minX:Math.min(r.start.x,r.end.x),minY:Math.min(r.start.y,r.end.y),maxX:Math.max(r.start.x,r.end.x),maxY:Math.max(r.start.y,r.end.y)},o=st(t=this.body.nodeIndices).call(t,a=>{const g=this.body.nodes[a];return g.x>=i.minX&&g.x<=i.maxX&&g.y>=i.minY&&g.y<=i.maxY});be(o).call(o,a=>this.selectionHandler.selectObject(this.body.nodes[a]));const s=this.getPointer(e.center);this.selectionHandler.commitAndEmit(s,e),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{const r=this.drag.selection;r&&r.length?(be(r).call(r,function(i){i.node.options.fixed.x=i.xFixed,i.node.options.fixed.y=i.yFixed}),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}onPinch(e){const t=this.getPointer(e.center);this.drag.pinched=!0,this.pinch.scale===void 0&&(this.pinch.scale=1);const r=this.pinch.scale*e.scale;this.zoom(r,t)}zoom(e,t){if(this.options.zoomView===!0){const r=this.body.view.scale;e<1e-5&&(e=1e-5),e>10&&(e=10);let i;this.drag!==void 0&&this.drag.dragging===!0&&(i=this.canvas.DOMtoCanvas(this.drag.pointer));const o=this.body.view.translation,s=e/r,a=(1-s)*t.x+o.x*s,g=(1-s)*t.y+o.y*s;if(this.body.view.scale=e,this.body.view.translation={x:a,y:g},i!=null){const A=this.canvas.canvasToDOM(i);this.drag.pointer.x=A.x,this.drag.pointer.y=A.y}this.body.emitter.emit("_requestRedraw"),r<e?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:t}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:t})}}onMouseWheel(e){if(this.options.zoomView===!0){if(e.deltaY!==0){let t=this.body.view.scale;t*=1+(e.deltaY<0?1:-1)*(this.options.zoomSpeed*.1);const r=this.getPointer({x:e.clientX,y:e.clientY});this.zoom(t,r)}e.preventDefault()}}onMouseMove(e){const t=this.getPointer({x:e.clientX,y:e.clientY});let r=!1;this.popup!==void 0&&(this.popup.hidden===!1&&this._checkHidePopup(t),this.popup.hidden===!1&&(r=!0,this.popup.setPosition(t.x+3,t.y-5),this.popup.show())),this.options.keyboard.autoFocus&&this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),r===!1&&(this.popupTimer!==void 0&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=ri(()=>this._checkShowPopup(t),this.options.tooltipDelay))),this.options.hover===!0&&this.selectionHandler.hoverObject(e,t)}_checkShowPopup(e){const t=this.canvas._XconvertDOMtoCanvas(e.x),r=this.canvas._YconvertDOMtoCanvas(e.y),i={left:t,top:r,right:t,bottom:r},o=this.popupObj===void 0?void 0:this.popupObj.id;let s=!1,a="node";if(this.popupObj===void 0){const g=this.body.nodeIndices,A=this.body.nodes;let I;const C=[];for(let l=0;l<g.length;l++)I=A[g[l]],I.isOverlappingWith(i)===!0&&(s=!0,I.getTitle()!==void 0&&C.push(g[l]));C.length>0&&(this.popupObj=A[C[C.length-1]],s=!0)}if(this.popupObj===void 0&&s===!1){const g=this.body.edgeIndices,A=this.body.edges;let I;const C=[];for(let l=0;l<g.length;l++)I=A[g[l]],I.isOverlappingWith(i)===!0&&I.connected===!0&&I.getTitle()!==void 0&&C.push(g[l]);C.length>0&&(this.popupObj=A[C[C.length-1]],a="edge")}this.popupObj!==void 0?this.popupObj.id!==o&&(this.popup===void 0&&(this.popup=new Rse(this.canvas.frame)),this.popup.popupTargetType=a,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(e.x+3,e.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):this.popup!==void 0&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}_checkHidePopup(e){const t=this.selectionHandler._pointerToPositionObject(e);let r=!1;if(this.popup.popupTargetType==="node"){if(this.body.nodes[this.popup.popupTargetId]!==void 0&&(r=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(t),r===!0)){const i=this.selectionHandler.getNodeAt(e);r=i===void 0?!1:i.id===this.popup.popupTargetId}}else this.selectionHandler.getNodeAt(e)===void 0&&this.body.edges[this.popup.popupTargetId]!==void 0&&(r=this.body.edges[this.popup.popupTargetId].isOverlappingWith(t));r===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}};var Lk={},Gk={},wf,Wk;function bCe(){if(Wk)return wf;Wk=1;var n=me(),e=hT(),t=bI().getWeakData,r=dT(),i=Ii(),o=Os(),s=bt(),a=wI(),g=pn(),A=ct(),I=Io(),C=I.set,l=I.getterFor,d=g.find,u=g.findIndex,h=n([].splice),v=0,f=function(p){return p.frozen||(p.frozen=new c)},c=function(){this.entries=[]},b=function(p,y){return d(p.entries,function(E){return E[0]===y})};return c.prototype={get:function(p){var y=b(this,p);if(y)return y[1]},has:function(p){return!!b(this,p)},set:function(p,y){var E=b(this,p);E?E[1]=y:this.entries.push([p,y])},delete:function(p){var y=u(this.entries,function(E){return E[0]===p});return~y&&h(this.entries,y,1),!!~y}},wf={getConstructor:function(p,y,E,S){var m=p(function(R,O){r(R,w),C(R,{type:y,id:v++,frozen:null}),o(O)||a(O,R[S],{that:R,AS_ENTRIES:E})}),w=m.prototype,_=l(y),T=function(R,O,P){var x=_(R),V=t(i(O),!0);return V===!0?f(x).set(O,P):V[x.id]=P,R};return e(w,{delete:function(R){var O=_(this);if(!s(R))return!1;var P=t(R);return P===!0?f(O).delete(R):P&&A(P,O.id)&&delete P[O.id]},has:function(O){var P=_(this);if(!s(O))return!1;var x=t(O);return x===!0?f(P).has(O):x&&A(x,P.id)}}),e(w,E?{get:function(O){var P=_(this);if(s(O)){var x=t(O);if(x===!0)return f(P).get(O);if(x)return x[P.id]}},set:function(O,P){return T(this,O,P)}}:{add:function(O){return T(this,O,!0)}}),m}},wf}var Vk;function wCe(){if(Vk)return Gk;Vk=1;var n=QQ(),e=Le(),t=me(),r=hT(),i=bI(),o=uT(),s=bCe(),a=bt(),g=Io().enforce,A=ce(),I=UX(),C=Object,l=Array.isArray,d=C.isExtensible,u=C.isFrozen,h=C.isSealed,v=C.freeze,f=C.seal,c=!e.ActiveXObject&&"ActiveXObject"in e,b,p=function(R){return function(){return R(this,arguments.length?arguments[0]:void 0)}},y=o("WeakMap",p,s),E=y.prototype,S=t(E.set),m=function(){return n&&A(function(){var R=v([]);return S(new y,R,1),!u(R)})};if(I)if(c){b=s.getConstructor(p,"WeakMap",!0),i.enable();var w=t(E.delete),_=t(E.has),T=t(E.get);r(E,{delete:function(R){if(a(R)&&!d(R)){var O=g(this);return O.frozen||(O.frozen=new b),w(this,R)||O.frozen.delete(R)}return w(this,R)},has:function(O){if(a(O)&&!d(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)||P.frozen.has(O)}return _(this,O)},get:function(O){if(a(O)&&!d(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)?T(this,O):P.frozen.get(O)}return T(this,O)},set:function(O,P){if(a(O)&&!d(O)){var x=g(this);x.frozen||(x.frozen=new b),_(this,O)?S(this,O,P):x.frozen.set(O,P)}else S(this,O,P);return this}})}else m()&&r(E,{set:function(O,P){var x;return l(O)&&(u(O)?x=v:h(O)&&(x=f)),S(this,O,P),x&&x(O),this}});return Gk}var Zk;function ECe(){return Zk||(Zk=1,wCe()),Lk}var Ef,Hk;function SCe(){if(Hk)return Ef;Hk=1,$i(),ECe();var n=Ee();return Ef=n.WeakMap,Ef}var Sf,Uk;function _Ce(){if(Uk)return Sf;Uk=1;var n=SCe();return Di(),Sf=n,Sf}var _f,Kk;function OCe(){return Kk||(Kk=1,_f=_Ce()),_f}var TCe=OCe(),Og=ne(TCe);function Na(n,e,t){RCe(n,e),e.set(n,t)}function RCe(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pO(n,e,t){return n.set(v7(n,e),t),t}function De(n,e){return n.get(v7(n,e))}function v7(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function Yk(n,e){const t=new jr;for(const r of e)n.has(r)||t.add(r);return t}var zo=new Og,Nr=new Og;let Xk=class{constructor(){Na(this,zo,new jr),Na(this,Nr,new jr)}get size(){return De(Nr,this).size}add(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)De(Nr,this).add(i)}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)De(Nr,this).delete(i)}clear(){De(Nr,this).clear()}getSelection(){return[...De(Nr,this)]}getChanges(){return{added:[...Yk(De(zo,this),De(Nr,this))],deleted:[...Yk(De(Nr,this),De(zo,this))],previous:[...new jr(De(zo,this))],current:[...new jr(De(Nr,this))]}}commit(){const e=this.getChanges();pO(zo,this,De(Nr,this)),pO(Nr,this,new jr(De(zo,this)));for(const t of e.added)t.select();for(const t of e.deleted)t.unselect();return e}};var Tn=new Og,Rn=new Og,Of=new Og;let PCe=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:()=>{};Na(this,Tn,new Xk),Na(this,Rn,new Xk),Na(this,Of,void 0),pO(Of,this,e)}get sizeNodes(){return De(Tn,this).size}get sizeEdges(){return De(Rn,this).size}getNodes(){return De(Tn,this).getSelection()}getEdges(){return De(Rn,this).getSelection()}addNodes(){De(Tn,this).add(...arguments)}addEdges(){De(Rn,this).add(...arguments)}deleteNodes(e){De(Tn,this).delete(e)}deleteEdges(e){De(Rn,this).delete(e)}clear(){De(Tn,this).clear(),De(Rn,this).clear()}commit(){const e={nodes:De(Tn,this).commit(),edges:De(Rn,this).commit()};for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return De(Of,this).call(this,e,...r),e}},xCe=class{constructor(e,t){this.body=e,this.canvas=t,this._selectionAccumulator=new PCe,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},tt(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",()=>{this.updateSelection()})}setOptions(e){e!==void 0&&zs(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,e)}selectOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);this.unselectAll(),r!==void 0&&(t=this.selectObject(r)),this.body.emitter.emit("_requestRedraw")}return t}selectAdditionalOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);r!==void 0&&(t=!0,r.isSelected()===!0?this.deselectObject(r):this.selectObject(r),this.body.emitter.emit("_requestRedraw"))}return t}_initBaseEvent(e,t){const r={};return r.pointer={DOM:{x:t.x,y:t.y},canvas:this.canvas.DOMtoCanvas(t)},r.event=e,r}generateClickEvent(e,t,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;const s=this._initBaseEvent(t,r);if(o===!0)s.nodes=[],s.edges=[];else{const a=this.getSelection();s.nodes=a.nodes,s.edges=a.edges}i!==void 0&&(s.previousSelection=i),e=="click"&&(s.items=this.getClickedItems(r)),t.controlEdge!==void 0&&(s.controlEdge=t.controlEdge),this.body.emitter.emit(e,s)}selectObject(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.selectConnectedEdges;return e!==void 0?(e instanceof sr?(t===!0&&this._selectionAccumulator.addEdges(...e.edges),this._selectionAccumulator.addNodes(e)):this._selectionAccumulator.addEdges(e),!0):!1}deselectObject(e){e.isSelected()===!0&&(e.selected=!1,this._removeFromSelection(e))}_getAllNodesOverlappingWith(e){const t=[],r=this.body.nodes;for(let i=0;i<this.body.nodeIndices.length;i++){const o=this.body.nodeIndices[i];r[o].isOverlappingWith(e)&&t.push(o)}return t}_pointerToPositionObject(e){const t=this.canvas.DOMtoCanvas(e);return{left:t.x-1,top:t.y+1,right:t.x+1,bottom:t.y-1}}getNodeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this._pointerToPositionObject(e),i=this._getAllNodesOverlappingWith(r);if(i.length>0)return t===!0?this.body.nodes[i[i.length-1]]:i[i.length-1]}_getEdgesOverlappingWith(e,t){const r=this.body.edges;for(let i=0;i<this.body.edgeIndices.length;i++){const o=this.body.edgeIndices[i];r[o].isOverlappingWith(e)&&t.push(o)}}_getAllEdgesOverlappingWith(e){const t=[];return this._getEdgesOverlappingWith(e,t),t}getEdgeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this.canvas.DOMtoCanvas(e);let i=10,o=null;const s=this.body.edges;for(let a=0;a<this.body.edgeIndices.length;a++){const g=this.body.edgeIndices[a],A=s[g];if(A.connected){const I=A.from.x,C=A.from.y,l=A.to.x,d=A.to.y,u=A.edgeType.getDistanceToEdge(I,C,l,d,r.x,r.y);u<i&&(o=g,i=u)}}if(o!==null)return t===!0?this.body.edges[o]:o}_addToHover(e){e instanceof sr?this.hoverObj.nodes[e.id]=e:this.hoverObj.edges[e.id]=e}_removeFromSelection(e){e instanceof sr?(this._selectionAccumulator.deleteNodes(e),this._selectionAccumulator.deleteEdges(...e.edges)):this._selectionAccumulator.deleteEdges(e)}unselectAll(){this._selectionAccumulator.clear()}getSelectedNodeCount(){return this._selectionAccumulator.sizeNodes}getSelectedEdgeCount(){return this._selectionAccumulator.sizeEdges}_hoverConnectedEdges(e){for(let t=0;t<e.edges.length;t++){const r=e.edges[t];r.hover=!0,this._addToHover(r)}}emitBlurEvent(e,t,r){const i=this._initBaseEvent(e,t);r.hover===!0&&(r.hover=!1,r instanceof sr?(i.node=r.id,this.body.emitter.emit("blurNode",i)):(i.edge=r.id,this.body.emitter.emit("blurEdge",i)))}emitHoverEvent(e,t,r){const i=this._initBaseEvent(e,t);let o=!1;return r.hover===!1&&(r.hover=!0,this._addToHover(r),o=!0,r instanceof sr?(i.node=r.id,this.body.emitter.emit("hoverNode",i)):(i.edge=r.id,this.body.emitter.emit("hoverEdge",i))),o}hoverObject(e,t){let r=this.getNodeAt(t);r===void 0&&(r=this.getEdgeAt(t));let i=!1;for(const o in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,o)&&(r===void 0||r instanceof sr&&r.id!=o||r instanceof ns)&&(this.emitBlurEvent(e,t,this.hoverObj.nodes[o]),delete this.hoverObj.nodes[o],i=!0);for(const o in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,o)&&(i===!0?(this.hoverObj.edges[o].hover=!1,delete this.hoverObj.edges[o]):(r===void 0||r instanceof ns&&r.id!=o||r instanceof sr&&!r.hover)&&(this.emitBlurEvent(e,t,this.hoverObj.edges[o]),delete this.hoverObj.edges[o],i=!0));if(r!==void 0){const o=Be(this.hoverObj.edges).length,s=Be(this.hoverObj.nodes).length,a=r instanceof ns&&o===0&&s===0,g=r instanceof sr&&o===0&&s===0;(i||a||g)&&(i=this.emitHoverEvent(e,t,r)),r instanceof sr&&this.options.hoverConnectedEdges===!0&&this._hoverConnectedEdges(r)}i===!0&&this.body.emitter.emit("_requestRedraw")}commitWithoutEmitting(){this._selectionAccumulator.commit()}commitAndEmit(e,t){let r=!1;const i=this._selectionAccumulator.commit(),o={nodes:i.nodes.previous,edges:i.edges.previous};i.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",t,e,o),r=!0),i.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",t,e,o),r=!0),i.nodes.added.length>0&&(this.generateClickEvent("selectNode",t,e),r=!0),i.edges.added.length>0&&(this.generateClickEvent("selectEdge",t,e),r=!0),r===!0&&this.generateClickEvent("select",t,e)}getSelection(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}getSelectedNodes(){return this._selectionAccumulator.getNodes()}getSelectedEdges(){return this._selectionAccumulator.getEdges()}getSelectedNodeIds(){var e;return Mt(e=this._selectionAccumulator.getNodes()).call(e,t=>t.id)}getSelectedEdgeIds(){var e;return Mt(e=this._selectionAccumulator.getEdges()).call(e,t=>t.id)}setSelection(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||!e.nodes&&!e.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((t.unselectAll||t.unselectAll===void 0)&&this.unselectAll(),e.nodes)for(const r of e.nodes){const i=this.body.nodes[r];if(!i)throw new RangeError('Node with id "'+r+'" not found');this.selectObject(i,t.highlightEdges)}if(e.edges)for(const r of e.edges){const i=this.body.edges[r];if(!i)throw new RangeError('Edge with id "'+r+'" not found');this.selectObject(i)}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}selectNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({nodes:e},{highlightEdges:t})}selectEdges(e){if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({edges:e})}updateSelection(){for(const e in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,e.id)||this._selectionAccumulator.deleteNodes(e);for(const e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}getClickedItems(e){const t=this.canvas.DOMtoCanvas(e),r=[],i=this.body.nodeIndices,o=this.body.nodes;for(let g=i.length-1;g>=0;g--){const I=o[i[g]].getItemsOnPoint(t);r.push.apply(r,I)}const s=this.body.edgeIndices,a=this.body.edges;for(let g=s.length-1;g>=0;g--){const I=a[s[g]].getItemsOnPoint(t);r.push.apply(r,I)}return r}},m7=class{abstract(){throw new Error("Can't instantiate abstract class!")}fake_use(){}curveType(){return this.abstract()}getPosition(e){return this.fake_use(e),this.abstract()}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;this.fake_use(e,t,r),this.abstract()}getTreeSize(e){return this.fake_use(e),this.abstract()}sort(e){this.fake_use(e),this.abstract()}fix(e,t){this.fake_use(e,t),this.abstract()}shift(e,t){this.fake_use(e,t),this.abstract()}},$Ce=class extends m7{constructor(e){super(),this.layout=e}curveType(){return"horizontal"}getPosition(e){return e.x}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.x=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_x,max:t.max_x}}sort(e){mi(e).call(e,function(t,r){return t.x-r.x})}fix(e,t){e.y=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.y=!0}shift(e,t){this.layout.body.nodes[e].x+=t}},DCe=class extends m7{constructor(e){super(),this.layout=e}curveType(){return"vertical"}getPosition(e){return e.y}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.y=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_y,max:t.max_y}}sort(e){mi(e).call(e,function(t,r){return t.y-r.y})}fix(e,t){e.x=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.x=!0}shift(e,t){this.layout.body.nodes[e].y+=t}};var Qk={},Jk;function NCe(){if(Jk)return Qk;Jk=1;var n=ee(),e=pn().every,t=Fs(),r=t("every");return n({target:"Array",proto:!0,forced:!r},{every:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),Qk}var Tf,eB;function MCe(){if(eB)return Tf;eB=1,NCe();var n=ft();return Tf=n("Array","every"),Tf}var Rf,tB;function qCe(){if(tB)return Rf;tB=1;var n=Je(),e=MCe(),t=Array.prototype;return Rf=function(r){var i=r.every;return r===t||n(t,r)&&i===t.every?e:i},Rf}var Pf,rB;function FCe(){if(rB)return Pf;rB=1;var n=qCe();return Pf=n,Pf}var xf,iB;function kCe(){return iB||(iB=1,xf=FCe()),xf}var BCe=kCe(),y7=ne(BCe);function zCe(n,e){const t=new jr;return be(n).call(n,r=>{var i;be(i=r.edges).call(i,o=>{o.connected&&t.add(o)})}),be(t).call(t,r=>{const i=r.from.id,o=r.to.id;e[i]==null&&(e[i]=0),(e[o]==null||e[i]>=e[o])&&(e[o]=e[i]+1)}),e}function jCe(n){return b7(e=>{var t,r;return y7(t=st(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.to===e)},(e,t)=>t>e,"from",n)}function LCe(n){return b7(e=>{var t,r;return y7(t=st(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.from===e)},(e,t)=>t<e,"to",n)}function b7(n,e,t,r){var i;const o=nn(null),s=cT(i=[...LA(r).call(r)]).call(i,(C,l)=>C+1+l.edges.length,0),a=t+"Id",g=t==="to"?1:-1;for(const[C,l]of r){if(!r.has(C)||!n(l))continue;o[C]=0;const d=[l];let u=0,h;for(;h=d.pop();){var A,I;if(!r.has(C))continue;const v=o[h.id]+g;if(be(A=st(I=h.edges).call(I,f=>f.connected&&f.to!==f.from&&f[t]!==h&&r.has(f.toId)&&r.has(f.fromId))).call(A,f=>{const c=f[a],b=o[c];(b==null||e(v,b))&&(o[c]=v,d.push(f[t]))}),u>s)return zCe(r,o);++u}}return o}let GCe=class{constructor(){this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}addRelation(e,t){this.childrenReference[e]===void 0&&(this.childrenReference[e]=[]),this.childrenReference[e].push(t),this.parentReference[t]===void 0&&(this.parentReference[t]=[]),this.parentReference[t].push(e)}checkIfTree(){for(const e in this.parentReference)if(this.parentReference[e].length>1){this.isTree=!1;return}this.isTree=!0}numTrees(){return this.treeIndex+1}setTreeIndex(e,t){t!==void 0&&this.trees[e.id]===void 0&&(this.trees[e.id]=t,this.treeIndex=Math.max(t,this.treeIndex))}ensureLevel(e){this.levels[e]===void 0&&(this.levels[e]=0)}getMaxLevel(e){const t={},r=i=>{if(t[i]!==void 0)return t[i];let o=this.levels[i];if(this.childrenReference[i]){const s=this.childrenReference[i];if(s.length>0)for(let a=0;a<s.length;a++)o=Math.max(o,r(s[a]))}return t[i]=o,o};return r(e)}levelDownstream(e,t){this.levels[t.id]===void 0&&(this.levels[e.id]===void 0&&(this.levels[e.id]=0),this.levels[t.id]=this.levels[e.id]+1)}setMinLevelToZero(){var e;const t=new bg;let r=0;const i=mi(e=[...new jr(qne(this.levels))]).call(e,(o,s)=>o-s);for(const o of i)t.set(o,r++);for(const o in this.levels)Object.prototype.hasOwnProperty.call(this.levels,o)&&(this.levels[o]=t.get(this.levels[o]))}getTreeSize(e,t){let r=1e9,i=-1e9,o=1e9,s=-1e9;for(const a in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,a)&&this.trees[a]===t){const g=e[a];r=Math.min(g.x,r),i=Math.max(g.x,i),o=Math.min(g.y,o),s=Math.max(g.y,s)}return{min_x:r,max_x:i,min_y:o,max_y:s}}hasSameParent(e,t){const r=this.parentReference[e.id],i=this.parentReference[t.id];if(r===void 0||i===void 0)return!1;for(let o=0;o<r.length;o++)for(let s=0;s<i.length;s++)if(r[o]==i[s])return!0;return!1}inSameSubNetwork(e,t){return this.trees[e.id]===this.trees[t.id]}getLevels(){return Be(this.distributionOrdering)}addToOrdering(e,t){this.distributionOrdering[t]===void 0&&(this.distributionOrdering[t]=[]);let r=!1;const i=this.distributionOrdering[t];for(const o in i)if(i[o]===e){r=!0;break}r||(this.distributionOrdering[t].push(e),this.distributionIndex[e.id]=this.distributionOrdering[t].length-1)}},WCe=class{constructor(e){this.body=e,this._resetRNG(Math.random()+":"+MA()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},tt(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("_dataChanged",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",()=>{this.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",()=>{if(this.options.hierarchical.enabled!==!0)return;const e=this.direction.curveType();this.body.emitter.emit("_forceDisableDynamicCurves",e,!1)})}setOptions(e,t){if(e!==void 0){const r=this.options.hierarchical,i=r.enabled;if(zs(["randomSeed","improvedLayout","clusterThreshold"],this.options,e),dr(this.options,e,"hierarchical"),e.randomSeed!==void 0&&this._resetRNG(e.randomSeed),r.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),r.direction==="RL"||r.direction==="DU"?r.levelSeparation>0&&(r.levelSeparation*=-1):r.levelSeparation<0&&(r.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(t);if(i===!0)return this.body.emitter.emit("refresh"),Me(t,this.optionsBackup)}return t}_resetRNG(e){this.initialRandomSeed=e,this._rng=yI(this.initialRandomSeed)}adaptAllOptionsForHierarchicalLayout(e){if(this.options.hierarchical.enabled===!0){const t=this.optionsBackup.physics;e.physics===void 0||e.physics===!0?(e.physics={enabled:t.enabled===void 0?!0:t.enabled,solver:"hierarchicalRepulsion"},t.enabled=t.enabled===void 0?!0:t.enabled,t.solver=t.solver||"barnesHut"):typeof e.physics=="object"?(t.enabled=e.physics.enabled===void 0?!0:e.physics.enabled,t.solver=e.physics.solver||"barnesHut",e.physics.solver="hierarchicalRepulsion"):e.physics!==!1&&(t.solver="barnesHut",e.physics={solver:"hierarchicalRepulsion"});let r=this.direction.curveType();if(e.edges===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges={smooth:!1};else if(e.edges.smooth===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges.smooth=!1;else if(typeof e.edges.smooth=="boolean")this.optionsBackup.edges={smooth:e.edges.smooth},e.edges.smooth={enabled:e.edges.smooth,type:r};else{const i=e.edges.smooth;i.type!==void 0&&i.type!=="dynamic"&&(r=i.type),this.optionsBackup.edges={smooth:{enabled:i.enabled===void 0?!0:i.enabled,type:i.type===void 0?"dynamic":i.type,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}},e.edges.smooth={enabled:i.enabled===void 0?!0:i.enabled,type:r,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",r)}return e}positionInitially(e){if(this.options.hierarchical.enabled!==!0){this._resetRNG(this.initialRandomSeed);const t=e.length+50;for(let r=0;r<e.length;r++){const i=e[r],o=2*Math.PI*this._rng();i.x===void 0&&(i.x=t*Math.cos(o)),i.y===void 0&&(i.y=t*Math.sin(o))}}}layoutNetwork(){if(this.options.hierarchical.enabled!==!0&&this.options.improvedLayout===!0){const e=this.body.nodeIndices;let t=0;for(let r=0;r<e.length;r++)this.body.nodes[e[r]].predefinedPosition===!0&&(t+=1);if(t<.5*e.length){let i=0;const o=this.options.clusterThreshold,s={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(e.length>o){const g=e.length;for(;e.length>o&&i<=10;){i+=1;const A=e.length;i%3===0?this.body.modules.clustering.clusterBridges(s):this.body.modules.clustering.clusterOutliers(s);const I=e.length;if(A==I&&i%3!==0){this._declusterAll(),this.body.emitter.emit("_layoutFailed"),console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.");return}}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*g)})}i>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(e,this.body.edgeIndices,!0),this._shiftToCenter();const a=70;for(let g=0;g<e.length;g++){const A=this.body.nodes[e[g]];A.predefinedPosition===!1&&(A.x+=(.5-this._rng())*a,A.y+=(.5-this._rng())*a)}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}_shiftToCenter(){const e=Lt.getRangeCore(this.body.nodes,this.body.nodeIndices),t=Lt.findCenter(e);for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];i.x-=t.x,i.y-=t.y}}_declusterAll(){let e=!0;for(;e===!0;){e=!1;for(let t=0;t<this.body.nodeIndices.length;t++)this.body.nodes[this.body.nodeIndices[t]].isCluster===!0&&(e=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[t],{},!1));e===!0&&this.body.emitter.emit("_dataChanged")}}getSeed(){return this.initialRandomSeed}setupHierarchicalLayout(){if(this.options.hierarchical.enabled===!0&&this.body.nodeIndices.length>0){let e,t,r=!1,i=!1;this.lastNodeOnLevel={},this.hierarchical=new GCe;for(t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&(e=this.body.nodes[t],e.options.level!==void 0?(r=!0,this.hierarchical.levels[t]=e.options.level):i=!0);if(i===!0&&r===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");{if(i===!0){const s=this.options.hierarchical.sortMethod;s==="hubsize"?this._determineLevelsByHubsize():s==="directed"?this._determineLevelsDirected():s==="custom"&&this._determineLevelsCustomCallback()}for(const s in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,s)&&this.hierarchical.ensureLevel(s);const o=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(o),this._condenseHierarchy(),this._shiftToCenter()}}}_condenseHierarchy(){var e=this;let t=!1;const r={},i=()=>{const f=s();let c=0;for(let b=0;b<f.length-1;b++){const p=f[b].max-f[b+1].min;c+=p+this.options.hierarchical.treeSpacing,o(b+1,c)}},o=(f,c)=>{const b=this.hierarchical.trees;for(const p in b)Object.prototype.hasOwnProperty.call(b,p)&&b[p]===f&&this.direction.shift(p,c)},s=()=>{const f=[];for(let c=0;c<this.hierarchical.numTrees();c++)f.push(this.direction.getTreeSize(c));return f},a=(f,c)=>{if(!c[f.id]&&(c[f.id]=!0,this.hierarchical.childrenReference[f.id])){const b=this.hierarchical.childrenReference[f.id];if(b.length>0)for(let p=0;p<b.length;p++)a(this.body.nodes[b[p]],c)}},g=function(f){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e9,b=1e9,p=1e9,y=1e9,E=-1e9;for(const S in f)if(Object.prototype.hasOwnProperty.call(f,S)){const m=e.body.nodes[S],w=e.hierarchical.levels[m.id],_=e.direction.getPosition(m),[T,R]=e._getSpaceAroundNode(m,f);b=Math.min(T,b),p=Math.min(R,p),w<=c&&(y=Math.min(_,y),E=Math.max(_,E))}return[y,E,b,p]},A=(f,c)=>{const b=this.hierarchical.getMaxLevel(f.id),p=this.hierarchical.getMaxLevel(c.id);return Math.min(b,p)},I=(f,c,b)=>{const p=this.hierarchical;for(let y=0;y<c.length;y++){const E=c[y],S=p.distributionOrdering[E];if(S.length>1)for(let m=0;m<S.length-1;m++){const w=S[m],_=S[m+1];p.hasSameParent(w,_)&&p.inSameSubNetwork(w,_)&&f(w,_,b)}}},C=function(f,c){let b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const p=e.direction.getPosition(f),y=e.direction.getPosition(c),E=Math.abs(y-p),S=e.options.hierarchical.nodeSpacing;if(E>S){const m={},w={};a(f,m),a(c,w);const _=A(f,c),T=g(m,_),R=g(w,_),O=T[1],P=R[0],x=R[2];if(Math.abs(O-P)>S){let M=O-P+S;M<-x+S&&(M=-x+S),M<0&&(e._shiftBlock(c.id,M),t=!0,b===!0&&e._centerParent(c))}}},l=(f,c)=>{const b=c.id,p=c.edges,y=this.hierarchical.levels[c.id],E=this.options.hierarchical.levelSeparation*this.options.hierarchical.levelSeparation,S={},m=[];for(let x=0;x<p.length;x++){const V=p[x];if(V.toId!=V.fromId){const M=V.toId==b?V.from:V.to;S[p[x].id]=M,this.hierarchical.levels[M.id]<y&&m.push(V)}}const w=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M+=K/Math.sqrt(K*K+E)}return M},_=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M-=E*Math.pow(K*K+E,-1.5)}return M},T=(x,V)=>{let M=this.direction.getPosition(c);const U={};for(let K=0;K<x;K++){const oe=w(M,V),L=_(M,V),ae=40,he=Math.max(-ae,Math.min(ae,Math.round(oe/L)));if(M=M-he,U[M]!==void 0)break;U[M]=K}return M},R=x=>{const V=this.direction.getPosition(c);if(r[c.id]===void 0){const ae={};a(c,ae),r[c.id]=ae}const M=g(r[c.id]),U=M[2],K=M[3],oe=x-V;let L=0;oe>0?L=Math.min(oe,K-this.options.hierarchical.nodeSpacing):oe<0&&(L=-Math.min(-oe,U-this.options.hierarchical.nodeSpacing)),L!=0&&(this._shiftBlock(c.id,L),t=!0)},O=x=>{const V=this.direction.getPosition(c),[M,U]=this._getSpaceAroundNode(c),K=x-V;let oe=V;K>0?oe=Math.min(V+(U-this.options.hierarchical.nodeSpacing),x):K<0&&(oe=Math.max(V-(M-this.options.hierarchical.nodeSpacing),x)),oe!==V&&(this.direction.setPosition(c,oe),t=!0)};let P=T(f,m);R(P),P=T(f,p),O(P)},d=f=>{let c=this.hierarchical.getLevels();c=zn(c).call(c);for(let b=0;b<f;b++){t=!1;for(let p=0;p<c.length;p++){const y=c[p],E=this.hierarchical.distributionOrdering[y];for(let S=0;S<E.length;S++)l(1e3,E[S])}if(t!==!0)break}},u=f=>{let c=this.hierarchical.getLevels();c=zn(c).call(c);for(let b=0;b<f&&(t=!1,I(C,c,!0),t===!0);b++);},h=()=>{for(const f in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,f)&&this._centerParent(this.body.nodes[f])},v=()=>{let f=this.hierarchical.getLevels();f=zn(f).call(f);for(let c=0;c<f.length;c++){const b=f[c],p=this.hierarchical.distributionOrdering[b];for(let y=0;y<p.length;y++)this._centerParent(p[y])}};this.options.hierarchical.blockShifting===!0&&(u(5),h()),this.options.hierarchical.edgeMinimization===!0&&d(20),this.options.hierarchical.parentCentralization===!0&&v(),i()}_getSpaceAroundNode(e,t){let r=!0;t===void 0&&(r=!1);const i=this.hierarchical.levels[e.id];if(i!==void 0){const o=this.hierarchical.distributionIndex[e.id],s=this.direction.getPosition(e),a=this.hierarchical.distributionOrdering[i];let g=1e9,A=1e9;if(o!==0){const I=a[o-1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);g=s-C}}if(o!=a.length-1){const I=a[o+1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);A=Math.min(A,C-s)}}return[g,A]}else return[0,0]}_centerParent(e){if(this.hierarchical.parentReference[e.id]){const t=this.hierarchical.parentReference[e.id];for(let r=0;r<t.length;r++){const i=t[r],o=this.body.nodes[i],s=this.hierarchical.childrenReference[i];if(s!==void 0){const a=this._getCenterPosition(s),g=this.direction.getPosition(o),[A,I]=this._getSpaceAroundNode(o),C=g-a;(C<0&&Math.abs(C)<I-this.options.hierarchical.nodeSpacing||C>0&&Math.abs(C)<A-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(o,a)}}}}_placeNodesByHierarchy(e){this.positionedNodes={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var t;let i=Be(e[r]);i=this._indexArrayToNodes(i),mi(t=this.direction).call(t,i);let o=0;for(let s=0;s<i.length;s++){const a=i[s];if(this.positionedNodes[a.id]===void 0){const g=this.options.hierarchical.nodeSpacing;let A=g*o;o>0&&(A=this.direction.getPosition(i[s-1])+g),this.direction.setPosition(a,A,r),this._validatePositionAndContinue(a,r,A),o++}}}}_placeBranchNodes(e,t){var r;const i=this.hierarchical.childrenReference[e];if(i===void 0)return;const o=[];for(let a=0;a<i.length;a++)o.push(this.body.nodes[i[a]]);mi(r=this.direction).call(r,o);for(let a=0;a<o.length;a++){const g=o[a],A=this.hierarchical.levels[g.id];if(A>t&&this.positionedNodes[g.id]===void 0){const I=this.options.hierarchical.nodeSpacing;let C;a===0?C=this.direction.getPosition(this.body.nodes[e]):C=this.direction.getPosition(o[a-1])+I,this.direction.setPosition(g,C,A),this._validatePositionAndContinue(g,A,C)}else return}const s=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[e],s,t)}_validatePositionAndContinue(e,t,r){if(this.hierarchical.isTree){if(this.lastNodeOnLevel[t]!==void 0){const i=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[t]]);if(r-i<this.options.hierarchical.nodeSpacing){const o=i+this.options.hierarchical.nodeSpacing-r,s=this._findCommonParent(this.lastNodeOnLevel[t],e.id);this._shiftBlock(s.withChild,o)}}this.lastNodeOnLevel[t]=e.id,this.positionedNodes[e.id]=!0,this._placeBranchNodes(e.id,t)}}_indexArrayToNodes(e){const t=[];for(let r=0;r<e.length;r++)t.push(this.body.nodes[e[r]]);return t}_getDistribution(){const e={};let t,r;for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){r=this.body.nodes[t];const i=this.hierarchical.levels[t]===void 0?0:this.hierarchical.levels[t];this.direction.fix(r,i),e[i]===void 0&&(e[i]={}),e[i][t]=r}return e}_getActiveEdges(e){const t=[];return de(e.edges,r=>{var i;_e(i=this.body.edgeIndices).call(i,r.id)!==-1&&t.push(r)}),t}_getHubSizes(){const e={},t=this.body.nodeIndices;de(t,i=>{const o=this.body.nodes[i],s=this._getActiveEdges(o).length;e[s]=!0});const r=[];return de(e,i=>{r.push(Number(i))}),mi(r).call(r,function(i,o){return o-i}),r}_determineLevelsByHubsize(){const e=(r,i)=>{this.hierarchical.levelDownstream(r,i)},t=this._getHubSizes();for(let r=0;r<t.length;++r){const i=t[r];if(i===0)break;de(this.body.nodeIndices,o=>{const s=this.body.nodes[o];i===this._getActiveEdges(s).length&&this._crawlNetwork(e,o)})}}_determineLevelsCustomCallback(){const t=function(i,o,s){},r=(i,o,s)=>{let a=this.hierarchical.levels[i.id];a===void 0&&(a=this.hierarchical.levels[i.id]=1e5);const g=t(Lt.cloneOptions(i,"node"),Lt.cloneOptions(o,"node"),Lt.cloneOptions(s,"edge"));this.hierarchical.levels[o.id]=a+g};this._crawlNetwork(r),this.hierarchical.setMinLevelToZero()}_determineLevelsDirected(){var e;const t=cT(e=this.body.nodeIndices).call(e,(r,i)=>(r.set(i,this.body.nodes[i]),r),new bg);this.options.hierarchical.shakeTowards==="roots"?this.hierarchical.levels=LCe(t):this.hierarchical.levels=jCe(t),this.hierarchical.setMinLevelToZero()}_generateMap(){const e=(t,r)=>{this.hierarchical.levels[r.id]>this.hierarchical.levels[t.id]&&this.hierarchical.addRelation(t.id,r.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}_crawlNetwork(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){},t=arguments.length>1?arguments[1]:void 0;const r={},i=(o,s)=>{if(r[o.id]===void 0){this.hierarchical.setTreeIndex(o,s),r[o.id]=!0;let a;const g=this._getActiveEdges(o);for(let A=0;A<g.length;A++){const I=g[A];I.connected===!0&&(I.toId==o.id?a=I.from:a=I.to,o.id!=a.id&&(e(o,a,I),i(a,s)))}}};if(t===void 0){let o=0;for(let s=0;s<this.body.nodeIndices.length;s++){const a=this.body.nodeIndices[s];if(r[a]===void 0){const g=this.body.nodes[a];i(g,o),o+=1}}}else{const o=this.body.nodes[t];if(o===void 0){console.error("Node not found:",t);return}i(o)}}_shiftBlock(e,t){const r={},i=o=>{if(r[o])return;r[o]=!0,this.direction.shift(o,t);const s=this.hierarchical.childrenReference[o];if(s!==void 0)for(let a=0;a<s.length;a++)i(s[a])};i(e)}_findCommonParent(e,t){const r={},i=(s,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];s[I]=!0,i(s,I)}},o=(s,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];if(s[I]!==void 0)return{foundParent:I,withChild:a};const C=o(s,I);if(C.foundParent!==null)return C}return{foundParent:null,withChild:a}};return i(r,e),o(r,t)}setDirectionStrategy(){this.options.hierarchical.direction==="UD"||this.options.hierarchical.direction==="DU"?this.direction=new $Ce(this):this.direction=new DCe(this)}_getCenterPosition(e){let t=1e9,r=-1e9;for(let i=0;i<e.length;i++){let o;if(e[i].id!==void 0)o=e[i];else{const a=e[i];o=this.body.nodes[a]}const s=this.direction.getPosition(o);t=Math.min(t,s),r=Math.max(r,s)}return .5*(t+r)}},VCe=class{constructor(e,t,r,i){var o,s;this.body=e,this.canvas=t,this.selectionHandler=r,this.interactionHandler=i,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},tt(this.options,this.defaultOptions),this.body.emitter.on("destroy",()=>{this._clean()}),this.body.emitter.on("_dataChanged",z(o=this._restore).call(o,this)),this.body.emitter.on("_resetData",z(s=this._restore).call(s,this))}_restore(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}setOptions(e,t,r){t!==void 0&&(t.locale!==void 0?this.options.locale=t.locale:this.options.locale=r.locale,t.locales!==void 0?this.options.locales=t.locales:this.options.locales=r.locales),e!==void 0&&(typeof e=="boolean"?this.options.enabled=e:(this.options.enabled=!0,Me(this.options,e)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}toggleEditMode(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}enableEditMode(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}disableEditMode(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}showManipulatorToolbar(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){var e,t;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";const r=this.selectionHandler.getSelectedNodeCount(),i=this.selectionHandler.getSelectedEdgeCount(),o=r+i,s=this.options.locales[this.options.locale];let a=!1;this.options.addNode!==!1&&(this._createAddNodeButton(s),a=!0),this.options.addEdge!==!1&&(a===!0?this._createSeperator(1):a=!0,this._createAddEdgeButton(s)),r===1&&typeof this.options.editNode=="function"?(a===!0?this._createSeperator(2):a=!0,this._createEditNodeButton(s)):i===1&&r===0&&this.options.editEdge!==!1&&(a===!0?this._createSeperator(3):a=!0,this._createEditEdgeButton(s)),o!==0&&(r>0&&this.options.deleteNode!==!1?(a===!0&&this._createSeperator(4),this._createDeleteButton(s)):r===0&&this.options.deleteEdge!==!1&&(a===!0&&this._createSeperator(4),this._createDeleteButton(s))),this._bindElementEvents(this.closeDiv,z(e=this.toggleEditMode).call(e,this)),this._temporaryBindEvent("select",z(t=this.showManipulatorToolbar).call(t,this))}this.body.emitter.emit("_redraw")}addNodeMode(){var e;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t;const r=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(r),this._createSeperator(),this._createDescription(r.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,z(t=this.toggleEditMode).call(t,this))}this._temporaryBindEvent("click",z(e=this._performAddNode).call(e,this))}editNode(){this.editMode!==!0&&this.enableEditMode(),this._clean();const e=this.selectionHandler.getSelectedNodes()[0];if(e!==void 0)if(this.inMode="editNode",typeof this.options.editNode=="function")if(e.isCluster!==!0){const t=Me({},e.options,!1);if(t.x=e.x,t.y=e.y,this.options.editNode.length===2)this.options.editNode(t,r=>{r!=null&&this.inMode==="editNode"&&this.body.data.nodes.getDataSet().update(r),this.showManipulatorToolbar()});else throw new Error("The function for edit does not support two arguments (data, callback)")}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError);else throw new Error("No function has been configured to handle the editing of nodes.");else this.showManipulatorToolbar()}addEdgeMode(){var e,t,r,i,o;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var s;const a=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(a),this._createSeperator(),this._createDescription(a.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,z(s=this.toggleEditMode).call(s,this))}this._temporaryBindUI("onTouch",z(e=this._handleConnect).call(e,this)),this._temporaryBindUI("onDragEnd",z(t=this._finishConnect).call(t,this)),this._temporaryBindUI("onDrag",z(r=this._dragControlNode).call(r,this)),this._temporaryBindUI("onRelease",z(i=this._finishConnect).call(i,this)),this._temporaryBindUI("onDragStart",z(o=this._dragStartEdge).call(o,this)),this._temporaryBindUI("onHold",()=>{})}editEdgeMode(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",typeof this.options.editEdge=="object"&&typeof this.options.editEdge.editWithoutDrag=="function"&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0)){const s=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(s.from.id,s.to.id);return}if(this.guiEnabled===!0){var e;const s=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(s),this._createSeperator(),this._createDescription(s.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,z(e=this.toggleEditMode).call(e,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0){var t,r,i,o;const s=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(s.from.x,s.from.y),g=this._getNewTargetNode(s.to.x,s.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(g.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[g.id]=g,this.body.nodeIndices.push(g.id),this._temporaryBindUI("onTouch",z(t=this._controlNodeTouch).call(t,this)),this._temporaryBindUI("onTap",()=>{}),this._temporaryBindUI("onHold",()=>{}),this._temporaryBindUI("onDragStart",z(r=this._controlNodeDragStart).call(r,this)),this._temporaryBindUI("onDrag",z(i=this._controlNodeDrag).call(i,this)),this._temporaryBindUI("onDragEnd",z(o=this._controlNodeDragEnd).call(o,this)),this._temporaryBindUI("onMouseMove",()=>{}),this._temporaryBindEvent("beforeDrawing",A=>{const I=s.edgeType.findBorderPositions(A);a.selected===!1&&(a.x=I.from.x,a.y=I.from.y),g.selected===!1&&(g.x=I.to.x,g.y=I.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}deleteSelected(){this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";const e=this.selectionHandler.getSelectedNodeIds(),t=this.selectionHandler.getSelectedEdgeIds();let r;if(e.length>0){for(let i=0;i<e.length;i++)if(this.body.nodes[e[i]].isCluster===!0){alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);return}typeof this.options.deleteNode=="function"&&(r=this.options.deleteNode)}else t.length>0&&typeof this.options.deleteEdge=="function"&&(r=this.options.deleteEdge);if(typeof r=="function"){const i={nodes:e,edges:t};if(r.length===2)r(i,o=>{o!=null&&this.inMode==="delete"?(this.body.data.edges.getDataSet().remove(o.edges),this.body.data.nodes.getDataSet().remove(o.nodes),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()):(this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar())});else throw new Error("The function for delete does not support two arguments (data, callback)")}else this.body.data.edges.getDataSet().remove(t),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}_setup(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}_createWrappers(){if(this.manipulationDiv===void 0&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),this.editModeDiv===void 0&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),this.closeDiv===void 0){var e,t;this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",(e=(t=this.options.locales[this.options.locale])===null||t===void 0?void 0:t.close)!==null&&e!==void 0?e:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv)}}_getNewTargetNode(e,t){const r=Me({},this.options.controlNodeStyle);r.id="targetNode"+is(),r.hidden=!1,r.physics=!1,r.x=e,r.y=t;const i=this.body.functions.createNode(r);return i.shape.boundingBox={left:e,right:e,top:t,bottom:t},i}_createEditButton(){var e;this._clean(),this.manipulationDOM={},Ki(this.editModeDiv);const t=this.options.locales[this.options.locale],r=this._createButton("editMode","vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(r),this._bindElementEvents(r,z(e=this.toggleEditMode).call(e,this))}_clean(){this.inMode=!1,this.guiEnabled===!0&&(Ki(this.editModeDiv),Ki(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}_cleanupDOMEventListeners(){for(const t of ti(e=this._domEventListenerCleanupQueue).call(e,0)){var e;t()}}_removeManipulationDOM(){this._clean(),Ki(this.manipulationDiv),Ki(this.editModeDiv),Ki(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}_createSeperator(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+e]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+e].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+e])}_createAddNodeButton(e){var t;const r=this._createButton("addNode","vis-add",e.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.addNodeMode).call(t,this))}_createAddEdgeButton(e){var t;const r=this._createButton("addEdge","vis-connect",e.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.addEdgeMode).call(t,this))}_createEditNodeButton(e){var t;const r=this._createButton("editNode","vis-edit",e.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.editNode).call(t,this))}_createEditEdgeButton(e){var t;const r=this._createButton("editEdge","vis-edit",e.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.editEdgeMode).call(t,this))}_createDeleteButton(e){var t;let r;this.options.rtl?r="vis-delete-rtl":r="vis-delete";const i=this._createButton("delete",r,e.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,z(t=this.deleteSelected).call(t,this))}_createBackButton(e){var t;const r=this._createButton("back","vis-back",e.back||this.options.locales.en.back);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,z(t=this.showManipulatorToolbar).call(t,this))}_createButton(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"vis-label";return this.manipulationDOM[e+"Div"]=document.createElement("button"),this.manipulationDOM[e+"Div"].className="vis-button "+t,this.manipulationDOM[e+"Label"]=document.createElement("div"),this.manipulationDOM[e+"Label"].className=i,this.manipulationDOM[e+"Label"].innerText=r,this.manipulationDOM[e+"Div"].appendChild(this.manipulationDOM[e+"Label"]),this.manipulationDOM[e+"Div"]}_createDescription(e){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=e,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}_temporaryBindEvent(e,t){this.temporaryEventFunctions.push({event:e,boundFunction:t}),this.body.emitter.on(e,t)}_temporaryBindUI(e,t){if(this.body.eventListeners[e]!==void 0)this.temporaryUIFunctions[e]=this.body.eventListeners[e],this.body.eventListeners[e]=t;else throw new Error("This UI function does not exist. Typo? You tried: "+e+" possible are: "+ks(Be(this.body.eventListeners)))}_unbindTemporaryUIs(){for(const e in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,e)&&(this.body.eventListeners[e]=this.temporaryUIFunctions[e],delete this.temporaryUIFunctions[e]);this.temporaryUIFunctions={}}_unbindTemporaryEvents(){for(let e=0;e<this.temporaryEventFunctions.length;e++){const t=this.temporaryEventFunctions[e].event,r=this.temporaryEventFunctions[e].boundFunction;this.body.emitter.off(t,r)}this.temporaryEventFunctions=[]}_bindElementEvents(e,t){const r=new rs(e,{});WA(r,t),this._domEventListenerCleanupQueue.push(()=>{r.destroy()});const i=o=>{let{keyCode:s,key:a}=o;(a==="Enter"||a===" "||s===13||s===32)&&t()};e.addEventListener("keyup",i,!1),this._domEventListenerCleanupQueue.push(()=>{e.removeEventListener("keyup",i,!1)})}_cleanupTemporaryNodesAndEdges(){for(let o=0;o<this.temporaryIds.edges.length;o++){var e;this.body.edges[this.temporaryIds.edges[o]].disconnect(),delete this.body.edges[this.temporaryIds.edges[o]];const s=_e(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[o]);if(s!==-1){var t;ti(t=this.body.edgeIndices).call(t,s,1)}}for(let o=0;o<this.temporaryIds.nodes.length;o++){var r;delete this.body.nodes[this.temporaryIds.nodes[o]];const s=_e(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[o]);if(s!==-1){var i;ti(i=this.body.nodeIndices).call(i,s,1)}}this.temporaryIds={nodes:[],edges:[]}}_controlNodeTouch(e){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=tt({},this.body.view.translation)}_controlNodeDragStart(){const e=this.lastTouch,t=this.selectionHandler._pointerToPositionObject(e),r=this.body.nodes[this.temporaryIds.nodes[0]],i=this.body.nodes[this.temporaryIds.nodes[1]],o=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;const s=r.isOverlappingWith(t),a=i.isOverlappingWith(t);s===!0?(this.selectedControlNode=r,o.edgeType.from=r):a===!0&&(this.selectedControlNode=i,o.edgeType.to=i),this.selectedControlNode!==void 0&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}_controlNodeDrag(e){this.body.emitter.emit("disablePhysics");const t=this.body.functions.getPointer(e.center),r=this.canvas.DOMtoCanvas(t);this.selectedControlNode!==void 0?(this.selectedControlNode.x=r.x,this.selectedControlNode.y=r.y):this.interactionHandler.onDrag(e),this.body.emitter.emit("_redraw")}_controlNodeDragEnd(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t),i=this.body.edges[this.edgeBeingEditedId];if(this.selectedControlNode===void 0)return;this.selectionHandler.unselectAll();const o=this.selectionHandler._getAllNodesOverlappingWith(r);let s;for(let a=o.length-1;a>=0;a--)if(o[a]!==this.selectedControlNode.id){s=this.body.nodes[o[a]];break}if(s!==void 0&&this.selectedControlNode!==void 0)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,i.to.id):this._performEditEdge(i.from.id,s.id)}else i.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}_handleConnect(e){if(new Date().valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=tt({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;const t=this.lastTouch,r=this.selectionHandler.getNodeAt(t);if(r!==void 0)if(r.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const i=this._getNewTargetNode(r.x,r.y);this.body.nodes[i.id]=i,this.body.nodeIndices.push(i.id);const o=this.body.functions.createEdge({id:"connectionEdge"+is(),from:r.id,to:i.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[o.id]=o,this.body.edgeIndices.push(o.id),this.temporaryIds.nodes.push(i.id),this.temporaryIds.edges.push(o.id)}this.touchTime=new Date().valueOf()}}_dragControlNode(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const o=this.selectionHandler._getAllNodesOverlappingWith(r);let s;for(let g=o.length-1;g>=0;g--){var a;if(_e(a=this.temporaryIds.nodes).call(a,o[g])===-1){s=this.body.nodes[o[g]];break}}if(e.controlEdge={from:i,to:s?s.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",e,t),this.temporaryIds.nodes[0]!==void 0){const g=this.body.nodes[this.temporaryIds.nodes[0]];g.x=this.canvas._XconvertDOMtoCanvas(t.x),g.y=this.canvas._YconvertDOMtoCanvas(t.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(e)}_finishConnect(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const o=this.selectionHandler._getAllNodesOverlappingWith(r);let s;for(let g=o.length-1;g>=0;g--){var a;if(_e(a=this.temporaryIds.nodes).call(a,o[g])===-1){s=this.body.nodes[o[g]];break}}this._cleanupTemporaryNodesAndEdges(),s!==void 0&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):this.body.nodes[i]!==void 0&&this.body.nodes[s.id]!==void 0&&this._performAddEdge(i,s.id)),e.controlEdge={from:i,to:s?s.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",e,t),this.body.emitter.emit("_redraw")}_dragStartEdge(e){const t=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",e,t,void 0,!0)}_performAddNode(e){const t={id:is(),x:e.pointer.canvas.x,y:e.pointer.canvas.y,label:"new"};if(typeof this.options.addNode=="function")if(this.options.addNode.length===2)this.options.addNode(t,r=>{r!=null&&this.inMode==="addNode"&&this.body.data.nodes.getDataSet().add(r),this.showManipulatorToolbar()});else throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");else this.body.data.nodes.getDataSet().add(t),this.showManipulatorToolbar()}_performAddEdge(e,t){const r={from:e,to:t};if(typeof this.options.addEdge=="function")if(this.options.addEdge.length===2)this.options.addEdge(r,i=>{i!=null&&this.inMode==="addEdge"&&(this.body.data.edges.getDataSet().add(i),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for connect does not support two arguments (data,callback)");else this.body.data.edges.getDataSet().add(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}_performEditEdge(e,t){const r={id:this.edgeBeingEditedId,from:e,to:t,label:this.body.data.edges.get(this.edgeBeingEditedId).label};let i=this.options.editEdge;if(typeof i=="object"&&(i=i.editWithoutDrag),typeof i=="function")if(i.length===2)i(r,o=>{o==null||this.inMode!=="editEdge"?(this.body.edges[r.id].updateEdgeType(),this.body.emitter.emit("_redraw"),this.showManipulatorToolbar()):(this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for edit does not support two arguments (data, callback)");else this.body.data.edges.getDataSet().update(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}};const G="string",k="boolean",$="number",Ta="array",Q="object",w7="dom",ZCe="any",$f=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],Df={borderWidth:{number:$},borderWidthSelected:{number:$,undefined:"undefined"},brokenImage:{string:G,undefined:"undefined"},chosen:{label:{boolean:k,function:"function"},node:{boolean:k,function:"function"},__type__:{object:Q,boolean:k}},color:{border:{string:G},background:{string:G},highlight:{border:{string:G},background:{string:G},__type__:{object:Q,string:G}},hover:{border:{string:G},background:{string:G},__type__:{object:Q,string:G}},__type__:{object:Q,string:G}},opacity:{number:$,undefined:"undefined"},fixed:{x:{boolean:k},y:{boolean:k},__type__:{object:Q,boolean:k}},font:{align:{string:G},color:{string:G},size:{number:$},face:{string:G},background:{string:G},strokeWidth:{number:$},strokeColor:{string:G},vadjust:{number:$},multi:{boolean:k,string:G},bold:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},boldital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},ital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},mono:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},__type__:{object:Q,string:G}},group:{string:G,number:$,undefined:"undefined"},heightConstraint:{minimum:{number:$},valign:{string:G},__type__:{object:Q,boolean:k,number:$}},hidden:{boolean:k},icon:{face:{string:G},code:{string:G},size:{number:$},color:{string:G},weight:{string:G,number:$},__type__:{object:Q}},id:{string:G,number:$},image:{selected:{string:G,undefined:"undefined"},unselected:{string:G,undefined:"undefined"},__type__:{object:Q,string:G}},imagePadding:{top:{number:$},right:{number:$},bottom:{number:$},left:{number:$},__type__:{object:Q,number:$}},label:{string:G,undefined:"undefined"},labelHighlightBold:{boolean:k},level:{number:$,undefined:"undefined"},margin:{top:{number:$},right:{number:$},bottom:{number:$},left:{number:$},__type__:{object:Q,number:$}},mass:{number:$},physics:{boolean:k},scaling:{min:{number:$},max:{number:$},label:{enabled:{boolean:k},min:{number:$},max:{number:$},maxVisible:{number:$},drawThreshold:{number:$},__type__:{object:Q,boolean:k}},customScalingFunction:{function:"function"},__type__:{object:Q}},shadow:{enabled:{boolean:k},color:{string:G},size:{number:$},x:{number:$},y:{number:$},__type__:{object:Q,boolean:k}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:k,array:Ta},borderRadius:{number:$},interpolation:{boolean:k},useImageSize:{boolean:k},useBorderWithImage:{boolean:k},coordinateOrigin:{string:["center","top-left"]},__type__:{object:Q}},size:{number:$},title:{string:G,dom:w7,undefined:"undefined"},value:{number:$,undefined:"undefined"},widthConstraint:{minimum:{number:$},maximum:{number:$},__type__:{object:Q,boolean:k,number:$}},x:{number:$},y:{number:$},__type__:{object:Q}},HCe={configure:{enabled:{boolean:k},filter:{boolean:k,string:G,array:Ta,function:"function"},container:{dom:w7},showButton:{boolean:k},__type__:{object:Q,boolean:k,string:G,array:Ta,function:"function"}},edges:{arrows:{to:{enabled:{boolean:k},scaleFactor:{number:$},type:{string:$f},imageHeight:{number:$},imageWidth:{number:$},src:{string:G},__type__:{object:Q,boolean:k}},middle:{enabled:{boolean:k},scaleFactor:{number:$},type:{string:$f},imageWidth:{number:$},imageHeight:{number:$},src:{string:G},__type__:{object:Q,boolean:k}},from:{enabled:{boolean:k},scaleFactor:{number:$},type:{string:$f},imageWidth:{number:$},imageHeight:{number:$},src:{string:G},__type__:{object:Q,boolean:k}},__type__:{string:["from","to","middle"],object:Q}},endPointOffset:{from:{number:$},to:{number:$},__type__:{object:Q,number:$}},arrowStrikethrough:{boolean:k},background:{enabled:{boolean:k},color:{string:G},size:{number:$},dashes:{boolean:k,array:Ta},__type__:{object:Q,boolean:k}},chosen:{label:{boolean:k,function:"function"},edge:{boolean:k,function:"function"},__type__:{object:Q,boolean:k}},color:{color:{string:G},highlight:{string:G},hover:{string:G},inherit:{string:["from","to","both"],boolean:k},opacity:{number:$},__type__:{object:Q,string:G}},dashes:{boolean:k,array:Ta},font:{color:{string:G},size:{number:$},face:{string:G},background:{string:G},strokeWidth:{number:$},strokeColor:{string:G},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:$},multi:{boolean:k,string:G},bold:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},boldital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},ital:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},mono:{color:{string:G},size:{number:$},face:{string:G},mod:{string:G},vadjust:{number:$},__type__:{object:Q,string:G}},__type__:{object:Q,string:G}},hidden:{boolean:k},hoverWidth:{function:"function",number:$},label:{string:G,undefined:"undefined"},labelHighlightBold:{boolean:k},length:{number:$,undefined:"undefined"},physics:{boolean:k},scaling:{min:{number:$},max:{number:$},label:{enabled:{boolean:k},min:{number:$},max:{number:$},maxVisible:{number:$},drawThreshold:{number:$},__type__:{object:Q,boolean:k}},customScalingFunction:{function:"function"},__type__:{object:Q}},selectionWidth:{function:"function",number:$},selfReferenceSize:{number:$},selfReference:{size:{number:$},angle:{number:$},renderBehindTheNode:{boolean:k},__type__:{object:Q}},shadow:{enabled:{boolean:k},color:{string:G},size:{number:$},x:{number:$},y:{number:$},__type__:{object:Q,boolean:k}},smooth:{enabled:{boolean:k},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:$},forceDirection:{string:["horizontal","vertical","none"],boolean:k},__type__:{object:Q,boolean:k}},title:{string:G,undefined:"undefined"},width:{number:$},widthConstraint:{maximum:{number:$},__type__:{object:Q,boolean:k,number:$}},value:{number:$,undefined:"undefined"},__type__:{object:Q}},groups:{useDefaultGroups:{boolean:k},__any__:Df,__type__:{object:Q}},interaction:{dragNodes:{boolean:k},dragView:{boolean:k},hideEdgesOnDrag:{boolean:k},hideEdgesOnZoom:{boolean:k},hideNodesOnDrag:{boolean:k},hover:{boolean:k},keyboard:{enabled:{boolean:k},speed:{x:{number:$},y:{number:$},zoom:{number:$},__type__:{object:Q}},bindToWindow:{boolean:k},autoFocus:{boolean:k},__type__:{object:Q,boolean:k}},multiselect:{boolean:k},navigationButtons:{boolean:k},selectable:{boolean:k},selectConnectedEdges:{boolean:k},hoverConnectedEdges:{boolean:k},tooltipDelay:{number:$},zoomView:{boolean:k},zoomSpeed:{number:$},__type__:{object:Q}},layout:{randomSeed:{undefined:"undefined",number:$,string:G},improvedLayout:{boolean:k},clusterThreshold:{number:$},hierarchical:{enabled:{boolean:k},levelSeparation:{number:$},nodeSpacing:{number:$},treeSpacing:{number:$},blockShifting:{boolean:k},edgeMinimization:{boolean:k},parentCentralization:{boolean:k},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:Q,boolean:k}},__type__:{object:Q}},manipulation:{enabled:{boolean:k},initiallyActive:{boolean:k},addNode:{boolean:k,function:"function"},addEdge:{boolean:k,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:Q,boolean:k,function:"function"}},deleteNode:{boolean:k,function:"function"},deleteEdge:{boolean:k,function:"function"},controlNodeStyle:Df,__type__:{object:Q,boolean:k}},nodes:Df,physics:{enabled:{boolean:k},barnesHut:{theta:{number:$},gravitationalConstant:{number:$},centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},damping:{number:$},avoidOverlap:{number:$},__type__:{object:Q}},forceAtlas2Based:{theta:{number:$},gravitationalConstant:{number:$},centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},damping:{number:$},avoidOverlap:{number:$},__type__:{object:Q}},repulsion:{centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},nodeDistance:{number:$},damping:{number:$},__type__:{object:Q}},hierarchicalRepulsion:{centralGravity:{number:$},springLength:{number:$},springConstant:{number:$},nodeDistance:{number:$},damping:{number:$},avoidOverlap:{number:$},__type__:{object:Q}},maxVelocity:{number:$},minVelocity:{number:$},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:k},iterations:{number:$},updateInterval:{number:$},onlyDynamicEdges:{boolean:k},fit:{boolean:k},__type__:{object:Q,boolean:k}},timestep:{number:$},adaptiveTimestep:{boolean:k},wind:{x:{number:$},y:{number:$},__type__:{object:Q}},__type__:{object:Q,boolean:k}},autoResize:{boolean:k},clickToUse:{boolean:k},locale:{string:G},locales:{__any__:{any:ZCe},__type__:{object:Q}},height:{string:G},width:{string:G},__type__:{object:Q}},E7={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},UCe=(n,e,t)=>{var r;return!!(rn(n).call(n,"physics")&&rn(r=E7.physics.solver).call(r,e)&&t.physics.solver!==e&&e!=="wind")};let KCe=class{constructor(){}getDistances(e,t,r){const i={},o=e.edges;for(let a=0;a<t.length;a++){const g=t[a],A={};i[g]=A;for(let I=0;I<t.length;I++)A[t[I]]=a==I?0:1e9}for(let a=0;a<r.length;a++){const g=o[r[a]];g.connected===!0&&i[g.fromId]!==void 0&&i[g.toId]!==void 0&&(i[g.fromId][g.toId]=1,i[g.toId][g.fromId]=1)}const s=t.length;for(let a=0;a<s;a++){const g=t[a],A=i[g];for(let I=0;I<s-1;I++){const C=t[I],l=i[C];for(let d=I+1;d<s;d++){const u=t[d],h=i[u],v=Math.min(l[u],l[g]+A[u]);l[u]=v,h[C]=v}}}return i}},YCe=class{constructor(e,t,r){this.body=e,this.springLength=t,this.springConstant=r,this.distanceSolver=new KCe}setOptions(e){e&&(e.springLength&&(this.springLength=e.springLength),e.springConstant&&(this.springConstant=e.springConstant))}solve(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const i=this.distanceSolver.getDistances(this.body,e,t);this._createL_matrix(i),this._createK_matrix(i),this._createE_matrix();const o=.01,s=1;let a=0;const g=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),A=5;let I=1e9,C=0,l=0,d=0,u=0,h=0;for(;I>o&&a<g;)for(a+=1,[C,I,l,d]=this._getHighestEnergyNode(r),u=I,h=0;u>s&&h<A;)h+=1,this._moveNode(C,l,d),[u,l,d]=this._getEnergy(C)}_getHighestEnergyNode(e){const t=this.body.nodeIndices,r=this.body.nodes;let i=0,o=t[0],s=0,a=0;for(let g=0;g<t.length;g++){const A=t[g];if(r[A].predefinedPosition!==!0||r[A].isCluster===!0&&e===!0||r[A].options.fixed.x!==!0||r[A].options.fixed.y!==!0){const[I,C,l]=this._getEnergy(A);i<I&&(i=I,o=A,s=C,a=l)}}return[o,i,s,a]}_getEnergy(e){const[t,r]=this.E_sums[e];return[Math.sqrt(t**2+r**2),t,r]}_moveNode(e,t,r){const i=this.body.nodeIndices,o=this.body.nodes;let s=0,a=0,g=0;const A=o[e].x,I=o[e].y,C=this.K_matrix[e],l=this.L_matrix[e];for(let p=0;p<i.length;p++){const y=i[p];if(y!==e){const E=o[y].x,S=o[y].y,m=C[y],w=l[y],_=1/((A-E)**2+(I-S)**2)**1.5;s+=m*(1-w*(I-S)**2*_),a+=m*(w*(A-E)*(I-S)*_),g+=m*(1-w*(A-E)**2*_)}}const d=s,u=a,h=t,v=g,f=r,c=(h/d+f/u)/(u/d-v/u),b=-(u*c+h)/d;o[e].x+=b,o[e].y+=c,this._updateE_matrix(e)}_createL_matrix(e){const t=this.body.nodeIndices,r=this.springLength;this.L_matrix=[];for(let i=0;i<t.length;i++){this.L_matrix[t[i]]={};for(let o=0;o<t.length;o++)this.L_matrix[t[i]][t[o]]=r*e[t[i]][t[o]]}}_createK_matrix(e){const t=this.body.nodeIndices,r=this.springConstant;this.K_matrix=[];for(let i=0;i<t.length;i++){this.K_matrix[t[i]]={};for(let o=0;o<t.length;o++)this.K_matrix[t[i]][t[o]]=r*e[t[i]][t[o]]**-2}}_createE_matrix(){const e=this.body.nodeIndices,t=this.body.nodes;this.E_matrix={},this.E_sums={};for(let r=0;r<e.length;r++)this.E_matrix[e[r]]=[];for(let r=0;r<e.length;r++){const i=e[r],o=t[i].x,s=t[i].y;let a=0,g=0;for(let A=r;A<e.length;A++){const I=e[A];if(I!==i){const C=t[I].x,l=t[I].y,d=1/Math.sqrt((o-C)**2+(s-l)**2);this.E_matrix[i][A]=[this.K_matrix[i][I]*(o-C-this.L_matrix[i][I]*(o-C)*d),this.K_matrix[i][I]*(s-l-this.L_matrix[i][I]*(s-l)*d)],this.E_matrix[I][r]=this.E_matrix[i][A],a+=this.E_matrix[i][A][0],g+=this.E_matrix[i][A][1]}}this.E_sums[i]=[a,g]}}_updateE_matrix(e){const t=this.body.nodeIndices,r=this.body.nodes,i=this.E_matrix[e],o=this.K_matrix[e],s=this.L_matrix[e],a=r[e].x,g=r[e].y;let A=0,I=0;for(let C=0;C<t.length;C++){const l=t[C];if(l!==e){const d=i[C],u=d[0],h=d[1],v=r[l].x,f=r[l].y,c=1/Math.sqrt((a-v)**2+(g-f)**2),b=o[l]*(a-v-s[l]*(a-v)*c),p=o[l]*(g-f-s[l]*(g-f)*c);i[C]=[b,p],A+=b,I+=p;const y=this.E_sums[l];y[0]+=b-u,y[1]+=p-h}}this.E_sums[e]=[A,I]}};function X(n,e,t){var r,i,o,s;if(!(this instanceof X))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:Jse,clickToUse:!1},tt(this.options,this.defaultOptions),this.body={container:n,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:z(r=this.on).call(r,this),off:z(i=this.off).call(i,this),emit:z(o=this.emit).call(o,this),once:z(s=this.once).call(s,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new rae(()=>this.body.emitter.emit("_requestRedraw")),this.groups=new cae,this.canvas=new fCe(this.body),this.selectionHandler=new xCe(this.body,this.canvas),this.interactionHandler=new yCe(this.body,this.canvas,this.selectionHandler),this.view=new vCe(this.body,this.canvas),this.renderer=new lCe(this.body,this.canvas),this.physics=new ACe(this.body),this.layoutEngine=new WCe(this.body),this.clustering=new CCe(this.body),this.manipulation=new VCe(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new FIe(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new iCe(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new YCe(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(t),this.setData(e)}GX(X.prototype);X.prototype.setOptions=function(n){if(n===null&&(n=void 0),n!==void 0){if(Pse.validate(n,HCe)===!0&&console.error("%cErrors have been found in the supplied options object.",WQ),zs(["locale","locales","clickToUse"],this.options,n),n.locale!==void 0&&(n.locale=eae(n.locales||this.options.locales,n.locale)),n=this.layoutEngine.setOptions(n.layout,n),this.canvas.setOptions(n),this.groups.setOptions(n.groups),this.nodesHandler.setOptions(n.nodes),this.edgesHandler.setOptions(n.edges),this.physics.setOptions(n.physics),this.manipulation.setOptions(n.manipulation,n,this.options),this.interactionHandler.setOptions(n.interaction),this.renderer.setOptions(n.interaction),this.selectionHandler.setOptions(n.interaction),n.groups!==void 0&&this.body.emitter.emit("refreshNodes"),"configure"in n&&(this.configurator||(this.configurator=new Tse(this,this.body.container,E7,this.canvas.pixelRatio,UCe)),this.configurator.setOptions(n.configure)),this.configurator&&this.configurator.options.enabled===!0){const r={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};Me(r.nodes,this.nodesHandler.options),Me(r.edges,this.edgesHandler.options),Me(r.layout,this.layoutEngine.options),Me(r.interaction,this.selectionHandler.options),Me(r.interaction,this.renderer.options),Me(r.interaction,this.interactionHandler.options),Me(r.manipulation,this.manipulation.options),Me(r.physics,this.physics.options),Me(r.global,this.canvas.options),Me(r.global,this.options),this.configurator.setModuleOptions(r)}n.clickToUse!==void 0?n.clickToUse===!0?this.activator===void 0&&(this.activator=new Ose(this.canvas.frame),this.activator.on("change",()=>{this.body.emitter.emit("activate")})):(this.activator!==void 0&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}};X.prototype._updateVisibleIndices=function(){const n=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&!this.clustering._isClusteredNode(t)&&n[t].options.hidden===!1&&this.body.nodeIndices.push(n[t].id);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t],i=n[r.fromId],o=n[r.toId],s=i!==void 0&&o!==void 0;!this.clustering._isClusteredEdge(t)&&r.options.hidden===!1&&s&&i.options.hidden===!1&&o.options.hidden===!1&&this.body.edgeIndices.push(r.id)}};X.prototype.bindEventListeners=function(){this.body.emitter.on("_dataChanged",()=>{this.edgesHandler._updateState(),this.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",()=>{this.clustering._updateState(),this._updateVisibleIndices(),this._updateValueRange(this.body.nodes),this._updateValueRange(this.body.edges),this.body.emitter.emit("startSimulation"),this.body.emitter.emit("_requestRedraw")})};X.prototype.setData=function(n){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),n&&n.dot&&(n.nodes||n.edges))throw new SyntaxError('Data must contain either parameter "dot" or  parameter pair "nodes" and "edges", but not both.');if(this.setOptions(n&&n.options),n&&n.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");const e=zse(n.dot);this.setData(e);return}else if(n&&n.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");const e=jse(n.gephi);this.setData(e);return}else this.nodesHandler.setData(n&&n.nodes,!0),this.edgesHandler.setData(n&&n.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")};X.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(const n in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,n)&&delete this.body.nodes[n];for(const n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&delete this.body.edges[n];Ki(this.body.container)};X.prototype._updateValueRange=function(n){let e,t,r,i=0;for(e in n)if(Object.prototype.hasOwnProperty.call(n,e)){const o=n[e].getValue();o!==void 0&&(t=t===void 0?o:Math.min(o,t),r=r===void 0?o:Math.max(o,r),i+=o)}if(t!==void 0&&r!==void 0)for(e in n)Object.prototype.hasOwnProperty.call(n,e)&&n[e].setValueRange(t,r,i)};X.prototype.isActive=function(){return!this.activator||this.activator.active};X.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)};X.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)};X.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)};X.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)};X.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)};X.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)};X.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)};X.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)};X.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)};X.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)};X.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)};X.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)};X.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)};X.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)};X.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)};X.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)};X.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)};X.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)};X.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)};X.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)};X.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)};X.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)};X.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)};X.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)};X.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)};X.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)};X.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)};X.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)};X.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)};X.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)};X.prototype.getConnectedNodes=function(n){return this.body.nodes[n]!==void 0?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)};X.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)};X.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)};X.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)};X.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)};X.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)};X.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)};X.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)};X.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)};X.prototype.getNodeAt=function(){const n=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};X.prototype.getEdgeAt=function(){const n=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};X.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)};X.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)};X.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()};X.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)};X.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)};X.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)};X.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)};X.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)};X.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)};X.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)};X.prototype.getOptionsFromConfigurator=function(){let n={};return this.configurator&&(n=this.configurator.getOptions.apply(this.configurator)),n};const S7={vue:{color:"#42b883"},ts:{color:"#3B86CB"},js:{color:"#d6cb2d"},json:{color:"#cf8f30"},css:{color:"#e6659a"},html:{color:"#e34c26"},jsx:{color:"#54B9D1"},tsx:{color:"#4FC7FF"},other:{color:"#B86542"}},XCe=["vue","other"];function QCe(){const[n,e]=RX(!0);return{fileTypeData:Object.entries(S7).map(([t,r])=>({key:t,color:r.color,capitalize:XCe.includes(t)})),fileTypeShow:n,toggleFileType:e}}const{isDark:JCe}=Pte(),nB=PX(()=>({nodes:{shape:"dot",size:16,font:{color:JCe.value?"#fff":"#000",multi:"html"}},interaction:{hover:!0},physics:{maxVelocity:146,solver:"forceAtlas2Based",timestep:.35,stabilization:{enabled:!0,iterations:200}},groups:S7})),Ma=PX({get:()=>oO.value.graphSettings,set:n=>{oO.value.graphSettings=n}});$A(Ma,()=>{ET()},{deep:!0});const yT=Bn("");xte(yT,()=>{ET()},{debounce:350});const bT=Bn(""),hs=new us([]),cs=new us([]),wT=xX([]),_7=new Map,ni=new Map,os=new Map,ele=n=>n.reduce((e,t)=>(e.some(r=>r.id===t.id)||e.push(t),e),[]),O7=n=>n.reduce((e,t)=>(e.some(r=>r.from===t.from&&r.to===t.to)||e.push(t),e),[]);function tle(){wT.value=[],_7.clear(),hs.clear(),cs.clear(),ni.clear(),os.clear()}function fs(n){const e=n.id.includes("node_modules");return!(!Ma.value.node_modules&&e||!Ma.value.virtual&&n.virtual&&!e||!Ma.value.lib&&!n.id.includes(bT.value)&&!n.virtual)}function T7(n){const e=os.get(n);return e?e.some(t=>fs(t.mod)):!0}const rle=/(?:.*\/){3}([^/]+$)/;function ET(){hs.clear(),cs.clear(),sle();const n=[],e=[],t=[],r=gle();(r?r.slice():wT.value.slice()).forEach(({node:s,edges:a,mod:g})=>{fs(g)&&T7(g.id)&&(n.push(s),e.push({id:g.id.match(rle)?.[0]??g.id,fullId:g.id,node:s,edges:a,deps:g.deps}),t.push(...a))});const o=yT.value;if(o.trim().length){const s=e.filter(({id:a})=>a.includes(o));if(t.length=0,n.length=0,s.length){const{node:a,edges:g}=ile(s);n.push(...a),t.push(...g)}}hs.add(ele(n)),cs.add(O7(t))}function ile(n){const e=new Map,t=new Map;return n.forEach(r=>{r=$te(r),r.node.font||(r.node.font={color:"#F19B4A"}),r.node.label=`<b>${r.node.label}</b>`,e.set(r.fullId,r.node),r.deps.forEach(i=>{const o=ni.get(i);o&&fs(o.mod)&&(e.set(o.mod.id,o.node),t.set(`${r.fullId}-${o.mod.id}`,vO(o.mod.id,r.fullId)),o.edges.forEach(s=>t.set(`${s.from}-${s.to}`,s)))})}),{node:Array.from(e.values()),edges:Array.from(t.values())}}function vO(n,e){return{from:n,to:e,arrows:{to:{enabled:!0,scaleFactor:.8}}}}function ST(n){return n.replace(/\?.*$/,"").replace(/#.*$/,"").replace(/\/{2,}/g,"/")}function R7(n){return n.includes("vue&type=style")}function mO(n){return n.replace(bT.value,"")}function oB(n){return 15+Math.min(n/2,8)}function sB(n,e){const t=[];return n.forEach(r=>{R7(r)||(r=ST(r),!t.includes(r)&&(t.push(r),e?.(r)))}),t}function nle(n,e){if(!n)return;bT.value=e,hs.clear(),cs.clear();const t=[],r=[];n.forEach(i=>{if(R7(i.id))return;if(i.id=ST(i.id),r.some(C=>C.id===i.id)){const C=ni.get(i.id);C.node.size=oB(C.edges.length+i.deps.length);const l=[],u=sB(i.deps,h=>{l.push(vO(i.id,h))}).filter(h=>!C.mod.deps.includes(h));if(!u.length)return;C.mod.deps.push(...u),t.push(...l);return}const o=i.id,a=o.split("/").at(-1)??"",g=mO(o),A={mod:i,info:{displayName:a,displayPath:g},node:{id:i.id,label:a,group:o.match(/\.(\w+)$/)?.[1]||"unknown",size:oB(i.deps.length),shape:i.id.includes("/node_modules/")?"hexagon":i.virtual?"diamond":"dot"},edges:[]},I=sB(i.deps,C=>{A.edges.push(vO(i.id,C)),os.has(C)||os.set(C,[]);const l=os.get(C),d=mO(o);l.find(h=>h.path===o&&h.displayPath===d&&h.mod.id===i.id)||l.push({path:o,displayPath:d,mod:i})});i.deps=I,wT.value.push(A),_7.set(i.id,A),ni.set(i.id,A),fs(i)&&T7(i.id)&&(r.push(A.node),t.push(...A.edges))}),hs.add(r.slice()),cs.add(O7(t))}const P7=Bn(),[ole,yO]=RX(!1);function sle(){yO(!1)}function ale(n){const e=ni.get(n);if(!e)return;const t=e.mod.deps.reduce((o,s)=>{const a=ni.get(s);return a&&fs(a.mod)&&o.push({path:s,displayPath:mO(ST(s))}),o},[]),i=(os.get(e.mod.id)||[]).reduce((o,s)=>{const a=ni.get(s.path);return a&&fs(a.mod)&&o.push({path:s.path,displayPath:s.displayPath}),o},[]);P7.value={name:e.info.displayName,displayPath:e.info.displayPath,path:e.mod.id,deps:t,refs:i}}const ps=Bn("");$A(ps,()=>{ET()});function gle(){const n=ps.value;return ps.value=n,!n||!ni.get(n)?null:x7(n)}function x7(n,e=0){const t=ni.get(n);if(e+=1,!t||e>20)return[];const r=[t];return t.mod.deps.forEach(i=>{const o=ni.get(i);o&&r.push(...x7(o.mod.id,e))}),r.reduce((i,o)=>(i.some(s=>s.mod.id===o.mod.id)||i.push(o),i),[])}const Ale={class:"w-300px","h-full":"","of-auto":""},Ile={"text-md":"","h-80px":"","border-b":"","border-base":"",p3:"",flex:"~ col gap1"},Cle={"text-lg":"",flex:"~ gap2 items-center"},lle={key:0,"i-material-symbols-check-small":"","text-primary-500":""},dle=["title"],ule={pb2:"","text-gray-500":""},hle={"text-primary-500":""},cle={flex:"~ col gap2 items-start"},fle=["onClick"],ple={p3:""},aB=1500,vle=oI({__name:"GraphDrawer",props:{top:{}},setup(n){const e=P7,t=ole,r=ps,i=Fte(),o=C=>{if(i.vitePluginDetected.value&&kte.value){Bte(C);return}A(C)},{copy:s,isSupported:a,copied:g}=Dte({copiedDuring:aB});function A(C){s(C),zte({message:"Copied to clipboard",type:"success",duration:aB})}const I=[["refs","references"],["deps","dependencies"]];return(C,l)=>(Xt(),Nte(Pe(qte),{modelValue:Pe(t),"onUpdate:modelValue":l[3]||(l[3]=d=>$X(t)?t.value=d:null),top:n.top,"close-outside":!1,permanent:!0,"content-blur":!0,position:"absolute","mount-to":".graph-body"},{default:$R(()=>[et("div",Ale,[et("div",Ile,[et("span",Cle,[wA($n(Pe(e)?.name)+" ",1),Pe(g)?(Xt(),ar("span",lle)):Pe(e)?(Xt(),ar("span",{key:1,hover:"op-100","i-carbon-copy":"","cursor-pointer":"","text-sm":"","op-50":"",class:Wo({"text-gray-200":!Pe(a)}),onClick:l[0]||(l[0]=d=>A(Pe(e).name))},null,2)):BO("",!0)]),et("button",{hover:"underline",truncate:"","text-left":"","text-gray-500":"",title:Pe(e)?.displayPath,onClick:l[1]||(l[1]=d=>o(Pe(e).path))},$n(Pe(e)?.displayPath),9,dle)]),(Xt(),ar(DA,null,NA(I,([d,u])=>et("div",{key:d,"max-h-60":"","of-auto":"","border-b":"","border-base":"",p3:"","text-sm":""},[et("div",ule,[et("span",hle,$n(Pe(e)?.[d].length),1),wA(" "+$n(u),1)]),et("div",cle,[(Xt(!0),ar(DA,null,NA(Pe(e)?.[d],h=>(Xt(),ar("button",{key:h.path,dark:"text-gray-200","of-hidden":"",truncate:"","ws-nowrap":"","pr-3":"","text-gray-800":"",hover:"underline",onClick:v=>o(h.path)},$n(h.displayPath),9,fle))),128))])])),64)),et("div",ple,[es(Pe(Mte),{type:"primary",onClick:l[2]||(l[2]=d=>r.value=Pe(e).path)},{default:$R(()=>[...l[4]||(l[4]=[wA(" Filter to this module ",-1)])]),_:1})])])]),_:1},8,["modelValue","top"]))}}),mle=oI({__name:"GraphFileType",setup(n){const{fileTypeData:e,fileTypeShow:t,toggleFileType:r}=QCe();return(i,o)=>(Xt(),ar("div",{absolute:"","bottom-0":"",grid:"","grid-cols-3":"","w-260px":"","gap-2":"","b-1":"","b-l-0":"","border-base":"","rounded-tr-lg":"","glass-effect":"",px4:"",py2:"","text-sm":"","transition-transform":"","duration-300":"",class:Wo(["group",{"translate-x-[calc(-100%+30px)] translate-y-[calc(100%-30px)]":!Pe(t)}])},[et("div",{class:Wo(["group",{"rounded-bl-lg opacity-0 group-hover:opacity-100":Pe(t)}]),absolute:"","right-0":"",h30px:"",w30px:"","cursor-pointer":"","rounded-tr-lg":"","bg-primary-500":"","text-white":"","transition-opacity":"",flex:"~ justify-center items-center",onClick:o[0]||(o[0]=()=>Pe(r)())},[et("div",{"transition-transform":"",class:Wo([Pe(t)?"i-material-symbols-arrow-downward-alt rotate-45 hover:translate-x--10% hover:translate-y-10%":"i-mdi-file-outline"])},null,2)],2),(Xt(!0),ar(DA,null,NA(Pe(e),s=>(Xt(),ar("div",{key:s.key,flex:"","items-center":"","gap-2":""},[et("div",{h12px:"",w12px:"","rounded-full":"",style:jte({backgroundColor:s.color})},null,4),et("span",{class:Wo([s.capitalize?"capitalize":"uppercase"])},$n(s.key),3)]))),128))],2))}}),yle={flex:"~ items-center gap-4 nowrap",class:"[&_>*]:flex-[0_0_auto]",absolute:"","left-0":"","top-0":"","z-10":"","navbar-base":"","w-full":"","overflow-x-auto":"","glass-effect":"",px4:"","text-sm":""},ble=oI({__name:"GraphNavbar",setup(n){const e=yT,t=Ma,r=[["node_modules"],["virtual","virtual module"],["lib","library module"]],i=ps;return(o,s)=>(Xt(),ar("div",yle,[es(Pe(Lte),{modelValue:Pe(e),"onUpdate:modelValue":s[0]||(s[0]=a=>$X(e)?e.value=a:null),placeholder:"Search modules..."},null,8,["modelValue"]),(Xt(),ar(DA,null,NA(r,a=>et("div",{key:a[0],flex:"~ gap-2 items-center"},[es(Pe(Gte),{modelValue:Pe(t)[a[0]],"onUpdate:modelValue":g=>Pe(t)[a[0]]=g},null,8,["modelValue","onUpdate:modelValue"]),et("span",{class:Wo({"text-gray-400 dark:text-gray-600":!Pe(t)[a[0]]})},"Show "+$n(a[1]??a[0]),3)])),64)),s[3]||(s[3]=et("div",{"flex-auto":""},null,-1)),Pe(i)?(Xt(),ar("button",{key:0,"rounded-full":"","bg-gray:20":"",py1:"",pl3:"",pr2:"","text-xs":"",op50:"","hover:op100":"",onClick:s[1]||(s[1]=a=>i.value="")},[...s[2]||(s[2]=[wA(" Clear filter ",-1),et("div",{"i-carbon-close":"",mb2px:""},null,-1)])])):BO("",!0)]))}});/**
 * vis-data
 * http://visjs.org/
 *
 * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.
 *
 * @version 8.0.3
 * @date    2025-09-10T16:22:00.613Z
 *
 * @copyright (c) 2011-2017 Almende B.V, http://almende.com
 * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
 *
 * @license
 * vis.js is dual licensed under both
 *
 *   1. The Apache 2.0 License
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *   and
 *
 *   2. The MIT License
 *      http://opensource.org/licenses/MIT
 *
 * vis.js may be distributed under either license.
 */var gB=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function fe(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Nf={exports:{}},AB={},ba,IB;function lt(){if(IB)return ba;IB=1;var n=function(e){return e&&e.Math===Math&&e};return ba=n(typeof globalThis=="object"&&globalThis)||n(typeof window=="object"&&window)||n(typeof self=="object"&&self)||n(typeof gB=="object"&&gB)||n(typeof ba=="object"&&ba)||(function(){return this})()||Function("return this")(),ba}var Mf,CB;function Te(){return CB||(CB=1,Mf=function(n){try{return!!n()}catch{return!0}}),Mf}var qf,lB;function Tg(){if(lB)return qf;lB=1;var n=Te();return qf=!n(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),qf}var Ff,dB;function SI(){if(dB)return Ff;dB=1;var n=Tg(),e=Function.prototype,t=e.apply,r=e.call;return Ff=typeof Reflect=="object"&&Reflect.apply||(n?r.bind(t):function(){return r.apply(t,arguments)}),Ff}var kf,uB;function $e(){if(uB)return kf;uB=1;var n=Tg(),e=Function.prototype,t=e.call,r=n&&e.bind.bind(t,t);return kf=n?r:function(i){return function(){return t.apply(i,arguments)}},kf}var Bf,hB;function Ni(){if(hB)return Bf;hB=1;var n=$e(),e=n({}.toString),t=n("".slice);return Bf=function(r){return t(e(r),8,-1)},Bf}var zf,cB;function $7(){if(cB)return zf;cB=1;var n=Ni(),e=$e();return zf=function(t){if(n(t)==="Function")return e(t)},zf}var jf,fB;function wt(){if(fB)return jf;fB=1;var n=typeof document=="object"&&document.all;return jf=typeof n>"u"&&n!==void 0?function(e){return typeof e=="function"||e===n}:function(e){return typeof e=="function"},jf}var Lf={},Gf,pB;function dt(){if(pB)return Gf;pB=1;var n=Te();return Gf=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Gf}var Wf,vB;function ir(){if(vB)return Wf;vB=1;var n=Tg(),e=Function.prototype.call;return Wf=n?e.bind(e):function(){return e.apply(e,arguments)},Wf}var Vf={},mB;function _T(){if(mB)return Vf;mB=1;var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,t=e&&!n.call({1:2},1);return Vf.f=t?function(i){var o=e(this,i);return!!o&&o.enumerable}:n,Vf}var Zf,yB;function Rg(){return yB||(yB=1,Zf=function(n,e){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:e}}),Zf}var Hf,bB;function _I(){if(bB)return Hf;bB=1;var n=$e(),e=Te(),t=Ni(),r=Object,i=n("".split);return Hf=e(function(){return!r("z").propertyIsEnumerable(0)})?function(o){return t(o)==="String"?i(o,""):r(o)}:r,Hf}var Uf,wB;function Pg(){return wB||(wB=1,Uf=function(n){return n==null}),Uf}var Kf,EB;function vo(){if(EB)return Kf;EB=1;var n=Pg(),e=TypeError;return Kf=function(t){if(n(t))throw new e("Can't call method on "+t);return t},Kf}var Yf,SB;function li(){if(SB)return Yf;SB=1;var n=_I(),e=vo();return Yf=function(t){return n(e(t))},Yf}var Xf,_B;function Ht(){if(_B)return Xf;_B=1;var n=wt();return Xf=function(e){return typeof e=="object"?e!==null:n(e)},Xf}var Qf,OB;function pt(){return OB||(OB=1,Qf={}),Qf}var Jf,TB;function Ir(){if(TB)return Jf;TB=1;var n=pt(),e=lt(),t=wt(),r=function(i){return t(i)?i:void 0};return Jf=function(i,o){return arguments.length<2?r(n[i])||r(e[i]):n[i]&&n[i][o]||e[i]&&e[i][o]},Jf}var ep,RB;function Et(){if(RB)return ep;RB=1;var n=$e();return ep=n({}.isPrototypeOf),ep}var tp,PB;function js(){if(PB)return tp;PB=1;var n=lt(),e=n.navigator,t=e&&e.userAgent;return tp=t?String(t):"",tp}var rp,xB;function xg(){if(xB)return rp;xB=1;var n=lt(),e=js(),t=n.process,r=n.Deno,i=t&&t.versions||r&&r.version,o=i&&i.v8,s,a;return o&&(s=o.split("."),a=s[0]>0&&s[0]<4?1:+(s[0]+s[1])),!a&&e&&(s=e.match(/Edge\/(\d+)/),(!s||s[1]>=74)&&(s=e.match(/Chrome\/(\d+)/),s&&(a=+s[1]))),rp=a,rp}var ip,$B;function Ls(){if($B)return ip;$B=1;var n=xg(),e=Te(),t=lt(),r=t.String;return ip=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!r(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41}),ip}var np,DB;function D7(){if(DB)return np;DB=1;var n=Ls();return np=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol",np}var op,NB;function $g(){if(NB)return op;NB=1;var n=Ir(),e=wt(),t=Et(),r=D7(),i=Object;return op=r?function(o){return typeof o=="symbol"}:function(o){var s=n("Symbol");return e(s)&&t(s.prototype,i(o))},op}var sp,MB;function Gs(){if(MB)return sp;MB=1;var n=String;return sp=function(e){try{return n(e)}catch{return"Object"}},sp}var ap,qB;function Mi(){if(qB)return ap;qB=1;var n=wt(),e=Gs(),t=TypeError;return ap=function(r){if(n(r))return r;throw new t(e(r)+" is not a function")},ap}var gp,FB;function OT(){if(FB)return gp;FB=1;var n=Mi(),e=Pg();return gp=function(t,r){var i=t[r];return e(i)?void 0:n(i)},gp}var Ap,kB;function wle(){if(kB)return Ap;kB=1;var n=ir(),e=wt(),t=Ht(),r=TypeError;return Ap=function(i,o){var s,a;if(o==="string"&&e(s=i.toString)&&!t(a=n(s,i))||e(s=i.valueOf)&&!t(a=n(s,i))||o!=="string"&&e(s=i.toString)&&!t(a=n(s,i)))return a;throw new r("Can't convert object to primitive value")},Ap}var Ip={exports:{}},Cp,BB;function Ws(){return BB||(BB=1,Cp=!0),Cp}var lp,zB;function Ele(){if(zB)return lp;zB=1;var n=lt(),e=Object.defineProperty;return lp=function(t,r){try{e(n,t,{value:r,configurable:!0,writable:!0})}catch{n[t]=r}return r},lp}var jB;function TT(){if(jB)return Ip.exports;jB=1;var n=Ws(),e=lt(),t=Ele(),r="__core-js_shared__",i=Ip.exports=e[r]||t(r,{});return(i.versions||(i.versions=[])).push({version:"3.44.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Ip.exports}var dp,LB;function Vs(){if(LB)return dp;LB=1;var n=TT();return dp=function(e,t){return n[e]||(n[e]=t||{})},dp}var up,GB;function Zr(){if(GB)return up;GB=1;var n=vo(),e=Object;return up=function(t){return e(n(t))},up}var hp,WB;function St(){if(WB)return hp;WB=1;var n=$e(),e=Zr(),t=n({}.hasOwnProperty);return hp=Object.hasOwn||function(i,o){return t(e(i),o)},hp}var cp,VB;function OI(){if(VB)return cp;VB=1;var n=$e(),e=0,t=Math.random(),r=n(1.1.toString);return cp=function(i){return"Symbol("+(i===void 0?"":i)+")_"+r(++e+t,36)},cp}var fp,ZB;function _t(){if(ZB)return fp;ZB=1;var n=lt(),e=Vs(),t=St(),r=OI(),i=Ls(),o=D7(),s=n.Symbol,a=e("wks"),g=o?s.for||s:s&&s.withoutSetter||r;return fp=function(A){return t(a,A)||(a[A]=i&&t(s,A)?s[A]:g("Symbol."+A)),a[A]},fp}var pp,HB;function N7(){if(HB)return pp;HB=1;var n=ir(),e=Ht(),t=$g(),r=OT(),i=wle(),o=_t(),s=TypeError,a=o("toPrimitive");return pp=function(g,A){if(!e(g)||t(g))return g;var I=r(g,a),C;if(I){if(A===void 0&&(A="default"),C=n(I,g,A),!e(C)||t(C))return C;throw new s("Can't convert object to primitive value")}return A===void 0&&(A="number"),i(g,A)},pp}var vp,UB;function RT(){if(UB)return vp;UB=1;var n=N7(),e=$g();return vp=function(t){var r=n(t,"string");return e(r)?r:r+""},vp}var mp,KB;function M7(){if(KB)return mp;KB=1;var n=lt(),e=Ht(),t=n.document,r=e(t)&&e(t.createElement);return mp=function(i){return r?t.createElement(i):{}},mp}var yp,YB;function q7(){if(YB)return yp;YB=1;var n=dt(),e=Te(),t=M7();return yp=!n&&!e(function(){return Object.defineProperty(t("div"),"a",{get:function(){return 7}}).a!==7}),yp}var XB;function TI(){if(XB)return Lf;XB=1;var n=dt(),e=ir(),t=_T(),r=Rg(),i=li(),o=RT(),s=St(),a=q7(),g=Object.getOwnPropertyDescriptor;return Lf.f=n?g:function(I,C){if(I=i(I),C=o(C),a)try{return g(I,C)}catch{}if(s(I,C))return r(!e(t.f,I,C),I[C])},Lf}var bp,QB;function Sle(){if(QB)return bp;QB=1;var n=Te(),e=wt(),t=/#|\.prototype\./,r=function(g,A){var I=o[i(g)];return I===a?!0:I===s?!1:e(A)?n(A):!!A},i=r.normalize=function(g){return String(g).replace(t,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",a=r.POLYFILL="P";return bp=r,bp}var wp,JB;function RI(){if(JB)return wp;JB=1;var n=$7(),e=Mi(),t=Tg(),r=n(n.bind);return wp=function(i,o){return e(i),o===void 0?i:t?r(i,o):function(){return i.apply(o,arguments)}},wp}var Ep={},Sp,ez;function F7(){if(ez)return Sp;ez=1;var n=dt(),e=Te();return Sp=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),Sp}var _p,tz;function qi(){if(tz)return _p;tz=1;var n=Ht(),e=String,t=TypeError;return _p=function(r){if(n(r))return r;throw new t(e(r)+" is not an object")},_p}var rz;function wr(){if(rz)return Ep;rz=1;var n=dt(),e=q7(),t=F7(),r=qi(),i=RT(),o=TypeError,s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,g="enumerable",A="configurable",I="writable";return Ep.f=n?t?function(l,d,u){if(r(l),d=i(d),r(u),typeof l=="function"&&d==="prototype"&&"value"in u&&I in u&&!u[I]){var h=a(l,d);h&&h[I]&&(l[d]=u.value,u={configurable:A in u?u[A]:h[A],enumerable:g in u?u[g]:h[g],writable:!1})}return s(l,d,u)}:s:function(l,d,u){if(r(l),d=i(d),r(u),e)try{return s(l,d,u)}catch{}if("get"in u||"set"in u)throw new o("Accessors not supported");return"value"in u&&(l[d]=u.value),l},Ep}var Op,iz;function Zs(){if(iz)return Op;iz=1;var n=dt(),e=wr(),t=Rg();return Op=n?function(r,i,o){return e.f(r,i,t(1,o))}:function(r,i,o){return r[i]=o,r},Op}var Tp,nz;function Ae(){if(nz)return Tp;nz=1;var n=lt(),e=SI(),t=$7(),r=wt(),i=TI().f,o=Sle(),s=pt(),a=RI(),g=Zs(),A=St(),I=function(C){var l=function(d,u,h){if(this instanceof l){switch(arguments.length){case 0:return new C;case 1:return new C(d);case 2:return new C(d,u)}return new C(d,u,h)}return e(C,this,arguments)};return l.prototype=C.prototype,l};return Tp=function(C,l){var d=C.target,u=C.global,h=C.stat,v=C.proto,f=u?n:h?n[d]:n[d]&&n[d].prototype,c=u?s:s[d]||g(s,d,{})[d],b=c.prototype,p,y,E,S,m,w,_,T,R;for(S in l)p=o(u?S:d+(h?".":"#")+S,C.forced),y=!p&&f&&A(f,S),w=c[S],y&&(C.dontCallGetSet?(R=i(f,S),_=R&&R.value):_=f[S]),m=y&&_?_:l[S],!(!p&&!v&&typeof w==typeof m)&&(C.bind&&y?T=a(m,n):C.wrap&&y?T=I(m):v&&r(m)?T=t(m):T=m,(C.sham||m&&m.sham||w&&w.sham)&&g(T,"sham",!0),g(c,S,T),v&&(E=d+"Prototype",A(s,E)||g(s,E,{}),g(s[E],S,m),C.real&&b&&(p||!b[S])&&g(b,S,m)))},Tp}var oz;function _le(){if(oz)return AB;oz=1;var n=Ae(),e=dt(),t=wr().f;return n({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!e},{defineProperty:t}),AB}var sz;function Ole(){if(sz)return Nf.exports;sz=1,_le();var n=pt(),e=n.Object,t=Nf.exports=function(i,o,s){return e.defineProperty(i,o,s)};return e.defineProperty.sham&&(t.sham=!0),Nf.exports}var Rp,az;function k7(){if(az)return Rp;az=1;var n=Ole();return Rp=n,Rp}var Pp,gz;function Tle(){if(gz)return Pp;gz=1;var n=k7();return Pp=n,Pp}var xp,Az;function Rle(){if(Az)return xp;Az=1;var n=Tle();return xp=n,xp}var $p,Iz;function Ple(){return Iz||(Iz=1,$p=Rle()),$p}var xle=Ple(),$le=fe(xle),Cz={},Dp,lz;function mo(){if(lz)return Dp;lz=1;var n=Ni();return Dp=Array.isArray||function(t){return n(t)==="Array"},Dp}var Np,dz;function Dle(){if(dz)return Np;dz=1;var n=Math.ceil,e=Math.floor;return Np=Math.trunc||function(r){var i=+r;return(i>0?e:n)(i)},Np}var Mp,uz;function Hs(){if(uz)return Mp;uz=1;var n=Dle();return Mp=function(e){var t=+e;return t!==t||t===0?0:n(t)},Mp}var qp,hz;function B7(){if(hz)return qp;hz=1;var n=Hs(),e=Math.min;return qp=function(t){var r=n(t);return r>0?e(r,9007199254740991):0},qp}var Fp,cz;function mn(){if(cz)return Fp;cz=1;var n=B7();return Fp=function(e){return n(e.length)},Fp}var kp,fz;function z7(){if(fz)return kp;fz=1;var n=TypeError,e=9007199254740991;return kp=function(t){if(t>e)throw n("Maximum allowed index exceeded");return t},kp}var Bp,pz;function PI(){if(pz)return Bp;pz=1;var n=dt(),e=wr(),t=Rg();return Bp=function(r,i,o){n?e.f(r,i,t(0,o)):r[i]=o},Bp}var zp,vz;function PT(){if(vz)return zp;vz=1;var n=_t(),e=n("toStringTag"),t={};return t[e]="z",zp=String(t)==="[object z]",zp}var jp,mz;function yn(){if(mz)return jp;mz=1;var n=PT(),e=wt(),t=Ni(),r=_t(),i=r("toStringTag"),o=Object,s=t((function(){return arguments})())==="Arguments",a=function(g,A){try{return g[A]}catch{}};return jp=n?t:function(g){var A,I,C;return g===void 0?"Undefined":g===null?"Null":typeof(I=a(A=o(g),i))=="string"?I:s?t(A):(C=t(A))==="Object"&&e(A.callee)?"Arguments":C},jp}var Lp,yz;function Nle(){if(yz)return Lp;yz=1;var n=$e(),e=wt(),t=TT(),r=n(Function.toString);return e(t.inspectSource)||(t.inspectSource=function(i){return r(i)}),Lp=t.inspectSource,Lp}var Gp,bz;function j7(){if(bz)return Gp;bz=1;var n=$e(),e=Te(),t=wt(),r=yn(),i=Ir(),o=Nle(),s=function(){},a=i("Reflect","construct"),g=/^\s*(?:class|function)\b/,A=n(g.exec),I=!g.test(s),C=function(u){if(!t(u))return!1;try{return a(s,[],u),!0}catch{return!1}},l=function(u){if(!t(u))return!1;switch(r(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!A(g,o(u))}catch{return!0}};return l.sham=!0,Gp=!a||e(function(){var d;return C(C.call)||!C(Object)||!C(function(){d=!0})||d})?l:C,Gp}var Wp,wz;function Mle(){if(wz)return Wp;wz=1;var n=mo(),e=j7(),t=Ht(),r=_t(),i=r("species"),o=Array;return Wp=function(s){var a;return n(s)&&(a=s.constructor,e(a)&&(a===o||n(a.prototype))?a=void 0:t(a)&&(a=a[i],a===null&&(a=void 0))),a===void 0?o:a},Wp}var Vp,Ez;function xT(){if(Ez)return Vp;Ez=1;var n=Mle();return Vp=function(e,t){return new(n(e))(t===0?0:t)},Vp}var Zp,Sz;function Dg(){if(Sz)return Zp;Sz=1;var n=Te(),e=_t(),t=xg(),r=e("species");return Zp=function(i){return t>=51||!n(function(){var o=[],s=o.constructor={};return s[r]=function(){return{foo:1}},o[i](Boolean).foo!==1})},Zp}var _z;function L7(){if(_z)return Cz;_z=1;var n=Ae(),e=Te(),t=mo(),r=Ht(),i=Zr(),o=mn(),s=z7(),a=PI(),g=xT(),A=Dg(),I=_t(),C=xg(),l=I("isConcatSpreadable"),d=C>=51||!e(function(){var v=[];return v[l]=!1,v.concat()[0]!==v}),u=function(v){if(!r(v))return!1;var f=v[l];return f!==void 0?!!f:t(v)},h=!d||!A("concat");return n({target:"Array",proto:!0,arity:1,forced:h},{concat:function(f){var c=i(this),b=g(c,0),p=0,y,E,S,m,w;for(y=-1,S=arguments.length;y<S;y++)if(w=y===-1?c:arguments[y],u(w))for(m=o(w),s(p+m),E=0;E<m;E++,p++)E in w&&a(b,p,w[E]);else s(p+1),a(b,p++,w);return b.length=p,b}}),Cz}var Oz={},Tz={},Hp,Rz;function bn(){if(Rz)return Hp;Rz=1;var n=yn(),e=String;return Hp=function(t){if(n(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(t)},Hp}var Up={},Kp,Pz;function $T(){if(Pz)return Kp;Pz=1;var n=Hs(),e=Math.max,t=Math.min;return Kp=function(r,i){var o=n(r);return o<0?e(o+i,0):t(o,i)},Kp}var Yp,xz;function qle(){if(xz)return Yp;xz=1;var n=li(),e=$T(),t=mn(),r=function(i){return function(o,s,a){var g=n(o),A=t(g);if(A===0)return!i&&-1;var I=e(a,A),C;if(i&&s!==s){for(;A>I;)if(C=g[I++],C!==C)return!0}else for(;A>I;I++)if((i||I in g)&&g[I]===s)return i||I||0;return!i&&-1}};return Yp={includes:r(!0),indexOf:r(!1)},Yp}var Xp,$z;function Ng(){return $z||($z=1,Xp={}),Xp}var Qp,Dz;function G7(){if(Dz)return Qp;Dz=1;var n=$e(),e=St(),t=li(),r=qle().indexOf,i=Ng(),o=n([].push);return Qp=function(s,a){var g=t(s),A=0,I=[],C;for(C in g)!e(i,C)&&e(g,C)&&o(I,C);for(;a.length>A;)e(g,C=a[A++])&&(~r(I,C)||o(I,C));return I},Qp}var Jp,Nz;function DT(){return Nz||(Nz=1,Jp=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),Jp}var ev,Mz;function xI(){if(Mz)return ev;Mz=1;var n=G7(),e=DT();return ev=Object.keys||function(r){return n(r,e)},ev}var qz;function NT(){if(qz)return Up;qz=1;var n=dt(),e=F7(),t=wr(),r=qi(),i=li(),o=xI();return Up.f=n&&!e?Object.defineProperties:function(a,g){r(a);for(var A=i(g),I=o(g),C=I.length,l=0,d;C>l;)t.f(a,d=I[l++],A[d]);return a},Up}var tv,Fz;function Fle(){if(Fz)return tv;Fz=1;var n=Ir();return tv=n("document","documentElement"),tv}var rv,kz;function $I(){if(kz)return rv;kz=1;var n=Vs(),e=OI(),t=n("keys");return rv=function(r){return t[r]||(t[r]=e(r))},rv}var iv,Bz;function Mg(){if(Bz)return iv;Bz=1;var n=qi(),e=NT(),t=DT(),r=Ng(),i=Fle(),o=M7(),s=$I(),a=">",g="<",A="prototype",I="script",C=s("IE_PROTO"),l=function(){},d=function(c){return g+I+a+c+g+"/"+I+a},u=function(c){c.write(d("")),c.close();var b=c.parentWindow.Object;return c=null,b},h=function(){var c=o("iframe"),b="java"+I+":",p;return c.style.display="none",i.appendChild(c),c.src=String(b),p=c.contentWindow.document,p.open(),p.write(d("document.F=Object")),p.close(),p.F},v,f=function(){try{v=new ActiveXObject("htmlfile")}catch{}f=typeof document<"u"?document.domain&&v?u(v):h():u(v);for(var c=t.length;c--;)delete f[A][t[c]];return f()};return r[C]=!0,iv=Object.create||function(b,p){var y;return b!==null?(l[A]=n(b),y=new l,l[A]=null,y[C]=b):y=f(),p===void 0?y:e.f(y,p)},iv}var nv={},zz;function DI(){if(zz)return nv;zz=1;var n=G7(),e=DT(),t=e.concat("length","prototype");return nv.f=Object.getOwnPropertyNames||function(i){return n(i,t)},nv}var ov={},sv,jz;function Us(){if(jz)return sv;jz=1;var n=$e();return sv=n([].slice),sv}var Lz;function W7(){if(Lz)return ov;Lz=1;var n=Ni(),e=li(),t=DI().f,r=Us(),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(s){try{return t(s)}catch{return r(i)}};return ov.f=function(a){return i&&n(a)==="Window"?o(a):t(e(a))},ov}var av={},Gz;function NI(){return Gz||(Gz=1,av.f=Object.getOwnPropertySymbols),av}var gv,Wz;function qg(){if(Wz)return gv;Wz=1;var n=Zs();return gv=function(e,t,r,i){return i&&i.enumerable?e[t]=r:n(e,t,r),e},gv}var Av,Vz;function MT(){if(Vz)return Av;Vz=1;var n=wr();return Av=function(e,t,r){return n.f(e,t,r)},Av}var Iv={},Zz;function MI(){if(Zz)return Iv;Zz=1;var n=_t();return Iv.f=n,Iv}var Cv,Hz;function He(){if(Hz)return Cv;Hz=1;var n=pt(),e=St(),t=MI(),r=wr().f;return Cv=function(i){var o=n.Symbol||(n.Symbol={});e(o,i)||r(o,i,{value:t.f(i)})},Cv}var lv,Uz;function V7(){if(Uz)return lv;Uz=1;var n=ir(),e=Ir(),t=_t(),r=qg();return lv=function(){var i=e("Symbol"),o=i&&i.prototype,s=o&&o.valueOf,a=t("toPrimitive");o&&!o[a]&&r(o,a,function(g){return n(s,this)},{arity:1})},lv}var dv,Kz;function kle(){if(Kz)return dv;Kz=1;var n=PT(),e=yn();return dv=n?{}.toString:function(){return"[object "+e(this)+"]"},dv}var uv,Yz;function yo(){if(Yz)return uv;Yz=1;var n=PT(),e=wr().f,t=Zs(),r=St(),i=kle(),o=_t(),s=o("toStringTag");return uv=function(a,g,A,I){var C=A?a:a&&a.prototype;C&&(r(C,s)||e(C,s,{configurable:!0,value:g}),I&&!n&&t(C,"toString",i))},uv}var hv,Xz;function Ble(){if(Xz)return hv;Xz=1;var n=lt(),e=wt(),t=n.WeakMap;return hv=e(t)&&/native code/.test(String(t)),hv}var cv,Qz;function Fg(){if(Qz)return cv;Qz=1;var n=Ble(),e=lt(),t=Ht(),r=Zs(),i=St(),o=TT(),s=$I(),a=Ng(),g="Object already initialized",A=e.TypeError,I=e.WeakMap,C,l,d,u=function(c){return d(c)?l(c):C(c,{})},h=function(c){return function(b){var p;if(!t(b)||(p=l(b)).type!==c)throw new A("Incompatible receiver, "+c+" required");return p}};if(n||o.state){var v=o.state||(o.state=new I);v.get=v.get,v.has=v.has,v.set=v.set,C=function(c,b){if(v.has(c))throw new A(g);return b.facade=c,v.set(c,b),b},l=function(c){return v.get(c)||{}},d=function(c){return v.has(c)}}else{var f=s("state");a[f]=!0,C=function(c,b){if(i(c,f))throw new A(g);return b.facade=c,r(c,f,b),b},l=function(c){return i(c,f)?c[f]:{}},d=function(c){return i(c,f)}}return cv={set:C,get:l,has:d,enforce:u,getterFor:h},cv}var fv,Jz;function Ks(){if(Jz)return fv;Jz=1;var n=RI(),e=$e(),t=_I(),r=Zr(),i=mn(),o=xT(),s=e([].push),a=function(g){var A=g===1,I=g===2,C=g===3,l=g===4,d=g===6,u=g===7,h=g===5||d;return function(v,f,c,b){for(var p=r(v),y=t(p),E=i(y),S=n(f,c),m=0,w=b||o,_=A?w(v,E):I||u?w(v,0):void 0,T,R;E>m;m++)if((h||m in y)&&(T=y[m],R=S(T,m,p),g))if(A)_[m]=R;else if(R)switch(g){case 3:return!0;case 5:return T;case 6:return m;case 2:s(_,T)}else switch(g){case 4:return!1;case 7:s(_,T)}return d?-1:C||l?l:_}};return fv={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},fv}var ej;function zle(){if(ej)return Tz;ej=1;var n=Ae(),e=lt(),t=ir(),r=$e(),i=Ws(),o=dt(),s=Ls(),a=Te(),g=St(),A=Et(),I=qi(),C=li(),l=RT(),d=bn(),u=Rg(),h=Mg(),v=xI(),f=DI(),c=W7(),b=NI(),p=TI(),y=wr(),E=NT(),S=_T(),m=qg(),w=MT(),_=Vs(),T=$I(),R=Ng(),O=OI(),P=_t(),x=MI(),V=He(),M=V7(),U=yo(),K=Fg(),oe=Ks().forEach,L=T("hidden"),ae="Symbol",he="prototype",ve=K.set,Rt=K.getterFor(ae),le=Object[he],We=e.Symbol,Pt=We&&We[he],ua=e.RangeError,ha=e.TypeError,Tr=e.QObject,zi=p.f,Ve=y.f,ji=c.f,ca=S.f,Li=r([].push),Se=_("symbols"),xt=_("op-symbols"),fa=_("wks"),Rr=!Tr||!Tr[he]||!Tr[he].findChild,Gi=function(Z,N,q){var F=zi(le,N);F&&delete le[N],Ve(Z,N,q),F&&Z!==le&&Ve(le,N,F)},Pr=o&&a(function(){return h(Ve({},"a",{get:function(){return Ve(this,"a",{value:7}).a}})).a!==7})?Gi:Ve,xr=function(Z,N){var q=Se[Z]=h(Pt);return ve(q,{type:ae,tag:Z,description:N}),o||(q.description=N),q},Ut=function(N,q,F){N===le&&Ut(xt,q,F),I(N);var H=l(q);return I(F),g(Se,H)?(F.enumerable?(g(N,L)&&N[L][H]&&(N[L][H]=!1),F=h(F,{enumerable:u(0,!1)})):(g(N,L)||Ve(N,L,u(1,h(null))),N[L][H]=!0),Pr(N,H,F)):Ve(N,H,F)},$r=function(N,q){I(N);var F=C(q),H=v(F).concat(Zi(F));return oe(H,function(ge){(!o||t(Dr,F,ge))&&Ut(N,ge,F[ge])}),N},pa=function(N,q){return q===void 0?h(N):$r(h(N),q)},Dr=function(N){var q=l(N),F=t(ca,this,q);return this===le&&g(Se,q)&&!g(xt,q)?!1:F||!g(this,q)||!g(Se,q)||g(this,L)&&this[L][q]?F:!0},Wi=function(N,q){var F=C(N),H=l(q);if(!(F===le&&g(Se,H)&&!g(xt,H))){var ge=zi(F,H);return ge&&g(Se,H)&&!(g(F,L)&&F[L][H])&&(ge.enumerable=!0),ge}},Vi=function(N){var q=ji(C(N)),F=[];return oe(q,function(H){!g(Se,H)&&!g(R,H)&&Li(F,H)}),F},Zi=function(Z){var N=Z===le,q=ji(N?xt:C(Z)),F=[];return oe(q,function(H){g(Se,H)&&(!N||g(le,H))&&Li(F,Se[H])}),F};return s||(We=function(){if(A(Pt,this))throw new ha("Symbol is not a constructor");var N=!arguments.length||arguments[0]===void 0?void 0:d(arguments[0]),q=O(N),F=function(H){var ge=this===void 0?e:this;ge===le&&t(F,xt,H),g(ge,L)&&g(ge[L],q)&&(ge[L][q]=!1);var Hi=u(1,H);try{Pr(ge,q,Hi)}catch(Ui){if(!(Ui instanceof ua))throw Ui;Gi(ge,q,Hi)}};return o&&Rr&&Pr(le,q,{configurable:!0,set:F}),xr(q,N)},Pt=We[he],m(Pt,"toString",function(){return Rt(this).tag}),m(We,"withoutSetter",function(Z){return xr(O(Z),Z)}),S.f=Dr,y.f=Ut,E.f=$r,p.f=Wi,f.f=c.f=Vi,b.f=Zi,x.f=function(Z){return xr(P(Z),Z)},o&&(w(Pt,"description",{configurable:!0,get:function(){return Rt(this).description}}),i||m(le,"propertyIsEnumerable",Dr,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!s,sham:!s},{Symbol:We}),oe(v(fa),function(Z){V(Z)}),n({target:ae,stat:!0,forced:!s},{useSetter:function(){Rr=!0},useSimple:function(){Rr=!1}}),n({target:"Object",stat:!0,forced:!s,sham:!o},{create:pa,defineProperty:Ut,defineProperties:$r,getOwnPropertyDescriptor:Wi}),n({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:Vi}),M(),U(We,ae),R[L]=!0,Tz}var tj={},pv,rj;function Z7(){if(rj)return pv;rj=1;var n=Ls();return pv=n&&!!Symbol.for&&!!Symbol.keyFor,pv}var ij;function jle(){if(ij)return tj;ij=1;var n=Ae(),e=Ir(),t=St(),r=bn(),i=Vs(),o=Z7(),s=i("string-to-symbol-registry"),a=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!o},{for:function(g){var A=r(g);if(t(s,A))return s[A];var I=e("Symbol")(A);return s[A]=I,a[I]=A,I}}),tj}var nj={},oj;function Lle(){if(oj)return nj;oj=1;var n=Ae(),e=St(),t=$g(),r=Gs(),i=Vs(),o=Z7(),s=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!o},{keyFor:function(g){if(!t(g))throw new TypeError(r(g)+" is not a symbol");if(e(s,g))return s[g]}}),nj}var sj={},vv,aj;function Gle(){if(aj)return vv;aj=1;var n=$e(),e=mo(),t=wt(),r=Ni(),i=bn(),o=n([].push);return vv=function(s){if(t(s))return s;if(e(s)){for(var a=s.length,g=[],A=0;A<a;A++){var I=s[A];typeof I=="string"?o(g,I):(typeof I=="number"||r(I)==="Number"||r(I)==="String")&&o(g,i(I))}var C=g.length,l=!0;return function(d,u){if(l)return l=!1,u;if(e(this))return u;for(var h=0;h<C;h++)if(g[h]===d)return u}}},vv}var gj;function H7(){if(gj)return sj;gj=1;var n=Ae(),e=Ir(),t=SI(),r=ir(),i=$e(),o=Te(),s=wt(),a=$g(),g=Us(),A=Gle(),I=Ls(),C=String,l=e("JSON","stringify"),d=i(/./.exec),u=i("".charAt),h=i("".charCodeAt),v=i("".replace),f=i(1.1.toString),c=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,p=/^[\uDC00-\uDFFF]$/,y=!I||o(function(){var w=e("Symbol")("stringify detection");return l([w])!=="[null]"||l({a:w})!=="{}"||l(Object(w))!=="{}"}),E=o(function(){return l("\uDF06\uD834")!=='"\\udf06\\ud834"'||l("\uDEAD")!=='"\\udead"'}),S=function(w,_){var T=g(arguments),R=A(_);if(!(!s(R)&&(w===void 0||a(w))))return T[1]=function(O,P){if(s(R)&&(P=r(R,this,C(O),P)),!a(P))return P},t(l,null,T)},m=function(w,_,T){var R=u(T,_-1),O=u(T,_+1);return d(b,w)&&!d(p,O)||d(p,w)&&!d(b,R)?"\\u"+f(h(w,0),16):w};return l&&n({target:"JSON",stat:!0,arity:3,forced:y||E},{stringify:function(_,T,R){var O=g(arguments),P=t(y?S:l,null,O);return E&&typeof P=="string"?v(P,c,m):P}}),sj}var Aj={},Ij;function Wle(){if(Ij)return Aj;Ij=1;var n=Ae(),e=Ls(),t=Te(),r=NI(),i=Zr(),o=!e||t(function(){r.f(1)});return n({target:"Object",stat:!0,forced:o},{getOwnPropertySymbols:function(a){var g=r.f;return g?g(i(a)):[]}}),Aj}var Cj;function U7(){return Cj||(Cj=1,zle(),jle(),Lle(),H7(),Wle()),Oz}var lj={},dj;function K7(){if(dj)return lj;dj=1;var n=He();return n("asyncDispose"),lj}var uj={},hj;function Vle(){if(hj)return uj;hj=1;var n=He();return n("asyncIterator"),uj}var cj={},fj;function Y7(){if(fj)return cj;fj=1;var n=He();return n("dispose"),cj}var pj={},vj;function Zle(){if(vj)return pj;vj=1;var n=He();return n("hasInstance"),pj}var mj={},yj;function Hle(){if(yj)return mj;yj=1;var n=He();return n("isConcatSpreadable"),mj}var bj={},wj;function X7(){if(wj)return bj;wj=1;var n=He();return n("iterator"),bj}var Ej={},Sj;function Ule(){if(Sj)return Ej;Sj=1;var n=He();return n("match"),Ej}var _j={},Oj;function Kle(){if(Oj)return _j;Oj=1;var n=He();return n("matchAll"),_j}var Tj={},Rj;function Yle(){if(Rj)return Tj;Rj=1;var n=He();return n("replace"),Tj}var Pj={},xj;function Xle(){if(xj)return Pj;xj=1;var n=He();return n("search"),Pj}var $j={},Dj;function Qle(){if(Dj)return $j;Dj=1;var n=He();return n("species"),$j}var Nj={},Mj;function Jle(){if(Mj)return Nj;Mj=1;var n=He();return n("split"),Nj}var qj={},Fj;function Q7(){if(Fj)return qj;Fj=1;var n=He(),e=V7();return n("toPrimitive"),e(),qj}var kj={},Bj;function ede(){if(Bj)return kj;Bj=1;var n=Ir(),e=He(),t=yo();return e("toStringTag"),t(n("Symbol"),"Symbol"),kj}var zj={},jj;function tde(){if(jj)return zj;jj=1;var n=He();return n("unscopables"),zj}var Lj={},Gj;function rde(){if(Gj)return Lj;Gj=1;var n=lt(),e=yo();return e(n.JSON,"JSON",!0),Lj}var mv,Wj;function ide(){if(Wj)return mv;Wj=1,L7(),U7(),K7(),Vle(),Y7(),Zle(),Hle(),X7(),Ule(),Kle(),Yle(),Xle(),Qle(),Jle(),Q7(),ede(),tde(),rde();var n=pt();return mv=n.Symbol,mv}var Vj={},yv,Zj;function nde(){return Zj||(Zj=1,yv=function(){}),yv}var bv,Hj;function Ys(){return Hj||(Hj=1,bv={}),bv}var wv,Uj;function ode(){if(Uj)return wv;Uj=1;var n=dt(),e=St(),t=Function.prototype,r=n&&Object.getOwnPropertyDescriptor,i=e(t,"name"),o=i&&(function(){}).name==="something",s=i&&(!n||n&&r(t,"name").configurable);return wv={EXISTS:i,PROPER:o,CONFIGURABLE:s},wv}var Ev,Kj;function sde(){if(Kj)return Ev;Kj=1;var n=Te();return Ev=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),Ev}var Sv,Yj;function J7(){if(Yj)return Sv;Yj=1;var n=St(),e=wt(),t=Zr(),r=$I(),i=sde(),o=r("IE_PROTO"),s=Object,a=s.prototype;return Sv=i?s.getPrototypeOf:function(g){var A=t(g);if(n(A,o))return A[o];var I=A.constructor;return e(I)&&A instanceof I?I.prototype:A instanceof s?a:null},Sv}var _v,Xj;function eJ(){if(Xj)return _v;Xj=1;var n=Te(),e=wt(),t=Ht(),r=Mg(),i=J7(),o=qg(),s=_t(),a=Ws(),g=s("iterator"),A=!1,I,C,l;[].keys&&(l=[].keys(),"next"in l?(C=i(i(l)),C!==Object.prototype&&(I=C)):A=!0);var d=!t(I)||n(function(){var u={};return I[g].call(u)!==u});return d?I={}:a&&(I=r(I)),e(I[g])||o(I,g,function(){return this}),_v={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:A},_v}var Ov,Qj;function ade(){if(Qj)return Ov;Qj=1;var n=eJ().IteratorPrototype,e=Mg(),t=Rg(),r=yo(),i=Ys(),o=function(){return this};return Ov=function(s,a,g,A){var I=a+" Iterator";return s.prototype=e(n,{next:t(+!A,g)}),r(s,I,!1,!0),i[I]=o,s},Ov}var Tv,Jj;function gde(){if(Jj)return Tv;Jj=1;var n=$e(),e=Mi();return Tv=function(t,r,i){try{return n(e(Object.getOwnPropertyDescriptor(t,r)[i]))}catch{}},Tv}var Rv,eL;function Ade(){if(eL)return Rv;eL=1;var n=Ht();return Rv=function(e){return n(e)||e===null},Rv}var Pv,tL;function Ide(){if(tL)return Pv;tL=1;var n=Ade(),e=String,t=TypeError;return Pv=function(r){if(n(r))return r;throw new t("Can't set "+e(r)+" as a prototype")},Pv}var xv,rL;function Cde(){if(rL)return xv;rL=1;var n=gde(),e=Ht(),t=vo(),r=Ide();return xv=Object.setPrototypeOf||("__proto__"in{}?(function(){var i=!1,o={},s;try{s=n(Object.prototype,"__proto__","set"),s(o,[]),i=o instanceof Array}catch{}return function(g,A){return t(g),r(A),e(g)&&(i?s(g,A):g.__proto__=A),g}})():void 0),xv}var $v,iL;function qT(){if(iL)return $v;iL=1;var n=Ae(),e=ir(),t=Ws(),r=ode(),i=wt(),o=ade(),s=J7(),a=Cde(),g=yo(),A=Zs(),I=qg(),C=_t(),l=Ys(),d=eJ(),u=r.PROPER,h=r.CONFIGURABLE,v=d.IteratorPrototype,f=d.BUGGY_SAFARI_ITERATORS,c=C("iterator"),b="keys",p="values",y="entries",E=function(){return this};return $v=function(S,m,w,_,T,R,O){o(w,m,_);var P=function(ve){if(ve===T&&K)return K;if(!f&&ve&&ve in M)return M[ve];switch(ve){case b:return function(){return new w(this,ve)};case p:return function(){return new w(this,ve)};case y:return function(){return new w(this,ve)}}return function(){return new w(this)}},x=m+" Iterator",V=!1,M=S.prototype,U=M[c]||M["@@iterator"]||T&&M[T],K=!f&&U||P(T),oe=m==="Array"&&M.entries||U,L,ae,he;if(oe&&(L=s(oe.call(new S)),L!==Object.prototype&&L.next&&(!t&&s(L)!==v&&(a?a(L,v):i(L[c])||I(L,c,E)),g(L,x,!0,!0),t&&(l[x]=E))),u&&T===p&&U&&U.name!==p&&(!t&&h?A(M,"name",p):(V=!0,K=function(){return e(U,this)})),T)if(ae={values:P(p),keys:R?K:P(b),entries:P(y)},O)for(he in ae)(f||V||!(he in M))&&I(M,he,ae[he]);else n({target:m,proto:!0,forced:f||V},ae);return(!t||O)&&M[c]!==K&&I(M,c,K,{name:T}),l[m]=K,ae},$v}var Dv,nL;function FT(){return nL||(nL=1,Dv=function(n,e){return{value:n,done:e}}),Dv}var Nv,oL;function wn(){if(oL)return Nv;oL=1;var n=li(),e=nde(),t=Ys(),r=Fg(),i=wr().f,o=qT(),s=FT(),a=Ws(),g=dt(),A="Array Iterator",I=r.set,C=r.getterFor(A);Nv=o(Array,"Array",function(d,u){I(this,{type:A,target:n(d),index:0,kind:u})},function(){var d=C(this),u=d.target,h=d.index++;if(!u||h>=u.length)return d.target=null,s(void 0,!0);switch(d.kind){case"keys":return s(h,!1);case"values":return s(u[h],!1)}return s([h,u[h]],!1)},"values");var l=t.Arguments=t.Array;if(e("keys"),e("values"),e("entries"),!a&&g&&l.name!=="values")try{i(l,"name",{value:"values"})}catch{}return Nv}var Mv,sL;function lde(){return sL||(sL=1,Mv={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),Mv}var aL;function En(){if(aL)return Vj;aL=1,wn();var n=lde(),e=lt(),t=yo(),r=Ys();for(var i in n)t(e[i],i),r[i]=r.Array;return Vj}var qv,gL;function tJ(){if(gL)return qv;gL=1;var n=ide();return En(),qv=n,qv}var AL={},IL;function dde(){if(IL)return AL;IL=1;var n=_t(),e=wr().f,t=n("metadata"),r=Function.prototype;return r[t]===void 0&&e(r,t,{value:null}),AL}var CL={},lL;function ude(){return lL||(lL=1,K7()),CL}var dL={},uL;function hde(){return uL||(uL=1,Y7()),dL}var hL={},cL;function cde(){if(cL)return hL;cL=1;var n=He();return n("metadata"),hL}var Fv,fL;function fde(){if(fL)return Fv;fL=1;var n=tJ();return dde(),ude(),hde(),cde(),Fv=n,Fv}var pL={},kv,vL;function rJ(){if(vL)return kv;vL=1;var n=Ir(),e=$e(),t=n("Symbol"),r=t.keyFor,i=e(t.prototype.valueOf);return kv=t.isRegisteredSymbol||function(s){try{return r(i(s))!==void 0}catch{return!1}},kv}var mL;function pde(){if(mL)return pL;mL=1;var n=Ae(),e=rJ();return n({target:"Symbol",stat:!0},{isRegisteredSymbol:e}),pL}var yL={},Bv,bL;function iJ(){if(bL)return Bv;bL=1;for(var n=Vs(),e=Ir(),t=$e(),r=$g(),i=_t(),o=e("Symbol"),s=o.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),g=t(o.prototype.valueOf),A=n("wks"),I=0,C=a(o),l=C.length;I<l;I++)try{var d=C[I];r(o[d])&&i(d)}catch{}return Bv=function(h){if(s&&s(h))return!0;try{for(var v=g(h),f=0,c=a(A),b=c.length;f<b;f++)if(A[c[f]]==v)return!0}catch{}return!1},Bv}var wL;function vde(){if(wL)return yL;wL=1;var n=Ae(),e=iJ();return n({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:e}),yL}var EL={},SL;function mde(){if(SL)return EL;SL=1;var n=He();return n("customMatcher"),EL}var _L={},OL;function yde(){if(OL)return _L;OL=1;var n=He();return n("observable"),_L}var TL={},RL;function bde(){if(RL)return TL;RL=1;var n=Ae(),e=rJ();return n({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:e}),TL}var PL={},xL;function wde(){if(xL)return PL;xL=1;var n=Ae(),e=iJ();return n({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:e}),PL}var $L={},DL;function Ede(){if(DL)return $L;DL=1;var n=He();return n("matcher"),$L}var NL={},ML;function Sde(){if(ML)return NL;ML=1;var n=He();return n("metadataKey"),NL}var qL={},FL;function _de(){if(FL)return qL;FL=1;var n=He();return n("patternMatch"),qL}var kL={},BL;function Ode(){if(BL)return kL;BL=1;var n=He();return n("replaceAll"),kL}var zv,zL;function Tde(){if(zL)return zv;zL=1;var n=fde();return pde(),vde(),mde(),yde(),bde(),wde(),Ede(),Sde(),_de(),Ode(),zv=n,zv}var jv,jL;function Rde(){return jL||(jL=1,jv=Tde()),jv}var Pde=Rde(),hA=fe(Pde),LL={},Lv,GL;function xde(){if(GL)return Lv;GL=1;var n=$e(),e=Hs(),t=bn(),r=vo(),i=n("".charAt),o=n("".charCodeAt),s=n("".slice),a=function(g){return function(A,I){var C=t(r(A)),l=e(I),d=C.length,u,h;return l<0||l>=d?g?"":void 0:(u=o(C,l),u<55296||u>56319||l+1===d||(h=o(C,l+1))<56320||h>57343?g?i(C,l):u:g?s(C,l,l+2):(u-55296<<10)+(h-56320)+65536)}};return Lv={codeAt:a(!1),charAt:a(!0)},Lv}var WL;function qI(){if(WL)return LL;WL=1;var n=xde().charAt,e=bn(),t=Fg(),r=qT(),i=FT(),o="String Iterator",s=t.set,a=t.getterFor(o);return r(String,"String",function(g){s(this,{type:o,string:e(g),index:0})},function(){var A=a(this),I=A.string,C=A.index,l;return C>=I.length?i(void 0,!0):(l=n(I,C),A.index+=l.length,i(l,!1))}),LL}var Gv,VL;function $de(){if(VL)return Gv;VL=1,wn(),qI(),X7();var n=MI();return Gv=n.f("iterator"),Gv}var Wv,ZL;function nJ(){if(ZL)return Wv;ZL=1;var n=$de();return En(),Wv=n,Wv}var Vv,HL;function Dde(){if(HL)return Vv;HL=1;var n=nJ();return Vv=n,Vv}var Zv,UL;function Nde(){if(UL)return Zv;UL=1;var n=Dde();return Zv=n,Zv}var Hv,KL;function Mde(){return KL||(KL=1,Hv=Nde()),Hv}var qde=Mde(),Fde=fe(qde);function Ka(n){"@babel/helpers - typeof";return Ka=typeof hA=="function"&&typeof Fde=="symbol"?function(e){return typeof e}:function(e){return e&&typeof hA=="function"&&e.constructor===hA&&e!==hA.prototype?"symbol":typeof e},Ka(n)}var Uv,YL;function kde(){if(YL)return Uv;YL=1,Q7();var n=MI();return Uv=n.f("toPrimitive"),Uv}var Kv,XL;function Bde(){if(XL)return Kv;XL=1;var n=kde();return Kv=n,Kv}var Yv,QL;function zde(){if(QL)return Yv;QL=1;var n=Bde();return Yv=n,Yv}var Xv,JL;function jde(){if(JL)return Xv;JL=1;var n=zde();return Xv=n,Xv}var Qv,e5;function Lde(){return e5||(e5=1,Qv=jde()),Qv}var Gde=Lde(),Wde=fe(Gde);function Vde(n,e){if(Ka(n)!="object"||!n)return n;var t=n[Wde];if(t!==void 0){var r=t.call(n,e);if(Ka(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Zde(n){var e=Vde(n,"string");return Ka(e)=="symbol"?e:e+""}function an(n,e,t){return(e=Zde(e))in n?$le(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var t5={},Jv,r5;function Hde(){if(r5)return Jv;r5=1;var n=$e(),e=Mi(),t=Ht(),r=St(),i=Us(),o=Tg(),s=Function,a=n([].concat),g=n([].join),A={},I=function(C,l,d){if(!r(A,l)){for(var u=[],h=0;h<l;h++)u[h]="a["+h+"]";A[l]=s("C,a","return new C("+g(u,",")+")")}return A[l](C,d)};return Jv=o?s.bind:function(l){var d=e(this),u=d.prototype,h=i(arguments,1),v=function(){var c=a(h,i(arguments));return this instanceof v?I(d,c.length,c):d.apply(l,c)};return t(u)&&(v.prototype=u),v},Jv}var i5;function Ude(){if(i5)return t5;i5=1;var n=Ae(),e=Hde();return n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e}),t5}var em,n5;function nr(){if(n5)return em;n5=1;var n=lt(),e=pt();return em=function(t,r){var i=e[t+"Prototype"],o=i&&i[r];if(o)return o;var s=n[t],a=s&&s.prototype;return a&&a[r]},em}var tm,o5;function Kde(){if(o5)return tm;o5=1,Ude();var n=nr();return tm=n("Function","bind"),tm}var rm,s5;function Yde(){if(s5)return rm;s5=1;var n=Et(),e=Kde(),t=Function.prototype;return rm=function(r){var i=r.bind;return r===t||n(t,r)&&i===t.bind?e:i},rm}var im,a5;function Xde(){if(a5)return im;a5=1;var n=Yde();return im=n,im}var nm,g5;function Qde(){return g5||(g5=1,nm=Xde()),nm}var Jde=Qde(),oJ=fe(Jde),A5={},om,I5;function eue(){if(I5)return om;I5=1;var n=Mi(),e=Zr(),t=_I(),r=mn(),i=TypeError,o="Reduce of empty array with no initial value",s=function(a){return function(g,A,I,C){var l=e(g),d=t(l),u=r(l);if(n(A),u===0&&I<2)throw new i(o);var h=a?u-1:0,v=a?-1:1;if(I<2)for(;;){if(h in d){C=d[h],h+=v;break}if(h+=v,a?h<0:u<=h)throw new i(o)}for(;a?h>=0:u>h;h+=v)h in d&&(C=A(C,d[h],h,l));return C}};return om={left:s(!1),right:s(!0)},om}var sm,C5;function FI(){if(C5)return sm;C5=1;var n=Te();return sm=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})},sm}var am,l5;function sJ(){if(l5)return am;l5=1;var n=lt(),e=js(),t=Ni(),r=function(i){return e.slice(0,i.length)===i};return am=(function(){return r("Bun/")?"BUN":r("Cloudflare-Workers")?"CLOUDFLARE":r("Deno/")?"DENO":r("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":t(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"})(),am}var gm,d5;function tue(){if(d5)return gm;d5=1;var n=sJ();return gm=n==="NODE",gm}var u5;function rue(){if(u5)return A5;u5=1;var n=Ae(),e=eue().left,t=FI(),r=xg(),i=tue(),o=!i&&r>79&&r<83,s=o||!t("reduce");return n({target:"Array",proto:!0,forced:s},{reduce:function(g){var A=arguments.length;return e(this,g,A,A>1?arguments[1]:void 0)}}),A5}var Am,h5;function iue(){if(h5)return Am;h5=1,rue();var n=nr();return Am=n("Array","reduce"),Am}var Im,c5;function nue(){if(c5)return Im;c5=1;var n=Et(),e=iue(),t=Array.prototype;return Im=function(r){var i=r.reduce;return r===t||n(t,r)&&i===t.reduce?e:i},Im}var Cm,f5;function oue(){if(f5)return Cm;f5=1;var n=nue();return Cm=n,Cm}var lm,p5;function sue(){return p5||(p5=1,lm=oue()),lm}var aue=sue(),gue=fe(aue),v5={},m5;function Aue(){if(m5)return v5;m5=1;var n=Ae(),e=Ks().filter,t=Dg(),r=t("filter");return n({target:"Array",proto:!0,forced:!r},{filter:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),v5}var dm,y5;function Iue(){if(y5)return dm;y5=1,Aue();var n=nr();return dm=n("Array","filter"),dm}var um,b5;function Cue(){if(b5)return um;b5=1;var n=Et(),e=Iue(),t=Array.prototype;return um=function(r){var i=r.filter;return r===t||n(t,r)&&i===t.filter?e:i},um}var hm,w5;function lue(){if(w5)return hm;w5=1;var n=Cue();return hm=n,hm}var cm,E5;function due(){return E5||(E5=1,cm=lue()),cm}var uue=due(),Uo=fe(uue),S5={},_5;function hue(){if(_5)return S5;_5=1;var n=Ae(),e=Ks().map,t=Dg(),r=t("map");return n({target:"Array",proto:!0,forced:!r},{map:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),S5}var fm,O5;function cue(){if(O5)return fm;O5=1,hue();var n=nr();return fm=n("Array","map"),fm}var pm,T5;function fue(){if(T5)return pm;T5=1;var n=Et(),e=cue(),t=Array.prototype;return pm=function(r){var i=r.map;return r===t||n(t,r)&&i===t.map?e:i},pm}var vm,R5;function pue(){if(R5)return vm;R5=1;var n=fue();return vm=n,vm}var mm,P5;function vue(){return P5||(P5=1,mm=pue()),mm}var mue=vue(),kr=fe(mue),ym,x5;function yue(){return x5||(x5=1,ym=tJ()),ym}var bue=yue(),wue=fe(bue),$5={},D5;function Eue(){if(D5)return $5;D5=1;var n=Ae(),e=mo(),t=j7(),r=Ht(),i=$T(),o=mn(),s=li(),a=PI(),g=_t(),A=Dg(),I=Us(),C=A("slice"),l=g("species"),d=Array,u=Math.max;return n({target:"Array",proto:!0,forced:!C},{slice:function(v,f){var c=s(this),b=o(c),p=i(v,b),y=i(f===void 0?b:f,b),E,S,m;if(e(c)&&(E=c.constructor,t(E)&&(E===d||e(E.prototype))?E=void 0:r(E)&&(E=E[l],E===null&&(E=void 0)),E===d||E===void 0))return I(c,p,y);for(S=new(E===void 0?d:E)(u(y-p,0)),m=0;p<y;p++,m++)p in c&&a(S,m,c[p]);return S.length=m,S}}),$5}var bm,N5;function Sue(){if(N5)return bm;N5=1,Eue();var n=nr();return bm=n("Array","slice"),bm}var wm,M5;function _ue(){if(M5)return wm;M5=1;var n=Et(),e=Sue(),t=Array.prototype;return wm=function(r){var i=r.slice;return r===t||n(t,r)&&i===t.slice?e:i},wm}var Em,q5;function Oue(){if(q5)return Em;q5=1;var n=_ue();return Em=n,Em}var Sm,F5;function Tue(){return F5||(F5=1,Sm=Oue()),Sm}var Rue=Tue(),Pue=fe(Rue),k5={},_m,B5;function aJ(){if(B5)return _m;B5=1;var n=Ir(),e=$e(),t=DI(),r=NI(),i=qi(),o=e([].concat);return _m=n("Reflect","ownKeys")||function(a){var g=t.f(i(a)),A=r.f;return A?o(g,A(a)):g},_m}var z5;function xue(){if(z5)return k5;z5=1;var n=Ae(),e=aJ();return n({target:"Reflect",stat:!0},{ownKeys:e}),k5}var Om,j5;function $ue(){if(j5)return Om;j5=1,xue();var n=pt();return Om=n.Reflect.ownKeys,Om}var Tm,L5;function Due(){if(L5)return Tm;L5=1;var n=$ue();return Tm=n,Tm}var Rm,G5;function Nue(){return G5||(G5=1,Rm=Due()),Rm}var Mue=Nue(),que=fe(Mue),W5={},V5;function Fue(){if(V5)return W5;V5=1;var n=Ae(),e=mo();return n({target:"Array",stat:!0},{isArray:e}),W5}var Pm,Z5;function kue(){if(Z5)return Pm;Z5=1,Fue();var n=pt();return Pm=n.Array.isArray,Pm}var xm,H5;function Bue(){if(H5)return xm;H5=1;var n=kue();return xm=n,xm}var $m,U5;function zue(){return U5||(U5=1,$m=Bue()),$m}var jue=zue(),Ur=fe(jue),K5={},Y5;function Lue(){if(Y5)return K5;Y5=1;var n=Ae(),e=Zr(),t=xI(),r=Te(),i=r(function(){t(1)});return n({target:"Object",stat:!0,forced:i},{keys:function(s){return t(e(s))}}),K5}var Dm,X5;function Gue(){if(X5)return Dm;X5=1,Lue();var n=pt();return Dm=n.Object.keys,Dm}var Nm,Q5;function Wue(){if(Q5)return Nm;Q5=1;var n=Gue();return Nm=n,Nm}var Mm,J5;function Vue(){return J5||(J5=1,Mm=Wue()),Mm}var Zue=Vue(),kT=fe(Zue),e3={},qm,t3;function Hue(){if(t3)return qm;t3=1;var n=Ks().forEach,e=FI(),t=e("forEach");return qm=t?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)},qm}var r3;function Uue(){if(r3)return e3;r3=1;var n=Ae(),e=Hue();return n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e}),e3}var Fm,i3;function Kue(){if(i3)return Fm;i3=1,Uue();var n=nr();return Fm=n("Array","forEach"),Fm}var km,n3;function Yue(){if(n3)return km;n3=1;var n=Kue();return km=n,km}var Bm,o3;function Xue(){if(o3)return Bm;o3=1;var n=yn(),e=St(),t=Et(),r=Yue(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return Bm=function(s){var a=s.forEach;return s===i||t(i,s)&&a===i.forEach||e(o,n(s))?r:a},Bm}var zm,s3;function Que(){return s3||(s3=1,zm=Xue()),zm}var Jue=Que(),Jn=fe(Jue),a3={},g3;function ehe(){if(g3)return a3;g3=1;var n=Ae(),e=$e(),t=mo(),r=e([].reverse),i=[1,2];return n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return t(this)&&(this.length=this.length),r(this)}}),a3}var jm,A3;function the(){if(A3)return jm;A3=1,ehe();var n=nr();return jm=n("Array","reverse"),jm}var Lm,I3;function rhe(){if(I3)return Lm;I3=1;var n=Et(),e=the(),t=Array.prototype;return Lm=function(r){var i=r.reverse;return r===t||n(t,r)&&i===t.reverse?e:i},Lm}var Gm,C3;function ihe(){if(C3)return Gm;C3=1;var n=rhe();return Gm=n,Gm}var Wm,l3;function nhe(){return l3||(l3=1,Wm=ihe()),Wm}var ohe=nhe(),she=fe(ohe),d3={},Vm,u3;function ahe(){if(u3)return Vm;u3=1;var n=dt(),e=mo(),t=TypeError,r=Object.getOwnPropertyDescriptor,i=n&&!(function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(o){return o instanceof TypeError}})();return Vm=i?function(o,s){if(e(o)&&!r(o,"length").writable)throw new t("Cannot set read only .length");return o.length=s}:function(o,s){return o.length=s},Vm}var Zm,h3;function gJ(){if(h3)return Zm;h3=1;var n=Gs(),e=TypeError;return Zm=function(t,r){if(!delete t[r])throw new e("Cannot delete property "+n(r)+" of "+n(t))},Zm}var c3;function ghe(){if(c3)return d3;c3=1;var n=Ae(),e=Zr(),t=$T(),r=Hs(),i=mn(),o=ahe(),s=z7(),a=xT(),g=PI(),A=gJ(),I=Dg(),C=I("splice"),l=Math.max,d=Math.min;return n({target:"Array",proto:!0,forced:!C},{splice:function(h,v){var f=e(this),c=i(f),b=t(h,c),p=arguments.length,y,E,S,m,w,_;for(p===0?y=E=0:p===1?(y=0,E=c-b):(y=p-2,E=d(l(r(v),0),c-b)),s(c+y-E),S=a(f,E),m=0;m<E;m++)w=b+m,w in f&&g(S,m,f[w]);if(S.length=E,y<E){for(m=b;m<c-E;m++)w=m+E,_=m+y,w in f?f[_]=f[w]:A(f,_);for(m=c;m>c-E+y;m--)A(f,m-1)}else if(y>E)for(m=c-E;m>b;m--)w=m+E-1,_=m+y-1,w in f?f[_]=f[w]:A(f,_);for(m=0;m<y;m++)f[m+b]=arguments[m+2];return o(f,c-E+y),S}}),d3}var Hm,f3;function Ahe(){if(f3)return Hm;f3=1,ghe();var n=nr();return Hm=n("Array","splice"),Hm}var Um,p3;function Ihe(){if(p3)return Um;p3=1;var n=Et(),e=Ahe(),t=Array.prototype;return Um=function(r){var i=r.splice;return r===t||n(t,r)&&i===t.splice?e:i},Um}var Km,v3;function Che(){if(v3)return Km;v3=1;var n=Ihe();return Km=n,Km}var Ym,m3;function lhe(){return m3||(m3=1,Ym=Che()),Ym}var dhe=lhe(),AJ=fe(dhe),y3={},Xm,b3;function uhe(){if(b3)return Xm;b3=1;var n=dt(),e=$e(),t=ir(),r=Te(),i=xI(),o=NI(),s=_T(),a=Zr(),g=_I(),A=Object.assign,I=Object.defineProperty,C=e([].concat);return Xm=!A||r(function(){if(n&&A({b:1},A(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var l={},d={},u=Symbol("assign detection"),h="abcdefghijklmnopqrst";return l[u]=7,h.split("").forEach(function(v){d[v]=v}),A({},l)[u]!==7||i(A({},d)).join("")!==h})?function(d,u){for(var h=a(d),v=arguments.length,f=1,c=o.f,b=s.f;v>f;)for(var p=g(arguments[f++]),y=c?C(i(p),c(p)):i(p),E=y.length,S=0,m;E>S;)m=y[S++],(!n||t(b,p,m))&&(h[m]=p[m]);return h}:A,Xm}var w3;function hhe(){if(w3)return y3;w3=1;var n=Ae(),e=uhe();return n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e}),y3}var Qm,E3;function che(){if(E3)return Qm;E3=1,hhe();var n=pt();return Qm=n.Object.assign,Qm}var Jm,S3;function fhe(){if(S3)return Jm;S3=1;var n=che();return Jm=n,Jm}var ey,_3;function phe(){return _3||(_3=1,ey=fhe()),ey}var vhe=phe(),mhe=fe(vhe),ty,O3;function yhe(){if(O3)return ty;O3=1,L7();var n=nr();return ty=n("Array","concat"),ty}var ry,T3;function bhe(){if(T3)return ry;T3=1;var n=Et(),e=yhe(),t=Array.prototype;return ry=function(r){var i=r.concat;return r===t||n(t,r)&&i===t.concat?e:i},ry}var iy,R3;function whe(){if(R3)return iy;R3=1;var n=bhe();return iy=n,iy}var ny,P3;function Ehe(){return P3||(P3=1,ny=whe()),ny}var She=Ehe(),_he=fe(She),x3={},$3;function Ohe(){if($3)return x3;$3=1;var n=Ae(),e=dt(),t=Mg();return n({target:"Object",stat:!0,sham:!e},{create:t}),x3}var oy,D3;function The(){if(D3)return oy;D3=1,Ohe();var n=pt(),e=n.Object;return oy=function(r,i){return e.create(r,i)},oy}var sy,N3;function Rhe(){if(N3)return sy;N3=1;var n=The();return sy=n,sy}var ay,M3;function Phe(){return M3||(M3=1,ay=Rhe()),ay}var xhe=Phe(),$he=fe(xhe),q3={},gy,F3;function Dhe(){if(F3)return gy;F3=1;var n=Hs(),e=bn(),t=vo(),r=RangeError;return gy=function(o){var s=e(t(this)),a="",g=n(o);if(g<0||g===1/0)throw new r("Wrong number of repetitions");for(;g>0;(g>>>=1)&&(s+=s))g&1&&(a+=s);return a},gy}var Ay,k3;function Nhe(){if(k3)return Ay;k3=1;var n=$e(),e=B7(),t=bn(),r=Dhe(),i=vo(),o=n(r),s=n("".slice),a=Math.ceil,g=function(A){return function(I,C,l){var d=t(i(I)),u=e(C),h=d.length,v=l===void 0?" ":t(l),f,c;return u<=h||v===""?d:(f=u-h,c=o(v,a(f/v.length)),c.length>f&&(c=s(c,0,f)),A?d+c:c+d)}};return Ay={start:g(!1),end:g(!0)},Ay}var Iy,B3;function Mhe(){if(B3)return Iy;B3=1;var n=$e(),e=Te(),t=Nhe().start,r=RangeError,i=isFinite,o=Math.abs,s=Date.prototype,a=s.toISOString,g=n(s.getTime),A=n(s.getUTCDate),I=n(s.getUTCFullYear),C=n(s.getUTCHours),l=n(s.getUTCMilliseconds),d=n(s.getUTCMinutes),u=n(s.getUTCMonth),h=n(s.getUTCSeconds);return Iy=e(function(){return a.call(new Date(-5e13-1))!=="0385-07-25T07:06:39.999Z"})||!e(function(){a.call(new Date(NaN))})?function(){if(!i(g(this)))throw new r("Invalid time value");var f=this,c=I(f),b=l(f),p=c<0?"-":c>9999?"+":"";return p+t(o(c),p?6:4,0)+"-"+t(u(f)+1,2,0)+"-"+t(A(f),2,0)+"T"+t(C(f),2,0)+":"+t(d(f),2,0)+":"+t(h(f),2,0)+"."+t(b,3,0)+"Z"}:a,Iy}var z3;function qhe(){if(z3)return q3;z3=1;var n=Ae(),e=ir(),t=Zr(),r=N7(),i=Mhe(),o=Ni(),s=Te(),a=s(function(){return new Date(NaN).toJSON()!==null||e(Date.prototype.toJSON,{toISOString:function(){return 1}})!==1});return n({target:"Date",proto:!0,forced:a},{toJSON:function(A){var I=t(this),C=r(I,"number");return typeof C=="number"&&!isFinite(C)?null:!("toISOString"in I)&&o(I)==="Date"?e(i,I):I.toISOString()}}),q3}var Cy,j3;function Fhe(){if(j3)return Cy;j3=1,qhe(),H7();var n=pt(),e=SI();return n.JSON||(n.JSON={stringify:JSON.stringify}),Cy=function(r,i,o){return e(n.JSON.stringify,null,arguments)},Cy}var ly,L3;function khe(){if(L3)return ly;L3=1;var n=Fhe();return ly=n,ly}var dy,G3;function Bhe(){return G3||(G3=1,dy=khe()),dy}var zhe=Bhe(),jhe=fe(zhe),W3={},V3={},uy,Z3;function Lhe(){if(Z3)return uy;Z3=1;var n=TypeError;return uy=function(e,t){if(e<t)throw new n("Not enough arguments");return e},uy}var hy,H3;function IJ(){if(H3)return hy;H3=1;var n=lt(),e=SI(),t=wt(),r=sJ(),i=js(),o=Us(),s=Lhe(),a=n.Function,g=/MSIE .\./.test(i)||r==="BUN"&&(function(){var A=n.Bun.version.split(".");return A.length<3||A[0]==="0"&&(A[1]<3||A[1]==="3"&&A[2]==="0")})();return hy=function(A,I){var C=I?2:1;return g?function(l,d){var u=s(arguments.length,1)>C,h=t(l)?l:a(l),v=u?o(arguments,C):[],f=u?function(){e(h,this,v)}:h;return I?A(f,d):A(f)}:A},hy}var U3;function Ghe(){if(U3)return V3;U3=1;var n=Ae(),e=lt(),t=IJ(),r=t(e.setInterval,!0);return n({global:!0,bind:!0,forced:e.setInterval!==r},{setInterval:r}),V3}var K3={},Y3;function Whe(){if(Y3)return K3;Y3=1;var n=Ae(),e=lt(),t=IJ(),r=t(e.setTimeout,!0);return n({global:!0,bind:!0,forced:e.setTimeout!==r},{setTimeout:r}),K3}var X3;function Vhe(){return X3||(X3=1,Ghe(),Whe()),W3}var cy,Q3;function Zhe(){if(Q3)return cy;Q3=1,Vhe();var n=pt();return cy=n.setTimeout,cy}var fy,J3;function Hhe(){return J3||(J3=1,fy=Zhe()),fy}var Uhe=Hhe(),Khe=fe(Uhe),py={exports:{}},eG;function Yhe(){return eG||(eG=1,(function(n){function e(r){if(r)return t(r);this._callbacks=new Map}function t(r){return Object.assign(r,e.prototype),r._callbacks=new Map,r}e.prototype.on=function(r,i){const o=this._callbacks.get(r)??[];return o.push(i),this._callbacks.set(r,o),this},e.prototype.once=function(r,i){const o=(...s)=>{this.off(r,o),i.apply(this,s)};return o.fn=i,this.on(r,o),this},e.prototype.off=function(r,i){if(r===void 0&&i===void 0)return this._callbacks.clear(),this;if(i===void 0)return this._callbacks.delete(r),this;const o=this._callbacks.get(r);if(o){for(const[s,a]of o.entries())if(a===i||a.fn===i){o.splice(s,1);break}o.length===0?this._callbacks.delete(r):this._callbacks.set(r,o)}return this},e.prototype.emit=function(r,...i){const o=this._callbacks.get(r);if(o){const s=[...o];for(const a of s)a.apply(this,i)}return this},e.prototype.listeners=function(r){return this._callbacks.get(r)??[]},e.prototype.listenerCount=function(r){if(r)return this.listeners(r).length;let i=0;for(const o of this._callbacks.values())i+=o.length;return i},e.prototype.hasListeners=function(r){return this.listenerCount(r)>0},e.prototype.addEventListener=e.prototype.on,e.prototype.removeListener=e.prototype.off,e.prototype.removeEventListener=e.prototype.off,e.prototype.removeAllListeners=e.prototype.off,n.exports=e})(py)),py.exports}var Xhe=Yhe(),Qhe=fe(Xhe);/*! Hammer.JS - v2.0.17-rc - 2019-12-16
 * http://naver.github.io/egjs
 *
 * Forked By Naver egjs
 * Copyright (c) hammerjs
 * Licensed under the MIT license */function Gr(){return Gr=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Gr.apply(this,arguments)}function Er(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function cA(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}var bO;typeof Object.assign!="function"?bO=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o])}return t}:bO=Object.assign;var eo=bO,tG=["","webkit","Moz","MS","ms","o"],Jhe=typeof document>"u"?{style:{}}:document.createElement("div"),ece="function",Ko=Math.round,to=Math.abs,BT=Date.now;function kI(n,e){for(var t,r,i=e[0].toUpperCase()+e.slice(1),o=0;o<tG.length;){if(t=tG[o],r=t?t+i:e,r in n)return r;o++}}var yi;typeof window>"u"?yi={}:yi=window;var CJ=kI(Jhe.style,"touchAction"),lJ=CJ!==void 0;function tce(){if(!lJ)return!1;var n={},e=yi.CSS&&yi.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return n[t]=e?yi.CSS.supports("touch-action",t):!0}),n}var dJ="compute",uJ="auto",wO="manipulation",Gn="none",Ya="pan-x",Xa="pan-y",fA=tce(),rce=/mobile|tablet|ip(ad|hone|od)|android/i,hJ="ontouchstart"in yi,ice=kI(yi,"PointerEvent")!==void 0,nce=hJ&&rce.test(navigator.userAgent),kg="touch",oce="pen",zT="mouse",sce="kinect",ace=25,Vt=1,bo=2,gt=4,er=8,VA=1,Bg=2,zg=4,jg=8,vs=16,oi=Bg|zg,Wn=jg|vs,cJ=oi|Wn,fJ=["x","y"],ZA=["clientX","clientY"];function bi(n,e,t){var r;if(n)if(n.forEach)n.forEach(e,t);else if(n.length!==void 0)for(r=0;r<n.length;)e.call(t,n[r],r,n),r++;else for(r in n)n.hasOwnProperty(r)&&e.call(t,n[r],r,n)}function BI(n,e){return typeof n===ece?n.apply(e&&e[0]||void 0,e):n}function Mn(n,e){return n.indexOf(e)>-1}function gce(n){if(Mn(n,Gn))return Gn;var e=Mn(n,Ya),t=Mn(n,Xa);return e&&t?Gn:e||t?e?Ya:Xa:Mn(n,wO)?wO:uJ}var pJ=(function(){function n(t,r){this.manager=t,this.set(r)}var e=n.prototype;return e.set=function(r){r===dJ&&(r=this.compute()),lJ&&this.manager.element.style&&fA[r]&&(this.manager.element.style[CJ]=r),this.actions=r.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var r=[];return bi(this.manager.recognizers,function(i){BI(i.options.enable,[i])&&(r=r.concat(i.getTouchAction()))}),gce(r.join(" "))},e.preventDefaults=function(r){var i=r.srcEvent,o=r.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var s=this.actions,a=Mn(s,Gn)&&!fA[Gn],g=Mn(s,Xa)&&!fA[Xa],A=Mn(s,Ya)&&!fA[Ya];if(a){var I=r.pointers.length===1,C=r.distance<2,l=r.deltaTime<250;if(I&&C&&l)return}if(!(A&&g)&&(a||g&&o&oi||A&&o&Wn))return this.preventSrc(i)},e.preventSrc=function(r){this.manager.session.prevented=!0,r.preventDefault()},n})();function jT(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function vJ(n){var e=n.length;if(e===1)return{x:Ko(n[0].clientX),y:Ko(n[0].clientY)};for(var t=0,r=0,i=0;i<e;)t+=n[i].clientX,r+=n[i].clientY,i++;return{x:Ko(t/e),y:Ko(r/e)}}function rG(n){for(var e=[],t=0;t<n.pointers.length;)e[t]={clientX:Ko(n.pointers[t].clientX),clientY:Ko(n.pointers[t].clientY)},t++;return{timeStamp:BT(),pointers:e,center:vJ(e),deltaX:n.deltaX,deltaY:n.deltaY}}function HA(n,e,t){t||(t=fJ);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.sqrt(r*r+i*i)}function EO(n,e,t){t||(t=fJ);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.atan2(i,r)*180/Math.PI}function mJ(n,e){return n===e?VA:to(n)>=to(e)?n<0?Bg:zg:e<0?jg:vs}function Ace(n,e){var t=e.center,r=n.offsetDelta||{},i=n.prevDelta||{},o=n.prevInput||{};(e.eventType===Vt||o.eventType===gt)&&(i=n.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=n.offsetDelta={x:t.x,y:t.y}),e.deltaX=i.x+(t.x-r.x),e.deltaY=i.y+(t.y-r.y)}function yJ(n,e,t){return{x:e/n||0,y:t/n||0}}function Ice(n,e){return HA(e[0],e[1],ZA)/HA(n[0],n[1],ZA)}function Cce(n,e){return EO(e[1],e[0],ZA)+EO(n[1],n[0],ZA)}function lce(n,e){var t=n.lastInterval||e,r=e.timeStamp-t.timeStamp,i,o,s,a;if(e.eventType!==er&&(r>ace||t.velocity===void 0)){var g=e.deltaX-t.deltaX,A=e.deltaY-t.deltaY,I=yJ(r,g,A);o=I.x,s=I.y,i=to(I.x)>to(I.y)?I.x:I.y,a=mJ(g,A),n.lastInterval=e}else i=t.velocity,o=t.velocityX,s=t.velocityY,a=t.direction;e.velocity=i,e.velocityX=o,e.velocityY=s,e.direction=a}function dce(n,e){var t=n.session,r=e.pointers,i=r.length;t.firstInput||(t.firstInput=rG(e)),i>1&&!t.firstMultiple?t.firstMultiple=rG(e):i===1&&(t.firstMultiple=!1);var o=t.firstInput,s=t.firstMultiple,a=s?s.center:o.center,g=e.center=vJ(r);e.timeStamp=BT(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=EO(a,g),e.distance=HA(a,g),Ace(t,e),e.offsetDirection=mJ(e.deltaX,e.deltaY);var A=yJ(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=A.x,e.overallVelocityY=A.y,e.overallVelocity=to(A.x)>to(A.y)?A.x:A.y,e.scale=s?Ice(s.pointers,r):1,e.rotation=s?Cce(s.pointers,r):0,e.maxPointers=t.prevInput?e.pointers.length>t.prevInput.maxPointers?e.pointers.length:t.prevInput.maxPointers:e.pointers.length,lce(t,e);var I=n.element,C=e.srcEvent,l;C.composedPath?l=C.composedPath()[0]:C.path?l=C.path[0]:l=C.target,jT(l,I)&&(I=l),e.target=I}function uce(n,e,t){var r=t.pointers.length,i=t.changedPointers.length,o=e&Vt&&r-i===0,s=e&(gt|er)&&r-i===0;t.isFirst=!!o,t.isFinal=!!s,o&&(n.session={}),t.eventType=e,dce(n,t),n.emit("hammer.input",t),n.recognize(t),n.session.prevInput=t}function Qa(n){return n.trim().split(/\s+/g)}function qa(n,e,t){bi(Qa(e),function(r){n.addEventListener(r,t,!1)})}function Fa(n,e,t){bi(Qa(e),function(r){n.removeEventListener(r,t,!1)})}function iG(n){var e=n.ownerDocument||n;return e.defaultView||e.parentWindow||window}var Xs=(function(){function n(t,r){var i=this;this.manager=t,this.callback=r,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(o){BI(t.options.enable,[t])&&i.handler(o)},this.init()}var e=n.prototype;return e.handler=function(){},e.init=function(){this.evEl&&qa(this.element,this.evEl,this.domHandler),this.evTarget&&qa(this.target,this.evTarget,this.domHandler),this.evWin&&qa(iG(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Fa(this.element,this.evEl,this.domHandler),this.evTarget&&Fa(this.target,this.evTarget,this.domHandler),this.evWin&&Fa(iG(this.element),this.evWin,this.domHandler)},n})();function ro(n,e,t){if(n.indexOf&&!t)return n.indexOf(e);for(var r=0;r<n.length;){if(t&&n[r][t]==e||!t&&n[r]===e)return r;r++}return-1}var hce={pointerdown:Vt,pointermove:bo,pointerup:gt,pointercancel:er,pointerout:er},cce={2:kg,3:oce,4:zT,5:sce},bJ="pointerdown",wJ="pointermove pointerup pointercancel";yi.MSPointerEvent&&!yi.PointerEvent&&(bJ="MSPointerDown",wJ="MSPointerMove MSPointerUp MSPointerCancel");var EJ=(function(n){Er(e,n);function e(){var r,i=e.prototype;return i.evEl=bJ,i.evWin=wJ,r=n.apply(this,arguments)||this,r.store=r.manager.session.pointerEvents=[],r}var t=e.prototype;return t.handler=function(i){var o=this.store,s=!1,a=i.type.toLowerCase().replace("ms",""),g=hce[a],A=cce[i.pointerType]||i.pointerType,I=A===kg,C=ro(o,i.pointerId,"pointerId");g&Vt&&(i.button===0||I)?C<0&&(o.push(i),C=o.length-1):g&(gt|er)&&(s=!0),!(C<0)&&(o[C]=i,this.callback(this.manager,g,{pointers:o,changedPointers:[i],pointerType:A,srcEvent:i}),s&&o.splice(C,1))},e})(Xs);function Ja(n){return Array.prototype.slice.call(n,0)}function LT(n,e,t){for(var r=[],i=[],o=0;o<n.length;){var s=e?n[o][e]:n[o];ro(i,s)<0&&r.push(n[o]),i[o]=s,o++}return t&&(e?r=r.sort(function(a,g){return a[e]>g[e]}):r=r.sort()),r}var fce={touchstart:Vt,touchmove:bo,touchend:gt,touchcancel:er},pce="touchstart touchmove touchend touchcancel",GT=(function(n){Er(e,n);function e(){var r;return e.prototype.evTarget=pce,r=n.apply(this,arguments)||this,r.targetIds={},r}var t=e.prototype;return t.handler=function(i){var o=fce[i.type],s=vce.call(this,i,o);s&&this.callback(this.manager,o,{pointers:s[0],changedPointers:s[1],pointerType:kg,srcEvent:i})},e})(Xs);function vce(n,e){var t=Ja(n.touches),r=this.targetIds;if(e&(Vt|bo)&&t.length===1)return r[t[0].identifier]=!0,[t,t];var i,o,s=Ja(n.changedTouches),a=[],g=this.target;if(o=t.filter(function(A){return jT(A.target,g)}),e===Vt)for(i=0;i<o.length;)r[o[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),e&(gt|er)&&delete r[s[i].identifier],i++;if(a.length)return[LT(o.concat(a),"identifier",!0),a]}var mce={mousedown:Vt,mousemove:bo,mouseup:gt},yce="mousedown",bce="mousemove mouseup",WT=(function(n){Er(e,n);function e(){var r,i=e.prototype;return i.evEl=yce,i.evWin=bce,r=n.apply(this,arguments)||this,r.pressed=!1,r}var t=e.prototype;return t.handler=function(i){var o=mce[i.type];o&Vt&&i.button===0&&(this.pressed=!0),o&bo&&i.which!==1&&(o=gt),this.pressed&&(o&gt&&(this.pressed=!1),this.callback(this.manager,o,{pointers:[i],changedPointers:[i],pointerType:zT,srcEvent:i}))},e})(Xs),wce=2500,nG=25;function oG(n){var e=n.changedPointers,t=e[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY},i=this.lastTouches;this.lastTouches.push(r);var o=function(){var a=i.indexOf(r);a>-1&&i.splice(a,1)};setTimeout(o,wce)}}function Ece(n,e){n&Vt?(this.primaryTouch=e.changedPointers[0].identifier,oG.call(this,e)):n&(gt|er)&&oG.call(this,e)}function Sce(n){for(var e=n.srcEvent.clientX,t=n.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],o=Math.abs(e-i.x),s=Math.abs(t-i.y);if(o<=nG&&s<=nG)return!0}return!1}var SJ=(function(){var n=(function(e){Er(t,e);function t(i,o){var s;return s=e.call(this,i,o)||this,s.handler=function(a,g,A){var I=A.pointerType===kg,C=A.pointerType===zT;if(!(C&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(I)Ece.call(cA(cA(s)),g,A);else if(C&&Sce.call(cA(cA(s)),A))return;s.callback(a,g,A)}},s.touch=new GT(s.manager,s.handler),s.mouse=new WT(s.manager,s.handler),s.primaryTouch=null,s.lastTouches=[],s}var r=t.prototype;return r.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t})(Xs);return n})();function _ce(n){var e,t=n.options.inputClass;return t?e=t:ice?e=EJ:nce?e=GT:hJ?e=SJ:e=WT,new e(n,uce)}function Yo(n,e,t){return Array.isArray(n)?(bi(n,t[e],t),!0):!1}var TA=1,pr=2,ms=4,gn=8,wi=gn,eg=16,Qr=32,Oce=1;function Tce(){return Oce++}function pA(n,e){var t=e.manager;return t?t.get(n):n}function sG(n){return n&eg?"cancel":n&gn?"end":n&ms?"move":n&pr?"start":""}var Lg=(function(){function n(t){t===void 0&&(t={}),this.options=Gr({enable:!0},t),this.id=Tce(),this.manager=null,this.state=TA,this.simultaneous={},this.requireFail=[]}var e=n.prototype;return e.set=function(r){return eo(this.options,r),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(r){if(Yo(r,"recognizeWith",this))return this;var i=this.simultaneous;return r=pA(r,this),i[r.id]||(i[r.id]=r,r.recognizeWith(this)),this},e.dropRecognizeWith=function(r){return Yo(r,"dropRecognizeWith",this)?this:(r=pA(r,this),delete this.simultaneous[r.id],this)},e.requireFailure=function(r){if(Yo(r,"requireFailure",this))return this;var i=this.requireFail;return r=pA(r,this),ro(i,r)===-1&&(i.push(r),r.requireFailure(this)),this},e.dropRequireFailure=function(r){if(Yo(r,"dropRequireFailure",this))return this;r=pA(r,this);var i=ro(this.requireFail,r);return i>-1&&this.requireFail.splice(i,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(r){return!!this.simultaneous[r.id]},e.emit=function(r){var i=this,o=this.state;function s(a){i.manager.emit(a,r)}o<gn&&s(i.options.event+sG(o)),s(i.options.event),r.additionalEvent&&s(r.additionalEvent),o>=gn&&s(i.options.event+sG(o))},e.tryEmit=function(r){if(this.canEmit())return this.emit(r);this.state=Qr},e.canEmit=function(){for(var r=0;r<this.requireFail.length;){if(!(this.requireFail[r].state&(Qr|TA)))return!1;r++}return!0},e.recognize=function(r){var i=eo({},r);if(!BI(this.options.enable,[this,i])){this.reset(),this.state=Qr;return}this.state&(wi|eg|Qr)&&(this.state=TA),this.state=this.process(i),this.state&(pr|ms|gn|eg)&&this.tryEmit(i)},e.process=function(r){},e.getTouchAction=function(){},e.reset=function(){},n})(),SO=(function(n){Er(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Gr({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},r))||this,i.pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}var t=e.prototype;return t.getTouchAction=function(){return[wO]},t.process=function(i){var o=this,s=this.options,a=i.pointers.length===s.pointers,g=i.distance<s.threshold,A=i.deltaTime<s.time;if(this.reset(),i.eventType&Vt&&this.count===0)return this.failTimeout();if(g&&A&&a){if(i.eventType!==gt)return this.failTimeout();var I=this.pTime?i.timeStamp-this.pTime<s.interval:!0,C=!this.pCenter||HA(this.pCenter,i.center)<s.posThreshold;this.pTime=i.timeStamp,this.pCenter=i.center,!C||!I?this.count=1:this.count+=1,this._input=i;var l=this.count%s.taps;if(l===0)return this.hasRequireFailures()?(this._timer=setTimeout(function(){o.state=wi,o.tryEmit()},s.interval),pr):wi}return Qr},t.failTimeout=function(){var i=this;return this._timer=setTimeout(function(){i.state=Qr},this.options.interval),Qr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){this.state===wi&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e})(Lg),ys=(function(n){Er(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Gr({pointers:1},r))||this}var t=e.prototype;return t.attrTest=function(i){var o=this.options.pointers;return o===0||i.pointers.length===o},t.process=function(i){var o=this.state,s=i.eventType,a=o&(pr|ms),g=this.attrTest(i);return a&&(s&er||!g)?o|eg:a||g?s&gt?o|gn:o&pr?o|ms:pr:Qr},e})(Lg);function _J(n){return n===vs?"down":n===jg?"up":n===Bg?"left":n===zg?"right":""}var VT=(function(n){Er(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Gr({event:"pan",threshold:10,pointers:1,direction:cJ},r))||this,i.pX=null,i.pY=null,i}var t=e.prototype;return t.getTouchAction=function(){var i=this.options.direction,o=[];return i&oi&&o.push(Xa),i&Wn&&o.push(Ya),o},t.directionTest=function(i){var o=this.options,s=!0,a=i.distance,g=i.direction,A=i.deltaX,I=i.deltaY;return g&o.direction||(o.direction&oi?(g=A===0?VA:A<0?Bg:zg,s=A!==this.pX,a=Math.abs(i.deltaX)):(g=I===0?VA:I<0?jg:vs,s=I!==this.pY,a=Math.abs(i.deltaY))),i.direction=g,s&&a>o.threshold&&g&o.direction},t.attrTest=function(i){return ys.prototype.attrTest.call(this,i)&&(this.state&pr||!(this.state&pr)&&this.directionTest(i))},t.emit=function(i){this.pX=i.deltaX,this.pY=i.deltaY;var o=_J(i.direction);o&&(i.additionalEvent=this.options.event+o),n.prototype.emit.call(this,i)},e})(ys),OJ=(function(n){Er(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Gr({event:"swipe",threshold:10,velocity:.3,direction:oi|Wn,pointers:1},r))||this}var t=e.prototype;return t.getTouchAction=function(){return VT.prototype.getTouchAction.call(this)},t.attrTest=function(i){var o=this.options.direction,s;return o&(oi|Wn)?s=i.overallVelocity:o&oi?s=i.overallVelocityX:o&Wn&&(s=i.overallVelocityY),n.prototype.attrTest.call(this,i)&&o&i.offsetDirection&&i.distance>this.options.threshold&&i.maxPointers===this.options.pointers&&to(s)>this.options.velocity&&i.eventType&gt},t.emit=function(i){var o=_J(i.offsetDirection);o&&this.manager.emit(this.options.event+o,i),this.manager.emit(this.options.event,i)},e})(ys),TJ=(function(n){Er(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Gr({event:"pinch",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Gn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.scale-1)>this.options.threshold||this.state&pr)},t.emit=function(i){if(i.scale!==1){var o=i.scale<1?"in":"out";i.additionalEvent=this.options.event+o}n.prototype.emit.call(this,i)},e})(ys),RJ=(function(n){Er(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Gr({event:"rotate",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Gn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.rotation)>this.options.threshold||this.state&pr)},e})(ys),PJ=(function(n){Er(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Gr({event:"press",pointers:1,time:251,threshold:9},r))||this,i._timer=null,i._input=null,i}var t=e.prototype;return t.getTouchAction=function(){return[uJ]},t.process=function(i){var o=this,s=this.options,a=i.pointers.length===s.pointers,g=i.distance<s.threshold,A=i.deltaTime>s.time;if(this._input=i,!g||!a||i.eventType&(gt|er)&&!A)this.reset();else if(i.eventType&Vt)this.reset(),this._timer=setTimeout(function(){o.state=wi,o.tryEmit()},s.time);else if(i.eventType&gt)return wi;return Qr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(i){this.state===wi&&(i&&i.eventType&gt?this.manager.emit(this.options.event+"up",i):(this._input.timeStamp=BT(),this.manager.emit(this.options.event,this._input)))},e})(Lg),xJ={domEvents:!1,touchAction:dJ,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},aG=[[RJ,{enable:!1}],[TJ,{enable:!1},["rotate"]],[OJ,{direction:oi}],[VT,{direction:oi},["swipe"]],[SO],[SO,{event:"doubletap",taps:2},["tap"]],[PJ]],Rce=1,gG=2;function AG(n,e){var t=n.element;if(t.style){var r;bi(n.options.cssProps,function(i,o){r=kI(t.style,o),e?(n.oldCssProps[r]=t.style[r],t.style[r]=i):t.style[r]=n.oldCssProps[r]||""}),e||(n.oldCssProps={})}}function Pce(n,e){var t=document.createEvent("Event");t.initEvent(n,!0,!0),t.gesture=e,e.target.dispatchEvent(t)}var IG=(function(){function n(t,r){var i=this;this.options=eo({},xJ,r||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=_ce(this),this.touchAction=new pJ(this,this.options.touchAction),AG(this,!0),bi(this.options.recognizers,function(o){var s=i.add(new o[0](o[1]));o[2]&&s.recognizeWith(o[2]),o[3]&&s.requireFailure(o[3])},this)}var e=n.prototype;return e.set=function(r){return eo(this.options,r),r.touchAction&&this.touchAction.update(),r.inputTarget&&(this.input.destroy(),this.input.target=r.inputTarget,this.input.init()),this},e.stop=function(r){this.session.stopped=r?gG:Rce},e.recognize=function(r){var i=this.session;if(!i.stopped){this.touchAction.preventDefaults(r);var o,s=this.recognizers,a=i.curRecognizer;(!a||a&&a.state&wi)&&(i.curRecognizer=null,a=null);for(var g=0;g<s.length;)o=s[g],i.stopped!==gG&&(!a||o===a||o.canRecognizeWith(a))?o.recognize(r):o.reset(),!a&&o.state&(pr|ms|gn)&&(i.curRecognizer=o,a=o),g++}},e.get=function(r){if(r instanceof Lg)return r;for(var i=this.recognizers,o=0;o<i.length;o++)if(i[o].options.event===r)return i[o];return null},e.add=function(r){if(Yo(r,"add",this))return this;var i=this.get(r.options.event);return i&&this.remove(i),this.recognizers.push(r),r.manager=this,this.touchAction.update(),r},e.remove=function(r){if(Yo(r,"remove",this))return this;var i=this.get(r);if(r){var o=this.recognizers,s=ro(o,i);s!==-1&&(o.splice(s,1),this.touchAction.update())}return this},e.on=function(r,i){if(r===void 0||i===void 0)return this;var o=this.handlers;return bi(Qa(r),function(s){o[s]=o[s]||[],o[s].push(i)}),this},e.off=function(r,i){if(r===void 0)return this;var o=this.handlers;return bi(Qa(r),function(s){i?o[s]&&o[s].splice(ro(o[s],i),1):delete o[s]}),this},e.emit=function(r,i){this.options.domEvents&&Pce(r,i);var o=this.handlers[r]&&this.handlers[r].slice();if(!(!o||!o.length)){i.type=r,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var s=0;s<o.length;)o[s](i),s++}},e.destroy=function(){this.element&&AG(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},n})(),xce={touchstart:Vt,touchmove:bo,touchend:gt,touchcancel:er},$ce="touchstart",Dce="touchstart touchmove touchend touchcancel",Nce=(function(n){Er(e,n);function e(){var r,i=e.prototype;return i.evTarget=$ce,i.evWin=Dce,r=n.apply(this,arguments)||this,r.started=!1,r}var t=e.prototype;return t.handler=function(i){var o=xce[i.type];if(o===Vt&&(this.started=!0),!!this.started){var s=Mce.call(this,i,o);o&(gt|er)&&s[0].length-s[1].length===0&&(this.started=!1),this.callback(this.manager,o,{pointers:s[0],changedPointers:s[1],pointerType:kg,srcEvent:i})}},e})(Xs);function Mce(n,e){var t=Ja(n.touches),r=Ja(n.changedTouches);return e&(gt|er)&&(t=LT(t.concat(r),"identifier",!0)),[t,r]}function $J(n,e,t){var r="DEPRECATED METHOD: "+e+`
`+t+` AT 
`;return function(){var i=new Error("get-stack-trace"),o=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=window.console&&(window.console.warn||window.console.log);return s&&s.call(window.console,r,o),n.apply(this,arguments)}}var DJ=$J(function(n,e,t){for(var r=Object.keys(e),i=0;i<r.length;)(!t||t&&n[r[i]]===void 0)&&(n[r[i]]=e[r[i]]),i++;return n},"extend","Use `assign`."),qce=$J(function(n,e){return DJ(n,e,!0)},"merge","Use `assign`.");function Fce(n,e,t){var r=e.prototype,i;i=n.prototype=Object.create(r),i.constructor=n,i._super=r,t&&eo(i,t)}function CG(n,e){return function(){return n.apply(e,arguments)}}var kce=(function(){var n=function(t,r){return r===void 0&&(r={}),new IG(t,Gr({recognizers:aG.concat()},r))};return n.VERSION="2.0.17-rc",n.DIRECTION_ALL=cJ,n.DIRECTION_DOWN=vs,n.DIRECTION_LEFT=Bg,n.DIRECTION_RIGHT=zg,n.DIRECTION_UP=jg,n.DIRECTION_HORIZONTAL=oi,n.DIRECTION_VERTICAL=Wn,n.DIRECTION_NONE=VA,n.DIRECTION_DOWN=vs,n.INPUT_START=Vt,n.INPUT_MOVE=bo,n.INPUT_END=gt,n.INPUT_CANCEL=er,n.STATE_POSSIBLE=TA,n.STATE_BEGAN=pr,n.STATE_CHANGED=ms,n.STATE_ENDED=gn,n.STATE_RECOGNIZED=wi,n.STATE_CANCELLED=eg,n.STATE_FAILED=Qr,n.Manager=IG,n.Input=Xs,n.TouchAction=pJ,n.TouchInput=GT,n.MouseInput=WT,n.PointerEventInput=EJ,n.TouchMouseInput=SJ,n.SingleTouchInput=Nce,n.Recognizer=Lg,n.AttrRecognizer=ys,n.Tap=SO,n.Pan=VT,n.Swipe=OJ,n.Pinch=TJ,n.Rotate=RJ,n.Press=PJ,n.on=qa,n.off=Fa,n.each=bi,n.merge=qce,n.extend=DJ,n.bindFn=CG,n.assign=eo,n.inherit=Fce,n.bindFn=CG,n.prefixed=kI,n.toArray=Ja,n.inArray=ro,n.uniqueArray=LT,n.splitStr=Qa,n.boolOrFn=BI,n.hasParent=jT,n.addEventListeners=qa,n.removeEventListeners=Fa,n.defaults=eo({},xJ,{preset:aG}),n})();const NJ=wue("DELETE");function Bce(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];return MJ({},n,...t)}function MJ(){const n=UA(...arguments);return FJ(n),n}function UA(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];if(e.length<2)return e[0];if(e.length>2)return UA(MJ(e[0],e[1]),...Pue(e).call(e,2));const r=e[0],i=e[1];if(r instanceof Date&&i instanceof Date)return r.setTime(i.getTime()),r;for(const o of que(i))Object.prototype.propertyIsEnumerable.call(i,o)&&(i[o]===NJ?delete r[o]:r[o]!==null&&i[o]!==null&&typeof r[o]=="object"&&typeof i[o]=="object"&&!Ur(r[o])&&!Ur(i[o])?r[o]=UA(r[o],i[o]):r[o]=qJ(i[o]));return r}function qJ(n){return Ur(n)?kr(n).call(n,e=>qJ(e)):typeof n=="object"&&n!==null?n instanceof Date?new Date(n.getTime()):UA({},n):n}function FJ(n){for(const e of kT(n))n[e]===NJ?delete n[e]:typeof n[e]=="object"&&n[e]!==null&&FJ(n[e])}function zce(){const n=()=>{};return{on:n,off:n,destroy:n,emit:n,get(){return{set:n}}}}const jce=typeof window<"u"?window.Hammer||kce:function(){return zce()};function hi(n){var e;this._cleanupQueue=[],this.active=!1,this._dom={container:n,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push(()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)});const t=jce(this._dom.overlay);t.on("tap",oJ(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push(()=>{t.destroy()});const r=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];Jn(r).call(r,i=>{t.on(i,o=>{o.srcEvent.stopPropagation()})}),document&&document.body&&(this._onClick=i=>{Lce(i.target,n)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push(()=>{document.body.removeEventListener("click",this._onClick)})),this._escListener=i=>{("key"in i?i.key==="Escape":i.keyCode===27)&&this.deactivate()}}Qhe(hi.prototype);hi.current=null;hi.prototype.destroy=function(){this.deactivate();for(const t of she(n=AJ(e=this._cleanupQueue).call(e,0)).call(n)){var n,e;t()}};hi.prototype.activate=function(){hi.current&&hi.current.deactivate(),hi.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)};hi.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")};hi.prototype._onTapOverlay=function(n){this.activate(),n.srcEvent.stopPropagation()};function Lce(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}var vy,lG;function Gce(){if(lG)return vy;lG=1,U7();var n=pt();return vy=n.Object.getOwnPropertySymbols,vy}var my,dG;function Wce(){if(dG)return my;dG=1;var n=Gce();return my=n,my}var yy,uG;function Vce(){return uG||(uG=1,yy=Wce()),yy}var Zce=Vce(),hG=fe(Zce),by={exports:{}},cG={},fG;function Hce(){if(fG)return cG;fG=1;var n=Ae(),e=Te(),t=li(),r=TI().f,i=dt(),o=!i||e(function(){r(1)});return n({target:"Object",stat:!0,forced:o,sham:!i},{getOwnPropertyDescriptor:function(a,g){return r(t(a),g)}}),cG}var pG;function Uce(){if(pG)return by.exports;pG=1,Hce();var n=pt(),e=n.Object,t=by.exports=function(i,o){return e.getOwnPropertyDescriptor(i,o)};return e.getOwnPropertyDescriptor.sham&&(t.sham=!0),by.exports}var wy,vG;function Kce(){if(vG)return wy;vG=1;var n=Uce();return wy=n,wy}var Ey,mG;function Yce(){return mG||(mG=1,Ey=Kce()),Ey}var Xce=Yce(),kJ=fe(Xce),yG={},bG;function Qce(){if(bG)return yG;bG=1;var n=Ae(),e=dt(),t=aJ(),r=li(),i=TI(),o=PI();return n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(a){for(var g=r(a),A=i.f,I=t(g),C={},l=0,d,u;I.length>l;)u=A(g,d=I[l++]),u!==void 0&&o(C,d,u);return C}}),yG}var Sy,wG;function Jce(){if(wG)return Sy;wG=1,Qce();var n=pt();return Sy=n.Object.getOwnPropertyDescriptors,Sy}var _y,EG;function efe(){if(EG)return _y;EG=1;var n=Jce();return _y=n,_y}var Oy,SG;function tfe(){return SG||(SG=1,Oy=efe()),Oy}var rfe=tfe(),_G=fe(rfe),Ty={exports:{}},OG={},TG;function ife(){if(TG)return OG;TG=1;var n=Ae(),e=dt(),t=NT().f;return n({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!e},{defineProperties:t}),OG}var RG;function nfe(){if(RG)return Ty.exports;RG=1,ife();var n=pt(),e=n.Object,t=Ty.exports=function(i,o){return e.defineProperties(i,o)};return e.defineProperties.sham&&(t.sham=!0),Ty.exports}var Ry,PG;function ofe(){if(PG)return Ry;PG=1;var n=nfe();return Ry=n,Ry}var Py,xG;function sfe(){return xG||(xG=1,Py=ofe()),Py}var afe=sfe(),gfe=fe(afe),xy,$G;function Afe(){return $G||($G=1,xy=k7()),xy}var Ife=Afe(),Cfe=fe(Ife),DG={},NG={},$y={exports:{}},Dy,MG;function lfe(){if(MG)return Dy;MG=1;var n=Te();return Dy=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),Dy}var Ny,qG;function dfe(){if(qG)return Ny;qG=1;var n=Te(),e=Ht(),t=Ni(),r=lfe(),i=Object.isExtensible,o=n(function(){});return Ny=o||r?function(a){return!e(a)||r&&t(a)==="ArrayBuffer"?!1:i?i(a):!0}:i,Ny}var My,FG;function ufe(){if(FG)return My;FG=1;var n=Te();return My=!n(function(){return Object.isExtensible(Object.preventExtensions({}))}),My}var kG;function BJ(){if(kG)return $y.exports;kG=1;var n=Ae(),e=$e(),t=Ng(),r=Ht(),i=St(),o=wr().f,s=DI(),a=W7(),g=dfe(),A=OI(),I=ufe(),C=!1,l=A("meta"),d=0,u=function(p){o(p,l,{value:{objectID:"O"+d++,weakData:{}}})},h=function(p,y){if(!r(p))return typeof p=="symbol"?p:(typeof p=="string"?"S":"P")+p;if(!i(p,l)){if(!g(p))return"F";if(!y)return"E";u(p)}return p[l].objectID},v=function(p,y){if(!i(p,l)){if(!g(p))return!0;if(!y)return!1;u(p)}return p[l].weakData},f=function(p){return I&&C&&g(p)&&!i(p,l)&&u(p),p},c=function(){b.enable=function(){},C=!0;var p=s.f,y=e([].splice),E={};E[l]=1,p(E).length&&(s.f=function(S){for(var m=p(S),w=0,_=m.length;w<_;w++)if(m[w]===l){y(m,w,1);break}return m},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:a.f}))},b=$y.exports={enable:c,fastKey:h,getWeakData:v,onFreeze:f};return t[l]=!0,$y.exports}var qy,BG;function hfe(){if(BG)return qy;BG=1;var n=_t(),e=Ys(),t=n("iterator"),r=Array.prototype;return qy=function(i){return i!==void 0&&(e.Array===i||r[t]===i)},qy}var Fy,zG;function zJ(){if(zG)return Fy;zG=1;var n=yn(),e=OT(),t=Pg(),r=Ys(),i=_t(),o=i("iterator");return Fy=function(s){if(!t(s))return e(s,o)||e(s,"@@iterator")||r[n(s)]},Fy}var ky,jG;function jJ(){if(jG)return ky;jG=1;var n=ir(),e=Mi(),t=qi(),r=Gs(),i=zJ(),o=TypeError;return ky=function(s,a){var g=arguments.length<2?i(s):a;if(e(g))return t(n(g,s));throw new o(r(s)+" is not iterable")},ky}var By,LG;function ZT(){if(LG)return By;LG=1;var n=ir(),e=qi(),t=OT();return By=function(r,i,o){var s,a;e(r);try{if(s=t(r,"return"),!s){if(i==="throw")throw o;return o}s=n(s,r)}catch(g){a=!0,s=g}if(i==="throw")throw o;if(a)throw s;return e(s),o},By}var zy,GG;function HT(){if(GG)return zy;GG=1;var n=RI(),e=ir(),t=qi(),r=Gs(),i=hfe(),o=mn(),s=Et(),a=jJ(),g=zJ(),A=ZT(),I=TypeError,C=function(d,u){this.stopped=d,this.result=u},l=C.prototype;return zy=function(d,u,h){var v=h&&h.that,f=!!(h&&h.AS_ENTRIES),c=!!(h&&h.IS_RECORD),b=!!(h&&h.IS_ITERATOR),p=!!(h&&h.INTERRUPTED),y=n(u,v),E,S,m,w,_,T,R,O=function(x){return E&&A(E,"normal"),new C(!0,x)},P=function(x){return f?(t(x),p?y(x[0],x[1],O):y(x[0],x[1])):p?y(x,O):y(x)};if(c)E=d.iterator;else if(b)E=d;else{if(S=g(d),!S)throw new I(r(d)+" is not iterable");if(i(S)){for(m=0,w=o(d);w>m;m++)if(_=P(d[m]),_&&s(l,_))return _;return new C(!1)}E=a(d,S)}for(T=c?d.next:E.next;!(R=e(T,E)).done;){try{_=P(R.value)}catch(x){A(E,"throw",x)}if(typeof _=="object"&&_&&s(l,_))return _}return new C(!1)},zy}var jy,WG;function LJ(){if(WG)return jy;WG=1;var n=Et(),e=TypeError;return jy=function(t,r){if(n(r,t))return t;throw new e("Incorrect invocation")},jy}var Ly,VG;function GJ(){if(VG)return Ly;VG=1;var n=Ae(),e=lt(),t=BJ(),r=Te(),i=Zs(),o=HT(),s=LJ(),a=wt(),g=Ht(),A=Pg(),I=yo(),C=wr().f,l=Ks().forEach,d=dt(),u=Fg(),h=u.set,v=u.getterFor;return Ly=function(f,c,b){var p=f.indexOf("Map")!==-1,y=f.indexOf("Weak")!==-1,E=p?"set":"add",S=e[f],m=S&&S.prototype,w={},_;if(!d||!a(S)||!(y||m.forEach&&!r(function(){new S().entries().next()})))_=b.getConstructor(c,f,p,E),t.enable();else{_=c(function(O,P){h(s(O,T),{type:f,collection:new S}),A(P)||o(P,O[E],{that:O,AS_ENTRIES:p})});var T=_.prototype,R=v(f);l(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(O){var P=O==="add"||O==="set";O in m&&!(y&&O==="clear")&&i(T,O,function(x,V){var M=R(this).collection;if(!P&&y&&!g(x))return O==="get"?void 0:!1;var U=M[O](x===0?0:x,V);return P?this:U})}),y||C(T,"size",{configurable:!0,get:function(){return R(this).collection.size}})}return I(_,f,!1,!0),w[f]=_,n({global:!0,forced:!0},w),y||b.setStrong(_,f,p),_},Ly}var Gy,ZG;function cfe(){if(ZG)return Gy;ZG=1;var n=qg();return Gy=function(e,t,r){for(var i in t)r&&r.unsafe&&e[i]?e[i]=t[i]:n(e,i,t[i],r);return e},Gy}var Wy,HG;function ffe(){if(HG)return Wy;HG=1;var n=Ir(),e=MT(),t=_t(),r=dt(),i=t("species");return Wy=function(o){var s=n(o);r&&s&&!s[i]&&e(s,i,{configurable:!0,get:function(){return this}})},Wy}var Vy,UG;function WJ(){if(UG)return Vy;UG=1;var n=Mg(),e=MT(),t=cfe(),r=RI(),i=LJ(),o=Pg(),s=HT(),a=qT(),g=FT(),A=ffe(),I=dt(),C=BJ().fastKey,l=Fg(),d=l.set,u=l.getterFor;return Vy={getConstructor:function(h,v,f,c){var b=h(function(m,w){i(m,p),d(m,{type:v,index:n(null),first:null,last:null,size:0}),I||(m.size=0),o(w)||s(w,m[c],{that:m,AS_ENTRIES:f})}),p=b.prototype,y=u(v),E=function(m,w,_){var T=y(m),R=S(m,w),O,P;return R?R.value=_:(T.last=R={index:P=C(w,!0),key:w,value:_,previous:O=T.last,next:null,removed:!1},T.first||(T.first=R),O&&(O.next=R),I?T.size++:m.size++,P!=="F"&&(T.index[P]=R)),m},S=function(m,w){var _=y(m),T=C(w),R;if(T!=="F")return _.index[T];for(R=_.first;R;R=R.next)if(R.key===w)return R};return t(p,{clear:function(){for(var w=this,_=y(w),T=_.first;T;)T.removed=!0,T.previous&&(T.previous=T.previous.next=null),T=T.next;_.first=_.last=null,_.index=n(null),I?_.size=0:w.size=0},delete:function(m){var w=this,_=y(w),T=S(w,m);if(T){var R=T.next,O=T.previous;delete _.index[T.index],T.removed=!0,O&&(O.next=R),R&&(R.previous=O),_.first===T&&(_.first=R),_.last===T&&(_.last=O),I?_.size--:w.size--}return!!T},forEach:function(w){for(var _=y(this),T=r(w,arguments.length>1?arguments[1]:void 0),R;R=R?R.next:_.first;)for(T(R.value,R.key,this);R&&R.removed;)R=R.previous},has:function(w){return!!S(this,w)}}),t(p,f?{get:function(w){var _=S(this,w);return _&&_.value},set:function(w,_){return E(this,w===0?0:w,_)}}:{add:function(w){return E(this,w=w===0?0:w,w)}}),I&&e(p,"size",{configurable:!0,get:function(){return y(this).size}}),b},setStrong:function(h,v,f){var c=v+" Iterator",b=u(v),p=u(c);a(h,v,function(y,E){d(this,{type:c,target:y,state:b(y),kind:E,last:null})},function(){for(var y=p(this),E=y.kind,S=y.last;S&&S.removed;)S=S.previous;return!y.target||!(y.last=S=S?S.next:y.state.first)?(y.target=null,g(void 0,!0)):g(E==="keys"?S.key:E==="values"?S.value:[S.key,S.value],!1)},f?"entries":"values",!f,!0),A(v)}},Vy}var KG;function pfe(){if(KG)return NG;KG=1;var n=GJ(),e=WJ();return n("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),NG}var YG;function vfe(){return YG||(YG=1,pfe()),DG}var XG={},Zy,QG;function VJ(){return QG||(QG=1,Zy=function(n,e){return e===1?function(t,r){return t[n](r)}:function(t,r,i){return t[n](r,i)}}),Zy}var Hy,JG;function mfe(){if(JG)return Hy;JG=1;var n=Ir(),e=VJ(),t=n("Map");return Hy={Map:t,set:e("set",2),get:e("get",1),has:e("has",1),remove:e("delete",1),proto:t.prototype},Hy}var eW;function yfe(){if(eW)return XG;eW=1;var n=Ae(),e=$e(),t=Mi(),r=vo(),i=HT(),o=mfe(),s=Ws(),a=Te(),g=o.Map,A=o.has,I=o.get,C=o.set,l=e([].push),d=s||a(function(){return g.groupBy("ab",function(u){return u}).get("a").length!==1});return n({target:"Map",stat:!0,forced:s||d},{groupBy:function(h,v){r(h),t(v);var f=new g,c=0;return i(h,function(b){var p=v(b,c++);A(f,p)?l(I(f,p),b):C(f,p,[b])}),f}}),XG}var Uy,tW;function bfe(){if(tW)return Uy;tW=1,wn(),vfe(),yfe(),qI();var n=pt();return Uy=n.Map,Uy}var Ky,rW;function wfe(){if(rW)return Ky;rW=1;var n=bfe();return En(),Ky=n,Ky}var Yy,iW;function Efe(){return iW||(iW=1,Yy=wfe()),Yy}var Sfe=Efe(),ZJ=fe(Sfe),nW={},oW;function _fe(){if(oW)return nW;oW=1;var n=Ae(),e=Ks().some,t=FI(),r=t("some");return n({target:"Array",proto:!0,forced:!r},{some:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),nW}var Xy,sW;function Ofe(){if(sW)return Xy;sW=1,_fe();var n=nr();return Xy=n("Array","some"),Xy}var Qy,aW;function Tfe(){if(aW)return Qy;aW=1;var n=Et(),e=Ofe(),t=Array.prototype;return Qy=function(r){var i=r.some;return r===t||n(t,r)&&i===t.some?e:i},Qy}var Jy,gW;function Rfe(){if(gW)return Jy;gW=1;var n=Tfe();return Jy=n,Jy}var eb,AW;function Pfe(){return AW||(AW=1,eb=Rfe()),eb}var xfe=Pfe(),$fe=fe(xfe),tb,IW;function Dfe(){if(IW)return tb;IW=1,wn();var n=nr();return tb=n("Array","keys"),tb}var rb,CW;function Nfe(){if(CW)return rb;CW=1;var n=Dfe();return rb=n,rb}var ib,lW;function Mfe(){if(lW)return ib;lW=1,En();var n=yn(),e=St(),t=Et(),r=Nfe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return ib=function(s){var a=s.keys;return s===i||t(i,s)&&a===i.keys||e(o,n(s))?r:a},ib}var nb,dW;function qfe(){return dW||(dW=1,nb=Mfe()),nb}var Ffe=qfe(),jo=fe(Ffe),uW={},ob,hW;function kfe(){if(hW)return ob;hW=1;var n=Us(),e=Math.floor,t=function(r,i){var o=r.length;if(o<8)for(var s=1,a,g;s<o;){for(g=s,a=r[s];g&&i(r[g-1],a)>0;)r[g]=r[--g];g!==s++&&(r[g]=a)}else for(var A=e(o/2),I=t(n(r,0,A),i),C=t(n(r,A),i),l=I.length,d=C.length,u=0,h=0;u<l||h<d;)r[u+h]=u<l&&h<d?i(I[u],C[h])<=0?I[u++]:C[h++]:u<l?I[u++]:C[h++];return r};return ob=t,ob}var sb,cW;function Bfe(){if(cW)return sb;cW=1;var n=js(),e=n.match(/firefox\/(\d+)/i);return sb=!!e&&+e[1],sb}var ab,fW;function zfe(){if(fW)return ab;fW=1;var n=js();return ab=/MSIE|Trident/.test(n),ab}var gb,pW;function jfe(){if(pW)return gb;pW=1;var n=js(),e=n.match(/AppleWebKit\/(\d+)\./);return gb=!!e&&+e[1],gb}var vW;function Lfe(){if(vW)return uW;vW=1;var n=Ae(),e=$e(),t=Mi(),r=Zr(),i=mn(),o=gJ(),s=bn(),a=Te(),g=kfe(),A=FI(),I=Bfe(),C=zfe(),l=xg(),d=jfe(),u=[],h=e(u.sort),v=e(u.push),f=a(function(){u.sort(void 0)}),c=a(function(){u.sort(null)}),b=A("sort"),p=!a(function(){if(l)return l<70;if(!(I&&I>3)){if(C)return!0;if(d)return d<603;var S="",m,w,_,T;for(m=65;m<76;m++){switch(w=String.fromCharCode(m),m){case 66:case 69:case 70:case 72:_=3;break;case 68:case 71:_=4;break;default:_=2}for(T=0;T<47;T++)u.push({k:w+T,v:_})}for(u.sort(function(R,O){return O.v-R.v}),T=0;T<u.length;T++)w=u[T].k.charAt(0),S.charAt(S.length-1)!==w&&(S+=w);return S!=="DGBEFHACIJK"}}),y=f||!c||!b||!p,E=function(S){return function(m,w){return w===void 0?-1:m===void 0?1:S!==void 0?+S(m,w)||0:s(m)>s(w)?1:-1}};return n({target:"Array",proto:!0,forced:y},{sort:function(m){m!==void 0&&t(m);var w=r(this);if(p)return m===void 0?h(w):h(w,m);var _=[],T=i(w),R,O;for(O=0;O<T;O++)O in w&&v(_,w[O]);for(g(_,E(m)),R=i(_),O=0;O<R;)w[O]=_[O++];for(;O<T;)o(w,O++);return w}}),uW}var Ab,mW;function Gfe(){if(mW)return Ab;mW=1,Lfe();var n=nr();return Ab=n("Array","sort"),Ab}var Ib,yW;function Wfe(){if(yW)return Ib;yW=1;var n=Et(),e=Gfe(),t=Array.prototype;return Ib=function(r){var i=r.sort;return r===t||n(t,r)&&i===t.sort?e:i},Ib}var Cb,bW;function Vfe(){if(bW)return Cb;bW=1;var n=Wfe();return Cb=n,Cb}var lb,wW;function Zfe(){return wW||(wW=1,lb=Vfe()),lb}var Hfe=Zfe(),_O=fe(Hfe),db,EW;function Ufe(){if(EW)return db;EW=1,wn();var n=nr();return db=n("Array","values"),db}var ub,SW;function Kfe(){if(SW)return ub;SW=1;var n=Ufe();return ub=n,ub}var hb,_W;function Yfe(){if(_W)return hb;_W=1,En();var n=yn(),e=St(),t=Et(),r=Kfe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return hb=function(s){var a=s.values;return s===i||t(i,s)&&a===i.values||e(o,n(s))?r:a},hb}var cb,OW;function Xfe(){return OW||(OW=1,cb=Yfe()),cb}var Qfe=Xfe(),TW=fe(Qfe),fb,RW;function Jfe(){return RW||(RW=1,fb=nJ()),fb}var epe=Jfe(),Xo=fe(epe),pb,PW;function tpe(){if(PW)return pb;PW=1,wn();var n=nr();return pb=n("Array","entries"),pb}var vb,xW;function rpe(){if(xW)return vb;xW=1;var n=tpe();return vb=n,vb}var mb,$W;function ipe(){if($W)return mb;$W=1,En();var n=yn(),e=St(),t=Et(),r=rpe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return mb=function(s){var a=s.entries;return s===i||t(i,s)&&a===i.entries||e(o,n(s))?r:a},mb}var yb,DW;function npe(){return DW||(DW=1,yb=ipe()),yb}var ope=npe(),spe=fe(ope);const Dt=[];for(let n=0;n<256;++n)Dt.push((n+256).toString(16).slice(1));function ape(n,e=0){return(Dt[n[e+0]]+Dt[n[e+1]]+Dt[n[e+2]]+Dt[n[e+3]]+"-"+Dt[n[e+4]]+Dt[n[e+5]]+"-"+Dt[n[e+6]]+Dt[n[e+7]]+"-"+Dt[n[e+8]]+Dt[n[e+9]]+"-"+Dt[n[e+10]]+Dt[n[e+11]]+Dt[n[e+12]]+Dt[n[e+13]]+Dt[n[e+14]]+Dt[n[e+15]]).toLowerCase()}let bb;const gpe=new Uint8Array(16);function Ape(){if(!bb){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");bb=crypto.getRandomValues.bind(crypto)}return bb(gpe)}const Ipe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var NW={randomUUID:Ipe};function Cpe(n,e,t){n=n||{};const r=n.random??n.rng?.()??Ape();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,ape(r)}function lpe(n,e,t){return NW.randomUUID&&!n?NW.randomUUID():Cpe(n)}function MW(n){return typeof n=="string"||typeof n=="number"}class UT{constructor(e){an(this,"_queue",[]),an(this,"_timeout",null),an(this,"_extended",null),this.delay=null,this.max=1/0,this.setOptions(e)}setOptions(e){e&&typeof e.delay<"u"&&(this.delay=e.delay),e&&typeof e.max<"u"&&(this.max=e.max),this._flushIfNeeded()}static extend(e,t){const r=new UT(t);if(e.flush!==void 0)throw new Error("Target object already has a property flush");e.flush=()=>{r.flush()};const i=[{name:"flush",original:void 0}];if(t&&t.replace)for(let o=0;o<t.replace.length;o++){const s=t.replace[o];i.push({name:s,original:e[s]}),r.replace(e,s)}return r._extended={object:e,methods:i},r}destroy(){if(this.flush(),this._extended){const e=this._extended.object,t=this._extended.methods;for(let r=0;r<t.length;r++){const i=t[r];i.original?e[i.name]=i.original:delete e[i.name]}this._extended=null}}replace(e,t){const r=this,i=e[t];if(!i)throw new Error("Method "+t+" undefined");e[t]=function(){for(var o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];r.queue({args:s,fn:i,context:this})}}queue(e){typeof e=="function"?this._queue.push({fn:e}):this._queue.push(e),this._flushIfNeeded()}_flushIfNeeded(){this._queue.length>this.max&&this.flush(),this._timeout!=null&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&typeof this.delay=="number"&&(this._timeout=Khe(()=>{this.flush()},this.delay))}flush(){var e,t;Jn(e=AJ(t=this._queue).call(t,0)).call(e,r=>{r.fn.apply(r.context||r.fn,r.args||[])})}}class KA{constructor(){an(this,"_subscribers",{"*":[],add:[],remove:[],update:[]}),an(this,"subscribe",KA.prototype.on),an(this,"unsubscribe",KA.prototype.off)}_trigger(e,t,r){var i;if(e==="*")throw new Error("Cannot trigger event *");Jn(i=[...this._subscribers[e],...this._subscribers["*"]]).call(i,o=>{o(e,t,r??null)})}on(e,t){typeof t=="function"&&this._subscribers[e].push(t)}off(e,t){var r;this._subscribers[e]=Uo(r=this._subscribers[e]).call(r,i=>i!==t)}}var qW={},FW={},kW;function dpe(){if(kW)return FW;kW=1;var n=GJ(),e=WJ();return n("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),FW}var BW;function upe(){return BW||(BW=1,dpe()),qW}var zW={},wb,jW;function wo(){if(jW)return wb;jW=1;var n=Gs(),e=TypeError;return wb=function(t){if(typeof t=="object"&&"size"in t&&"has"in t&&"add"in t&&"delete"in t&&"keys"in t)return t;throw new e(n(t)+" is not a set")},wb}var Eb,LW;function Eo(){if(LW)return Eb;LW=1;var n=Ir(),e=VJ(),t=n("Set"),r=t.prototype;return Eb={Set:t,add:e("add",1),has:e("has",1),remove:e("delete",1),proto:r},Eb}var Sb,GW;function So(){if(GW)return Sb;GW=1;var n=ir();return Sb=function(e,t,r){for(var i=r?e:e.iterator,o=e.next,s,a;!(s=n(o,i)).done;)if(a=t(s.value),a!==void 0)return a},Sb}var _b,WW;function Gg(){if(WW)return _b;WW=1;var n=So();return _b=function(e,t,r){return r?n(e.keys(),t,!0):e.forEach(t)},_b}var Ob,VW;function KT(){if(VW)return Ob;VW=1;var n=Eo(),e=Gg(),t=n.Set,r=n.add;return Ob=function(i){var o=new t;return e(i,function(s){r(o,s)}),o},Ob}var Tb,ZW;function Wg(){return ZW||(ZW=1,Tb=function(n){return n.size}),Tb}var Rb,HW;function hpe(){return HW||(HW=1,Rb=function(n){return{iterator:n,next:n.next,done:!1}}),Rb}var Pb,UW;function _o(){if(UW)return Pb;UW=1;var n=Mi(),e=qi(),t=ir(),r=Hs(),i=hpe(),o="Invalid size",s=RangeError,a=TypeError,g=Math.max,A=function(I,C){this.set=I,this.size=g(C,0),this.has=n(I.has),this.keys=n(I.keys)};return A.prototype={getIterator:function(){return i(e(t(this.keys,this.set)))},includes:function(I){return t(this.has,this.set,I)}},Pb=function(I){e(I);var C=+I.size;if(C!==C)throw new a(o);var l=r(C);if(l<0)throw new s(o);return new A(I,l)},Pb}var xb,KW;function cpe(){if(KW)return xb;KW=1;var n=wo(),e=Eo(),t=KT(),r=Wg(),i=_o(),o=Gg(),s=So(),a=e.has,g=e.remove;return xb=function(I){var C=n(this),l=i(I),d=t(C);return r(C)<=l.size?o(C,function(u){l.includes(u)&&g(d,u)}):s(l.getIterator(),function(u){a(d,u)&&g(d,u)}),d},xb}var $b,YW;function Oo(){return YW||(YW=1,$b=function(){return!1}),$b}var XW;function fpe(){if(XW)return zW;XW=1;var n=Ae(),e=cpe(),t=Te(),r=Oo(),i=!r("difference",function(s){return s.size===0}),o=i||t(function(){var s={size:1,has:function(){return!0},keys:function(){var g=0;return{next:function(){var A=g++>1;return a.has(1)&&a.clear(),{done:A,value:2}}}}},a=new Set([1,2,3,4]);return a.difference(s).size!==3});return n({target:"Set",proto:!0,real:!0,forced:o},{difference:e}),zW}var QW={},Db,JW;function ppe(){if(JW)return Db;JW=1;var n=wo(),e=Eo(),t=Wg(),r=_o(),i=Gg(),o=So(),s=e.Set,a=e.add,g=e.has;return Db=function(I){var C=n(this),l=r(I),d=new s;return t(C)>l.size?o(l.getIterator(),function(u){g(C,u)&&a(d,u)}):i(C,function(u){l.includes(u)&&a(d,u)}),d},Db}var eV;function vpe(){if(eV)return QW;eV=1;var n=Ae(),e=Te(),t=ppe(),r=Oo(),i=!r("intersection",function(o){return o.size===2&&o.has(1)&&o.has(2)})||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});return n({target:"Set",proto:!0,real:!0,forced:i},{intersection:t}),QW}var tV={},Nb,rV;function mpe(){if(rV)return Nb;rV=1;var n=wo(),e=Eo().has,t=Wg(),r=_o(),i=Gg(),o=So(),s=ZT();return Nb=function(g){var A=n(this),I=r(g);if(t(A)<=I.size)return i(A,function(l){if(I.includes(l))return!1},!0)!==!1;var C=I.getIterator();return o(C,function(l){if(e(A,l))return s(C,"normal",!1)})!==!1},Nb}var iV;function ype(){if(iV)return tV;iV=1;var n=Ae(),e=mpe(),t=Oo(),r=!t("isDisjointFrom",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isDisjointFrom:e}),tV}var nV={},Mb,oV;function bpe(){if(oV)return Mb;oV=1;var n=wo(),e=Wg(),t=Gg(),r=_o();return Mb=function(o){var s=n(this),a=r(o);return e(s)>a.size?!1:t(s,function(g){if(!a.includes(g))return!1},!0)!==!1},Mb}var sV;function wpe(){if(sV)return nV;sV=1;var n=Ae(),e=bpe(),t=Oo(),r=!t("isSubsetOf",function(i){return i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSubsetOf:e}),nV}var aV={},qb,gV;function Epe(){if(gV)return qb;gV=1;var n=wo(),e=Eo().has,t=Wg(),r=_o(),i=So(),o=ZT();return qb=function(a){var g=n(this),A=r(a);if(t(g)<A.size)return!1;var I=A.getIterator();return i(I,function(C){if(!e(g,C))return o(I,"normal",!1)})!==!1},qb}var AV;function Spe(){if(AV)return aV;AV=1;var n=Ae(),e=Epe(),t=Oo(),r=!t("isSupersetOf",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSupersetOf:e}),aV}var IV={},Fb,CV;function _pe(){if(CV)return Fb;CV=1;var n=wo(),e=Eo(),t=KT(),r=_o(),i=So(),o=e.add,s=e.has,a=e.remove;return Fb=function(A){var I=n(this),C=r(A).getIterator(),l=t(I);return i(C,function(d){s(I,d)?a(l,d):o(l,d)}),l},Fb}var kb,lV;function HJ(){return lV||(lV=1,kb=function(n){try{var e=new Set,t={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},r=e[n](t);return r.size===1&&r.values().next().value===4}catch{return!1}}),kb}var dV;function Ope(){if(dV)return IV;dV=1;var n=Ae(),e=_pe(),t=HJ(),r=Oo(),i=!r("symmetricDifference")||!t("symmetricDifference");return n({target:"Set",proto:!0,real:!0,forced:i},{symmetricDifference:e}),IV}var uV={},Bb,hV;function Tpe(){if(hV)return Bb;hV=1;var n=wo(),e=Eo().add,t=KT(),r=_o(),i=So();return Bb=function(s){var a=n(this),g=r(s).getIterator(),A=t(a);return i(g,function(I){e(A,I)}),A},Bb}var cV;function Rpe(){if(cV)return uV;cV=1;var n=Ae(),e=Tpe(),t=HJ(),r=Oo(),i=!r("union")||!t("union");return n({target:"Set",proto:!0,real:!0,forced:i},{union:e}),uV}var zb,fV;function Ppe(){if(fV)return zb;fV=1,wn(),upe(),fpe(),vpe(),ype(),wpe(),Spe(),Ope(),Rpe(),qI();var n=pt();return zb=n.Set,zb}var jb,pV;function xpe(){if(pV)return jb;pV=1;var n=Ppe();return En(),jb=n,jb}var Lb,vV;function $pe(){return vV||(vV=1,Lb=xpe()),Lb}var Dpe=$pe(),Gb=fe(Dpe),Wb,mV;function Npe(){if(mV)return Wb;mV=1,wn(),qI();var n=jJ();return Wb=n,Wb}var Vb,yV;function Mpe(){if(yV)return Vb;yV=1;var n=Npe();return En(),Vb=n,Vb}var Zb,bV;function qpe(){if(bV)return Zb;bV=1;var n=Mpe();return Zb=n,Zb}var Hb,wV;function Fpe(){if(wV)return Hb;wV=1;var n=qpe();return Hb=n,Hb}var Ub,EV;function kpe(){return EV||(EV=1,Ub=Fpe()),Ub}var Kb,SV;function Bpe(){return SV||(SV=1,Kb=kpe()),Kb}var zpe=Bpe(),Yb=fe(zpe);class qn{constructor(e){this._pairs=e}*[Xo](){for(const[e,t]of this._pairs)yield[e,t]}*entries(){for(const[e,t]of this._pairs)yield[e,t]}*keys(){for(const[e]of this._pairs)yield e}*values(){for(const[,e]of this._pairs)yield e}toIdArray(){var e;return kr(e=[...this._pairs]).call(e,t=>t[0])}toItemArray(){var e;return kr(e=[...this._pairs]).call(e,t=>t[1])}toEntryArray(){return[...this._pairs]}toObjectMap(){const e=$he(null);for(const[t,r]of this._pairs)e[t]=r;return e}toMap(){return new ZJ(this._pairs)}toIdSet(){return new Gb(this.toIdArray())}toItemSet(){return new Gb(this.toItemArray())}cache(){return new qn([...this._pairs])}distinct(e){const t=new Gb;for(const[r,i]of this._pairs)t.add(e(i,r));return t}filter(e){const t=this._pairs;return new qn({*[Xo](){for(const[r,i]of t)e(i,r)&&(yield[r,i])}})}forEach(e){for(const[t,r]of this._pairs)e(r,t)}map(e){const t=this._pairs;return new qn({*[Xo](){for(const[r,i]of t)yield[r,e(i,r)]}})}max(e){const t=Yb(this._pairs);let r=t.next();if(r.done)return null;let i=r.value[1],o=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[s,a]=r.value,g=e(a,s);g>o&&(o=g,i=a)}return i}min(e){const t=Yb(this._pairs);let r=t.next();if(r.done)return null;let i=r.value[1],o=e(r.value[1],r.value[0]);for(;!(r=t.next()).done;){const[s,a]=r.value,g=e(a,s);g<o&&(o=g,i=a)}return i}reduce(e,t){for(const[r,i]of this._pairs)t=e(t,i,r);return t}sort(e){return new qn({[Xo]:()=>{var t;return Yb(_O(t=[...this._pairs]).call(t,(r,i)=>{let[o,s]=r,[a,g]=i;return e(s,g,o,a)}))}})}}function _V(n,e){var t=kT(n);if(hG){var r=hG(n);e&&(r=Uo(r).call(r,function(i){return kJ(n,i).enumerable})),t.push.apply(t,r)}return t}function OV(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?Jn(t=_V(Object(i),!0)).call(t,function(o){an(n,o,i[o])}):_G?gfe(n,_G(i)):Jn(r=_V(Object(i))).call(r,function(o){Cfe(n,o,kJ(i,o))})}return n}function jpe(n,e){return n[e]==null&&(n[e]=lpe()),n}class YA extends KA{get idProp(){return this._idProp}constructor(e,t){super(),an(this,"_queue",null),e&&!Ur(e)&&(t=e,e=[]),this._options=t||{},this._data=new ZJ,this.length=0,this._idProp=this._options.fieldId||"id",e&&e.length&&this.add(e),this.setOptions(t)}setOptions(e){e&&e.queue!==void 0&&(e.queue===!1?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=UT.extend(this,{replace:["add","update","remove"]})),e.queue&&typeof e.queue=="object"&&this._queue.setOptions(e.queue)))}add(e,t){const r=[];let i;if(Ur(e)){const o=kr(e).call(e,s=>s[this._idProp]);if($fe(o).call(o,s=>this._data.has(s)))throw new Error("A duplicate id was found in the parameter array.");for(let s=0,a=e.length;s<a;s++)i=this._addItem(e[s]),r.push(i)}else if(e&&typeof e=="object")i=this._addItem(e),r.push(i);else throw new Error("Unknown dataType");return r.length&&this._trigger("add",{items:r},t),r}update(e,t){const r=[],i=[],o=[],s=[],a=this._idProp,g=A=>{const I=A[a];if(I!=null&&this._data.has(I)){const C=A,l=mhe({},this._data.get(I)),d=this._updateItem(C);i.push(d),s.push(C),o.push(l)}else{const C=this._addItem(A);r.push(C)}};if(Ur(e))for(let A=0,I=e.length;A<I;A++)e[A]&&typeof e[A]=="object"?g(e[A]):console.warn("Ignoring input item, which is not an object at index "+A);else if(e&&typeof e=="object")g(e);else throw new Error("Unknown dataType");if(r.length&&this._trigger("add",{items:r},t),i.length){const A={items:i,oldData:o,data:s};this._trigger("update",A,t)}return _he(r).call(r,i)}updateOnly(e,t){var r;Ur(e)||(e=[e]);const i=kr(r=kr(e).call(e,o=>{const s=this._data.get(o[this._idProp]);if(s==null)throw new Error("Updating non-existent items is not allowed.");return{oldData:s,update:o}})).call(r,o=>{let{oldData:s,update:a}=o;const g=s[this._idProp],A=Bce(s,a);return this._data.set(g,A),{id:g,oldData:s,updatedData:A}});if(i.length){const o={items:kr(i).call(i,s=>s.id),oldData:kr(i).call(i,s=>s.oldData),data:kr(i).call(i,s=>s.updatedData)};return this._trigger("update",o,t),o.items}else return[]}get(e,t){let r,i,o;MW(e)?(r=e,o=t):Ur(e)?(i=e,o=t):o=e;const s=o&&o.returnType==="Object"?"Object":"Array",a=o&&Uo(o),g=[];let A,I,C;if(r!=null)A=this._data.get(r),A&&a&&!a(A)&&(A=void 0);else if(i!=null)for(let d=0,u=i.length;d<u;d++)A=this._data.get(i[d]),A!=null&&(!a||a(A))&&g.push(A);else{var l;I=[...jo(l=this._data).call(l)];for(let d=0,u=I.length;d<u;d++)C=I[d],A=this._data.get(C),A!=null&&(!a||a(A))&&g.push(A)}if(o&&o.order&&r==null&&this._sort(g,o.order),o&&o.fields){const d=o.fields;if(r!=null&&A!=null)A=this._filterFields(A,d);else for(let u=0,h=g.length;u<h;u++)g[u]=this._filterFields(g[u],d)}if(s=="Object"){const d={};for(let u=0,h=g.length;u<h;u++){const v=g[u],f=v[this._idProp];d[f]=v}return d}else return r!=null?A??null:g}getIds(e){const t=this._data,r=e&&Uo(e),i=e&&e.order,o=[...jo(t).call(t)],s=[];if(r)if(i){const a=[];for(let g=0,A=o.length;g<A;g++){const I=o[g],C=this._data.get(I);C!=null&&r(C)&&a.push(C)}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)s.push(a[g][this._idProp])}else for(let a=0,g=o.length;a<g;a++){const A=o[a],I=this._data.get(A);I!=null&&r(I)&&s.push(I[this._idProp])}else if(i){const a=[];for(let g=0,A=o.length;g<A;g++){const I=o[g];a.push(t.get(I))}this._sort(a,i);for(let g=0,A=a.length;g<A;g++)s.push(a[g][this._idProp])}else for(let a=0,g=o.length;a<g;a++){const A=o[a],I=t.get(A);I!=null&&s.push(I[this._idProp])}return s}getDataSet(){return this}forEach(e,t){const r=t&&Uo(t),i=this._data,o=[...jo(i).call(i)];if(t&&t.order){const s=this.get(t);for(let a=0,g=s.length;a<g;a++){const A=s[a],I=A[this._idProp];e(A,I)}}else for(let s=0,a=o.length;s<a;s++){const g=o[s],A=this._data.get(g);A!=null&&(!r||r(A))&&e(A,g)}}map(e,t){const r=t&&Uo(t),i=[],o=this._data,s=[...jo(o).call(o)];for(let a=0,g=s.length;a<g;a++){const A=s[a],I=this._data.get(A);I!=null&&(!r||r(I))&&i.push(e(I,A))}return t&&t.order&&this._sort(i,t.order),i}_filterFields(e,t){var r;return e&&gue(r=Ur(t)?t:kT(t)).call(r,(i,o)=>(i[o]=e[o],i),{})}_sort(e,t){if(typeof t=="string"){const r=t;_O(e).call(e,(i,o)=>{const s=i[r],a=o[r];return s>a?1:s<a?-1:0})}else if(typeof t=="function")_O(e).call(e,t);else throw new TypeError("Order must be a function or a string")}remove(e,t){const r=[],i=[],o=Ur(e)?e:[e];for(let s=0,a=o.length;s<a;s++){const g=this._remove(o[s]);if(g){const A=g[this._idProp];A!=null&&(r.push(A),i.push(g))}}return r.length&&this._trigger("remove",{items:r,oldData:i},t),r}_remove(e){let t;if(MW(e)?t=e:e&&typeof e=="object"&&(t=e[this._idProp]),t!=null&&this._data.has(t)){const r=this._data.get(t)||null;return this._data.delete(t),--this.length,r}return null}clear(e){var t;const r=[...jo(t=this._data).call(t)],i=[];for(let o=0,s=r.length;o<s;o++)i.push(this._data.get(r[o]));return this._data.clear(),this.length=0,this._trigger("remove",{items:r,oldData:i},e),r}max(e){let t=null,r=null;for(const o of TW(i=this._data).call(i)){var i;const s=o[e];typeof s=="number"&&(r==null||s>r)&&(t=o,r=s)}return t||null}min(e){let t=null,r=null;for(const o of TW(i=this._data).call(i)){var i;const s=o[e];typeof s=="number"&&(r==null||s<r)&&(t=o,r=s)}return t||null}distinct(e){const t=this._data,r=[...jo(t).call(t)],i=[];let o=0;for(let s=0,a=r.length;s<a;s++){const g=r[s],I=t.get(g)[e];let C=!1;for(let l=0;l<o;l++)if(i[l]==I){C=!0;break}!C&&I!==void 0&&(i[o]=I,o++)}return i}_addItem(e){const t=jpe(e,this._idProp),r=t[this._idProp];if(this._data.has(r))throw new Error("Cannot add item: item with id "+r+" already exists");return this._data.set(r,t),++this.length,r}_updateItem(e){const t=e[this._idProp];if(t==null)throw new Error("Cannot update item: item has no id (item: "+jhe(e)+")");const r=this._data.get(t);if(!r)throw new Error("Cannot update item: no item with id "+t+" found");return this._data.set(t,OV(OV({},r),e)),t}stream(e){if(e){const r=this._data;return new qn({*[Xo](){for(const i of e){const o=r.get(i);o!=null&&(yield[i,o])}}})}else{var t;return new qn({[Xo]:oJ(t=spe(this._data)).call(t,this._data)})}}}function Lpe(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof e.add=="function"&&typeof e.clear=="function"&&typeof e.distinct=="function"&&typeof Jn(e)=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof kr(e)=="function"&&typeof e.max=="function"&&typeof e.min=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.remove=="function"&&typeof e.setOptions=="function"&&typeof e.stream=="function"&&typeof e.update=="function"&&typeof e.updateOnly=="function"}function UJ(n,e){return typeof e=="object"&&e!==null&&n===e.idProp&&typeof Jn(e)=="function"&&typeof e.get=="function"&&typeof e.getDataSet=="function"&&typeof e.getIds=="function"&&typeof e.length=="number"&&typeof kr(e)=="function"&&typeof e.off=="function"&&typeof e.on=="function"&&typeof e.stream=="function"&&Lpe(n,e.getDataSet())}/**
 * vis-network
 * https://visjs.github.io/vis-network/
 *
 * A dynamic, browser-based visualization library.
 *
 * @version 10.0.2
 * @date    2025-09-15T17:48:13.838Z
 *
 * @copyright (c) 2011-2017 Almende B.V, http://almende.com
 * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
 *
 * @license
 * vis.js is dual licensed under both
 *
 *   1. The Apache 2.0 License
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *   and
 *
 *   2. The MIT License
 *      http://opensource.org/licenses/MIT
 *
 * vis.js may be distributed under either license.
 */var TV=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function se(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var RV={},wa,PV;function Ge(){if(PV)return wa;PV=1;var n=function(e){return e&&e.Math===Math&&e};return wa=n(typeof globalThis=="object"&&globalThis)||n(typeof window=="object"&&window)||n(typeof self=="object"&&self)||n(typeof TV=="object"&&TV)||n(typeof wa=="object"&&wa)||(function(){return this})()||Function("return this")(),wa}var Xb,xV;function pe(){return xV||(xV=1,Xb=function(n){try{return!!n()}catch{return!0}}),Xb}var Qb,$V;function Vg(){if($V)return Qb;$V=1;var n=pe();return Qb=!n(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),Qb}var Jb,DV;function zI(){if(DV)return Jb;DV=1;var n=Vg(),e=Function.prototype,t=e.apply,r=e.call;return Jb=typeof Reflect=="object"&&Reflect.apply||(n?r.bind(t):function(){return r.apply(t,arguments)}),Jb}var e1,NV;function ye(){if(NV)return e1;NV=1;var n=Vg(),e=Function.prototype,t=e.call,r=n&&e.bind.bind(t,t);return e1=n?r:function(i){return function(){return t.apply(i,arguments)}},e1}var t1,MV;function di(){if(MV)return t1;MV=1;var n=ye(),e=n({}.toString),t=n("".slice);return t1=function(r){return t(e(r),8,-1)},t1}var r1,qV;function YT(){if(qV)return r1;qV=1;var n=di(),e=ye();return r1=function(t){if(n(t)==="Function")return e(t)},r1}var i1,FV;function Ot(){if(FV)return i1;FV=1;var n=typeof document=="object"&&document.all;return i1=typeof n>"u"&&n!==void 0?function(e){return typeof e=="function"||e===n}:function(e){return typeof e=="function"},i1}var n1={},o1,kV;function ot(){if(kV)return o1;kV=1;var n=pe();return o1=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),o1}var s1,BV;function or(){if(BV)return s1;BV=1;var n=Vg(),e=Function.prototype.call;return s1=n?e.bind(e):function(){return e.apply(e,arguments)},s1}var a1={},zV;function jI(){if(zV)return a1;zV=1;var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,t=e&&!n.call({1:2},1);return a1.f=t?function(i){var o=e(this,i);return!!o&&o.enumerable}:n,a1}var g1,jV;function Zg(){return jV||(jV=1,g1=function(n,e){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:e}}),g1}var A1,LV;function LI(){if(LV)return A1;LV=1;var n=ye(),e=pe(),t=di(),r=Object,i=n("".split);return A1=e(function(){return!r("z").propertyIsEnumerable(0)})?function(o){return t(o)==="String"?i(o,""):r(o)}:r,A1}var I1,GV;function Qs(){return GV||(GV=1,I1=function(n){return n==null}),I1}var C1,WV;function Fi(){if(WV)return C1;WV=1;var n=Qs(),e=TypeError;return C1=function(t){if(n(t))throw new e("Can't call method on "+t);return t},C1}var l1,VV;function Hr(){if(VV)return l1;VV=1;var n=LI(),e=Fi();return l1=function(t){return n(e(t))},l1}var d1,ZV;function Tt(){if(ZV)return d1;ZV=1;var n=Ot();return d1=function(e){return typeof e=="object"?e!==null:n(e)},d1}var u1,HV;function Re(){return HV||(HV=1,u1={}),u1}var h1,UV;function Cr(){if(UV)return h1;UV=1;var n=Re(),e=Ge(),t=Ot(),r=function(i){return t(i)?i:void 0};return h1=function(i,o){return arguments.length<2?r(n[i])||r(e[i]):n[i]&&n[i][o]||e[i]&&e[i][o]},h1}var c1,KV;function ut(){if(KV)return c1;KV=1;var n=ye();return c1=n({}.isPrototypeOf),c1}var f1,YV;function Js(){if(YV)return f1;YV=1;var n=Ge(),e=n.navigator,t=e&&e.userAgent;return f1=t?String(t):"",f1}var p1,XV;function Hg(){if(XV)return p1;XV=1;var n=Ge(),e=Js(),t=n.process,r=n.Deno,i=t&&t.versions||r&&r.version,o=i&&i.v8,s,a;return o&&(s=o.split("."),a=s[0]>0&&s[0]<4?1:+(s[0]+s[1])),!a&&e&&(s=e.match(/Edge\/(\d+)/),(!s||s[1]>=74)&&(s=e.match(/Chrome\/(\d+)/),s&&(a=+s[1]))),p1=a,p1}var v1,QV;function ea(){if(QV)return v1;QV=1;var n=Hg(),e=pe(),t=Ge(),r=t.String;return v1=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!r(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41}),v1}var m1,JV;function KJ(){if(JV)return m1;JV=1;var n=ea();return m1=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol",m1}var y1,eZ;function Ug(){if(eZ)return y1;eZ=1;var n=Cr(),e=Ot(),t=ut(),r=KJ(),i=Object;return y1=r?function(o){return typeof o=="symbol"}:function(o){var s=n("Symbol");return e(s)&&t(s.prototype,i(o))},y1}var b1,tZ;function ta(){if(tZ)return b1;tZ=1;var n=String;return b1=function(e){try{return n(e)}catch{return"Object"}},b1}var w1,rZ;function ki(){if(rZ)return w1;rZ=1;var n=Ot(),e=ta(),t=TypeError;return w1=function(r){if(n(r))return r;throw new t(e(r)+" is not a function")},w1}var E1,iZ;function XT(){if(iZ)return E1;iZ=1;var n=ki(),e=Qs();return E1=function(t,r){var i=t[r];return e(i)?void 0:n(i)},E1}var S1,nZ;function Gpe(){if(nZ)return S1;nZ=1;var n=or(),e=Ot(),t=Tt(),r=TypeError;return S1=function(i,o){var s,a;if(o==="string"&&e(s=i.toString)&&!t(a=n(s,i))||e(s=i.valueOf)&&!t(a=n(s,i))||o!=="string"&&e(s=i.toString)&&!t(a=n(s,i)))return a;throw new r("Can't convert object to primitive value")},S1}var _1={exports:{}},O1,oZ;function ra(){return oZ||(oZ=1,O1=!0),O1}var T1,sZ;function Wpe(){if(sZ)return T1;sZ=1;var n=Ge(),e=Object.defineProperty;return T1=function(t,r){try{e(n,t,{value:r,configurable:!0,writable:!0})}catch{n[t]=r}return r},T1}var aZ;function QT(){if(aZ)return _1.exports;aZ=1;var n=ra(),e=Ge(),t=Wpe(),r="__core-js_shared__",i=_1.exports=e[r]||t(r,{});return(i.versions||(i.versions=[])).push({version:"3.44.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE",source:"https://github.com/zloirock/core-js"}),_1.exports}var R1,gZ;function ia(){if(gZ)return R1;gZ=1;var n=QT();return R1=function(e,t){return n[e]||(n[e]=t||{})},R1}var P1,AZ;function lr(){if(AZ)return P1;AZ=1;var n=Fi(),e=Object;return P1=function(t){return e(n(t))},P1}var x1,IZ;function qt(){if(IZ)return x1;IZ=1;var n=ye(),e=lr(),t=n({}.hasOwnProperty);return x1=Object.hasOwn||function(i,o){return t(e(i),o)},x1}var $1,CZ;function GI(){if(CZ)return $1;CZ=1;var n=ye(),e=0,t=Math.random(),r=n(1.1.toString);return $1=function(i){return"Symbol("+(i===void 0?"":i)+")_"+r(++e+t,36)},$1}var D1,lZ;function ht(){if(lZ)return D1;lZ=1;var n=Ge(),e=ia(),t=qt(),r=GI(),i=ea(),o=KJ(),s=n.Symbol,a=e("wks"),g=o?s.for||s:s&&s.withoutSetter||r;return D1=function(A){return t(a,A)||(a[A]=i&&t(s,A)?s[A]:g("Symbol."+A)),a[A]},D1}var N1,dZ;function YJ(){if(dZ)return N1;dZ=1;var n=or(),e=Tt(),t=Ug(),r=XT(),i=Gpe(),o=ht(),s=TypeError,a=o("toPrimitive");return N1=function(g,A){if(!e(g)||t(g))return g;var I=r(g,a),C;if(I){if(A===void 0&&(A="default"),C=n(I,g,A),!e(C)||t(C))return C;throw new s("Can't convert object to primitive value")}return A===void 0&&(A="number"),i(g,A)},N1}var M1,uZ;function JT(){if(uZ)return M1;uZ=1;var n=YJ(),e=Ug();return M1=function(t){var r=n(t,"string");return e(r)?r:r+""},M1}var q1,hZ;function XJ(){if(hZ)return q1;hZ=1;var n=Ge(),e=Tt(),t=n.document,r=e(t)&&e(t.createElement);return q1=function(i){return r?t.createElement(i):{}},q1}var F1,cZ;function QJ(){if(cZ)return F1;cZ=1;var n=ot(),e=pe(),t=XJ();return F1=!n&&!e(function(){return Object.defineProperty(t("div"),"a",{get:function(){return 7}}).a!==7}),F1}var fZ;function WI(){if(fZ)return n1;fZ=1;var n=ot(),e=or(),t=jI(),r=Zg(),i=Hr(),o=JT(),s=qt(),a=QJ(),g=Object.getOwnPropertyDescriptor;return n1.f=n?g:function(I,C){if(I=i(I),C=o(C),a)try{return g(I,C)}catch{}if(s(I,C))return r(!e(t.f,I,C),I[C])},n1}var k1,pZ;function Vpe(){if(pZ)return k1;pZ=1;var n=pe(),e=Ot(),t=/#|\.prototype\./,r=function(g,A){var I=o[i(g)];return I===a?!0:I===s?!1:e(A)?n(A):!!A},i=r.normalize=function(g){return String(g).replace(t,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",a=r.POLYFILL="P";return k1=r,k1}var B1,vZ;function VI(){if(vZ)return B1;vZ=1;var n=YT(),e=ki(),t=Vg(),r=n(n.bind);return B1=function(i,o){return e(i),o===void 0?i:t?r(i,o):function(){return i.apply(o,arguments)}},B1}var z1={},j1,mZ;function JJ(){if(mZ)return j1;mZ=1;var n=ot(),e=pe();return j1=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),j1}var L1,yZ;function ui(){if(yZ)return L1;yZ=1;var n=Tt(),e=String,t=TypeError;return L1=function(r){if(n(r))return r;throw new t(e(r)+" is not an object")},L1}var bZ;function Sr(){if(bZ)return z1;bZ=1;var n=ot(),e=QJ(),t=JJ(),r=ui(),i=JT(),o=TypeError,s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,g="enumerable",A="configurable",I="writable";return z1.f=n?t?function(l,d,u){if(r(l),d=i(d),r(u),typeof l=="function"&&d==="prototype"&&"value"in u&&I in u&&!u[I]){var h=a(l,d);h&&h[I]&&(l[d]=u.value,u={configurable:A in u?u[A]:h[A],enumerable:g in u?u[g]:h[g],writable:!1})}return s(l,d,u)}:s:function(l,d,u){if(r(l),d=i(d),r(u),e)try{return s(l,d,u)}catch{}if("get"in u||"set"in u)throw new o("Accessors not supported");return"value"in u&&(l[d]=u.value),l},z1}var G1,wZ;function na(){if(wZ)return G1;wZ=1;var n=ot(),e=Sr(),t=Zg();return G1=n?function(r,i,o){return e.f(r,i,t(1,o))}:function(r,i,o){return r[i]=o,r},G1}var W1,EZ;function te(){if(EZ)return W1;EZ=1;var n=Ge(),e=zI(),t=YT(),r=Ot(),i=WI().f,o=Vpe(),s=Re(),a=VI(),g=na(),A=qt(),I=function(C){var l=function(d,u,h){if(this instanceof l){switch(arguments.length){case 0:return new C;case 1:return new C(d);case 2:return new C(d,u)}return new C(d,u,h)}return e(C,this,arguments)};return l.prototype=C.prototype,l};return W1=function(C,l){var d=C.target,u=C.global,h=C.stat,v=C.proto,f=u?n:h?n[d]:n[d]&&n[d].prototype,c=u?s:s[d]||g(s,d,{})[d],b=c.prototype,p,y,E,S,m,w,_,T,R;for(S in l)p=o(u?S:d+(h?".":"#")+S,C.forced),y=!p&&f&&A(f,S),w=c[S],y&&(C.dontCallGetSet?(R=i(f,S),_=R&&R.value):_=f[S]),m=y&&_?_:l[S],!(!p&&!v&&typeof w==typeof m)&&(C.bind&&y?T=a(m,n):C.wrap&&y?T=I(m):v&&r(m)?T=t(m):T=m,(C.sham||m&&m.sham||w&&w.sham)&&g(T,"sham",!0),g(c,S,T),v&&(E=d+"Prototype",A(s,E)||g(s,E,{}),g(s[E],S,m),C.real&&b&&(p||!b[S])&&g(b,S,m)))},W1}var V1,SZ;function Zpe(){if(SZ)return V1;SZ=1;var n=Math.ceil,e=Math.floor;return V1=Math.trunc||function(r){var i=+r;return(i>0?e:n)(i)},V1}var Z1,_Z;function oa(){if(_Z)return Z1;_Z=1;var n=Zpe();return Z1=function(e){var t=+e;return t!==t||t===0?0:n(t)},Z1}var H1,OZ;function ZI(){if(OZ)return H1;OZ=1;var n=oa(),e=Math.max,t=Math.min;return H1=function(r,i){var o=n(r);return o<0?e(o+i,0):t(o,i)},H1}var U1,TZ;function eee(){if(TZ)return U1;TZ=1;var n=oa(),e=Math.min;return U1=function(t){var r=n(t);return r>0?e(r,9007199254740991):0},U1}var K1,RZ;function Bi(){if(RZ)return K1;RZ=1;var n=eee();return K1=function(e){return n(e.length)},K1}var Y1,PZ;function eR(){if(PZ)return Y1;PZ=1;var n=Hr(),e=ZI(),t=Bi(),r=function(i){return function(o,s,a){var g=n(o),A=t(g);if(A===0)return!i&&-1;var I=e(a,A),C;if(i&&s!==s){for(;A>I;)if(C=g[I++],C!==C)return!0}else for(;A>I;I++)if((i||I in g)&&g[I]===s)return i||I||0;return!i&&-1}};return Y1={includes:r(!0),indexOf:r(!1)},Y1}var X1,xZ;function Kg(){return xZ||(xZ=1,X1={}),X1}var Q1,$Z;function tee(){if($Z)return Q1;$Z=1;var n=ye(),e=qt(),t=Hr(),r=eR().indexOf,i=Kg(),o=n([].push);return Q1=function(s,a){var g=t(s),A=0,I=[],C;for(C in g)!e(i,C)&&e(g,C)&&o(I,C);for(;a.length>A;)e(g,C=a[A++])&&(~r(I,C)||o(I,C));return I},Q1}var J1,DZ;function tR(){return DZ||(DZ=1,J1=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),J1}var e0,NZ;function Yg(){if(NZ)return e0;NZ=1;var n=tee(),e=tR();return e0=Object.keys||function(r){return n(r,e)},e0}var t0={},MZ;function HI(){return MZ||(MZ=1,t0.f=Object.getOwnPropertySymbols),t0}var r0,qZ;function Hpe(){if(qZ)return r0;qZ=1;var n=ot(),e=ye(),t=or(),r=pe(),i=Yg(),o=HI(),s=jI(),a=lr(),g=LI(),A=Object.assign,I=Object.defineProperty,C=e([].concat);return r0=!A||r(function(){if(n&&A({b:1},A(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var l={},d={},u=Symbol("assign detection"),h="abcdefghijklmnopqrst";return l[u]=7,h.split("").forEach(function(v){d[v]=v}),A({},l)[u]!==7||i(A({},d)).join("")!==h})?function(d,u){for(var h=a(d),v=arguments.length,f=1,c=o.f,b=s.f;v>f;)for(var p=g(arguments[f++]),y=c?C(i(p),c(p)):i(p),E=y.length,S=0,m;E>S;)m=y[S++],(!n||t(b,p,m))&&(h[m]=p[m]);return h}:A,r0}var FZ;function Upe(){if(FZ)return RV;FZ=1;var n=te(),e=Hpe();return n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e}),RV}var i0,kZ;function Kpe(){if(kZ)return i0;kZ=1,Upe();var n=Re();return i0=n.Object.assign,i0}var n0,BZ;function Ype(){if(BZ)return n0;BZ=1;var n=Kpe();return n0=n,n0}var o0,zZ;function Xpe(){return zZ||(zZ=1,o0=Ype()),o0}var Qpe=Xpe(),At=se(Qpe),jZ={},s0,LZ;function sa(){if(LZ)return s0;LZ=1;var n=ye();return s0=n([].slice),s0}var a0,GZ;function Jpe(){if(GZ)return a0;GZ=1;var n=ye(),e=ki(),t=Tt(),r=qt(),i=sa(),o=Vg(),s=Function,a=n([].concat),g=n([].join),A={},I=function(C,l,d){if(!r(A,l)){for(var u=[],h=0;h<l;h++)u[h]="a["+h+"]";A[l]=s("C,a","return new C("+g(u,",")+")")}return A[l](C,d)};return a0=o?s.bind:function(l){var d=e(this),u=d.prototype,h=i(arguments,1),v=function(){var c=a(h,i(arguments));return this instanceof v?I(d,c.length,c):d.apply(l,c)};return t(u)&&(v.prototype=u),v},a0}var WZ;function eve(){if(WZ)return jZ;WZ=1;var n=te(),e=Jpe();return n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e}),jZ}var g0,VZ;function Ft(){if(VZ)return g0;VZ=1;var n=Ge(),e=Re();return g0=function(t,r){var i=e[t+"Prototype"],o=i&&i[r];if(o)return o;var s=n[t],a=s&&s.prototype;return a&&a[r]},g0}var A0,ZZ;function tve(){if(ZZ)return A0;ZZ=1,eve();var n=Ft();return A0=n("Function","bind"),A0}var I0,HZ;function rve(){if(HZ)return I0;HZ=1;var n=ut(),e=tve(),t=Function.prototype;return I0=function(r){var i=r.bind;return r===t||n(t,r)&&i===t.bind?e:i},I0}var C0,UZ;function ive(){if(UZ)return C0;UZ=1;var n=rve();return C0=n,C0}var l0,KZ;function nve(){return KZ||(KZ=1,l0=ive()),l0}var ove=nve(),j=se(ove);function rR(n,e,t,r){n.beginPath(),n.arc(e,t,r,0,2*Math.PI,!1),n.closePath()}function sve(n,e,t,r){n.beginPath(),n.rect(e-r,t-r,r*2,r*2),n.closePath()}function ave(n,e,t,r){n.beginPath(),r*=1.15,t+=.275*r;const i=r*2,o=i/2,s=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-o*o);n.moveTo(e,t-(a-s)),n.lineTo(e+o,t+s),n.lineTo(e-o,t+s),n.lineTo(e,t-(a-s)),n.closePath()}function gve(n,e,t,r){n.beginPath(),r*=1.15,t-=.275*r;const i=r*2,o=i/2,s=Math.sqrt(3)/6*i,a=Math.sqrt(i*i-o*o);n.moveTo(e,t+(a-s)),n.lineTo(e+o,t-s),n.lineTo(e-o,t-s),n.lineTo(e,t+(a-s)),n.closePath()}function Ave(n,e,t,r){n.beginPath(),r*=.82,t+=.1*r;for(let i=0;i<10;i++){const o=i%2===0?r*1.3:r*.5;n.lineTo(e+o*Math.sin(i*2*Math.PI/10),t-o*Math.cos(i*2*Math.PI/10))}n.closePath()}function Ive(n,e,t,r){n.beginPath(),n.lineTo(e,t+r),n.lineTo(e+r,t),n.lineTo(e,t-r),n.lineTo(e-r,t),n.closePath()}function ree(n,e,t,r,i,o){const s=Math.PI/180;r-2*o<0&&(o=r/2),i-2*o<0&&(o=i/2),n.beginPath(),n.moveTo(e+o,t),n.lineTo(e+r-o,t),n.arc(e+r-o,t+o,o,s*270,s*360,!1),n.lineTo(e+r,t+i-o),n.arc(e+r-o,t+i-o,o,0,s*90,!1),n.lineTo(e+o,t+i),n.arc(e+o,t+i-o,o,s*90,s*180,!1),n.lineTo(e,t+o),n.arc(e+o,t+o,o,s*180,s*270,!1),n.closePath()}function OO(n,e,t,r,i){const o=.5522848,s=r/2*o,a=i/2*o,g=e+r,A=t+i,I=e+r/2,C=t+i/2;n.beginPath(),n.moveTo(e,C),n.bezierCurveTo(e,C-a,I-s,t,I,t),n.bezierCurveTo(I+s,t,g,C-a,g,C),n.bezierCurveTo(g,C+a,I+s,A,I,A),n.bezierCurveTo(I-s,A,e,C+a,e,C),n.closePath()}function iee(n,e,t,r,i){const o=.3333333333333333,s=r,a=i*o,g=.5522848,A=s/2*g,I=a/2*g,C=e+s,l=t+a,d=e+s/2,u=t+a/2,h=t+(i-a/2),v=t+i;n.beginPath(),n.moveTo(C,u),n.bezierCurveTo(C,u+I,d+A,l,d,l),n.bezierCurveTo(d-A,l,e,u+I,e,u),n.bezierCurveTo(e,u-I,d-A,t,d,t),n.bezierCurveTo(d+A,t,C,u-I,C,u),n.lineTo(C,h),n.bezierCurveTo(C,h+I,d+A,v,d,v),n.bezierCurveTo(d-A,v,e,h+I,e,h),n.lineTo(e,u)}function nee(n,e,t,r,i,o){n.beginPath(),n.moveTo(e,t);const s=o.length,a=r-e,g=i-t,A=g/a;let I=Math.sqrt(a*a+g*g),C=0,l=!0,d=0,u=+o[0];for(;I>=.1;)u=+o[C++%s],u>I&&(u=I),d=Math.sqrt(u*u/(1+A*A)),d=a<0?-d:d,e+=d,t+=A*d,l===!0?n.lineTo(e,t):n.moveTo(e,t),I-=u,l=!l}function Cve(n,e,t,r){n.beginPath();const i=6,o=Math.PI*2/i;n.moveTo(e+r,t);for(let s=1;s<i;s++)n.lineTo(e+r*Math.cos(o*s),t+r*Math.sin(o*s));n.closePath()}const YZ={circle:rR,dashedLine:nee,database:iee,diamond:Ive,ellipse:OO,ellipse_vis:OO,hexagon:Cve,roundRect:ree,square:sve,star:Ave,triangle:ave,triangleDown:gve};function lve(n){return Object.prototype.hasOwnProperty.call(YZ,n)?YZ[n]:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];CanvasRenderingContext2D.prototype[n].call(e,r)}}var d0={exports:{}},XZ;function dve(){return XZ||(XZ=1,(function(n){n.exports=e;function e(r){if(r)return t(r)}function t(r){for(var i in e.prototype)r[i]=e.prototype[i];return r}e.prototype.on=e.prototype.addEventListener=function(r,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(i),this},e.prototype.once=function(r,i){function o(){this.off(r,o),i.apply(this,arguments)}return o.fn=i,this.on(r,o),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(r,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+r];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var s,a=0;a<o.length;a++)if(s=o[a],s===i||s.fn===i){o.splice(a,1);break}return o.length===0&&delete this._callbacks["$"+r],this},e.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var i=new Array(arguments.length-1),o=this._callbacks["$"+r],s=1;s<arguments.length;s++)i[s-1]=arguments[s];if(o){o=o.slice(0);for(var s=0,a=o.length;s<a;++s)o[s].apply(this,i)}return this},e.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]},e.prototype.hasListeners=function(r){return!!this.listeners(r).length}})(d0)),d0.exports}var uve=dve(),oee=se(uve),QZ={},u0,JZ;function To(){if(JZ)return u0;JZ=1;var n=di();return u0=Array.isArray||function(t){return n(t)==="Array"},u0}var h0,eH;function see(){if(eH)return h0;eH=1;var n=TypeError,e=9007199254740991;return h0=function(t){if(t>e)throw n("Maximum allowed index exceeded");return t},h0}var c0,tH;function UI(){if(tH)return c0;tH=1;var n=ot(),e=Sr(),t=Zg();return c0=function(r,i,o){n?e.f(r,i,t(0,o)):r[i]=o},c0}var f0,rH;function iR(){if(rH)return f0;rH=1;var n=ht(),e=n("toStringTag"),t={};return t[e]="z",f0=String(t)==="[object z]",f0}var p0,iH;function aa(){if(iH)return p0;iH=1;var n=iR(),e=Ot(),t=di(),r=ht(),i=r("toStringTag"),o=Object,s=t((function(){return arguments})())==="Arguments",a=function(g,A){try{return g[A]}catch{}};return p0=n?t:function(g){var A,I,C;return g===void 0?"Undefined":g===null?"Null":typeof(I=a(A=o(g),i))=="string"?I:s?t(A):(C=t(A))==="Object"&&e(A.callee)?"Arguments":C},p0}var v0,nH;function hve(){if(nH)return v0;nH=1;var n=ye(),e=Ot(),t=QT(),r=n(Function.toString);return e(t.inspectSource)||(t.inspectSource=function(i){return r(i)}),v0=t.inspectSource,v0}var m0,oH;function aee(){if(oH)return m0;oH=1;var n=ye(),e=pe(),t=Ot(),r=aa(),i=Cr(),o=hve(),s=function(){},a=i("Reflect","construct"),g=/^\s*(?:class|function)\b/,A=n(g.exec),I=!g.test(s),C=function(u){if(!t(u))return!1;try{return a(s,[],u),!0}catch{return!1}},l=function(u){if(!t(u))return!1;switch(r(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!A(g,o(u))}catch{return!0}};return l.sham=!0,m0=!a||e(function(){var d;return C(C.call)||!C(Object)||!C(function(){d=!0})||d})?l:C,m0}var y0,sH;function cve(){if(sH)return y0;sH=1;var n=To(),e=aee(),t=Tt(),r=ht(),i=r("species"),o=Array;return y0=function(s){var a;return n(s)&&(a=s.constructor,e(a)&&(a===o||n(a.prototype))?a=void 0:t(a)&&(a=a[i],a===null&&(a=void 0))),a===void 0?o:a},y0}var b0,aH;function nR(){if(aH)return b0;aH=1;var n=cve();return b0=function(e,t){return new(n(e))(t===0?0:t)},b0}var w0,gH;function Xg(){if(gH)return w0;gH=1;var n=pe(),e=ht(),t=Hg(),r=e("species");return w0=function(i){return t>=51||!n(function(){var o=[],s=o.constructor={};return s[r]=function(){return{foo:1}},o[i](Boolean).foo!==1})},w0}var AH;function gee(){if(AH)return QZ;AH=1;var n=te(),e=pe(),t=To(),r=Tt(),i=lr(),o=Bi(),s=see(),a=UI(),g=nR(),A=Xg(),I=ht(),C=Hg(),l=I("isConcatSpreadable"),d=C>=51||!e(function(){var v=[];return v[l]=!1,v.concat()[0]!==v}),u=function(v){if(!r(v))return!1;var f=v[l];return f!==void 0?!!f:t(v)},h=!d||!A("concat");return n({target:"Array",proto:!0,arity:1,forced:h},{concat:function(f){var c=i(this),b=g(c,0),p=0,y,E,S,m,w;for(y=-1,S=arguments.length;y<S;y++)if(w=y===-1?c:arguments[y],u(w))for(m=o(w),s(p+m),E=0;E<m;E++,p++)E in w&&a(b,p,w[E]);else s(p+1),a(b,p++,w);return b.length=p,b}}),QZ}var IH={},CH={},E0,lH;function _r(){if(lH)return E0;lH=1;var n=aa(),e=String;return E0=function(t){if(n(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(t)},E0}var S0={},dH;function oR(){if(dH)return S0;dH=1;var n=ot(),e=JJ(),t=Sr(),r=ui(),i=Hr(),o=Yg();return S0.f=n&&!e?Object.defineProperties:function(a,g){r(a);for(var A=i(g),I=o(g),C=I.length,l=0,d;C>l;)t.f(a,d=I[l++],A[d]);return a},S0}var _0,uH;function fve(){if(uH)return _0;uH=1;var n=Cr();return _0=n("document","documentElement"),_0}var O0,hH;function KI(){if(hH)return O0;hH=1;var n=ia(),e=GI(),t=n("keys");return O0=function(r){return t[r]||(t[r]=e(r))},O0}var T0,cH;function Qg(){if(cH)return T0;cH=1;var n=ui(),e=oR(),t=tR(),r=Kg(),i=fve(),o=XJ(),s=KI(),a=">",g="<",A="prototype",I="script",C=s("IE_PROTO"),l=function(){},d=function(c){return g+I+a+c+g+"/"+I+a},u=function(c){c.write(d("")),c.close();var b=c.parentWindow.Object;return c=null,b},h=function(){var c=o("iframe"),b="java"+I+":",p;return c.style.display="none",i.appendChild(c),c.src=String(b),p=c.contentWindow.document,p.open(),p.write(d("document.F=Object")),p.close(),p.F},v,f=function(){try{v=new ActiveXObject("htmlfile")}catch{}f=typeof document<"u"?document.domain&&v?u(v):h():u(v);for(var c=t.length;c--;)delete f[A][t[c]];return f()};return r[C]=!0,T0=Object.create||function(b,p){var y;return b!==null?(l[A]=n(b),y=new l,l[A]=null,y[C]=b):y=f(),p===void 0?y:e.f(y,p)},T0}var R0={},fH;function YI(){if(fH)return R0;fH=1;var n=tee(),e=tR(),t=e.concat("length","prototype");return R0.f=Object.getOwnPropertyNames||function(i){return n(i,t)},R0}var P0={},pH;function sR(){if(pH)return P0;pH=1;var n=di(),e=Hr(),t=YI().f,r=sa(),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(s){try{return t(s)}catch{return r(i)}};return P0.f=function(a){return i&&n(a)==="Window"?o(a):t(e(a))},P0}var x0,vH;function Jg(){if(vH)return x0;vH=1;var n=na();return x0=function(e,t,r,i){return i&&i.enumerable?e[t]=r:n(e,t,r),e},x0}var $0,mH;function aR(){if(mH)return $0;mH=1;var n=Sr();return $0=function(e,t,r){return n.f(e,t,r)},$0}var D0={},yH;function XI(){if(yH)return D0;yH=1;var n=ht();return D0.f=n,D0}var N0,bH;function Ue(){if(bH)return N0;bH=1;var n=Re(),e=qt(),t=XI(),r=Sr().f;return N0=function(i){var o=n.Symbol||(n.Symbol={});e(o,i)||r(o,i,{value:t.f(i)})},N0}var M0,wH;function Aee(){if(wH)return M0;wH=1;var n=or(),e=Cr(),t=ht(),r=Jg();return M0=function(){var i=e("Symbol"),o=i&&i.prototype,s=o&&o.valueOf,a=t("toPrimitive");o&&!o[a]&&r(o,a,function(g){return n(s,this)},{arity:1})},M0}var q0,EH;function pve(){if(EH)return q0;EH=1;var n=iR(),e=aa();return q0=n?{}.toString:function(){return"[object "+e(this)+"]"},q0}var F0,SH;function Ro(){if(SH)return F0;SH=1;var n=iR(),e=Sr().f,t=na(),r=qt(),i=pve(),o=ht(),s=o("toStringTag");return F0=function(a,g,A,I){var C=A?a:a&&a.prototype;C&&(r(C,s)||e(C,s,{configurable:!0,value:g}),I&&!n&&t(C,"toString",i))},F0}var k0,_H;function Iee(){if(_H)return k0;_H=1;var n=Ge(),e=Ot(),t=n.WeakMap;return k0=e(t)&&/native code/.test(String(t)),k0}var B0,OH;function Po(){if(OH)return B0;OH=1;var n=Iee(),e=Ge(),t=Tt(),r=na(),i=qt(),o=QT(),s=KI(),a=Kg(),g="Object already initialized",A=e.TypeError,I=e.WeakMap,C,l,d,u=function(c){return d(c)?l(c):C(c,{})},h=function(c){return function(b){var p;if(!t(b)||(p=l(b)).type!==c)throw new A("Incompatible receiver, "+c+" required");return p}};if(n||o.state){var v=o.state||(o.state=new I);v.get=v.get,v.has=v.has,v.set=v.set,C=function(c,b){if(v.has(c))throw new A(g);return b.facade=c,v.set(c,b),b},l=function(c){return v.get(c)||{}},d=function(c){return v.has(c)}}else{var f=s("state");a[f]=!0,C=function(c,b){if(i(c,f))throw new A(g);return b.facade=c,r(c,f,b),b},l=function(c){return i(c,f)?c[f]:{}},d=function(c){return i(c,f)}}return B0={set:C,get:l,has:d,enforce:u,getterFor:h},B0}var z0,TH;function Sn(){if(TH)return z0;TH=1;var n=VI(),e=ye(),t=LI(),r=lr(),i=Bi(),o=nR(),s=e([].push),a=function(g){var A=g===1,I=g===2,C=g===3,l=g===4,d=g===6,u=g===7,h=g===5||d;return function(v,f,c,b){for(var p=r(v),y=t(p),E=i(y),S=n(f,c),m=0,w=b||o,_=A?w(v,E):I||u?w(v,0):void 0,T,R;E>m;m++)if((h||m in y)&&(T=y[m],R=S(T,m,p),g))if(A)_[m]=R;else if(R)switch(g){case 3:return!0;case 5:return T;case 6:return m;case 2:s(_,T)}else switch(g){case 4:return!1;case 7:s(_,T)}return d?-1:C||l?l:_}};return z0={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},z0}var RH;function vve(){if(RH)return CH;RH=1;var n=te(),e=Ge(),t=or(),r=ye(),i=ra(),o=ot(),s=ea(),a=pe(),g=qt(),A=ut(),I=ui(),C=Hr(),l=JT(),d=_r(),u=Zg(),h=Qg(),v=Yg(),f=YI(),c=sR(),b=HI(),p=WI(),y=Sr(),E=oR(),S=jI(),m=Jg(),w=aR(),_=ia(),T=KI(),R=Kg(),O=GI(),P=ht(),x=XI(),V=Ue(),M=Aee(),U=Ro(),K=Po(),oe=Sn().forEach,L=T("hidden"),ae="Symbol",he="prototype",ve=K.set,Rt=K.getterFor(ae),le=Object[he],We=e.Symbol,Pt=We&&We[he],ua=e.RangeError,ha=e.TypeError,Tr=e.QObject,zi=p.f,Ve=y.f,ji=c.f,ca=S.f,Li=r([].push),Se=_("symbols"),xt=_("op-symbols"),fa=_("wks"),Rr=!Tr||!Tr[he]||!Tr[he].findChild,Gi=function(Z,N,q){var F=zi(le,N);F&&delete le[N],Ve(Z,N,q),F&&Z!==le&&Ve(le,N,F)},Pr=o&&a(function(){return h(Ve({},"a",{get:function(){return Ve(this,"a",{value:7}).a}})).a!==7})?Gi:Ve,xr=function(Z,N){var q=Se[Z]=h(Pt);return ve(q,{type:ae,tag:Z,description:N}),o||(q.description=N),q},Ut=function(N,q,F){N===le&&Ut(xt,q,F),I(N);var H=l(q);return I(F),g(Se,H)?(F.enumerable?(g(N,L)&&N[L][H]&&(N[L][H]=!1),F=h(F,{enumerable:u(0,!1)})):(g(N,L)||Ve(N,L,u(1,h(null))),N[L][H]=!0),Pr(N,H,F)):Ve(N,H,F)},$r=function(N,q){I(N);var F=C(q),H=v(F).concat(Zi(F));return oe(H,function(ge){(!o||t(Dr,F,ge))&&Ut(N,ge,F[ge])}),N},pa=function(N,q){return q===void 0?h(N):$r(h(N),q)},Dr=function(N){var q=l(N),F=t(ca,this,q);return this===le&&g(Se,q)&&!g(xt,q)?!1:F||!g(this,q)||!g(Se,q)||g(this,L)&&this[L][q]?F:!0},Wi=function(N,q){var F=C(N),H=l(q);if(!(F===le&&g(Se,H)&&!g(xt,H))){var ge=zi(F,H);return ge&&g(Se,H)&&!(g(F,L)&&F[L][H])&&(ge.enumerable=!0),ge}},Vi=function(N){var q=ji(C(N)),F=[];return oe(q,function(H){!g(Se,H)&&!g(R,H)&&Li(F,H)}),F},Zi=function(Z){var N=Z===le,q=ji(N?xt:C(Z)),F=[];return oe(q,function(H){g(Se,H)&&(!N||g(le,H))&&Li(F,Se[H])}),F};return s||(We=function(){if(A(Pt,this))throw new ha("Symbol is not a constructor");var N=!arguments.length||arguments[0]===void 0?void 0:d(arguments[0]),q=O(N),F=function(H){var ge=this===void 0?e:this;ge===le&&t(F,xt,H),g(ge,L)&&g(ge[L],q)&&(ge[L][q]=!1);var Hi=u(1,H);try{Pr(ge,q,Hi)}catch(Ui){if(!(Ui instanceof ua))throw Ui;Gi(ge,q,Hi)}};return o&&Rr&&Pr(le,q,{configurable:!0,set:F}),xr(q,N)},Pt=We[he],m(Pt,"toString",function(){return Rt(this).tag}),m(We,"withoutSetter",function(Z){return xr(O(Z),Z)}),S.f=Dr,y.f=Ut,E.f=$r,p.f=Wi,f.f=c.f=Vi,b.f=Zi,x.f=function(Z){return xr(P(Z),Z)},o&&(w(Pt,"description",{configurable:!0,get:function(){return Rt(this).description}}),i||m(le,"propertyIsEnumerable",Dr,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!s,sham:!s},{Symbol:We}),oe(v(fa),function(Z){V(Z)}),n({target:ae,stat:!0,forced:!s},{useSetter:function(){Rr=!0},useSimple:function(){Rr=!1}}),n({target:"Object",stat:!0,forced:!s,sham:!o},{create:pa,defineProperty:Ut,defineProperties:$r,getOwnPropertyDescriptor:Wi}),n({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:Vi}),M(),U(We,ae),R[L]=!0,CH}var PH={},j0,xH;function Cee(){if(xH)return j0;xH=1;var n=ea();return j0=n&&!!Symbol.for&&!!Symbol.keyFor,j0}var $H;function mve(){if($H)return PH;$H=1;var n=te(),e=Cr(),t=qt(),r=_r(),i=ia(),o=Cee(),s=i("string-to-symbol-registry"),a=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!o},{for:function(g){var A=r(g);if(t(s,A))return s[A];var I=e("Symbol")(A);return s[A]=I,a[I]=A,I}}),PH}var DH={},NH;function yve(){if(NH)return DH;NH=1;var n=te(),e=qt(),t=Ug(),r=ta(),i=ia(),o=Cee(),s=i("symbol-to-string-registry");return n({target:"Symbol",stat:!0,forced:!o},{keyFor:function(g){if(!t(g))throw new TypeError(r(g)+" is not a symbol");if(e(s,g))return s[g]}}),DH}var MH={},L0,qH;function bve(){if(qH)return L0;qH=1;var n=ye(),e=To(),t=Ot(),r=di(),i=_r(),o=n([].push);return L0=function(s){if(t(s))return s;if(e(s)){for(var a=s.length,g=[],A=0;A<a;A++){var I=s[A];typeof I=="string"?o(g,I):(typeof I=="number"||r(I)==="Number"||r(I)==="String")&&o(g,i(I))}var C=g.length,l=!0;return function(d,u){if(l)return l=!1,u;if(e(this))return u;for(var h=0;h<C;h++)if(g[h]===d)return u}}},L0}var FH;function lee(){if(FH)return MH;FH=1;var n=te(),e=Cr(),t=zI(),r=or(),i=ye(),o=pe(),s=Ot(),a=Ug(),g=sa(),A=bve(),I=ea(),C=String,l=e("JSON","stringify"),d=i(/./.exec),u=i("".charAt),h=i("".charCodeAt),v=i("".replace),f=i(1.1.toString),c=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,p=/^[\uDC00-\uDFFF]$/,y=!I||o(function(){var w=e("Symbol")("stringify detection");return l([w])!=="[null]"||l({a:w})!=="{}"||l(Object(w))!=="{}"}),E=o(function(){return l("\uDF06\uD834")!=='"\\udf06\\ud834"'||l("\uDEAD")!=='"\\udead"'}),S=function(w,_){var T=g(arguments),R=A(_);if(!(!s(R)&&(w===void 0||a(w))))return T[1]=function(O,P){if(s(R)&&(P=r(R,this,C(O),P)),!a(P))return P},t(l,null,T)},m=function(w,_,T){var R=u(T,_-1),O=u(T,_+1);return d(b,w)&&!d(p,O)||d(p,w)&&!d(b,R)?"\\u"+f(h(w,0),16):w};return l&&n({target:"JSON",stat:!0,arity:3,forced:y||E},{stringify:function(_,T,R){var O=g(arguments),P=t(y?S:l,null,O);return E&&typeof P=="string"?v(P,c,m):P}}),MH}var kH={},BH;function wve(){if(BH)return kH;BH=1;var n=te(),e=ea(),t=pe(),r=HI(),i=lr(),o=!e||t(function(){r.f(1)});return n({target:"Object",stat:!0,forced:o},{getOwnPropertySymbols:function(a){var g=r.f;return g?g(i(a)):[]}}),kH}var zH;function dee(){return zH||(zH=1,vve(),mve(),yve(),lee(),wve()),IH}var jH={},LH;function uee(){if(LH)return jH;LH=1;var n=Ue();return n("asyncDispose"),jH}var GH={},WH;function Eve(){if(WH)return GH;WH=1;var n=Ue();return n("asyncIterator"),GH}var VH={},ZH;function hee(){if(ZH)return VH;ZH=1;var n=Ue();return n("dispose"),VH}var HH={},UH;function Sve(){if(UH)return HH;UH=1;var n=Ue();return n("hasInstance"),HH}var KH={},YH;function _ve(){if(YH)return KH;YH=1;var n=Ue();return n("isConcatSpreadable"),KH}var XH={},QH;function cee(){if(QH)return XH;QH=1;var n=Ue();return n("iterator"),XH}var JH={},eU;function Ove(){if(eU)return JH;eU=1;var n=Ue();return n("match"),JH}var tU={},rU;function Tve(){if(rU)return tU;rU=1;var n=Ue();return n("matchAll"),tU}var iU={},nU;function Rve(){if(nU)return iU;nU=1;var n=Ue();return n("replace"),iU}var oU={},sU;function Pve(){if(sU)return oU;sU=1;var n=Ue();return n("search"),oU}var aU={},gU;function xve(){if(gU)return aU;gU=1;var n=Ue();return n("species"),aU}var AU={},IU;function $ve(){if(IU)return AU;IU=1;var n=Ue();return n("split"),AU}var CU={},lU;function fee(){if(lU)return CU;lU=1;var n=Ue(),e=Aee();return n("toPrimitive"),e(),CU}var dU={},uU;function Dve(){if(uU)return dU;uU=1;var n=Cr(),e=Ue(),t=Ro();return e("toStringTag"),t(n("Symbol"),"Symbol"),dU}var hU={},cU;function Nve(){if(cU)return hU;cU=1;var n=Ue();return n("unscopables"),hU}var fU={},pU;function Mve(){if(pU)return fU;pU=1;var n=Ge(),e=Ro();return e(n.JSON,"JSON",!0),fU}var G0,vU;function qve(){if(vU)return G0;vU=1,gee(),dee(),uee(),Eve(),hee(),Sve(),_ve(),cee(),Ove(),Tve(),Rve(),Pve(),xve(),$ve(),fee(),Dve(),Nve(),Mve();var n=Re();return G0=n.Symbol,G0}var mU={},W0,yU;function gR(){return yU||(yU=1,W0=function(){}),W0}var V0,bU;function ga(){return bU||(bU=1,V0={}),V0}var Z0,wU;function Fve(){if(wU)return Z0;wU=1;var n=ot(),e=qt(),t=Function.prototype,r=n&&Object.getOwnPropertyDescriptor,i=e(t,"name"),o=i&&(function(){}).name==="something",s=i&&(!n||n&&r(t,"name").configurable);return Z0={EXISTS:i,PROPER:o,CONFIGURABLE:s},Z0}var H0,EU;function pee(){if(EU)return H0;EU=1;var n=pe();return H0=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),H0}var U0,SU;function QI(){if(SU)return U0;SU=1;var n=qt(),e=Ot(),t=lr(),r=KI(),i=pee(),o=r("IE_PROTO"),s=Object,a=s.prototype;return U0=i?s.getPrototypeOf:function(g){var A=t(g);if(n(A,o))return A[o];var I=A.constructor;return e(I)&&A instanceof I?I.prototype:A instanceof s?a:null},U0}var K0,_U;function vee(){if(_U)return K0;_U=1;var n=pe(),e=Ot(),t=Tt(),r=Qg(),i=QI(),o=Jg(),s=ht(),a=ra(),g=s("iterator"),A=!1,I,C,l;[].keys&&(l=[].keys(),"next"in l?(C=i(i(l)),C!==Object.prototype&&(I=C)):A=!0);var d=!t(I)||n(function(){var u={};return I[g].call(u)!==u});return d?I={}:a&&(I=r(I)),e(I[g])||o(I,g,function(){return this}),K0={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:A},K0}var Y0,OU;function kve(){if(OU)return Y0;OU=1;var n=vee().IteratorPrototype,e=Qg(),t=Zg(),r=Ro(),i=ga(),o=function(){return this};return Y0=function(s,a,g,A){var I=a+" Iterator";return s.prototype=e(n,{next:t(+!A,g)}),r(s,I,!1,!0),i[I]=o,s},Y0}var X0,TU;function Bve(){if(TU)return X0;TU=1;var n=ye(),e=ki();return X0=function(t,r,i){try{return n(e(Object.getOwnPropertyDescriptor(t,r)[i]))}catch{}},X0}var Q0,RU;function zve(){if(RU)return Q0;RU=1;var n=Tt();return Q0=function(e){return n(e)||e===null},Q0}var J0,PU;function jve(){if(PU)return J0;PU=1;var n=zve(),e=String,t=TypeError;return J0=function(r){if(n(r))return r;throw new t("Can't set "+e(r)+" as a prototype")},J0}var ew,xU;function Lve(){if(xU)return ew;xU=1;var n=Bve(),e=Tt(),t=Fi(),r=jve();return ew=Object.setPrototypeOf||("__proto__"in{}?(function(){var i=!1,o={},s;try{s=n(Object.prototype,"__proto__","set"),s(o,[]),i=o instanceof Array}catch{}return function(g,A){return t(g),r(A),e(g)&&(i?s(g,A):g.__proto__=A),g}})():void 0),ew}var tw,$U;function AR(){if($U)return tw;$U=1;var n=te(),e=or(),t=ra(),r=Fve(),i=Ot(),o=kve(),s=QI(),a=Lve(),g=Ro(),A=na(),I=Jg(),C=ht(),l=ga(),d=vee(),u=r.PROPER,h=r.CONFIGURABLE,v=d.IteratorPrototype,f=d.BUGGY_SAFARI_ITERATORS,c=C("iterator"),b="keys",p="values",y="entries",E=function(){return this};return tw=function(S,m,w,_,T,R,O){o(w,m,_);var P=function(ve){if(ve===T&&K)return K;if(!f&&ve&&ve in M)return M[ve];switch(ve){case b:return function(){return new w(this,ve)};case p:return function(){return new w(this,ve)};case y:return function(){return new w(this,ve)}}return function(){return new w(this)}},x=m+" Iterator",V=!1,M=S.prototype,U=M[c]||M["@@iterator"]||T&&M[T],K=!f&&U||P(T),oe=m==="Array"&&M.entries||U,L,ae,he;if(oe&&(L=s(oe.call(new S)),L!==Object.prototype&&L.next&&(!t&&s(L)!==v&&(a?a(L,v):i(L[c])||I(L,c,E)),g(L,x,!0,!0),t&&(l[x]=E))),u&&T===p&&U&&U.name!==p&&(!t&&h?A(M,"name",p):(V=!0,K=function(){return e(U,this)})),T)if(ae={values:P(p),keys:R?K:P(b),entries:P(y)},O)for(he in ae)(f||V||!(he in M))&&I(M,he,ae[he]);else n({target:m,proto:!0,forced:f||V},ae);return(!t||O)&&M[c]!==K&&I(M,c,K,{name:T}),l[m]=K,ae},tw}var rw,DU;function IR(){return DU||(DU=1,rw=function(n,e){return{value:n,done:e}}),rw}var iw,NU;function Aa(){if(NU)return iw;NU=1;var n=Hr(),e=gR(),t=ga(),r=Po(),i=Sr().f,o=AR(),s=IR(),a=ra(),g=ot(),A="Array Iterator",I=r.set,C=r.getterFor(A);iw=o(Array,"Array",function(d,u){I(this,{type:A,target:n(d),index:0,kind:u})},function(){var d=C(this),u=d.target,h=d.index++;if(!u||h>=u.length)return d.target=null,s(void 0,!0);switch(d.kind){case"keys":return s(h,!1);case"values":return s(u[h],!1)}return s([h,u[h]],!1)},"values");var l=t.Arguments=t.Array;if(e("keys"),e("values"),e("entries"),!a&&g&&l.name!=="values")try{i(l,"name",{value:"values"})}catch{}return iw}var nw,MU;function Gve(){return MU||(MU=1,nw={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),nw}var qU;function Ia(){if(qU)return mU;qU=1,Aa();var n=Gve(),e=Ge(),t=Ro(),r=ga();for(var i in n)t(e[i],i),r[i]=r.Array;return mU}var ow,FU;function mee(){if(FU)return ow;FU=1;var n=qve();return Ia(),ow=n,ow}var sw,kU;function Wve(){return kU||(kU=1,sw=mee()),sw}var Vve=Wve(),Zve=se(Vve),BU={},zU;function Hve(){if(zU)return BU;zU=1;var n=te(),e=To(),t=aee(),r=Tt(),i=ZI(),o=Bi(),s=Hr(),a=UI(),g=ht(),A=Xg(),I=sa(),C=A("slice"),l=g("species"),d=Array,u=Math.max;return n({target:"Array",proto:!0,forced:!C},{slice:function(v,f){var c=s(this),b=o(c),p=i(v,b),y=i(f===void 0?b:f,b),E,S,m;if(e(c)&&(E=c.constructor,t(E)&&(E===d||e(E.prototype))?E=void 0:r(E)&&(E=E[l],E===null&&(E=void 0)),E===d||E===void 0))return I(c,p,y);for(S=new(E===void 0?d:E)(u(y-p,0)),m=0;p<y;p++,m++)p in c&&a(S,m,c[p]);return S.length=m,S}}),BU}var aw,jU;function Uve(){if(jU)return aw;jU=1,Hve();var n=Ft();return aw=n("Array","slice"),aw}var gw,LU;function Kve(){if(LU)return gw;LU=1;var n=ut(),e=Uve(),t=Array.prototype;return gw=function(r){var i=r.slice;return r===t||n(t,r)&&i===t.slice?e:i},gw}var Aw,GU;function Yve(){if(GU)return Aw;GU=1;var n=Kve();return Aw=n,Aw}var Iw,WU;function Xve(){return WU||(WU=1,Iw=Yve()),Iw}var Qve=Xve(),Kr=se(Qve),Cw,VU;function Jve(){if(VU)return Cw;VU=1;var n=Cr(),e=ye(),t=YI(),r=HI(),i=ui(),o=e([].concat);return Cw=n("Reflect","ownKeys")||function(a){var g=t.f(i(a)),A=r.f;return A?o(g,A(a)):g},Cw}var ZU={},HU;function eme(){if(HU)return ZU;HU=1;var n=te(),e=To();return n({target:"Array",stat:!0},{isArray:e}),ZU}var lw,UU;function tme(){if(UU)return lw;UU=1,eme();var n=Re();return lw=n.Array.isArray,lw}var dw,KU;function rme(){if(KU)return dw;KU=1;var n=tme();return dw=n,dw}var uw,YU;function ime(){return YU||(YU=1,uw=rme()),uw}var nme=ime(),Qe=se(nme),XU={},QU;function ome(){if(QU)return XU;QU=1;var n=te(),e=Sn().map,t=Xg(),r=t("map");return n({target:"Array",proto:!0,forced:!r},{map:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),XU}var hw,JU;function sme(){if(JU)return hw;JU=1,ome();var n=Ft();return hw=n("Array","map"),hw}var cw,eK;function ame(){if(eK)return cw;eK=1;var n=ut(),e=sme(),t=Array.prototype;return cw=function(r){var i=r.map;return r===t||n(t,r)&&i===t.map?e:i},cw}var fw,tK;function gme(){if(tK)return fw;tK=1;var n=ame();return fw=n,fw}var pw,rK;function Ame(){return rK||(rK=1,pw=gme()),pw}var Ime=Ame(),bs=se(Ime),iK={},nK;function Cme(){if(nK)return iK;nK=1;var n=te(),e=lr(),t=Yg(),r=pe(),i=r(function(){t(1)});return n({target:"Object",stat:!0,forced:i},{keys:function(s){return t(e(s))}}),iK}var vw,oK;function lme(){if(oK)return vw;oK=1,Cme();var n=Re();return vw=n.Object.keys,vw}var mw,sK;function dme(){if(sK)return mw;sK=1;var n=lme();return mw=n,mw}var yw,aK;function ume(){return aK||(aK=1,yw=dme()),yw}var hme=ume(),Xe=se(hme),gK={},AK;function cme(){if(AK)return gK;AK=1;var n=te(),e=ye(),t=Date,r=e(t.prototype.getTime);return n({target:"Date",stat:!0},{now:function(){return r(new t)}}),gK}var bw,IK;function fme(){if(IK)return bw;IK=1,cme();var n=Re();return bw=n.Date.now,bw}var ww,CK;function pme(){if(CK)return ww;CK=1;var n=fme();return ww=n,ww}var Ew,lK;function vme(){return lK||(lK=1,Ew=pme()),Ew}var mme=vme(),XA=se(mme),dK={},Sw,uK;function Ca(){if(uK)return Sw;uK=1;var n=pe();return Sw=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})},Sw}var _w,hK;function yme(){if(hK)return _w;hK=1;var n=Sn().forEach,e=Ca(),t=e("forEach");return _w=t?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)},_w}var cK;function bme(){if(cK)return dK;cK=1;var n=te(),e=yme();return n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e}),dK}var Ow,fK;function wme(){if(fK)return Ow;fK=1,bme();var n=Ft();return Ow=n("Array","forEach"),Ow}var Tw,pK;function Eme(){if(pK)return Tw;pK=1;var n=wme();return Tw=n,Tw}var Rw,vK;function Sme(){if(vK)return Rw;vK=1;var n=aa(),e=qt(),t=ut(),r=Eme(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return Rw=function(s){var a=s.forEach;return s===i||t(i,s)&&a===i.forEach||e(o,n(s))?r:a},Rw}var Pw,mK;function _me(){return mK||(mK=1,Pw=Sme()),Pw}var Ome=_me(),xe=se(Ome),yK={},bK;function Tme(){if(bK)return yK;bK=1;var n=te(),e=ye(),t=To(),r=e([].reverse),i=[1,2];return n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return t(this)&&(this.length=this.length),r(this)}}),yK}var xw,wK;function Rme(){if(wK)return xw;wK=1,Tme();var n=Ft();return xw=n("Array","reverse"),xw}var $w,EK;function Pme(){if(EK)return $w;EK=1;var n=ut(),e=Rme(),t=Array.prototype;return $w=function(r){var i=r.reverse;return r===t||n(t,r)&&i===t.reverse?e:i},$w}var Dw,SK;function xme(){if(SK)return Dw;SK=1;var n=Pme();return Dw=n,Dw}var Nw,_K;function $me(){return _K||(_K=1,Nw=xme()),Nw}var Dme=$me(),Vn=se(Dme),OK={},Mw,TK;function Nme(){if(TK)return Mw;TK=1;var n=ot(),e=To(),t=TypeError,r=Object.getOwnPropertyDescriptor,i=n&&!(function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(o){return o instanceof TypeError}})();return Mw=i?function(o,s){if(e(o)&&!r(o,"length").writable)throw new t("Cannot set read only .length");return o.length=s}:function(o,s){return o.length=s},Mw}var qw,RK;function yee(){if(RK)return qw;RK=1;var n=ta(),e=TypeError;return qw=function(t,r){if(!delete t[r])throw new e("Cannot delete property "+n(r)+" of "+n(t))},qw}var PK;function Mme(){if(PK)return OK;PK=1;var n=te(),e=lr(),t=ZI(),r=oa(),i=Bi(),o=Nme(),s=see(),a=nR(),g=UI(),A=yee(),I=Xg(),C=I("splice"),l=Math.max,d=Math.min;return n({target:"Array",proto:!0,forced:!C},{splice:function(h,v){var f=e(this),c=i(f),b=t(h,c),p=arguments.length,y,E,S,m,w,_;for(p===0?y=E=0:p===1?(y=0,E=c-b):(y=p-2,E=d(l(r(v),0),c-b)),s(c+y-E),S=a(f,E),m=0;m<E;m++)w=b+m,w in f&&g(S,m,f[w]);if(S.length=E,y<E){for(m=b;m<c-E;m++)w=m+E,_=m+y,w in f?f[_]=f[w]:A(f,_);for(m=c;m>c-E+y;m--)A(f,m-1)}else if(y>E)for(m=c-E;m>b;m--)w=m+E-1,_=m+y-1,w in f?f[_]=f[w]:A(f,_);for(m=0;m<y;m++)f[m+b]=arguments[m+2];return o(f,c-E+y),S}}),OK}var Fw,xK;function qme(){if(xK)return Fw;xK=1,Mme();var n=Ft();return Fw=n("Array","splice"),Fw}var kw,$K;function Fme(){if($K)return kw;$K=1;var n=ut(),e=qme(),t=Array.prototype;return kw=function(r){var i=r.splice;return r===t||n(t,r)&&i===t.splice?e:i},kw}var Bw,DK;function kme(){if(DK)return Bw;DK=1;var n=Fme();return Bw=n,Bw}var zw,NK;function Bme(){return NK||(NK=1,zw=kme()),zw}var zme=Bme(),Ei=se(zme),MK={},qK;function jme(){if(qK)return MK;qK=1;var n=te(),e=eR().includes,t=pe(),r=gR(),i=t(function(){return!Array(1).includes()});return n({target:"Array",proto:!0,forced:i},{includes:function(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}}),r("includes"),MK}var jw,FK;function Lme(){if(FK)return jw;FK=1,jme();var n=Ft();return jw=n("Array","includes"),jw}var kK={},Lw,BK;function Gme(){if(BK)return Lw;BK=1;var n=Tt(),e=di(),t=ht(),r=t("match");return Lw=function(i){var o;return n(i)&&((o=i[r])!==void 0?!!o:e(i)==="RegExp")},Lw}var Gw,zK;function Wme(){if(zK)return Gw;zK=1;var n=Gme(),e=TypeError;return Gw=function(t){if(n(t))throw new e("The method doesn't accept regular expressions");return t},Gw}var Ww,jK;function Vme(){if(jK)return Ww;jK=1;var n=ht(),e=n("match");return Ww=function(t){var r=/./;try{"/./"[t](r)}catch{try{return r[e]=!1,"/./"[t](r)}catch{}}return!1},Ww}var LK;function Zme(){if(LK)return kK;LK=1;var n=te(),e=ye(),t=Wme(),r=Fi(),i=_r(),o=Vme(),s=e("".indexOf);return n({target:"String",proto:!0,forced:!o("includes")},{includes:function(g){return!!~s(i(r(this)),i(t(g)),arguments.length>1?arguments[1]:void 0)}}),kK}var Vw,GK;function Hme(){if(GK)return Vw;GK=1,Zme();var n=Ft();return Vw=n("String","includes"),Vw}var Zw,WK;function Ume(){if(WK)return Zw;WK=1;var n=ut(),e=Lme(),t=Hme(),r=Array.prototype,i=String.prototype;return Zw=function(o){var s=o.includes;return o===r||n(r,o)&&s===r.includes?e:typeof o=="string"||o===i||n(i,o)&&s===i.includes?t:s},Zw}var Hw,VK;function Kme(){if(VK)return Hw;VK=1;var n=Ume();return Hw=n,Hw}var Uw,ZK;function Yme(){return ZK||(ZK=1,Uw=Kme()),Uw}var Xme=Yme(),An=se(Xme),HK={},UK;function Qme(){if(UK)return HK;UK=1;var n=te(),e=pe(),t=lr(),r=QI(),i=pee(),o=e(function(){r(1)});return n({target:"Object",stat:!0,forced:o,sham:!i},{getPrototypeOf:function(a){return r(t(a))}}),HK}var Kw,KK;function Jme(){if(KK)return Kw;KK=1,Qme();var n=Re();return Kw=n.Object.getPrototypeOf,Kw}var Yw,YK;function eye(){if(YK)return Yw;YK=1;var n=Jme();return Yw=n,Yw}var Xw,XK;function tye(){return XK||(XK=1,Xw=eye()),Xw}var rye=tye(),QK=se(rye),Qw,JK;function iye(){if(JK)return Qw;JK=1,gee();var n=Ft();return Qw=n("Array","concat"),Qw}var Jw,eY;function nye(){if(eY)return Jw;eY=1;var n=ut(),e=iye(),t=Array.prototype;return Jw=function(r){var i=r.concat;return r===t||n(t,r)&&i===t.concat?e:i},Jw}var eE,tY;function oye(){if(tY)return eE;tY=1;var n=nye();return eE=n,eE}var tE,rY;function sye(){return rY||(rY=1,tE=oye()),tE}var aye=sye(),gye=se(aye),iY={},nY;function Aye(){if(nY)return iY;nY=1;var n=te(),e=Sn().filter,t=Xg(),r=t("filter");return n({target:"Array",proto:!0,forced:!r},{filter:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),iY}var rE,oY;function Iye(){if(oY)return rE;oY=1,Aye();var n=Ft();return rE=n("Array","filter"),rE}var iE,sY;function Cye(){if(sY)return iE;sY=1;var n=ut(),e=Iye(),t=Array.prototype;return iE=function(r){var i=r.filter;return r===t||n(t,r)&&i===t.filter?e:i},iE}var nE,aY;function lye(){if(aY)return nE;aY=1;var n=Cye();return nE=n,nE}var oE,gY;function dye(){return gY||(gY=1,oE=lye()),oE}var uye=dye(),Qt=se(uye),AY={},sE,IY;function hye(){if(IY)return sE;IY=1;var n=ot(),e=pe(),t=ye(),r=QI(),i=Yg(),o=Hr(),s=jI().f,a=t(s),g=t([].push),A=n&&e(function(){var C=Object.create(null);return C[2]=2,!a(C,2)}),I=function(C){return function(l){for(var d=o(l),u=i(d),h=A&&r(d)===null,v=u.length,f=0,c=[],b;v>f;)b=u[f++],(!n||(h?b in d:a(d,b)))&&g(c,C?[b,d[b]]:d[b]);return c}};return sE={entries:I(!0),values:I(!1)},sE}var CY;function cye(){if(CY)return AY;CY=1;var n=te(),e=hye().values;return n({target:"Object",stat:!0},{values:function(r){return e(r)}}),AY}var aE,lY;function fye(){if(lY)return aE;lY=1,cye();var n=Re();return aE=n.Object.values,aE}var gE,dY;function pye(){if(dY)return gE;dY=1;var n=fye();return gE=n,gE}var AE,uY;function vye(){return uY||(uY=1,AE=pye()),AE}var mye=vye(),yye=se(mye),hY={},IE,cY;function CR(){return cY||(cY=1,IE=`	
\v\f\r                　\u2028\u2029\uFEFF`),IE}var CE,fY;function bee(){if(fY)return CE;fY=1;var n=ye(),e=Fi(),t=_r(),r=CR(),i=n("".replace),o=RegExp("^["+r+"]+"),s=RegExp("(^|[^"+r+"])["+r+"]+$"),a=function(g){return function(A){var I=t(e(A));return g&1&&(I=i(I,o,"")),g&2&&(I=i(I,s,"$1")),I}};return CE={start:a(1),end:a(2),trim:a(3)},CE}var lE,pY;function bye(){if(pY)return lE;pY=1;var n=Ge(),e=pe(),t=ye(),r=_r(),i=bee().trim,o=CR(),s=n.parseInt,a=n.Symbol,g=a&&a.iterator,A=/^[+-]?0x/i,I=t(A.exec),C=s(o+"08")!==8||s(o+"0x16")!==22||g&&!e(function(){s(Object(g))});return lE=C?function(d,u){var h=i(r(d));return s(h,u>>>0||(I(A,h)?16:10))}:s,lE}var vY;function wye(){if(vY)return hY;vY=1;var n=te(),e=bye();return n({global:!0,forced:parseInt!==e},{parseInt:e}),hY}var dE,mY;function Eye(){if(mY)return dE;mY=1,wye();var n=Re();return dE=n.parseInt,dE}var uE,yY;function Sye(){if(yY)return uE;yY=1;var n=Eye();return uE=n,uE}var hE,bY;function _ye(){return bY||(bY=1,hE=Sye()),hE}var Oye=_ye(),Br=se(Oye),wY={},EY;function Tye(){if(EY)return wY;EY=1;var n=te(),e=YT(),t=eR().indexOf,r=Ca(),i=e([].indexOf),o=!!i&&1/i([1],1,-0)<0,s=o||!r("indexOf");return n({target:"Array",proto:!0,forced:s},{indexOf:function(g){var A=arguments.length>1?arguments[1]:void 0;return o?i(this,g,A)||0:t(this,g,A)}}),wY}var cE,SY;function Rye(){if(SY)return cE;SY=1,Tye();var n=Ft();return cE=n("Array","indexOf"),cE}var fE,_Y;function Pye(){if(_Y)return fE;_Y=1;var n=ut(),e=Rye(),t=Array.prototype;return fE=function(r){var i=r.indexOf;return r===t||n(t,r)&&i===t.indexOf?e:i},fE}var pE,OY;function xye(){if(OY)return pE;OY=1;var n=Pye();return pE=n,pE}var vE,TY;function $ye(){return TY||(TY=1,vE=xye()),vE}var Dye=$ye(),Oe=se(Dye),RY={},PY;function Nye(){if(PY)return RY;PY=1;var n=te(),e=ot(),t=Qg();return n({target:"Object",stat:!0,sham:!e},{create:t}),RY}var mE,xY;function Mye(){if(xY)return mE;xY=1,Nye();var n=Re(),e=n.Object;return mE=function(r,i){return e.create(r,i)},mE}var yE,$Y;function qye(){if($Y)return yE;$Y=1;var n=Mye();return yE=n,yE}var bE,DY;function Fye(){return DY||(DY=1,bE=qye()),bE}var kye=Fye(),Zn=se(kye),NY={},wE,MY;function Bye(){if(MY)return wE;MY=1;var n=oa(),e=_r(),t=Fi(),r=RangeError;return wE=function(o){var s=e(t(this)),a="",g=n(o);if(g<0||g===1/0)throw new r("Wrong number of repetitions");for(;g>0;(g>>>=1)&&(s+=s))g&1&&(a+=s);return a},wE}var EE,qY;function zye(){if(qY)return EE;qY=1;var n=ye(),e=eee(),t=_r(),r=Bye(),i=Fi(),o=n(r),s=n("".slice),a=Math.ceil,g=function(A){return function(I,C,l){var d=t(i(I)),u=e(C),h=d.length,v=l===void 0?" ":t(l),f,c;return u<=h||v===""?d:(f=u-h,c=o(v,a(f/v.length)),c.length>f&&(c=s(c,0,f)),A?d+c:c+d)}};return EE={start:g(!1),end:g(!0)},EE}var SE,FY;function jye(){if(FY)return SE;FY=1;var n=ye(),e=pe(),t=zye().start,r=RangeError,i=isFinite,o=Math.abs,s=Date.prototype,a=s.toISOString,g=n(s.getTime),A=n(s.getUTCDate),I=n(s.getUTCFullYear),C=n(s.getUTCHours),l=n(s.getUTCMilliseconds),d=n(s.getUTCMinutes),u=n(s.getUTCMonth),h=n(s.getUTCSeconds);return SE=e(function(){return a.call(new Date(-5e13-1))!=="0385-07-25T07:06:39.999Z"})||!e(function(){a.call(new Date(NaN))})?function(){if(!i(g(this)))throw new r("Invalid time value");var f=this,c=I(f),b=l(f),p=c<0?"-":c>9999?"+":"";return p+t(o(c),p?6:4,0)+"-"+t(u(f)+1,2,0)+"-"+t(A(f),2,0)+"T"+t(C(f),2,0)+":"+t(d(f),2,0)+":"+t(h(f),2,0)+"."+t(b,3,0)+"Z"}:a,SE}var kY;function Lye(){if(kY)return NY;kY=1;var n=te(),e=or(),t=lr(),r=YJ(),i=jye(),o=di(),s=pe(),a=s(function(){return new Date(NaN).toJSON()!==null||e(Date.prototype.toJSON,{toISOString:function(){return 1}})!==1});return n({target:"Date",proto:!0,forced:a},{toJSON:function(A){var I=t(this),C=r(I,"number");return typeof C=="number"&&!isFinite(C)?null:!("toISOString"in I)&&o(I)==="Date"?e(i,I):I.toISOString()}}),NY}var _E,BY;function Gye(){if(BY)return _E;BY=1,Lye(),lee();var n=Re(),e=zI();return n.JSON||(n.JSON={stringify:JSON.stringify}),_E=function(r,i,o){return e(n.JSON.stringify,null,arguments)},_E}var OE,zY;function Wye(){if(zY)return OE;zY=1;var n=Gye();return OE=n,OE}var TE,jY;function Vye(){return jY||(jY=1,TE=Wye()),TE}var Zye=Vye(),eA=se(Zye),LY={},GY={},RE,WY;function wee(){if(WY)return RE;WY=1;var n=Ge(),e=Js(),t=di(),r=function(i){return e.slice(0,i.length)===i};return RE=(function(){return r("Bun/")?"BUN":r("Cloudflare-Workers")?"CLOUDFLARE":r("Deno/")?"DENO":r("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":t(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"})(),RE}var PE,VY;function Hye(){if(VY)return PE;VY=1;var n=TypeError;return PE=function(e,t){if(e<t)throw new n("Not enough arguments");return e},PE}var xE,ZY;function Eee(){if(ZY)return xE;ZY=1;var n=Ge(),e=zI(),t=Ot(),r=wee(),i=Js(),o=sa(),s=Hye(),a=n.Function,g=/MSIE .\./.test(i)||r==="BUN"&&(function(){var A=n.Bun.version.split(".");return A.length<3||A[0]==="0"&&(A[1]<3||A[1]==="3"&&A[2]==="0")})();return xE=function(A,I){var C=I?2:1;return g?function(l,d){var u=s(arguments.length,1)>C,h=t(l)?l:a(l),v=u?o(arguments,C):[],f=u?function(){e(h,this,v)}:h;return I?A(f,d):A(f)}:A},xE}var HY;function Uye(){if(HY)return GY;HY=1;var n=te(),e=Ge(),t=Eee(),r=t(e.setInterval,!0);return n({global:!0,bind:!0,forced:e.setInterval!==r},{setInterval:r}),GY}var UY={},KY;function Kye(){if(KY)return UY;KY=1;var n=te(),e=Ge(),t=Eee(),r=t(e.setTimeout,!0);return n({global:!0,bind:!0,forced:e.setTimeout!==r},{setTimeout:r}),UY}var YY;function See(){return YY||(YY=1,Uye(),Kye()),LY}var $E,XY;function Yye(){if(XY)return $E;XY=1,See();var n=Re();return $E=n.setTimeout,$E}var DE,QY;function Xye(){return QY||(QY=1,DE=Yye()),DE}var Qye=Xye(),Si=se(Qye),JY={},NE,e4;function Jye(){if(e4)return NE;e4=1;var n=lr(),e=ZI(),t=Bi();return NE=function(i){for(var o=n(this),s=t(o),a=arguments.length,g=e(a>1?arguments[1]:void 0,s),A=a>2?arguments[2]:void 0,I=A===void 0?s:e(A,s);I>g;)o[g++]=i;return o},NE}var t4;function ebe(){if(t4)return JY;t4=1;var n=te(),e=Jye(),t=gR();return n({target:"Array",proto:!0},{fill:e}),t("fill"),JY}var ME,r4;function tbe(){if(r4)return ME;r4=1,ebe();var n=Ft();return ME=n("Array","fill"),ME}var qE,i4;function rbe(){if(i4)return qE;i4=1;var n=ut(),e=tbe(),t=Array.prototype;return qE=function(r){var i=r.fill;return r===t||n(t,r)&&i===t.fill?e:i},qE}var FE,n4;function ibe(){if(n4)return FE;n4=1;var n=rbe();return FE=n,FE}var kE,o4;function nbe(){return o4||(o4=1,kE=ibe()),kE}var obe=nbe(),tA=se(obe);/*! Hammer.JS - v2.0.17-rc - 2019-12-16
 * http://naver.github.io/egjs
 *
 * Forked By Naver egjs
 * Copyright (c) hammerjs
 * Licensed under the MIT license */function Wr(){return Wr=Object.assign||function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Wr.apply(this,arguments)}function Or(n,e){n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.__proto__=e}function vA(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}var TO;typeof Object.assign!="function"?TO=function(e){if(e==null)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1;r<arguments.length;r++){var i=arguments[r];if(i!=null)for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o])}return t}:TO=Object.assign;var io=TO,s4=["","webkit","Moz","MS","ms","o"],sbe=typeof document>"u"?{style:{}}:document.createElement("div"),abe="function",Qo=Math.round,no=Math.abs,lR=Date.now;function JI(n,e){for(var t,r,i=e[0].toUpperCase()+e.slice(1),o=0;o<s4.length;){if(t=s4[o],r=t?t+i:e,r in n)return r;o++}}var _i;typeof window>"u"?_i={}:_i=window;var _ee=JI(sbe.style,"touchAction"),Oee=_ee!==void 0;function gbe(){if(!Oee)return!1;var n={},e=_i.CSS&&_i.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(t){return n[t]=e?_i.CSS.supports("touch-action",t):!0}),n}var Tee="compute",Ree="auto",RO="manipulation",Hn="none",tg="pan-x",rg="pan-y",mA=gbe(),Abe=/mobile|tablet|ip(ad|hone|od)|android/i,Pee="ontouchstart"in _i,Ibe=JI(_i,"PointerEvent")!==void 0,Cbe=Pee&&Abe.test(navigator.userAgent),rA="touch",lbe="pen",dR="mouse",dbe="kinect",ube=25,Zt=1,xo=2,It=4,tr=8,QA=1,iA=2,nA=4,oA=8,ws=16,si=iA|nA,Un=oA|ws,xee=si|Un,$ee=["x","y"],JA=["clientX","clientY"];function Oi(n,e,t){var r;if(n)if(n.forEach)n.forEach(e,t);else if(n.length!==void 0)for(r=0;r<n.length;)e.call(t,n[r],r,n),r++;else for(r in n)n.hasOwnProperty(r)&&e.call(t,n[r],r,n)}function eC(n,e){return typeof n===abe?n.apply(e&&e[0]||void 0,e):n}function Fn(n,e){return n.indexOf(e)>-1}function hbe(n){if(Fn(n,Hn))return Hn;var e=Fn(n,tg),t=Fn(n,rg);return e&&t?Hn:e||t?e?tg:rg:Fn(n,RO)?RO:Ree}var Dee=(function(){function n(t,r){this.manager=t,this.set(r)}var e=n.prototype;return e.set=function(r){r===Tee&&(r=this.compute()),Oee&&this.manager.element.style&&mA[r]&&(this.manager.element.style[_ee]=r),this.actions=r.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var r=[];return Oi(this.manager.recognizers,function(i){eC(i.options.enable,[i])&&(r=r.concat(i.getTouchAction()))}),hbe(r.join(" "))},e.preventDefaults=function(r){var i=r.srcEvent,o=r.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var s=this.actions,a=Fn(s,Hn)&&!mA[Hn],g=Fn(s,rg)&&!mA[rg],A=Fn(s,tg)&&!mA[tg];if(a){var I=r.pointers.length===1,C=r.distance<2,l=r.deltaTime<250;if(I&&C&&l)return}if(!(A&&g)&&(a||g&&o&si||A&&o&Un))return this.preventSrc(i)},e.preventSrc=function(r){this.manager.session.prevented=!0,r.preventDefault()},n})();function uR(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}function Nee(n){var e=n.length;if(e===1)return{x:Qo(n[0].clientX),y:Qo(n[0].clientY)};for(var t=0,r=0,i=0;i<e;)t+=n[i].clientX,r+=n[i].clientY,i++;return{x:Qo(t/e),y:Qo(r/e)}}function a4(n){for(var e=[],t=0;t<n.pointers.length;)e[t]={clientX:Qo(n.pointers[t].clientX),clientY:Qo(n.pointers[t].clientY)},t++;return{timeStamp:lR(),pointers:e,center:Nee(e),deltaX:n.deltaX,deltaY:n.deltaY}}function eI(n,e,t){t||(t=$ee);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.sqrt(r*r+i*i)}function PO(n,e,t){t||(t=$ee);var r=e[t[0]]-n[t[0]],i=e[t[1]]-n[t[1]];return Math.atan2(i,r)*180/Math.PI}function Mee(n,e){return n===e?QA:no(n)>=no(e)?n<0?iA:nA:e<0?oA:ws}function cbe(n,e){var t=e.center,r=n.offsetDelta||{},i=n.prevDelta||{},o=n.prevInput||{};(e.eventType===Zt||o.eventType===It)&&(i=n.prevDelta={x:o.deltaX||0,y:o.deltaY||0},r=n.offsetDelta={x:t.x,y:t.y}),e.deltaX=i.x+(t.x-r.x),e.deltaY=i.y+(t.y-r.y)}function qee(n,e,t){return{x:e/n||0,y:t/n||0}}function fbe(n,e){return eI(e[0],e[1],JA)/eI(n[0],n[1],JA)}function pbe(n,e){return PO(e[1],e[0],JA)+PO(n[1],n[0],JA)}function vbe(n,e){var t=n.lastInterval||e,r=e.timeStamp-t.timeStamp,i,o,s,a;if(e.eventType!==tr&&(r>ube||t.velocity===void 0)){var g=e.deltaX-t.deltaX,A=e.deltaY-t.deltaY,I=qee(r,g,A);o=I.x,s=I.y,i=no(I.x)>no(I.y)?I.x:I.y,a=Mee(g,A),n.lastInterval=e}else i=t.velocity,o=t.velocityX,s=t.velocityY,a=t.direction;e.velocity=i,e.velocityX=o,e.velocityY=s,e.direction=a}function mbe(n,e){var t=n.session,r=e.pointers,i=r.length;t.firstInput||(t.firstInput=a4(e)),i>1&&!t.firstMultiple?t.firstMultiple=a4(e):i===1&&(t.firstMultiple=!1);var o=t.firstInput,s=t.firstMultiple,a=s?s.center:o.center,g=e.center=Nee(r);e.timeStamp=lR(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=PO(a,g),e.distance=eI(a,g),cbe(t,e),e.offsetDirection=Mee(e.deltaX,e.deltaY);var A=qee(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=A.x,e.overallVelocityY=A.y,e.overallVelocity=no(A.x)>no(A.y)?A.x:A.y,e.scale=s?fbe(s.pointers,r):1,e.rotation=s?pbe(s.pointers,r):0,e.maxPointers=t.prevInput?e.pointers.length>t.prevInput.maxPointers?e.pointers.length:t.prevInput.maxPointers:e.pointers.length,vbe(t,e);var I=n.element,C=e.srcEvent,l;C.composedPath?l=C.composedPath()[0]:C.path?l=C.path[0]:l=C.target,uR(l,I)&&(I=l),e.target=I}function ybe(n,e,t){var r=t.pointers.length,i=t.changedPointers.length,o=e&Zt&&r-i===0,s=e&(It|tr)&&r-i===0;t.isFirst=!!o,t.isFinal=!!s,o&&(n.session={}),t.eventType=e,mbe(n,t),n.emit("hammer.input",t),n.recognize(t),n.session.prevInput=t}function ig(n){return n.trim().split(/\s+/g)}function ka(n,e,t){Oi(ig(e),function(r){n.addEventListener(r,t,!1)})}function Ba(n,e,t){Oi(ig(e),function(r){n.removeEventListener(r,t,!1)})}function g4(n){var e=n.ownerDocument||n;return e.defaultView||e.parentWindow||window}var la=(function(){function n(t,r){var i=this;this.manager=t,this.callback=r,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(o){eC(t.options.enable,[t])&&i.handler(o)},this.init()}var e=n.prototype;return e.handler=function(){},e.init=function(){this.evEl&&ka(this.element,this.evEl,this.domHandler),this.evTarget&&ka(this.target,this.evTarget,this.domHandler),this.evWin&&ka(g4(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Ba(this.element,this.evEl,this.domHandler),this.evTarget&&Ba(this.target,this.evTarget,this.domHandler),this.evWin&&Ba(g4(this.element),this.evWin,this.domHandler)},n})();function oo(n,e,t){if(n.indexOf&&!t)return n.indexOf(e);for(var r=0;r<n.length;){if(t&&n[r][t]==e||!t&&n[r]===e)return r;r++}return-1}var bbe={pointerdown:Zt,pointermove:xo,pointerup:It,pointercancel:tr,pointerout:tr},wbe={2:rA,3:lbe,4:dR,5:dbe},Fee="pointerdown",kee="pointermove pointerup pointercancel";_i.MSPointerEvent&&!_i.PointerEvent&&(Fee="MSPointerDown",kee="MSPointerMove MSPointerUp MSPointerCancel");var Bee=(function(n){Or(e,n);function e(){var r,i=e.prototype;return i.evEl=Fee,i.evWin=kee,r=n.apply(this,arguments)||this,r.store=r.manager.session.pointerEvents=[],r}var t=e.prototype;return t.handler=function(i){var o=this.store,s=!1,a=i.type.toLowerCase().replace("ms",""),g=bbe[a],A=wbe[i.pointerType]||i.pointerType,I=A===rA,C=oo(o,i.pointerId,"pointerId");g&Zt&&(i.button===0||I)?C<0&&(o.push(i),C=o.length-1):g&(It|tr)&&(s=!0),!(C<0)&&(o[C]=i,this.callback(this.manager,g,{pointers:o,changedPointers:[i],pointerType:A,srcEvent:i}),s&&o.splice(C,1))},e})(la);function ng(n){return Array.prototype.slice.call(n,0)}function hR(n,e,t){for(var r=[],i=[],o=0;o<n.length;){var s=e?n[o][e]:n[o];oo(i,s)<0&&r.push(n[o]),i[o]=s,o++}return t&&(e?r=r.sort(function(a,g){return a[e]>g[e]}):r=r.sort()),r}var Ebe={touchstart:Zt,touchmove:xo,touchend:It,touchcancel:tr},Sbe="touchstart touchmove touchend touchcancel",cR=(function(n){Or(e,n);function e(){var r;return e.prototype.evTarget=Sbe,r=n.apply(this,arguments)||this,r.targetIds={},r}var t=e.prototype;return t.handler=function(i){var o=Ebe[i.type],s=_be.call(this,i,o);s&&this.callback(this.manager,o,{pointers:s[0],changedPointers:s[1],pointerType:rA,srcEvent:i})},e})(la);function _be(n,e){var t=ng(n.touches),r=this.targetIds;if(e&(Zt|xo)&&t.length===1)return r[t[0].identifier]=!0,[t,t];var i,o,s=ng(n.changedTouches),a=[],g=this.target;if(o=t.filter(function(A){return uR(A.target,g)}),e===Zt)for(i=0;i<o.length;)r[o[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),e&(It|tr)&&delete r[s[i].identifier],i++;if(a.length)return[hR(o.concat(a),"identifier",!0),a]}var Obe={mousedown:Zt,mousemove:xo,mouseup:It},Tbe="mousedown",Rbe="mousemove mouseup",fR=(function(n){Or(e,n);function e(){var r,i=e.prototype;return i.evEl=Tbe,i.evWin=Rbe,r=n.apply(this,arguments)||this,r.pressed=!1,r}var t=e.prototype;return t.handler=function(i){var o=Obe[i.type];o&Zt&&i.button===0&&(this.pressed=!0),o&xo&&i.which!==1&&(o=It),this.pressed&&(o&It&&(this.pressed=!1),this.callback(this.manager,o,{pointers:[i],changedPointers:[i],pointerType:dR,srcEvent:i}))},e})(la),Pbe=2500,A4=25;function I4(n){var e=n.changedPointers,t=e[0];if(t.identifier===this.primaryTouch){var r={x:t.clientX,y:t.clientY},i=this.lastTouches;this.lastTouches.push(r);var o=function(){var a=i.indexOf(r);a>-1&&i.splice(a,1)};setTimeout(o,Pbe)}}function xbe(n,e){n&Zt?(this.primaryTouch=e.changedPointers[0].identifier,I4.call(this,e)):n&(It|tr)&&I4.call(this,e)}function $be(n){for(var e=n.srcEvent.clientX,t=n.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var i=this.lastTouches[r],o=Math.abs(e-i.x),s=Math.abs(t-i.y);if(o<=A4&&s<=A4)return!0}return!1}var zee=(function(){var n=(function(e){Or(t,e);function t(i,o){var s;return s=e.call(this,i,o)||this,s.handler=function(a,g,A){var I=A.pointerType===rA,C=A.pointerType===dR;if(!(C&&A.sourceCapabilities&&A.sourceCapabilities.firesTouchEvents)){if(I)xbe.call(vA(vA(s)),g,A);else if(C&&$be.call(vA(vA(s)),A))return;s.callback(a,g,A)}},s.touch=new cR(s.manager,s.handler),s.mouse=new fR(s.manager,s.handler),s.primaryTouch=null,s.lastTouches=[],s}var r=t.prototype;return r.destroy=function(){this.touch.destroy(),this.mouse.destroy()},t})(la);return n})();function Dbe(n){var e,t=n.options.inputClass;return t?e=t:Ibe?e=Bee:Cbe?e=cR:Pee?e=zee:e=fR,new e(n,ybe)}function Jo(n,e,t){return Array.isArray(n)?(Oi(n,t[e],t),!0):!1}var RA=1,vr=2,Es=4,In=8,Ti=In,og=16,Jr=32,Nbe=1;function Mbe(){return Nbe++}function yA(n,e){var t=e.manager;return t?t.get(n):n}function C4(n){return n&og?"cancel":n&In?"end":n&Es?"move":n&vr?"start":""}var sA=(function(){function n(t){t===void 0&&(t={}),this.options=Wr({enable:!0},t),this.id=Mbe(),this.manager=null,this.state=RA,this.simultaneous={},this.requireFail=[]}var e=n.prototype;return e.set=function(r){return io(this.options,r),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(r){if(Jo(r,"recognizeWith",this))return this;var i=this.simultaneous;return r=yA(r,this),i[r.id]||(i[r.id]=r,r.recognizeWith(this)),this},e.dropRecognizeWith=function(r){return Jo(r,"dropRecognizeWith",this)?this:(r=yA(r,this),delete this.simultaneous[r.id],this)},e.requireFailure=function(r){if(Jo(r,"requireFailure",this))return this;var i=this.requireFail;return r=yA(r,this),oo(i,r)===-1&&(i.push(r),r.requireFailure(this)),this},e.dropRequireFailure=function(r){if(Jo(r,"dropRequireFailure",this))return this;r=yA(r,this);var i=oo(this.requireFail,r);return i>-1&&this.requireFail.splice(i,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(r){return!!this.simultaneous[r.id]},e.emit=function(r){var i=this,o=this.state;function s(a){i.manager.emit(a,r)}o<In&&s(i.options.event+C4(o)),s(i.options.event),r.additionalEvent&&s(r.additionalEvent),o>=In&&s(i.options.event+C4(o))},e.tryEmit=function(r){if(this.canEmit())return this.emit(r);this.state=Jr},e.canEmit=function(){for(var r=0;r<this.requireFail.length;){if(!(this.requireFail[r].state&(Jr|RA)))return!1;r++}return!0},e.recognize=function(r){var i=io({},r);if(!eC(this.options.enable,[this,i])){this.reset(),this.state=Jr;return}this.state&(Ti|og|Jr)&&(this.state=RA),this.state=this.process(i),this.state&(vr|Es|In|og)&&this.tryEmit(i)},e.process=function(r){},e.getTouchAction=function(){},e.reset=function(){},n})(),xO=(function(n){Or(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Wr({event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},r))||this,i.pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}var t=e.prototype;return t.getTouchAction=function(){return[RO]},t.process=function(i){var o=this,s=this.options,a=i.pointers.length===s.pointers,g=i.distance<s.threshold,A=i.deltaTime<s.time;if(this.reset(),i.eventType&Zt&&this.count===0)return this.failTimeout();if(g&&A&&a){if(i.eventType!==It)return this.failTimeout();var I=this.pTime?i.timeStamp-this.pTime<s.interval:!0,C=!this.pCenter||eI(this.pCenter,i.center)<s.posThreshold;this.pTime=i.timeStamp,this.pCenter=i.center,!C||!I?this.count=1:this.count+=1,this._input=i;var l=this.count%s.taps;if(l===0)return this.hasRequireFailures()?(this._timer=setTimeout(function(){o.state=Ti,o.tryEmit()},s.interval),vr):Ti}return Jr},t.failTimeout=function(){var i=this;return this._timer=setTimeout(function(){i.state=Jr},this.options.interval),Jr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(){this.state===Ti&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e})(sA),Ss=(function(n){Or(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Wr({pointers:1},r))||this}var t=e.prototype;return t.attrTest=function(i){var o=this.options.pointers;return o===0||i.pointers.length===o},t.process=function(i){var o=this.state,s=i.eventType,a=o&(vr|Es),g=this.attrTest(i);return a&&(s&tr||!g)?o|og:a||g?s&It?o|In:o&vr?o|Es:vr:Jr},e})(sA);function jee(n){return n===ws?"down":n===oA?"up":n===iA?"left":n===nA?"right":""}var pR=(function(n){Or(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Wr({event:"pan",threshold:10,pointers:1,direction:xee},r))||this,i.pX=null,i.pY=null,i}var t=e.prototype;return t.getTouchAction=function(){var i=this.options.direction,o=[];return i&si&&o.push(rg),i&Un&&o.push(tg),o},t.directionTest=function(i){var o=this.options,s=!0,a=i.distance,g=i.direction,A=i.deltaX,I=i.deltaY;return g&o.direction||(o.direction&si?(g=A===0?QA:A<0?iA:nA,s=A!==this.pX,a=Math.abs(i.deltaX)):(g=I===0?QA:I<0?oA:ws,s=I!==this.pY,a=Math.abs(i.deltaY))),i.direction=g,s&&a>o.threshold&&g&o.direction},t.attrTest=function(i){return Ss.prototype.attrTest.call(this,i)&&(this.state&vr||!(this.state&vr)&&this.directionTest(i))},t.emit=function(i){this.pX=i.deltaX,this.pY=i.deltaY;var o=jee(i.direction);o&&(i.additionalEvent=this.options.event+o),n.prototype.emit.call(this,i)},e})(Ss),Lee=(function(n){Or(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Wr({event:"swipe",threshold:10,velocity:.3,direction:si|Un,pointers:1},r))||this}var t=e.prototype;return t.getTouchAction=function(){return pR.prototype.getTouchAction.call(this)},t.attrTest=function(i){var o=this.options.direction,s;return o&(si|Un)?s=i.overallVelocity:o&si?s=i.overallVelocityX:o&Un&&(s=i.overallVelocityY),n.prototype.attrTest.call(this,i)&&o&i.offsetDirection&&i.distance>this.options.threshold&&i.maxPointers===this.options.pointers&&no(s)>this.options.velocity&&i.eventType&It},t.emit=function(i){var o=jee(i.offsetDirection);o&&this.manager.emit(this.options.event+o,i),this.manager.emit(this.options.event,i)},e})(Ss),Gee=(function(n){Or(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Wr({event:"pinch",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Hn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.scale-1)>this.options.threshold||this.state&vr)},t.emit=function(i){if(i.scale!==1){var o=i.scale<1?"in":"out";i.additionalEvent=this.options.event+o}n.prototype.emit.call(this,i)},e})(Ss),Wee=(function(n){Or(e,n);function e(r){return r===void 0&&(r={}),n.call(this,Wr({event:"rotate",threshold:0,pointers:2},r))||this}var t=e.prototype;return t.getTouchAction=function(){return[Hn]},t.attrTest=function(i){return n.prototype.attrTest.call(this,i)&&(Math.abs(i.rotation)>this.options.threshold||this.state&vr)},e})(Ss),Vee=(function(n){Or(e,n);function e(r){var i;return r===void 0&&(r={}),i=n.call(this,Wr({event:"press",pointers:1,time:251,threshold:9},r))||this,i._timer=null,i._input=null,i}var t=e.prototype;return t.getTouchAction=function(){return[Ree]},t.process=function(i){var o=this,s=this.options,a=i.pointers.length===s.pointers,g=i.distance<s.threshold,A=i.deltaTime>s.time;if(this._input=i,!g||!a||i.eventType&(It|tr)&&!A)this.reset();else if(i.eventType&Zt)this.reset(),this._timer=setTimeout(function(){o.state=Ti,o.tryEmit()},s.time);else if(i.eventType&It)return Ti;return Jr},t.reset=function(){clearTimeout(this._timer)},t.emit=function(i){this.state===Ti&&(i&&i.eventType&It?this.manager.emit(this.options.event+"up",i):(this._input.timeStamp=lR(),this.manager.emit(this.options.event,this._input)))},e})(sA),Zee={domEvents:!1,touchAction:Tee,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},l4=[[Wee,{enable:!1}],[Gee,{enable:!1},["rotate"]],[Lee,{direction:si}],[pR,{direction:si},["swipe"]],[xO],[xO,{event:"doubletap",taps:2},["tap"]],[Vee]],qbe=1,d4=2;function u4(n,e){var t=n.element;if(t.style){var r;Oi(n.options.cssProps,function(i,o){r=JI(t.style,o),e?(n.oldCssProps[r]=t.style[r],t.style[r]=i):t.style[r]=n.oldCssProps[r]||""}),e||(n.oldCssProps={})}}function Fbe(n,e){var t=document.createEvent("Event");t.initEvent(n,!0,!0),t.gesture=e,e.target.dispatchEvent(t)}var h4=(function(){function n(t,r){var i=this;this.options=io({},Zee,r||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=Dbe(this),this.touchAction=new Dee(this,this.options.touchAction),u4(this,!0),Oi(this.options.recognizers,function(o){var s=i.add(new o[0](o[1]));o[2]&&s.recognizeWith(o[2]),o[3]&&s.requireFailure(o[3])},this)}var e=n.prototype;return e.set=function(r){return io(this.options,r),r.touchAction&&this.touchAction.update(),r.inputTarget&&(this.input.destroy(),this.input.target=r.inputTarget,this.input.init()),this},e.stop=function(r){this.session.stopped=r?d4:qbe},e.recognize=function(r){var i=this.session;if(!i.stopped){this.touchAction.preventDefaults(r);var o,s=this.recognizers,a=i.curRecognizer;(!a||a&&a.state&Ti)&&(i.curRecognizer=null,a=null);for(var g=0;g<s.length;)o=s[g],i.stopped!==d4&&(!a||o===a||o.canRecognizeWith(a))?o.recognize(r):o.reset(),!a&&o.state&(vr|Es|In)&&(i.curRecognizer=o,a=o),g++}},e.get=function(r){if(r instanceof sA)return r;for(var i=this.recognizers,o=0;o<i.length;o++)if(i[o].options.event===r)return i[o];return null},e.add=function(r){if(Jo(r,"add",this))return this;var i=this.get(r.options.event);return i&&this.remove(i),this.recognizers.push(r),r.manager=this,this.touchAction.update(),r},e.remove=function(r){if(Jo(r,"remove",this))return this;var i=this.get(r);if(r){var o=this.recognizers,s=oo(o,i);s!==-1&&(o.splice(s,1),this.touchAction.update())}return this},e.on=function(r,i){if(r===void 0||i===void 0)return this;var o=this.handlers;return Oi(ig(r),function(s){o[s]=o[s]||[],o[s].push(i)}),this},e.off=function(r,i){if(r===void 0)return this;var o=this.handlers;return Oi(ig(r),function(s){i?o[s]&&o[s].splice(oo(o[s],i),1):delete o[s]}),this},e.emit=function(r,i){this.options.domEvents&&Fbe(r,i);var o=this.handlers[r]&&this.handlers[r].slice();if(!(!o||!o.length)){i.type=r,i.preventDefault=function(){i.srcEvent.preventDefault()};for(var s=0;s<o.length;)o[s](i),s++}},e.destroy=function(){this.element&&u4(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},n})(),kbe={touchstart:Zt,touchmove:xo,touchend:It,touchcancel:tr},Bbe="touchstart",zbe="touchstart touchmove touchend touchcancel",jbe=(function(n){Or(e,n);function e(){var r,i=e.prototype;return i.evTarget=Bbe,i.evWin=zbe,r=n.apply(this,arguments)||this,r.started=!1,r}var t=e.prototype;return t.handler=function(i){var o=kbe[i.type];if(o===Zt&&(this.started=!0),!!this.started){var s=Lbe.call(this,i,o);o&(It|tr)&&s[0].length-s[1].length===0&&(this.started=!1),this.callback(this.manager,o,{pointers:s[0],changedPointers:s[1],pointerType:rA,srcEvent:i})}},e})(la);function Lbe(n,e){var t=ng(n.touches),r=ng(n.changedTouches);return e&(It|tr)&&(t=hR(t.concat(r),"identifier",!0)),[t,r]}function Hee(n,e,t){var r="DEPRECATED METHOD: "+e+`
`+t+` AT 
`;return function(){var i=new Error("get-stack-trace"),o=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=window.console&&(window.console.warn||window.console.log);return s&&s.call(window.console,r,o),n.apply(this,arguments)}}var Uee=Hee(function(n,e,t){for(var r=Object.keys(e),i=0;i<r.length;)(!t||t&&n[r[i]]===void 0)&&(n[r[i]]=e[r[i]]),i++;return n},"extend","Use `assign`."),Gbe=Hee(function(n,e){return Uee(n,e,!0)},"merge","Use `assign`.");function Wbe(n,e,t){var r=e.prototype,i;i=n.prototype=Object.create(r),i.constructor=n,i._super=r,t&&io(i,t)}function c4(n,e){return function(){return n.apply(e,arguments)}}var Kee=(function(){var n=function(t,r){return r===void 0&&(r={}),new h4(t,Wr({recognizers:l4.concat()},r))};return n.VERSION="2.0.17-rc",n.DIRECTION_ALL=xee,n.DIRECTION_DOWN=ws,n.DIRECTION_LEFT=iA,n.DIRECTION_RIGHT=nA,n.DIRECTION_UP=oA,n.DIRECTION_HORIZONTAL=si,n.DIRECTION_VERTICAL=Un,n.DIRECTION_NONE=QA,n.DIRECTION_DOWN=ws,n.INPUT_START=Zt,n.INPUT_MOVE=xo,n.INPUT_END=It,n.INPUT_CANCEL=tr,n.STATE_POSSIBLE=RA,n.STATE_BEGAN=vr,n.STATE_CHANGED=Es,n.STATE_ENDED=In,n.STATE_RECOGNIZED=Ti,n.STATE_CANCELLED=og,n.STATE_FAILED=Jr,n.Manager=h4,n.Input=la,n.TouchAction=Dee,n.TouchInput=cR,n.MouseInput=fR,n.PointerEventInput=Bee,n.TouchMouseInput=zee,n.SingleTouchInput=jbe,n.Recognizer=sA,n.AttrRecognizer=Ss,n.Tap=xO,n.Pan=pR,n.Swipe=Lee,n.Pinch=Gee,n.Rotate=Wee,n.Press=Vee,n.on=ka,n.off=Ba,n.each=Oi,n.merge=Gbe,n.extend=Uee,n.bindFn=c4,n.assign=io,n.inherit=Wbe,n.bindFn=c4,n.prefixed=JI,n.toArray=ng,n.inArray=oo,n.uniqueArray=hR,n.splitStr=ig,n.boolOrFn=eC,n.hasParent=uR,n.addEventListeners=ka,n.removeEventListeners=Ba,n.defaults=io({},Zee,{preset:l4}),n})();Kee.defaults;Zve("DELETE");function tC(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];return Vbe(e.length?e:[XA()])}function Vbe(n){let[e,t,r]=Zbe(n),i=1;const o=()=>{const s=2091639*e+i*23283064365386963e-26;return e=t,t=r,r=s-(i=s|0)};return o.uint32=()=>o()*4294967296,o.fract53=()=>o()+(o()*2097152|0)*11102230246251565e-32,o.algorithm="Alea",o.seed=n,o.version="0.9",o}function Zbe(){const n=Hbe();let e=n(" "),t=n(" "),r=n(" ");for(let i=0;i<arguments.length;i++)e-=n(i<0||arguments.length<=i?void 0:arguments[i]),e<0&&(e+=1),t-=n(i<0||arguments.length<=i?void 0:arguments[i]),t<0&&(t+=1),r-=n(i<0||arguments.length<=i?void 0:arguments[i]),r<0&&(r+=1);return[e,t,r]}function Hbe(){let n=4022871197;return function(e){const t=e.toString();for(let r=0;r<t.length;r++){n+=t.charCodeAt(r);let i=.02519603282416938*n;n=i>>>0,i-=n,i*=n,n=i>>>0,i-=n,n+=i*4294967296}return(n>>>0)*23283064365386963e-26}}function Ube(){const n=()=>{};return{on:n,off:n,destroy:n,emit:n,get(){return{set:n}}}}const vR=typeof window<"u"?window.Hammer||Kee:function(){return Ube()};function ei(n){var e;this._cleanupQueue=[],this.active=!1,this._dom={container:n,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push(()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)});const t=vR(this._dom.overlay);t.on("tap",j(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push(()=>{t.destroy()});const r=["tap","doubletap","press","pinch","pan","panstart","panmove","panend"];xe(r).call(r,i=>{t.on(i,o=>{o.srcEvent.stopPropagation()})}),document&&document.body&&(this._onClick=i=>{Kbe(i.target,n)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push(()=>{document.body.removeEventListener("click",this._onClick)})),this._escListener=i=>{("key"in i?i.key==="Escape":i.keyCode===27)&&this.deactivate()}}oee(ei.prototype);ei.current=null;ei.prototype.destroy=function(){this.deactivate();for(const t of Vn(n=Ei(e=this._cleanupQueue).call(e,0)).call(n)){var n,e;t()}};ei.prototype.activate=function(){ei.current&&ei.current.deactivate(),ei.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)};ei.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")};ei.prototype._onTapOverlay=function(n){this.activate(),n.srcEvent.stopPropagation()};function Kbe(n,e){for(;n;){if(n===e)return!0;n=n.parentNode}return!1}const Ybe=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,Xbe=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,Qbe=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,Jbe=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function Xi(n){if(n)for(;n.hasChildNodes()===!0;){const e=n.firstChild;e&&(Xi(e),n.removeChild(e))}}function ss(n){return n instanceof String||typeof n=="string"}function f4(n){return typeof n=="object"&&n!==null}function so(n,e,t,r){let i=!1;r===!0&&(i=e[t]===null&&n[t]!==void 0),i?delete n[t]:n[t]=e[t]}function Yee(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;for(const r in n)if(e[r]!==void 0)if(e[r]===null||typeof e[r]!="object")so(n,e,r,t);else{const i=n[r],o=e[r];f4(i)&&f4(o)&&Yee(i,o,t)}}function da(n,e,t){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(Qe(t))throw new TypeError("Arrays are not supported by deepExtend");for(let i=0;i<n.length;i++){const o=n[i];if(Object.prototype.hasOwnProperty.call(t,o))if(t[o]&&t[o].constructor===Object)e[o]===void 0&&(e[o]={}),e[o].constructor===Object?qe(e[o],t[o],!1,r):so(e,t,o,r);else{if(Qe(t[o]))throw new TypeError("Arrays are not supported by deepExtend");so(e,t,o,r)}}return e}function tI(n,e,t){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(Qe(t))throw new TypeError("Arrays are not supported by deepExtend");for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&!An(n).call(n,i))if(t[i]&&t[i].constructor===Object)e[i]===void 0&&(e[i]={}),e[i].constructor===Object?qe(e[i],t[i]):so(e,t,i,r);else if(Qe(t[i])){e[i]=[];for(let o=0;o<t[i].length;o++)e[i].push(t[i][o])}else so(e,t,i,r);return e}function qe(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)||t===!0)if(typeof e[o]=="object"&&e[o]!==null&&QK(e[o])===Object.prototype)n[o]===void 0?n[o]=qe({},e[o],t):typeof n[o]=="object"&&n[o]!==null&&QK(n[o])===Object.prototype?qe(n[o],e[o],t):so(n,e,o,r);else if(Qe(e[o])){var i;n[o]=Kr(i=e[o]).call(i)}else so(n,e,o,r);return n}function rI(n,e){return[...n,e]}function e1e(n){return Kr(n).call(n)}function t1e(n){return n.getBoundingClientRect().left}function r1e(n){return n.getBoundingClientRect().top}function ue(n,e){if(Qe(n)){const t=n.length;for(let r=0;r<t;r++)e(n[r],r,n)}else for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(n[t],t,n)}function mR(n){let e;switch(n.length){case 3:case 4:return e=Xbe.exec(n),e?{r:Br(e[1]+e[1],16),g:Br(e[2]+e[2],16),b:Br(e[3]+e[3],16)}:null;case 6:case 7:return e=Ybe.exec(n),e?{r:Br(e[1],16),g:Br(e[2],16),b:Br(e[3],16)}:null;default:return null}}function cr(n,e){if(An(n).call(n,"rgba"))return n;if(An(n).call(n,"rgb")){const t=n.substr(Oe(n).call(n,"(")+1).replace(")","").split(",");return"rgba("+t[0]+","+t[1]+","+t[2]+","+e+")"}else{const t=mR(n);return t==null?n:"rgba("+t.r+","+t.g+","+t.b+","+e+")"}}function Xee(n,e,t){var r;return"#"+Kr(r=((1<<24)+(n<<16)+(e<<8)+t).toString(16)).call(r,1)}function $O(n,e){if(ss(n)){let r=n;if(Jee(r)){var t;const i=bs(t=r.substr(4).substr(0,r.length-5).split(",")).call(t,function(o){return Br(o)});r=Xee(i[0],i[1],i[2])}if(Qee(r)===!0){const i=i1e(r),o={h:i.h,s:i.s*.8,v:Math.min(1,i.v*1.02)},s={h:i.h,s:Math.min(1,i.s*1.25),v:i.v*.8},a=DO(s.h,s.s,s.v),g=DO(o.h,o.s,o.v);return{background:r,border:a,highlight:{background:g,border:a},hover:{background:g,border:a}}}else return{background:r,border:r,highlight:{background:r,border:r},hover:{background:r,border:r}}}else return{background:n.background||void 0,border:n.border||void 0,highlight:ss(n.highlight)?{border:n.highlight,background:n.highlight}:{background:n.highlight&&n.highlight.background||void 0,border:n.highlight&&n.highlight.border||void 0},hover:ss(n.hover)?{border:n.hover,background:n.hover}:{border:n.hover&&n.hover.border||void 0,background:n.hover&&n.hover.background||void 0}}}function Ra(n,e,t){n=n/255,e=e/255,t=t/255;const r=Math.min(n,Math.min(e,t)),i=Math.max(n,Math.max(e,t));if(r===i)return{h:0,s:0,v:r};const o=n===r?e-t:t===r?n-e:t-n,a=60*((n===r?3:t===r?1:5)-o/(i-r))/360,g=(i-r)/i;return{h:a,s:g,v:i}}function PA(n,e,t){let r,i,o;const s=Math.floor(n*6),a=n*6-s,g=t*(1-e),A=t*(1-a*e),I=t*(1-(1-a)*e);switch(s%6){case 0:r=t,i=I,o=g;break;case 1:r=A,i=t,o=g;break;case 2:r=g,i=t,o=I;break;case 3:r=g,i=A,o=t;break;case 4:r=I,i=g,o=t;break;case 5:r=t,i=g,o=A;break}return{r:Math.floor(r*255),g:Math.floor(i*255),b:Math.floor(o*255)}}function DO(n,e,t){const r=PA(n,e,t);return Xee(r.r,r.g,r.b)}function i1e(n){const e=mR(n);if(!e)throw new TypeError("'".concat(n,"' is not a valid color."));return Ra(e.r,e.g,e.b)}function Qee(n){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)}function Jee(n){return Qbe.test(n)}function n1e(n){return Jbe.test(n)}function Cn(n){if(n===null||typeof n!="object")return null;if(n instanceof Element)return n;const e=Zn(n);for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&typeof n[t]=="object"&&(e[t]=Cn(n[t]));return e}function ur(n,e,t){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=function(d){return d!=null},o=function(d){return d!==null&&typeof d=="object"},s=function(d){for(const u in d)if(Object.prototype.hasOwnProperty.call(d,u))return!1;return!0};if(!o(n))throw new Error("Parameter mergeTarget must be an object");if(!o(e))throw new Error("Parameter options must be an object");if(!i(t))throw new Error("Parameter option must have a value");if(!o(r))throw new Error("Parameter globalOptions must be an object");const a=function(d,u,h){o(d[h])||(d[h]={});const v=u[h],f=d[h];for(const c in v)Object.prototype.hasOwnProperty.call(v,c)&&(f[c]=v[c])},g=e[t],I=o(r)&&!s(r)?r[t]:void 0,C=I?I.enabled:void 0;if(g===void 0)return;if(typeof g=="boolean"){o(n[t])||(n[t]={}),n[t].enabled=g;return}if(g===null&&!o(n[t]))if(i(I))n[t]=Zn(I);else return;if(!o(g))return;let l=!0;g.enabled!==void 0?l=g.enabled:C!==void 0&&(l=I.enabled),a(n,e,t),n[t].enabled=l}const o1e={linear(n){return n},easeInQuad(n){return n*n},easeOutQuad(n){return n*(2-n)},easeInOutQuad(n){return n<.5?2*n*n:-1+(4-2*n)*n},easeInCubic(n){return n*n*n},easeOutCubic(n){return--n*n*n+1},easeInOutCubic(n){return n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1},easeInQuart(n){return n*n*n*n},easeOutQuart(n){return 1- --n*n*n*n},easeInOutQuart(n){return n<.5?8*n*n*n*n:1-8*--n*n*n*n},easeInQuint(n){return n*n*n*n*n},easeOutQuint(n){return 1+--n*n*n*n*n},easeInOutQuint(n){return n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n}};function Qi(n,e){let t;Qe(e)||(e=[e]);for(const r of n)if(r){t=r[e[0]];for(let i=1;i<e.length;i++)t&&(t=t[e[i]]);if(typeof t<"u")break}return t}const s1e={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};let a1e=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:289/2,y:289/2},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=()=>{},this.closeCallback=()=>{},this._create()}insertTo(e){this.hammer!==void 0&&(this.hammer.destroy(),this.hammer=void 0),this.container=e,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}setUpdateCallback(e){if(typeof e=="function")this.updateCallback=e;else throw new Error("Function attempted to set as colorPicker update callback is not a function.")}setCloseCallback(e){if(typeof e=="function")this.closeCallback=e;else throw new Error("Function attempted to set as colorPicker closing callback is not a function.")}_isColorString(e){if(typeof e=="string")return s1e[e]}setColor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e==="none")return;let r;const i=this._isColorString(e);if(i!==void 0&&(e=i),ss(e)===!0){if(Jee(e)===!0){const o=e.substr(4).substr(0,e.length-5).split(",");r={r:o[0],g:o[1],b:o[2],a:1}}else if(n1e(e)===!0){const o=e.substr(5).substr(0,e.length-6).split(",");r={r:o[0],g:o[1],b:o[2],a:o[3]}}else if(Qee(e)===!0){const o=mR(e);r={r:o.r,g:o.g,b:o.b,a:1}}}else if(e instanceof Object&&e.r!==void 0&&e.g!==void 0&&e.b!==void 0){const o=e.a!==void 0?e.a:"1.0";r={r:e.r,g:e.g,b:e.b,a:o}}if(r===void 0)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+eA(e));this._setColor(r,t)}show(){this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}_hide(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0)===!0&&(this.previousColor=At({},this.color)),this.applied===!0&&this.updateCallback(this.initialColor),this.frame.style.display="none",Si(()=>{this.closeCallback!==void 0&&(this.closeCallback(),this.closeCallback=void 0)},0)}_save(){this.updateCallback(this.color),this.applied=!1,this._hide()}_apply(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}_loadLast(){this.previousColor!==void 0?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}_setColor(e){(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0)===!0&&(this.initialColor=At({},e)),this.color=e;const r=Ra(e.r,e.g,e.b),i=2*Math.PI,o=this.r*r.s,s=this.centerCoordinates.x+o*Math.sin(i*r.h),a=this.centerCoordinates.y+o*Math.cos(i*r.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=a-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(e)}_setOpacity(e){this.color.a=e/100,this._updatePicker(this.color)}_setBrightness(e){const t=Ra(this.color.r,this.color.g,this.color.b);t.v=e/100;const r=PA(t.h,t.s,t.v);r.a=this.color.a,this.color=r,this._updatePicker()}_updatePicker(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.color;const t=Ra(e.r,e.g,e.b),r=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1)),r.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const i=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;r.clearRect(0,0,i,o),r.putImageData(this.hueCircle,0,0),r.fillStyle="rgba(0,0,0,"+(1-t.v)+")",r.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),tA(r).call(r),this.brightnessRange.value=100*t.v,this.opacityRange.value=100*e.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}_setSize(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}_create(){var e,t,r,i;if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){const s=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(s.webkitBackingStorePixelRatio||s.mozBackingStorePixelRatio||s.msBackingStorePixelRatio||s.oBackingStorePixelRatio||s.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{const s=document.createElement("DIV");s.style.color="red",s.style.fontWeight="bold",s.style.padding="10px",s.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(s)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch{}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch{}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);const o=this;this.opacityRange.onchange=function(){o._setOpacity(this.value)},this.opacityRange.oninput=function(){o._setOpacity(this.value)},this.brightnessRange.onchange=function(){o._setBrightness(this.value)},this.brightnessRange.oninput=function(){o._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=j(e=this._hide).call(e,this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=j(t=this._apply).call(t,this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=j(r=this._save).call(r,this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=j(i=this._loadLast).call(i,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}_bindHammer(){this.drag={},this.pinch={},this.hammer=new vR(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",e=>{e.isFirst&&this._moveSelector(e)}),this.hammer.on("tap",e=>{this._moveSelector(e)}),this.hammer.on("panstart",e=>{this._moveSelector(e)}),this.hammer.on("panmove",e=>{this._moveSelector(e)}),this.hammer.on("panend",e=>{this._moveSelector(e)})}_generateHueCircle(){if(this.generated===!1){const e=this.colorPickerCanvas.getContext("2d");this.pixelRation===void 0&&(this.pixelRatio=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)),e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const t=this.colorPickerCanvas.clientWidth,r=this.colorPickerCanvas.clientHeight;e.clearRect(0,0,t,r);let i,o,s,a;this.centerCoordinates={x:t*.5,y:r*.5},this.r=.49*t;const g=2*Math.PI/360,A=1/360,I=1/this.r;let C;for(s=0;s<360;s++)for(a=0;a<this.r;a++)i=this.centerCoordinates.x+a*Math.sin(g*s),o=this.centerCoordinates.y+a*Math.cos(g*s),C=PA(s*A,a*I,1),e.fillStyle="rgb("+C.r+","+C.g+","+C.b+")",e.fillRect(i-.5,o-.5,2,2);e.strokeStyle="rgba(0,0,0,1)",e.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),e.stroke(),this.hueCircle=e.getImageData(0,0,t,r)}this.generated=!0}_moveSelector(e){const t=this.colorPickerDiv.getBoundingClientRect(),r=e.center.x-t.left,i=e.center.y-t.top,o=.5*this.colorPickerDiv.clientHeight,s=.5*this.colorPickerDiv.clientWidth,a=r-s,g=i-o,A=Math.atan2(a,g),I=.98*Math.min(Math.sqrt(a*a+g*g),s),C=Math.cos(A)*I+o,l=Math.sin(A)*I+s;this.colorPickerSelector.style.top=C-.5*this.colorPickerSelector.clientHeight+"px",this.colorPickerSelector.style.left=l-.5*this.colorPickerSelector.clientWidth+"px";let d=A/(2*Math.PI);d=d<0?d+1:d;const u=I/this.r,h=Ra(this.color.r,this.color.g,this.color.b);h.h=d,h.s=u;const v=PA(h.h,h.s,h.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}};function NO(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];if(e.length<1)throw new TypeError("Invalid arguments.");if(e.length===1)return document.createTextNode(e[0]);{const r=document.createElement(e[0]);return r.appendChild(NO(...Kr(e).call(e,1))),r}}let g1e=class{constructor(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:()=>!1;this.parent=e,this.changedOptions=[],this.container=t,this.allowCreation=!1,this.hideOption=o,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},At(this.options,this.defaultOptions),this.configureOptions=r,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new a1e(i),this.wrapper=void 0}setOptions(e){if(e!==void 0){this.popupHistory={},this._removePopup();let t=!0;if(typeof e=="string")this.options.filter=e;else if(Qe(e))this.options.filter=e.join();else if(typeof e=="object"){if(e==null)throw new TypeError("options cannot be null");e.container!==void 0&&(this.options.container=e.container),Qt(e)!==void 0&&(this.options.filter=Qt(e)),e.showButton!==void 0&&(this.options.showButton=e.showButton),e.enabled!==void 0&&(t=e.enabled)}else typeof e=="boolean"?(this.options.filter=!0,t=e):typeof e=="function"&&(this.options.filter=e,t=!0);Qt(this.options)===!1&&(t=!1),this.options.enabled=t}this._clean()}setModuleOptions(e){this.moduleOptions=e,this.options.enabled===!0&&(this._clean(),this.options.container!==void 0&&(this.container=this.options.container),this._create())}_create(){this._clean(),this.changedOptions=[];const e=Qt(this.options);let t=0,r=!1;for(const i in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,i)&&(this.allowCreation=!1,r=!1,typeof e=="function"?(r=e(i,[]),r=r||this._handleObject(this.configureOptions[i],[i],!0)):(e===!0||Oe(e).call(e,i)!==-1)&&(r=!0),r!==!1&&(this.allowCreation=!0,t>0&&this._makeItem([]),this._makeHeader(i),this._handleObject(this.configureOptions[i],[i])),t++);this._makeButton(),this._push()}_push(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(let e=0;e<this.domElements.length;e++)this.wrapper.appendChild(this.domElements[e]);this._showPopupIfNeeded()}_clean(){for(let e=0;e<this.domElements.length;e++)this.wrapper.removeChild(this.domElements[e]);this.wrapper!==void 0&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}_getValue(e){let t=this.moduleOptions;for(let r=0;r<e.length;r++)if(t[e[r]]!==void 0)t=t[e[r]];else{t=void 0;break}return t}_makeItem(e){if(this.allowCreation===!0){const o=document.createElement("div");o.className="vis-configuration vis-config-item vis-config-s"+e.length;for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return xe(r).call(r,s=>{o.appendChild(s)}),this.domElements.push(o),this.domElements.length}return 0}_makeHeader(e){const t=document.createElement("div");t.className="vis-configuration vis-config-header",t.innerText=e,this._makeItem([],t)}_makeLabel(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const i=document.createElement("div");if(i.className="vis-configuration vis-config-label vis-config-s"+t.length,r===!0){for(;i.firstChild;)i.removeChild(i.firstChild);i.appendChild(NO("i","b",e))}else i.innerText=e+":";return i}_makeDropdown(e,t,r){const i=document.createElement("select");i.className="vis-configuration vis-config-select";let o=0;t!==void 0&&Oe(e).call(e,t)!==-1&&(o=Oe(e).call(e,t));for(let g=0;g<e.length;g++){const A=document.createElement("option");A.value=e[g],g===o&&(A.selected="selected"),A.innerText=e[g],i.appendChild(A)}const s=this;i.onchange=function(){s._update(this.value,r)};const a=this._makeLabel(r[r.length-1],r);this._makeItem(r,a,i)}_makeRange(e,t,r){const i=e[0],o=e[1],s=e[2],a=e[3],g=document.createElement("input");g.className="vis-configuration vis-config-range";try{g.type="range",g.min=o,g.max=s}catch{}g.step=a;let A="",I=0;t!==void 0?(t<0&&t*1.2<o?(g.min=Math.ceil(t*1.2),I=g.min,A="range increased"):t/1.2<o&&(g.min=Math.ceil(t/1.2),I=g.min,A="range increased"),t*1.2>s&&s!==1&&(g.max=Math.ceil(t*1.2),I=g.max,A="range increased"),g.value=t):g.value=i;const C=document.createElement("input");C.className="vis-configuration vis-config-rangeinput",C.value=g.value;const l=this;g.onchange=function(){C.value=this.value,l._update(Number(this.value),r)},g.oninput=function(){C.value=this.value};const d=this._makeLabel(r[r.length-1],r),u=this._makeItem(r,d,g,C);A!==""&&this.popupHistory[u]!==I&&(this.popupHistory[u]=I,this._setupPopup(A,u))}_makeButton(){if(this.options.showButton===!0){const e=document.createElement("div");e.className="vis-configuration vis-config-button",e.innerText="generate options",e.onclick=()=>{this._printOptions()},e.onmouseover=()=>{e.className="vis-configuration vis-config-button hover"},e.onmouseout=()=>{e.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}_setupPopup(e,t){if(this.initialized===!0&&this.allowCreation===!0&&this.popupCounter<this.popupLimit){const r=document.createElement("div");r.id="vis-configuration-popup",r.className="vis-configuration-popup",r.innerText=e,r.onclick=()=>{this._removePopup()},this.popupCounter+=1,this.popupDiv={html:r,index:t}}}_removePopup(){this.popupDiv.html!==void 0&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}_showPopupIfNeeded(){if(this.popupDiv.html!==void 0){const t=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=t.left+"px",this.popupDiv.html.style.top=t.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=Si(()=>{this.popupDiv.html.style.opacity=0},1500),this.popupDiv.deleteTimeout=Si(()=>{this._removePopup()},1800)}}_makeCheckbox(e,t,r){const i=document.createElement("input");i.type="checkbox",i.className="vis-configuration vis-config-checkbox",i.checked=e,t!==void 0&&(i.checked=t,t!==e&&(typeof e=="object"?t!==e.enabled&&this.changedOptions.push({path:r,value:t}):this.changedOptions.push({path:r,value:t})));const o=this;i.onchange=function(){o._update(this.checked,r)};const s=this._makeLabel(r[r.length-1],r);this._makeItem(r,s,i)}_makeTextInput(e,t,r){const i=document.createElement("input");i.type="text",i.className="vis-configuration vis-config-text",i.value=t,t!==e&&this.changedOptions.push({path:r,value:t});const o=this;i.onchange=function(){o._update(this.value,r)};const s=this._makeLabel(r[r.length-1],r);this._makeItem(r,s,i)}_makeColorField(e,t,r){const i=e[1],o=document.createElement("div");t=t===void 0?i:t,t!=="none"?(o.className="vis-configuration vis-config-colorBlock",o.style.backgroundColor=t):o.className="vis-configuration vis-config-colorBlock none",t=t===void 0?i:t,o.onclick=()=>{this._showColorPicker(t,o,r)};const s=this._makeLabel(r[r.length-1],r);this._makeItem(r,s,o)}_showColorPicker(e,t,r){t.onclick=function(){},this.colorPicker.insertTo(t),this.colorPicker.show(),this.colorPicker.setColor(e),this.colorPicker.setUpdateCallback(i=>{const o="rgba("+i.r+","+i.g+","+i.b+","+i.a+")";t.style.backgroundColor=o,this._update(o,r)}),this.colorPicker.setCloseCallback(()=>{t.onclick=()=>{this._showColorPicker(e,t,r)}})}_handleObject(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=!1;const o=Qt(this.options);let s=!1;for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)){i=!0;const g=e[a],A=rI(t,a);if(typeof o=="function"&&(i=o(a,t),i===!1&&!Qe(g)&&typeof g!="string"&&typeof g!="boolean"&&g instanceof Object&&(this.allowCreation=!1,i=this._handleObject(g,A,!0),this.allowCreation=r===!1)),i!==!1){s=!0;const I=this._getValue(A);if(Qe(g))this._handleArray(g,I,A);else if(typeof g=="string")this._makeTextInput(g,I,A);else if(typeof g=="boolean")this._makeCheckbox(g,I,A);else if(g instanceof Object){if(!this.hideOption(t,a,this.moduleOptions))if(g.enabled!==void 0){const C=rI(A,"enabled"),l=this._getValue(C);if(l===!0){const d=this._makeLabel(a,A,!0);this._makeItem(A,d),s=this._handleObject(g,A)||s}else this._makeCheckbox(g,l,A)}else{const C=this._makeLabel(a,A,!0);this._makeItem(A,C),s=this._handleObject(g,A)||s}}else console.error("dont know how to handle",g,a,A)}}return s}_handleArray(e,t,r){typeof e[0]=="string"&&e[0]==="color"?(this._makeColorField(e,t,r),e[1]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="string"?(this._makeDropdown(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:t})):typeof e[0]=="number"&&(this._makeRange(e,t,r),e[0]!==t&&this.changedOptions.push({path:r,value:Number(t)}))}_update(e,t){const r=this._constructOptions(e,t);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",r),this.initialized=!0,this.parent.setOptions(r)}_constructOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r;e=e==="true"?!0:e,e=e==="false"?!1:e;for(let o=0;o<t.length;o++)t[o]!=="global"&&(i[t[o]]===void 0&&(i[t[o]]={}),o!==t.length-1?i=i[t[o]]:i[t[o]]=e);return r}_printOptions(){const e=this.getOptions();for(;this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(NO("pre","const options = "+eA(e,null,2)))}getOptions(){const e={};for(let t=0;t<this.changedOptions.length;t++)this._constructOptions(this.changedOptions[t].value,this.changedOptions[t].path,e);return e}},A1e=class{constructor(e,t){this.container=e,this.overflowMethod=t||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}setPosition(e,t){this.x=Br(e),this.y=Br(t)}setText(e){if(e instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(e)}else this.frame.innerText=e}show(e){if(e===void 0&&(e=!0),e===!0){const t=this.frame.clientHeight,r=this.frame.clientWidth,i=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth;let s=0,a=0;if(this.overflowMethod=="flip"){let g=!1,A=!0;this.y-t<this.padding&&(A=!1),this.x+r>o-this.padding&&(g=!0),g?s=this.x-r:s=this.x,A?a=this.y-t:a=this.y}else a=this.y-t,a+t+this.padding>i&&(a=i-t-this.padding),a<this.padding&&(a=this.padding),s=this.x,s+r+this.padding>o&&(s=o-r-this.padding),s<this.padding&&(s=this.padding);this.frame.style.left=s+"px",this.frame.style.top=a+"px",this.frame.style.visibility="visible",this.hidden=!1}else this.hide()}hide(){this.hidden=!0,this.frame.style.left="0",this.frame.style.top="0",this.frame.style.visibility="hidden"}destroy(){this.frame.parentNode.removeChild(this.frame)}},Ea=!1,p4;const MO="background: #FFeeee; color: #dd0000";let I1e=class Ye{static validate(e,t,r){Ea=!1,p4=t;let i=t;return r!==void 0&&(i=t[r]),Ye.parse(e,i,[]),Ea}static parse(e,t,r){for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&Ye.check(i,e,t,r)}static check(e,t,r,i){if(r[e]===void 0&&r.__any__===void 0){Ye.getSuggestion(e,r,i);return}let o=e,s=!0;r[e]===void 0&&r.__any__!==void 0&&(o="__any__",s=Ye.getType(t[e])==="object");let a=r[o];s&&a.__type__!==void 0&&(a=a.__type__),Ye.checkFields(e,t,r,o,a,i)}static checkFields(e,t,r,i,o,s){const a=function(I){console.error("%c"+I+Ye.printLocation(s,e),MO)},g=Ye.getType(t[e]),A=o[g];A!==void 0?Ye.getType(A)==="array"&&Oe(A).call(A,t[e])===-1?(a('Invalid option detected in "'+e+'". Allowed values are:'+Ye.print(A)+' not "'+t[e]+'". '),Ea=!0):g==="object"&&i!=="__any__"&&(s=rI(s,e),Ye.parse(t[e],r[i],s)):o.any===void 0&&(a('Invalid type received for "'+e+'". Expected: '+Ye.print(Xe(o))+". Received ["+g+'] "'+t[e]+'"'),Ea=!0)}static getType(e){const t=typeof e;return t==="object"?e===null?"null":e instanceof Boolean?"boolean":e instanceof Number?"number":e instanceof String?"string":Qe(e)?"array":e instanceof Date?"date":e.nodeType!==void 0?"dom":e._isAMomentObject===!0?"moment":"object":t==="number"?"number":t==="boolean"?"boolean":t==="string"?"string":t===void 0?"undefined":t}static getSuggestion(e,t,r){const i=Ye.findInOptions(e,t,r,!1),o=Ye.findInOptions(e,p4,[],!0),s=8,a=4;let g;i.indexMatch!==void 0?g=" in "+Ye.printLocation(i.path,e,"")+'Perhaps it was incomplete? Did you mean: "'+i.indexMatch+`"?

`:o.distance<=a&&i.distance>o.distance?g=" in "+Ye.printLocation(i.path,e,"")+"Perhaps it was misplaced? Matching option found at: "+Ye.printLocation(o.path,o.closestMatch,""):i.distance<=s?g='. Did you mean "'+i.closestMatch+'"?'+Ye.printLocation(i.path,e):g=". Did you mean one of these: "+Ye.print(Xe(t))+Ye.printLocation(r,e),console.error('%cUnknown option detected: "'+e+'"'+g,MO),Ea=!0}static findInOptions(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=1e9,s="",a=[];const g=e.toLowerCase();let A;for(const C in t){let l;if(t[C].__type__!==void 0&&i===!0){const d=Ye.findInOptions(e,t[C],rI(r,C));o>d.distance&&(s=d.closestMatch,a=d.path,o=d.distance,A=d.indexMatch)}else{var I;Oe(I=C.toLowerCase()).call(I,g)!==-1&&(A=C),l=Ye.levenshteinDistance(e,C),o>l&&(s=C,a=e1e(r),o=l)}}return{closestMatch:s,path:a,distance:o,indexMatch:A}}static printLocation(e,t){let i=`

`+(arguments.length>2&&arguments[2]!==void 0?arguments[2]:`Problem value found at: 
`)+`options = {
`;for(let o=0;o<e.length;o++){for(let s=0;s<o+1;s++)i+="  ";i+=e[o]+`: {
`}for(let o=0;o<e.length+1;o++)i+="  ";i+=t+`
`;for(let o=0;o<e.length+1;o++){for(let s=0;s<e.length-o;s++)i+="  ";i+=`}
`}return i+`

`}static print(e){return eA(e).replace(/(")|(\[)|(\])|(,"__type__")/g,"").replace(/(,)/g,", ")}static levenshteinDistance(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;const r=[];let i;for(i=0;i<=t.length;i++)r[i]=[i];let o;for(o=0;o<=e.length;o++)r[0][o]=o;for(i=1;i<=t.length;i++)for(o=1;o<=e.length;o++)t.charAt(i-1)==e.charAt(o-1)?r[i][o]=r[i-1][o-1]:r[i][o]=Math.min(r[i-1][o-1]+1,Math.min(r[i][o-1]+1,r[i-1][o]+1));return r[t.length][e.length]}};const C1e=ei,l1e=g1e,as=vR,d1e=A1e,ete=MO,u1e=I1e;function h1e(n){return tn=n,v1e()}var tte={fontsize:"font.size",fontcolor:"font.color",labelfontcolor:"font.color",fontname:"font.face",color:["color.border","color.background"],fillcolor:"color.background",tooltip:"title",labeltooltip:"title"},yR=Zn(tte);yR.color="color.color";yR.style="dashes";var zt={NULL:0,DELIMITER:1,IDENTIFIER:2,UNKNOWN:3},v4={"{":!0,"}":!0,"[":!0,"]":!0,";":!0,"=":!0,",":!0,"->":!0,"--":!0},tn="",_s=0,Ce="",ie="",Yt=zt.NULL;function c1e(){_s=0,Ce=tn.charAt(0)}function mt(){_s++,Ce=tn.charAt(_s)}function Lo(){return tn.charAt(_s+1)}function m4(n){var e=n.charCodeAt(0);return e<47?e===35||e===46:e<59?e>47:e<91?e>64:e<96?e===95:e<123?e>96:!1}function un(n,e){if(n||(n={}),e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function f1e(n,e,t){for(var r=e.split("."),i=n;r.length;){var o=r.shift();r.length?(i[o]||(i[o]={}),i=i[o]):i[o]=t}}function rte(n,e){for(var t,r,i=null,o=[n],s=n;s.parent;)o.push(s.parent),s=s.parent;if(s.nodes){for(t=0,r=s.nodes.length;t<r;t++)if(e.id===s.nodes[t].id){i=s.nodes[t];break}}for(i||(i={id:e.id},n.node&&(i.attr=un(i.attr,n.node))),t=o.length-1;t>=0;t--){var a,g=o[t];g.nodes||(g.nodes=[]),Oe(a=g.nodes).call(a,i)===-1&&g.nodes.push(i)}e.attr&&(i.attr=un(i.attr,e.attr))}function p1e(n,e){if(n.edges||(n.edges=[]),n.edges.push(e),n.edge){var t=un({},n.edge);e.attr=un(t,e.attr)}}function ite(n,e,t,r,i){var o={from:e,to:t,type:r};return n.edge&&(o.attr=un({},n.edge)),o.attr=un(o.attr||{},i),i!=null&&i.hasOwnProperty("arrows")&&i.arrows!=null&&(o.arrows={to:{enabled:!0,type:i.arrows.type}},i.arrows=null),o}function ke(){for(Yt=zt.NULL,ie="";Ce===" "||Ce==="	"||Ce===`
`||Ce==="\r";)mt();do{var n=!1;if(Ce==="#"){for(var e=_s-1;tn.charAt(e)===" "||tn.charAt(e)==="	";)e--;if(tn.charAt(e)===`
`||tn.charAt(e)===""){for(;Ce!=""&&Ce!=`
`;)mt();n=!0}}if(Ce==="/"&&Lo()==="/"){for(;Ce!=""&&Ce!=`
`;)mt();n=!0}if(Ce==="/"&&Lo()==="*"){for(;Ce!="";)if(Ce==="*"&&Lo()==="/"){mt(),mt();break}else mt();n=!0}for(;Ce===" "||Ce==="	"||Ce===`
`||Ce==="\r";)mt()}while(n);if(Ce===""){Yt=zt.DELIMITER;return}var t=Ce+Lo();if(v4[t]){Yt=zt.DELIMITER,ie=t,mt(),mt();return}if(v4[Ce]){Yt=zt.DELIMITER,ie=Ce,mt();return}if(m4(Ce)||Ce==="-"){for(ie+=Ce,mt();m4(Ce);)ie+=Ce,mt();ie==="false"?ie=!1:ie==="true"?ie=!0:isNaN(Number(ie))||(ie=Number(ie)),Yt=zt.IDENTIFIER;return}if(Ce==='"'){for(mt();Ce!=""&&(Ce!='"'||Ce==='"'&&Lo()==='"');)Ce==='"'?(ie+=Ce,mt()):Ce==="\\"&&Lo()==="n"?(ie+=`
`,mt()):ie+=Ce,mt();if(Ce!='"')throw jt('End of string " expected');mt(),Yt=zt.IDENTIFIER;return}for(Yt=zt.UNKNOWN;Ce!="";)ie+=Ce,mt();throw new SyntaxError('Syntax error in part "'+ate(ie,30)+'"')}function v1e(){var n={};if(c1e(),ke(),ie==="strict"&&(n.strict=!0,ke()),(ie==="graph"||ie==="digraph")&&(n.type=ie,ke()),Yt===zt.IDENTIFIER&&(n.id=ie,ke()),ie!="{")throw jt("Angle bracket { expected");if(ke(),nte(n),ie!="}")throw jt("Angle bracket } expected");if(ke(),ie!=="")throw jt("End of file expected");return ke(),delete n.node,delete n.edge,delete n.graph,n}function nte(n){for(;ie!==""&&ie!="}";)m1e(n),ie===";"&&ke()}function m1e(n){var e=ote(n);if(e){ste(n,e);return}var t=y1e(n);if(!t){if(Yt!=zt.IDENTIFIER)throw jt("Identifier expected");var r=ie;if(ke(),ie==="="){if(ke(),Yt!=zt.IDENTIFIER)throw jt("Identifier expected");n[r]=ie,ke()}else b1e(n,r)}}function ote(n){var e=null;if(ie==="subgraph"&&(e={},e.type="subgraph",ke(),Yt===zt.IDENTIFIER&&(e.id=ie,ke())),ie==="{"){if(ke(),e||(e={}),e.parent=n,e.node=n.node,e.edge=n.edge,e.graph=n.graph,nte(e),ie!="}")throw jt("Angle bracket } expected");ke(),delete e.node,delete e.edge,delete e.graph,delete e.parent,n.subgraphs||(n.subgraphs=[]),n.subgraphs.push(e)}return e}function y1e(n){return ie==="node"?(ke(),n.node=za(),"node"):ie==="edge"?(ke(),n.edge=za(),"edge"):ie==="graph"?(ke(),n.graph=za(),"graph"):null}function b1e(n,e){var t={id:e},r=za();r&&(t.attr=r),rte(n,t),ste(n,e)}function ste(n,e){for(;ie==="->"||ie==="--";){var t,r=ie;ke();var i=ote(n);if(i)t=i;else{if(Yt!=zt.IDENTIFIER)throw jt("Identifier or subgraph expected");t=ie,rte(n,{id:t}),ke()}var o=za(),s=ite(n,e,t,r,o);p1e(n,s),e=t}}function za(){for(var n,e=null,t={dashed:!0,solid:!1,dotted:[1,5]},r={dot:"circle",box:"box",crow:"crow",curve:"curve",icurve:"inv_curve",normal:"triangle",inv:"inv_triangle",diamond:"diamond",tee:"bar",vee:"vee"},i=new Array,o=new Array;ie==="[";){for(ke(),e={};ie!==""&&ie!="]";){if(Yt!=zt.IDENTIFIER)throw jt("Attribute name expected");var s=ie;if(ke(),ie!="=")throw jt("Equal sign = expected");if(ke(),Yt!=zt.IDENTIFIER)throw jt("Attribute value expected");var a=ie;s==="style"&&(a=t[a]);var g;s==="arrowhead"&&(g=r[a],s="arrows",a={to:{enabled:!0,type:g}}),s==="arrowtail"&&(g=r[a],s="arrows",a={from:{enabled:!0,type:g}}),i.push({attr:e,name:s,value:a}),o.push(s),ke(),ie==","&&ke()}if(ie!="]")throw jt("Bracket ] expected");ke()}if(An(o).call(o,"dir")){var A={};for(A.arrows={},n=0;n<i.length;n++)if(i[n].name==="arrows")if(i[n].value.to!=null)A.arrows.to=n;else if(i[n].value.from!=null)A.arrows.from=n;else throw jt("Invalid value of arrows");else i[n].name==="dir"&&(A.dir=n);var I=i[A.dir].value;if(!An(o).call(o,"arrows"))if(I==="both")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1,i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="forward")i.push({attr:i[A.dir].attr,name:"arrows",value:{to:{enabled:!0}}}),A.arrows.to=i.length-1;else if(I==="back")i.push({attr:i[A.dir].attr,name:"arrows",value:{from:{enabled:!0}}}),A.arrows.from=i.length-1;else if(I==="none")i.push({attr:i[A.dir].attr,name:"arrows",value:""}),A.arrows.to=i.length-1;else throw jt('Invalid dir type "'+I+'"');var C,l;if(I==="both")A.arrows.to&&A.arrows.from?(l=i[A.arrows.to].value.to.type,C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}},Ei(i).call(i,A.arrows.from,1)):A.arrows.to?(l=i[A.arrows.to].value.to.type,C="arrow",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.from&&(l="arrow",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}});else if(I==="back")A.arrows.to&&A.arrows.from?(l="",C=i[A.arrows.from].value.from.type,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.to?(l="",C="arrow",A.arrows.from=A.arrows.to,i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.from&&(l="",C=i[A.arrows.from].value.from.type,i[A.arrows.to]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}),i[A.arrows.from]={attr:i[A.arrows.from].attr,name:i[A.arrows.from].name,value:{from:{enabled:!0,type:i[A.arrows.from].value.from.type}}};else if(I==="none"){var d;A.arrows.to?d=A.arrows.to:d=A.arrows.from,i[d]={attr:i[d].attr,name:i[d].name,value:""}}else if(I==="forward")A.arrows.to&&A.arrows.from?(l=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.to?(l=i[A.arrows.to].value.to.type,C="",i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}):A.arrows.from&&(l="arrow",C="",A.arrows.to=A.arrows.from,i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:l},from:{enabled:!0,type:C}}}),i[A.arrows.to]={attr:i[A.arrows.to].attr,name:i[A.arrows.to].name,value:{to:{enabled:!0,type:i[A.arrows.to].value.to.type}}};else throw jt('Invalid dir type "'+I+'"');Ei(i).call(i,A.dir,1)}var u;if(An(o).call(o,"penwidth")){var h=[];for(u=i.length,n=0;n<u;n++)i[n].name!=="width"&&(i[n].name==="penwidth"&&(i[n].name="width"),h.push(i[n]));i=h}for(u=i.length,n=0;n<u;n++)f1e(i[n].attr,i[n].name,i[n].value);return e}function jt(n){return new SyntaxError(n+', got "'+ate(ie,30)+'" (char '+_s+")")}function ate(n,e){return n.length<=e?n:n.substr(0,27)+"..."}function w1e(n,e,t){Qe(n)?xe(n).call(n,function(r){Qe(e)?xe(e).call(e,function(i){t(r,i)}):t(r,e)}):Qe(e)?xe(e).call(e,function(r){t(n,r)}):t(n,e)}function BE(n,e,t){for(var r=e.split("."),i=r.pop(),o=n,s=0;s<r.length;s++){var a=r[s];a in o||(o[a]={}),o=o[a]}return o[i]=t,n}function y4(n,e){var t={};for(var r in n)if(n.hasOwnProperty(r)){var i=e[r];Qe(i)?xe(i).call(i,function(o){BE(t,o,n[r])}):typeof i=="string"?BE(t,i,n[r]):BE(t,r,n[r])}return t}function E1e(n){var e=h1e(n),t={nodes:[],edges:[],options:{}};if(e.nodes){var r;xe(r=e.nodes).call(r,function(s){var a={id:s.id,label:String(s.label||s.id)};un(a,y4(s.attr,tte)),a.image&&(a.shape="image"),t.nodes.push(a)})}if(e.edges){var i,o=function(s){var a={from:s.from,to:s.to};return un(a,y4(s.attr,yR)),a.arrows==null&&s.type==="->"&&(a.arrows="to"),a};xe(i=e.edges).call(i,function(s){var a,g;if(s.from instanceof Object?a=s.from.nodes:a={id:s.from},s.to instanceof Object?g=s.to.nodes:g={id:s.to},s.from instanceof Object&&s.from.edges){var A;xe(A=s.from.edges).call(A,function(C){var l=o(C);t.edges.push(l)})}if(w1e(a,g,function(C,l){var d=ite(t,C.id,l.id,s.type,s.attr),u=o(d);t.edges.push(u)}),s.to instanceof Object&&s.to.edges){var I;xe(I=s.to.edges).call(I,function(C){var l=o(C);t.edges.push(l)})}})}return e.attr&&(t.options=e.attr),t}function S1e(n,e){var t;const r={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};e!=null&&(e.fixed!=null&&(r.nodes.fixed=e.fixed),e.parseColor!=null&&(r.nodes.parseColor=e.parseColor),e.inheritColor!=null&&(r.edges.inheritColor=e.inheritColor));const i=n.edges,o=bs(i).call(i,a=>{const g={from:a.source,id:a.id,to:a.target};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.type==="Directed"&&(g.arrows="to"),a.color&&r.edges.inheritColor===!1&&(g.color=a.color),g});return{nodes:bs(t=n.nodes).call(t,a=>{const g={id:a.id,fixed:r.nodes.fixed&&a.x!=null&&a.y!=null};return a.attributes!=null&&(g.attributes=a.attributes),a.label!=null&&(g.label=a.label),a.size!=null&&(g.size=a.size),a.attributes!=null&&a.attributes.title!=null&&(g.title=a.attributes.title),a.title!=null&&(g.title=a.title),a.x!=null&&(g.x=a.x),a.y!=null&&(g.y=a.y),a.color!=null&&(r.nodes.parseColor===!0?g.color=a.color:g.color={background:a.color,border:a.color,highlight:{background:a.color,border:a.color},hover:{background:a.color,border:a.color}}),g}),edges:o}}const _1e={addDescription:"Click in an empty space to place a new node.",addEdge:"Add Edge",addNode:"Add Node",back:"Back",close:"Close",createEdgeError:"Cannot link edges to a cluster.",del:"Delete selected",deleteClusterError:"Clusters cannot be deleted.",edgeDescription:"Click on a node and drag the edge to another node to connect them.",edit:"Edit",editClusterError:"Clusters cannot be edited.",editEdge:"Edit Edge",editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",editNode:"Edit Node"},O1e={addDescription:"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.",addEdge:"Kante hinzufügen",addNode:"Knoten hinzufügen",back:"Zurück",close:"Schließen",createEdgeError:"Es ist nicht möglich, Kanten mit Clustern zu verbinden.",del:"Lösche Auswahl",deleteClusterError:"Cluster können nicht gelöscht werden.",edgeDescription:"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.",edit:"Editieren",editClusterError:"Cluster können nicht editiert werden.",editEdge:"Kante editieren",editEdgeDescription:"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.",editNode:"Knoten editieren"},T1e={addDescription:"Haga clic en un lugar vacío para colocar un nuevo nodo.",addEdge:"Añadir arista",addNode:"Añadir nodo",back:"Atrás",close:"Cerrar",createEdgeError:"No se puede conectar una arista a un grupo.",del:"Eliminar selección",deleteClusterError:"No es posible eliminar grupos.",edgeDescription:"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.",edit:"Editar",editClusterError:"No es posible editar grupos.",editEdge:"Editar arista",editEdgeDescription:"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.",editNode:"Editar nodo"},R1e={addDescription:"Clicca per aggiungere un nuovo nodo",addEdge:"Aggiungi un vertice",addNode:"Aggiungi un nodo",back:"Indietro",close:"Chiudere",createEdgeError:"Non si possono collegare vertici ad un cluster",del:"Cancella la selezione",deleteClusterError:"I cluster non possono essere cancellati",edgeDescription:"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.",edit:"Modifica",editClusterError:"I clusters non possono essere modificati.",editEdge:"Modifica il vertice",editEdgeDescription:"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.",editNode:"Modifica il nodo"},P1e={addDescription:"Klik op een leeg gebied om een nieuwe node te maken.",addEdge:"Link toevoegen",addNode:"Node toevoegen",back:"Terug",close:"Sluiten",createEdgeError:"Kan geen link maken naar een cluster.",del:"Selectie verwijderen",deleteClusterError:"Clusters kunnen niet worden verwijderd.",edgeDescription:"Klik op een node en sleep de link naar een andere node om ze te verbinden.",edit:"Wijzigen",editClusterError:"Clusters kunnen niet worden aangepast.",editEdge:"Link wijzigen",editEdgeDescription:"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.",editNode:"Node wijzigen"},x1e={addDescription:"Clique em um espaço em branco para adicionar um novo nó",addEdge:"Adicionar aresta",addNode:"Adicionar nó",back:"Voltar",close:"Fechar",createEdgeError:"Não foi possível linkar arestas a um cluster.",del:"Remover selecionado",deleteClusterError:"Clusters não puderam ser removidos.",edgeDescription:"Clique em um nó e arraste a aresta até outro nó para conectá-los",edit:"Editar",editClusterError:"Clusters não puderam ser editados.",editEdge:"Editar aresta",editEdgeDescription:"Clique nos pontos de controle e os arraste para um nó para conectá-los",editNode:"Editar nó"},$1e={addDescription:"Кликните в свободное место, чтобы добавить новый узел.",addEdge:"Добавить ребро",addNode:"Добавить узел",back:"Назад",close:"Закрывать",createEdgeError:"Невозможно соединить ребра в кластер.",del:"Удалить выбранное",deleteClusterError:"Кластеры не могут быть удалены",edgeDescription:"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.",edit:"Редактировать",editClusterError:"Кластеры недоступны для редактирования.",editEdge:"Редактировать ребро",editEdgeDescription:"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.",editNode:"Редактировать узел"},D1e={addDescription:"单击空白处放置新节点。",addEdge:"添加连接线",addNode:"添加节点",back:"返回",close:"關閉",createEdgeError:"无法将连接线连接到群集。",del:"删除选定",deleteClusterError:"无法删除群集。",edgeDescription:"单击某个节点并将该连接线拖动到另一个节点以连接它们。",edit:"编辑",editClusterError:"无法编辑群集。",editEdge:"编辑连接线",editEdgeDescription:"单击控制节点并将它们拖到节点上连接。",editNode:"编辑节点"},N1e={addDescription:"Kлікніть на вільне місце, щоб додати новий вузол.",addEdge:"Додати край",addNode:"Додати вузол",back:"Назад",close:"Закрити",createEdgeError:"Не можливо об'єднати краї в групу.",del:"Видалити обране",deleteClusterError:"Групи не можуть бути видалені.",edgeDescription:"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.",edit:"Редагувати",editClusterError:"Групи недоступні для редагування.",editEdge:"Редагувати край",editEdgeDescription:"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.",editNode:"Редагувати вузол"},M1e={addDescription:"Cliquez dans un endroit vide pour placer un nœud.",addEdge:"Ajouter un lien",addNode:"Ajouter un nœud",back:"Retour",close:"Fermer",createEdgeError:"Impossible de créer un lien vers un cluster.",del:"Effacer la sélection",deleteClusterError:"Les clusters ne peuvent pas être effacés.",edgeDescription:"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.",edit:"Éditer",editClusterError:"Les clusters ne peuvent pas être édités.",editEdge:"Éditer le lien",editEdgeDescription:"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.",editNode:"Éditer le nœud"},q1e={addDescription:"Kluknutím do prázdného prostoru můžete přidat nový vrchol.",addEdge:"Přidat hranu",addNode:"Přidat vrchol",back:"Zpět",close:"Zavřít",createEdgeError:"Nelze připojit hranu ke shluku.",del:"Smazat výběr",deleteClusterError:"Nelze mazat shluky.",edgeDescription:"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.",edit:"Upravit",editClusterError:"Nelze upravovat shluky.",editEdge:"Upravit hranu",editEdgeDescription:"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.",editNode:"Upravit vrchol"};var F1e=Object.freeze({__proto__:null,cn:D1e,cs:q1e,de:O1e,en:_1e,es:T1e,fr:M1e,it:R1e,nl:P1e,pt:x1e,ru:$1e,uk:N1e});function k1e(n,e){try{const[r,i]=e.split(/[-_ /]/,2),o=r!=null?r.toLowerCase():null,s=i!=null?i.toUpperCase():null;if(o&&s){const a=o+"-"+s;if(Object.prototype.hasOwnProperty.call(n,a))return a;var t;console.warn(gye(t="Unknown variant ".concat(s," of language ")).call(t,o,"."))}if(o){const a=o;if(Object.prototype.hasOwnProperty.call(n,a))return a;console.warn("Unknown language ".concat(o))}return console.warn("Unknown locale ".concat(e,", falling back to English.")),"en"}catch(r){return console.error(r),console.warn("Unexpected error while normalizing locale ".concat(e,", falling back to English.")),"en"}}class B1e{constructor(){this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement("canvas")}init(){if(this.initialized())return;this.src=this.image.src;const e=this.image.width,t=this.image.height;this.width=e,this.height=t;const r=Math.floor(t/2),i=Math.floor(t/4),o=Math.floor(t/8),s=Math.floor(t/16),a=Math.floor(e/2),g=Math.floor(e/4),A=Math.floor(e/8),I=Math.floor(e/16);this.canvas.width=3*g,this.canvas.height=r,this.coordinates=[[0,0,a,r],[a,0,g,i],[a,i,A,o],[5*A,i,I,s]],this._fillMipMap()}initialized(){return this.coordinates!==void 0}_fillMipMap(){const e=this.canvas.getContext("2d"),t=this.coordinates[0];e.drawImage(this.image,t[0],t[1],t[2],t[3]);for(let r=1;r<this.NUM_ITERATIONS;r++){const i=this.coordinates[r-1],o=this.coordinates[r];e.drawImage(this.canvas,i[0],i[1],i[2],i[3],o[0],o[1],o[2],o[3])}}drawImageAtPosition(e,t,r,i,o,s){if(this.initialized())if(t>2){t*=.5;let a=0;for(;t>2&&a<this.NUM_ITERATIONS;)t*=.5,a+=1;a>=this.NUM_ITERATIONS&&(a=this.NUM_ITERATIONS-1);const g=this.coordinates[a];e.drawImage(this.canvas,g[0],g[1],g[2],g[3],r,i,o,s)}else e.drawImage(this.image,r,i,o,s)}}class z1e{constructor(e){this.images={},this.imageBroken={},this.callback=e}_tryloadBrokenUrl(e,t,r){if(!(e===void 0||r===void 0)){if(t===void 0){console.warn("No broken url image defined");return}r.image.onerror=()=>{console.error("Could not load brokenImage:",t)},r.image.src=t}}_redrawWithImage(e){this.callback&&this.callback(e)}load(e,t){const r=this.images[e];if(r)return r;const i=new B1e;return this.images[e]=i,i.image.onload=()=>{this._fixImageCoordinates(i.image),i.init(),this._redrawWithImage(i)},i.image.onerror=()=>{console.error("Could not load image:",e),this._tryloadBrokenUrl(e,t,i)},i.image.src=e,i}_fixImageCoordinates(e){e.width===0&&(document.body.appendChild(e),e.width=e.offsetWidth,e.height=e.offsetHeight,document.body.removeChild(e))}}var b4={},w4={},zE={exports:{}},jE,E4;function j1e(){if(E4)return jE;E4=1;var n=pe();return jE=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),jE}var LE,S4;function L1e(){if(S4)return LE;S4=1;var n=pe(),e=Tt(),t=di(),r=j1e(),i=Object.isExtensible,o=n(function(){});return LE=o||r?function(a){return!e(a)||r&&t(a)==="ArrayBuffer"?!1:i?i(a):!0}:i,LE}var GE,_4;function gte(){if(_4)return GE;_4=1;var n=pe();return GE=!n(function(){return Object.isExtensible(Object.preventExtensions({}))}),GE}var O4;function rC(){if(O4)return zE.exports;O4=1;var n=te(),e=ye(),t=Kg(),r=Tt(),i=qt(),o=Sr().f,s=YI(),a=sR(),g=L1e(),A=GI(),I=gte(),C=!1,l=A("meta"),d=0,u=function(p){o(p,l,{value:{objectID:"O"+d++,weakData:{}}})},h=function(p,y){if(!r(p))return typeof p=="symbol"?p:(typeof p=="string"?"S":"P")+p;if(!i(p,l)){if(!g(p))return"F";if(!y)return"E";u(p)}return p[l].objectID},v=function(p,y){if(!i(p,l)){if(!g(p))return!0;if(!y)return!1;u(p)}return p[l].weakData},f=function(p){return I&&C&&g(p)&&!i(p,l)&&u(p),p},c=function(){b.enable=function(){},C=!0;var p=s.f,y=e([].splice),E={};E[l]=1,p(E).length&&(s.f=function(S){for(var m=p(S),w=0,_=m.length;w<_;w++)if(m[w]===l){y(m,w,1);break}return m},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:a.f}))},b=zE.exports={enable:c,fastKey:h,getWeakData:v,onFreeze:f};return t[l]=!0,zE.exports}var WE,T4;function G1e(){if(T4)return WE;T4=1;var n=ht(),e=ga(),t=n("iterator"),r=Array.prototype;return WE=function(i){return i!==void 0&&(e.Array===i||r[t]===i)},WE}var VE,R4;function Ate(){if(R4)return VE;R4=1;var n=aa(),e=XT(),t=Qs(),r=ga(),i=ht(),o=i("iterator");return VE=function(s){if(!t(s))return e(s,o)||e(s,"@@iterator")||r[n(s)]},VE}var ZE,P4;function W1e(){if(P4)return ZE;P4=1;var n=or(),e=ki(),t=ui(),r=ta(),i=Ate(),o=TypeError;return ZE=function(s,a){var g=arguments.length<2?i(s):a;if(e(g))return t(n(g,s));throw new o(r(s)+" is not iterable")},ZE}var HE,x4;function bR(){if(x4)return HE;x4=1;var n=or(),e=ui(),t=XT();return HE=function(r,i,o){var s,a;e(r);try{if(s=t(r,"return"),!s){if(i==="throw")throw o;return o}s=n(s,r)}catch(g){a=!0,s=g}if(i==="throw")throw o;if(a)throw s;return e(s),o},HE}var UE,$4;function iC(){if($4)return UE;$4=1;var n=VI(),e=or(),t=ui(),r=ta(),i=G1e(),o=Bi(),s=ut(),a=W1e(),g=Ate(),A=bR(),I=TypeError,C=function(d,u){this.stopped=d,this.result=u},l=C.prototype;return UE=function(d,u,h){var v=h&&h.that,f=!!(h&&h.AS_ENTRIES),c=!!(h&&h.IS_RECORD),b=!!(h&&h.IS_ITERATOR),p=!!(h&&h.INTERRUPTED),y=n(u,v),E,S,m,w,_,T,R,O=function(x){return E&&A(E,"normal"),new C(!0,x)},P=function(x){return f?(t(x),p?y(x[0],x[1],O):y(x[0],x[1])):p?y(x,O):y(x)};if(c)E=d.iterator;else if(b)E=d;else{if(S=g(d),!S)throw new I(r(d)+" is not iterable");if(i(S)){for(m=0,w=o(d);w>m;m++)if(_=P(d[m]),_&&s(l,_))return _;return new C(!1)}E=a(d,S)}for(T=c?d.next:E.next;!(R=e(T,E)).done;){try{_=P(R.value)}catch(x){A(E,"throw",x)}if(typeof _=="object"&&_&&s(l,_))return _}return new C(!1)},UE}var KE,D4;function wR(){if(D4)return KE;D4=1;var n=ut(),e=TypeError;return KE=function(t,r){if(n(r,t))return t;throw new e("Incorrect invocation")},KE}var YE,N4;function ER(){if(N4)return YE;N4=1;var n=te(),e=Ge(),t=rC(),r=pe(),i=na(),o=iC(),s=wR(),a=Ot(),g=Tt(),A=Qs(),I=Ro(),C=Sr().f,l=Sn().forEach,d=ot(),u=Po(),h=u.set,v=u.getterFor;return YE=function(f,c,b){var p=f.indexOf("Map")!==-1,y=f.indexOf("Weak")!==-1,E=p?"set":"add",S=e[f],m=S&&S.prototype,w={},_;if(!d||!a(S)||!(y||m.forEach&&!r(function(){new S().entries().next()})))_=b.getConstructor(c,f,p,E),t.enable();else{_=c(function(O,P){h(s(O,T),{type:f,collection:new S}),A(P)||o(P,O[E],{that:O,AS_ENTRIES:p})});var T=_.prototype,R=v(f);l(["add","clear","delete","forEach","get","has","set","keys","values","entries"],function(O){var P=O==="add"||O==="set";O in m&&!(y&&O==="clear")&&i(T,O,function(x,V){var M=R(this).collection;if(!P&&y&&!g(x))return O==="get"?void 0:!1;var U=M[O](x===0?0:x,V);return P?this:U})}),y||C(T,"size",{configurable:!0,get:function(){return R(this).collection.size}})}return I(_,f,!1,!0),w[f]=_,n({global:!0,forced:!0},w),y||b.setStrong(_,f,p),_},YE}var XE,M4;function SR(){if(M4)return XE;M4=1;var n=Jg();return XE=function(e,t,r){for(var i in t)r&&r.unsafe&&e[i]?e[i]=t[i]:n(e,i,t[i],r);return e},XE}var QE,q4;function V1e(){if(q4)return QE;q4=1;var n=Cr(),e=aR(),t=ht(),r=ot(),i=t("species");return QE=function(o){var s=n(o);r&&s&&!s[i]&&e(s,i,{configurable:!0,get:function(){return this}})},QE}var JE,F4;function Ite(){if(F4)return JE;F4=1;var n=Qg(),e=aR(),t=SR(),r=VI(),i=wR(),o=Qs(),s=iC(),a=AR(),g=IR(),A=V1e(),I=ot(),C=rC().fastKey,l=Po(),d=l.set,u=l.getterFor;return JE={getConstructor:function(h,v,f,c){var b=h(function(m,w){i(m,p),d(m,{type:v,index:n(null),first:null,last:null,size:0}),I||(m.size=0),o(w)||s(w,m[c],{that:m,AS_ENTRIES:f})}),p=b.prototype,y=u(v),E=function(m,w,_){var T=y(m),R=S(m,w),O,P;return R?R.value=_:(T.last=R={index:P=C(w,!0),key:w,value:_,previous:O=T.last,next:null,removed:!1},T.first||(T.first=R),O&&(O.next=R),I?T.size++:m.size++,P!=="F"&&(T.index[P]=R)),m},S=function(m,w){var _=y(m),T=C(w),R;if(T!=="F")return _.index[T];for(R=_.first;R;R=R.next)if(R.key===w)return R};return t(p,{clear:function(){for(var w=this,_=y(w),T=_.first;T;)T.removed=!0,T.previous&&(T.previous=T.previous.next=null),T=T.next;_.first=_.last=null,_.index=n(null),I?_.size=0:w.size=0},delete:function(m){var w=this,_=y(w),T=S(w,m);if(T){var R=T.next,O=T.previous;delete _.index[T.index],T.removed=!0,O&&(O.next=R),R&&(R.previous=O),_.first===T&&(_.first=R),_.last===T&&(_.last=O),I?_.size--:w.size--}return!!T},forEach:function(w){for(var _=y(this),T=r(w,arguments.length>1?arguments[1]:void 0),R;R=R?R.next:_.first;)for(T(R.value,R.key,this);R&&R.removed;)R=R.previous},has:function(w){return!!S(this,w)}}),t(p,f?{get:function(w){var _=S(this,w);return _&&_.value},set:function(w,_){return E(this,w===0?0:w,_)}}:{add:function(w){return E(this,w=w===0?0:w,w)}}),I&&e(p,"size",{configurable:!0,get:function(){return y(this).size}}),b},setStrong:function(h,v,f){var c=v+" Iterator",b=u(v),p=u(c);a(h,v,function(y,E){d(this,{type:c,target:y,state:b(y),kind:E,last:null})},function(){for(var y=p(this),E=y.kind,S=y.last;S&&S.removed;)S=S.previous;return!y.target||!(y.last=S=S?S.next:y.state.first)?(y.target=null,g(void 0,!0)):g(E==="keys"?S.key:E==="values"?S.value:[S.key,S.value],!1)},f?"entries":"values",!f,!0),A(v)}},JE}var k4;function Z1e(){if(k4)return w4;k4=1;var n=ER(),e=Ite();return n("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),w4}var B4;function H1e(){return B4||(B4=1,Z1e()),b4}var z4={},eS,j4;function Cte(){return j4||(j4=1,eS=function(n,e){return e===1?function(t,r){return t[n](r)}:function(t,r,i){return t[n](r,i)}}),eS}var tS,L4;function U1e(){if(L4)return tS;L4=1;var n=Cr(),e=Cte(),t=n("Map");return tS={Map:t,set:e("set",2),get:e("get",1),has:e("has",1),remove:e("delete",1),proto:t.prototype},tS}var G4;function K1e(){if(G4)return z4;G4=1;var n=te(),e=ye(),t=ki(),r=Fi(),i=iC(),o=U1e(),s=ra(),a=pe(),g=o.Map,A=o.has,I=o.get,C=o.set,l=e([].push),d=s||a(function(){return g.groupBy("ab",function(u){return u}).get("a").length!==1});return n({target:"Map",stat:!0,forced:s||d},{groupBy:function(h,v){r(h),t(v);var f=new g,c=0;return i(h,function(b){var p=v(b,c++);A(f,p)?l(I(f,p),b):C(f,p,[b])}),f}}),z4}var W4={},rS,V4;function Y1e(){if(V4)return rS;V4=1;var n=ye(),e=oa(),t=_r(),r=Fi(),i=n("".charAt),o=n("".charCodeAt),s=n("".slice),a=function(g){return function(A,I){var C=t(r(A)),l=e(I),d=C.length,u,h;return l<0||l>=d?g?"":void 0:(u=o(C,l),u<55296||u>56319||l+1===d||(h=o(C,l+1))<56320||h>57343?g?i(C,l):u:g?s(C,l,l+2):(u-55296<<10)+(h-56320)+65536)}};return rS={codeAt:a(!1),charAt:a(!0)},rS}var Z4;function _R(){if(Z4)return W4;Z4=1;var n=Y1e().charAt,e=_r(),t=Po(),r=AR(),i=IR(),o="String Iterator",s=t.set,a=t.getterFor(o);return r(String,"String",function(g){s(this,{type:o,string:e(g),index:0})},function(){var A=a(this),I=A.string,C=A.index,l;return C>=I.length?i(void 0,!0):(l=n(I,C),A.index+=l.length,i(l,!1))}),W4}var iS,H4;function X1e(){if(H4)return iS;H4=1,Aa(),H1e(),K1e(),_R();var n=Re();return iS=n.Map,iS}var nS,U4;function Q1e(){if(U4)return nS;U4=1;var n=X1e();return Ia(),nS=n,nS}var oS,K4;function J1e(){return K4||(K4=1,oS=Q1e()),oS}var e0e=J1e(),OR=se(e0e);class t0e{constructor(){this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},{border:"#FFA500",background:"#FFFF00",highlight:{border:"#FFA500",background:"#FFFFA3"},hover:{border:"#FFA500",background:"#FFFFA3"}},{border:"#FA0A10",background:"#FB7E81",highlight:{border:"#FA0A10",background:"#FFAFB1"},hover:{border:"#FA0A10",background:"#FFAFB1"}},{border:"#41A906",background:"#7BE141",highlight:{border:"#41A906",background:"#A1EC76"},hover:{border:"#41A906",background:"#A1EC76"}},{border:"#E129F0",background:"#EB7DF4",highlight:{border:"#E129F0",background:"#F0B3F5"},hover:{border:"#E129F0",background:"#F0B3F5"}},{border:"#7C29F0",background:"#AD85E4",highlight:{border:"#7C29F0",background:"#D3BDF0"},hover:{border:"#7C29F0",background:"#D3BDF0"}},{border:"#C37F00",background:"#FFA807",highlight:{border:"#C37F00",background:"#FFCA66"},hover:{border:"#C37F00",background:"#FFCA66"}},{border:"#4220FB",background:"#6E6EFD",highlight:{border:"#4220FB",background:"#9B9BFD"},hover:{border:"#4220FB",background:"#9B9BFD"}},{border:"#FD5A77",background:"#FFC0CB",highlight:{border:"#FD5A77",background:"#FFD1D9"},hover:{border:"#FD5A77",background:"#FFD1D9"}},{border:"#4AD63A",background:"#C2FABC",highlight:{border:"#4AD63A",background:"#E6FFE3"},hover:{border:"#4AD63A",background:"#E6FFE3"}},{border:"#990000",background:"#EE0000",highlight:{border:"#BB0000",background:"#FF3333"},hover:{border:"#BB0000",background:"#FF3333"}},{border:"#FF6000",background:"#FF6000",highlight:{border:"#FF6000",background:"#FF6000"},hover:{border:"#FF6000",background:"#FF6000"}},{border:"#97C2FC",background:"#2B7CE9",highlight:{border:"#D2E5FF",background:"#2B7CE9"},hover:{border:"#D2E5FF",background:"#2B7CE9"}},{border:"#399605",background:"#255C03",highlight:{border:"#399605",background:"#255C03"},hover:{border:"#399605",background:"#255C03"}},{border:"#B70054",background:"#FF007E",highlight:{border:"#B70054",background:"#FF007E"},hover:{border:"#B70054",background:"#FF007E"}},{border:"#AD85E4",background:"#7C29F0",highlight:{border:"#D3BDF0",background:"#7C29F0"},hover:{border:"#D3BDF0",background:"#7C29F0"}},{border:"#4557FA",background:"#000EA1",highlight:{border:"#6E6EFD",background:"#000EA1"},hover:{border:"#6E6EFD",background:"#000EA1"}},{border:"#FFC0CB",background:"#FD5A77",highlight:{border:"#FFD1D9",background:"#FD5A77"},hover:{border:"#FFD1D9",background:"#FD5A77"}},{border:"#C2FABC",background:"#74D66A",highlight:{border:"#E6FFE3",background:"#74D66A"},hover:{border:"#E6FFE3",background:"#74D66A"}},{border:"#EE0000",background:"#990000",highlight:{border:"#FF3333",background:"#BB0000"},hover:{border:"#FF3333",background:"#BB0000"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},At(this.options,this.defaultOptions)}setOptions(e){const t=["useDefaultGroups"];if(e!==void 0){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&Oe(t).call(t,r)===-1){const i=e[r];this.add(r,i)}}}clear(){this._groups=new OR,this._groupNames=[]}get(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this._groups.get(e);if(r===void 0&&t)if(this.options.useDefaultGroups===!1&&this._groupNames.length>0){const i=this._groupIndex%this._groupNames.length;++this._groupIndex,r={},r.color=this._groups.get(this._groupNames[i]),this._groups.set(e,r)}else{const i=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,r={},r.color=this._defaultGroups[i],this._groups.set(e,r)}return r}add(e,t){return this._groups.has(e)||this._groupNames.push(e),this._groups.set(e,t),t}}var Y4={},X4;function r0e(){if(X4)return Y4;X4=1;var n=te();return n({target:"Number",stat:!0},{isNaN:function(t){return t!==t}}),Y4}var sS,Q4;function i0e(){if(Q4)return sS;Q4=1,r0e();var n=Re();return sS=n.Number.isNaN,sS}var aS,J4;function n0e(){if(J4)return aS;J4=1;var n=i0e();return aS=n,aS}var gS,e8;function o0e(){return e8||(e8=1,gS=n0e()),gS}var s0e=o0e(),qO=se(s0e),t8={},AS,r8;function a0e(){if(r8)return AS;r8=1;var n=Ge(),e=n.isFinite;return AS=Number.isFinite||function(r){return typeof r=="number"&&e(r)},AS}var i8;function g0e(){if(i8)return t8;i8=1;var n=te(),e=a0e();return n({target:"Number",stat:!0},{isFinite:e}),t8}var IS,n8;function A0e(){if(n8)return IS;n8=1,g0e();var n=Re();return IS=n.Number.isFinite,IS}var CS,o8;function I0e(){if(o8)return CS;o8=1;var n=A0e();return CS=n,CS}var lS,s8;function C0e(){return s8||(s8=1,lS=I0e()),lS}var l0e=C0e(),kn=se(l0e),a8={},g8;function d0e(){if(g8)return a8;g8=1;var n=te(),e=Sn().some,t=Ca(),r=t("some");return n({target:"Array",proto:!0,forced:!r},{some:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),a8}var dS,A8;function u0e(){if(A8)return dS;A8=1,d0e();var n=Ft();return dS=n("Array","some"),dS}var uS,I8;function h0e(){if(I8)return uS;I8=1;var n=ut(),e=u0e(),t=Array.prototype;return uS=function(r){var i=r.some;return r===t||n(t,r)&&i===t.some?e:i},uS}var hS,C8;function c0e(){if(C8)return hS;C8=1;var n=h0e();return hS=n,hS}var cS,l8;function f0e(){return l8||(l8=1,cS=c0e()),cS}var p0e=f0e(),v0e=se(p0e),fS={exports:{}},d8={},u8;function m0e(){if(u8)return d8;u8=1;var n=te(),e=ot(),t=Sr().f;return n({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!e},{defineProperty:t}),d8}var h8;function y0e(){if(h8)return fS.exports;h8=1,m0e();var n=Re(),e=n.Object,t=fS.exports=function(i,o,s){return e.defineProperty(i,o,s)};return e.defineProperty.sham&&(t.sham=!0),fS.exports}var pS,c8;function lte(){if(c8)return pS;c8=1;var n=y0e();return pS=n,pS}var vS,f8;function b0e(){if(f8)return vS;f8=1;var n=lte();return vS=n,vS}var mS,p8;function w0e(){if(p8)return mS;p8=1;var n=b0e();return mS=n,mS}var yS,v8;function E0e(){return v8||(v8=1,yS=w0e()),yS}var S0e=E0e(),_0e=se(S0e),m8={},y8;function O0e(){if(y8)return m8;y8=1;var n=ht(),e=Sr().f,t=n("metadata"),r=Function.prototype;return r[t]===void 0&&e(r,t,{value:null}),m8}var b8={},w8;function T0e(){return w8||(w8=1,uee()),b8}var E8={},S8;function R0e(){return S8||(S8=1,hee()),E8}var _8={},O8;function P0e(){if(O8)return _8;O8=1;var n=Ue();return n("metadata"),_8}var bS,T8;function x0e(){if(T8)return bS;T8=1;var n=mee();return O0e(),T0e(),R0e(),P0e(),bS=n,bS}var R8={},wS,P8;function dte(){if(P8)return wS;P8=1;var n=Cr(),e=ye(),t=n("Symbol"),r=t.keyFor,i=e(t.prototype.valueOf);return wS=t.isRegisteredSymbol||function(s){try{return r(i(s))!==void 0}catch{return!1}},wS}var x8;function $0e(){if(x8)return R8;x8=1;var n=te(),e=dte();return n({target:"Symbol",stat:!0},{isRegisteredSymbol:e}),R8}var $8={},ES,D8;function ute(){if(D8)return ES;D8=1;for(var n=ia(),e=Cr(),t=ye(),r=Ug(),i=ht(),o=e("Symbol"),s=o.isWellKnownSymbol,a=e("Object","getOwnPropertyNames"),g=t(o.prototype.valueOf),A=n("wks"),I=0,C=a(o),l=C.length;I<l;I++)try{var d=C[I];r(o[d])&&i(d)}catch{}return ES=function(h){if(s&&s(h))return!0;try{for(var v=g(h),f=0,c=a(A),b=c.length;f<b;f++)if(A[c[f]]==v)return!0}catch{}return!1},ES}var N8;function D0e(){if(N8)return $8;N8=1;var n=te(),e=ute();return n({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:e}),$8}var M8={},q8;function N0e(){if(q8)return M8;q8=1;var n=Ue();return n("customMatcher"),M8}var F8={},k8;function M0e(){if(k8)return F8;k8=1;var n=Ue();return n("observable"),F8}var B8={},z8;function q0e(){if(z8)return B8;z8=1;var n=te(),e=dte();return n({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:e}),B8}var j8={},L8;function F0e(){if(L8)return j8;L8=1;var n=te(),e=ute();return n({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:e}),j8}var G8={},W8;function k0e(){if(W8)return G8;W8=1;var n=Ue();return n("matcher"),G8}var V8={},Z8;function B0e(){if(Z8)return V8;Z8=1;var n=Ue();return n("metadataKey"),V8}var H8={},U8;function z0e(){if(U8)return H8;U8=1;var n=Ue();return n("patternMatch"),H8}var K8={},Y8;function j0e(){if(Y8)return K8;Y8=1;var n=Ue();return n("replaceAll"),K8}var SS,X8;function L0e(){if(X8)return SS;X8=1;var n=x0e();return $0e(),D0e(),N0e(),M0e(),q0e(),F0e(),k0e(),B0e(),z0e(),j0e(),SS=n,SS}var _S,Q8;function G0e(){return Q8||(Q8=1,_S=L0e()),_S}var W0e=G0e(),bA=se(W0e),OS,J8;function V0e(){if(J8)return OS;J8=1,Aa(),_R(),cee();var n=XI();return OS=n.f("iterator"),OS}var TS,e9;function Z0e(){if(e9)return TS;e9=1;var n=V0e();return Ia(),TS=n,TS}var RS,t9;function H0e(){if(t9)return RS;t9=1;var n=Z0e();return RS=n,RS}var PS,r9;function U0e(){if(r9)return PS;r9=1;var n=H0e();return PS=n,PS}var xS,i9;function K0e(){return i9||(i9=1,xS=U0e()),xS}var Y0e=K0e(),X0e=se(Y0e);function sg(n){"@babel/helpers - typeof";return sg=typeof bA=="function"&&typeof X0e=="symbol"?function(e){return typeof e}:function(e){return e&&typeof bA=="function"&&e.constructor===bA&&e!==bA.prototype?"symbol":typeof e},sg(n)}var $S,n9;function Q0e(){if(n9)return $S;n9=1,fee();var n=XI();return $S=n.f("toPrimitive"),$S}var DS,o9;function J0e(){if(o9)return DS;o9=1;var n=Q0e();return DS=n,DS}var NS,s9;function ewe(){if(s9)return NS;s9=1;var n=J0e();return NS=n,NS}var MS,a9;function twe(){if(a9)return MS;a9=1;var n=ewe();return MS=n,MS}var qS,g9;function rwe(){return g9||(g9=1,qS=twe()),qS}var iwe=rwe(),nwe=se(iwe);function owe(n,e){if(sg(n)!="object"||!n)return n;var t=n[nwe];if(t!==void 0){var r=t.call(n,e);if(sg(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function swe(n){var e=owe(n,"string");return sg(e)=="symbol"?e:e+""}function ci(n,e,t){return(e=swe(e))in n?_0e(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var A9={},FS,I9;function awe(){if(I9)return FS;I9=1;var n=Ge(),e=pe(),t=ye(),r=_r(),i=bee().trim,o=CR(),s=t("".charAt),a=n.parseFloat,g=n.Symbol,A=g&&g.iterator,I=1/a(o+"-0")!==-1/0||A&&!e(function(){a(Object(A))});return FS=I?function(l){var d=i(r(l)),u=a(d);return u===0&&s(d,0)==="-"?-0:u}:a,FS}var C9;function gwe(){if(C9)return A9;C9=1;var n=te(),e=awe();return n({global:!0,forced:parseFloat!==e},{parseFloat:e}),A9}var kS,l9;function Awe(){if(l9)return kS;l9=1,gwe();var n=Re();return kS=n.parseFloat,kS}var BS,d9;function Iwe(){if(d9)return BS;d9=1;var n=Awe();return BS=n,BS}var zS,u9;function Cwe(){return u9||(u9=1,zS=Iwe()),zS}var lwe=Cwe(),hte=se(lwe),h9={},c9;function dwe(){if(c9)return h9;c9=1;var n=te(),e=pe(),t=sR().f,r=e(function(){return!Object.getOwnPropertyNames(1)});return n({target:"Object",stat:!0,forced:r},{getOwnPropertyNames:t}),h9}var jS,f9;function uwe(){if(f9)return jS;f9=1,dwe();var n=Re(),e=n.Object;return jS=function(r){return e.getOwnPropertyNames(r)},jS}var LS,p9;function hwe(){if(p9)return LS;p9=1;var n=uwe();return LS=n,LS}var GS,v9;function cwe(){return v9||(v9=1,GS=hwe()),GS}var fwe=cwe(),pwe=se(fwe),WS,m9;function vwe(){if(m9)return WS;m9=1,dee();var n=Re();return WS=n.Object.getOwnPropertySymbols,WS}var VS,y9;function mwe(){if(y9)return VS;y9=1;var n=vwe();return VS=n,VS}var ZS,b9;function ywe(){return b9||(b9=1,ZS=mwe()),ZS}var bwe=ywe(),hn=se(bwe),HS={exports:{}},w9={},E9;function wwe(){if(E9)return w9;E9=1;var n=te(),e=pe(),t=Hr(),r=WI().f,i=ot(),o=!i||e(function(){r(1)});return n({target:"Object",stat:!0,forced:o,sham:!i},{getOwnPropertyDescriptor:function(a,g){return r(t(a),g)}}),w9}var S9;function Ewe(){if(S9)return HS.exports;S9=1,wwe();var n=Re(),e=n.Object,t=HS.exports=function(i,o){return e.getOwnPropertyDescriptor(i,o)};return e.getOwnPropertyDescriptor.sham&&(t.sham=!0),HS.exports}var US,_9;function Swe(){if(_9)return US;_9=1;var n=Ewe();return US=n,US}var KS,O9;function _we(){return O9||(O9=1,KS=Swe()),KS}var Owe=_we(),_n=se(Owe),T9={},R9;function Twe(){if(R9)return T9;R9=1;var n=te(),e=ot(),t=Jve(),r=Hr(),i=WI(),o=UI();return n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(a){for(var g=r(a),A=i.f,I=t(g),C={},l=0,d,u;I.length>l;)u=A(g,d=I[l++]),u!==void 0&&o(C,d,u);return C}}),T9}var YS,P9;function Rwe(){if(P9)return YS;P9=1,Twe();var n=Re();return YS=n.Object.getOwnPropertyDescriptors,YS}var XS,x9;function Pwe(){if(x9)return XS;x9=1;var n=Rwe();return XS=n,XS}var QS,$9;function xwe(){return $9||($9=1,QS=Pwe()),QS}var $we=xwe(),cn=se($we),JS={exports:{}},D9={},N9;function Dwe(){if(N9)return D9;N9=1;var n=te(),e=ot(),t=oR().f;return n({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!e},{defineProperties:t}),D9}var M9;function Nwe(){if(M9)return JS.exports;M9=1,Dwe();var n=Re(),e=n.Object,t=JS.exports=function(i,o){return e.defineProperties(i,o)};return e.defineProperties.sham&&(t.sham=!0),JS.exports}var e_,q9;function Mwe(){if(q9)return e_;q9=1;var n=Nwe();return e_=n,e_}var t_,F9;function qwe(){return F9||(F9=1,t_=Mwe()),t_}var Fwe=qwe(),nC=se(Fwe),r_,k9;function kwe(){return k9||(k9=1,r_=lte()),r_}var Bwe=kwe(),oC=se(Bwe);function TR(n,e){const t=["node","edge","label"];let r=!0;const i=Qi(e,"chosen");if(typeof i=="boolean")r=i;else if(typeof i=="object"){if(Oe(t).call(t,n)===-1)throw new Error("choosify: subOption '"+n+"' should be one of '"+t.join("', '")+"'");const o=Qi(e,["chosen",n]);(typeof o=="boolean"||typeof o=="function")&&(r=o)}return r}function FO(n,e,t){if(n.width<=0||n.height<=0)return!1;if(t!==void 0){const o={x:e.x-t.x,y:e.y-t.y};if(t.angle!==0){const s=-t.angle;e={x:Math.cos(s)*o.x-Math.sin(s)*o.y,y:Math.sin(s)*o.x+Math.cos(s)*o.y}}else e=o}const r=n.x+n.width,i=n.y+n.width;return n.left<e.x&&r>e.x&&n.top<e.y&&i>e.y}function iI(n){return typeof n=="string"&&n!==""}function cte(n,e,t,r){let i=r.x,o=r.y;if(typeof r.distanceToBorder=="function"){const s=r.distanceToBorder(n,e),a=Math.sin(e)*s,g=Math.cos(e)*s;g===s?(i+=s,o=r.y):a===s?(i=r.x,o-=s):(i+=g,o-=a)}else r.shape.width>r.shape.height?(i=r.x+r.shape.width*.5,o=r.y-t):(i=r.x+t,o=r.y-r.shape.height*.5);return{x:i,y:o}}var i_,B9;function zwe(){if(B9)return i_;B9=1,Aa();var n=Ft();return i_=n("Array","values"),i_}var n_,z9;function jwe(){if(z9)return n_;z9=1;var n=zwe();return n_=n,n_}var o_,j9;function Lwe(){if(j9)return o_;j9=1,Ia();var n=aa(),e=qt(),t=ut(),r=jwe(),i=Array.prototype,o={DOMTokenList:!0,NodeList:!0};return o_=function(s){var a=s.values;return s===i||t(i,s)&&a===i.values||e(o,n(s))?r:a},o_}var s_,L9;function Gwe(){return L9||(L9=1,s_=Lwe()),s_}var Wwe=Gwe(),fte=se(Wwe);class Vwe{constructor(e){this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}_add(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"normal";this.lines[e]===void 0&&(this.lines[e]={width:0,height:0,blocks:[]});let i=t;(t===void 0||t==="")&&(i=" ");const o=this.measureText(i,r),s=At({},fte(o));s.text=t,s.width=o.width,s.mod=r,(t===void 0||t==="")&&(s.width=0),this.lines[e].blocks.push(s),this.lines[e].width+=s.width}curWidth(){const e=this.lines[this.current];return e===void 0?0:e.width}append(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t)}newLine(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal";this._add(this.current,e,t),this.current++}determineLineHeights(){for(let e=0;e<this.lines.length;e++){const t=this.lines[e];let r=0;if(t.blocks!==void 0)for(let i=0;i<t.blocks.length;i++){const o=t.blocks[i];r<o.height&&(r=o.height)}t.height=r}}determineLabelSize(){let e=0,t=0;for(let r=0;r<this.lines.length;r++){const i=this.lines[r];i.width>e&&(e=i.width),t+=i.height}this.width=e,this.height=t}removeEmptyBlocks(){const e=[];for(let t=0;t<this.lines.length;t++){const r=this.lines[t];if(r.blocks.length===0||t===this.lines.length-1&&r.width===0)continue;const i={};At(i,r),i.blocks=[];let o;const s=[];for(let a=0;a<r.blocks.length;a++){const g=r.blocks[a];g.width!==0?s.push(g):o===void 0&&(o=g)}s.length===0&&o!==void 0&&s.push(o),i.blocks=s,e.push(i)}return e}finalize(){this.determineLineHeights(),this.determineLabelSize();const e=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:e}}}const Zwe={"<b>":/<b>/,"<i>":/<i>/,"<code>":/<code>/,"</b>":/<\/b>/,"</i>":/<\/i>/,"</code>":/<\/code>/,"*":/\*/,_:/_/,"`":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/};class G9{constructor(e){this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer="",this.modStack=[],this.blocks=[]}mod(){return this.modStack.length===0?"normal":this.modStack[0]}modName(){if(this.modStack.length===0)return"normal";if(this.modStack[0]==="mono")return"mono";if(this.bold&&this.ital)return"boldital";if(this.bold)return"bold";if(this.ital)return"ital"}emitBlock(){this.spacing&&(this.add(" "),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer="")}add(e){e===" "&&(this.spacing=!0),this.spacing&&(this.buffer+=" ",this.spacing=!1),e!=" "&&(this.buffer+=e)}parseWS(e){return/[ \t]/.test(e)?(this.mono?this.add(e):this.spacing=!0,!0):!1}setTag(e){this.emitBlock(),this[e]=!0,this.modStack.unshift(e)}unsetTag(e){this.emitBlock(),this[e]=!1,this.modStack.shift()}parseStartTag(e,t){return!this.mono&&!this[e]&&this.match(t)?(this.setTag(e),!0):!1}match(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const[r,i]=this.prepareRegExp(e),o=r.test(this.text.substr(this.position,i));return o&&t&&(this.position+=i-1),o}parseEndTag(e,t,r){let i=this.mod()===e;return e==="mono"?i=i&&this.mono:i=i&&!this.mono,i&&this.match(t)?(r!==void 0?(this.position===this.text.length-1||this.match(r,!1))&&this.unsetTag(e):this.unsetTag(e),!0):!1}replace(e,t){return this.match(e)?(this.add(t),this.position+=length-1,!0):!1}prepareRegExp(e){let t,r;if(e instanceof RegExp)r=e,t=1;else{const i=Zwe[e];i!==void 0?r=i:r=new RegExp(e),t=e.length}return[r,t]}}class Hwe{constructor(e,t,r,i){this.ctx=e,this.parent=t,this.selected=r,this.hover=i;const o=(s,a)=>{if(s===void 0)return 0;const g=this.parent.getFormattingValues(e,r,i,a);let A=0;return s!==""&&(A=this.ctx.measureText(s).width),{width:A,values:g}};this.lines=new Vwe(o)}process(e){if(!iI(e))return this.lines.finalize();const t=this.parent.fontOptions;e=e.replace(/\r\n/g,`
`),e=e.replace(/\r/g,`
`);const r=String(e).split(`
`),i=r.length;if(t.multi)for(let o=0;o<i;o++){const s=this.splitBlocks(r[o],t.multi);if(s!==void 0){if(s.length===0){this.lines.newLine("");continue}if(t.maxWdt>0)for(let a=0;a<s.length;a++){const g=s[a].mod,A=s[a].text;this.splitStringIntoLines(A,g,!0)}else for(let a=0;a<s.length;a++){const g=s[a].mod,A=s[a].text;this.lines.append(A,g)}this.lines.newLine()}}else if(t.maxWdt>0)for(let o=0;o<i;o++)this.splitStringIntoLines(r[o]);else for(let o=0;o<i;o++)this.lines.newLine(r[o]);return this.lines.finalize()}decodeMarkupSystem(e){let t="none";return e==="markdown"||e==="md"?t="markdown":(e===!0||e==="html")&&(t="html"),t}splitHtmlBlocks(e){const t=new G9(e),r=i=>/&/.test(i)?(t.replace(t.text,"&lt;","<")||t.replace(t.text,"&amp;","&")||t.add("&"),!0):!1;for(;t.position<t.text.length;){const i=t.text.charAt(t.position);t.parseWS(i)||/</.test(i)&&(t.parseStartTag("bold","<b>")||t.parseStartTag("ital","<i>")||t.parseStartTag("mono","<code>")||t.parseEndTag("bold","</b>")||t.parseEndTag("ital","</i>")||t.parseEndTag("mono","</code>"))||r(i)||t.add(i),t.position++}return t.emitBlock(),t.blocks}splitMarkdownBlocks(e){const t=new G9(e);let r=!0;const i=o=>/\\/.test(o)?(t.position<this.text.length+1&&(t.position++,o=this.text.charAt(t.position),/ \t/.test(o)?t.spacing=!0:(t.add(o),r=!1)),!0):!1;for(;t.position<t.text.length;){const o=t.text.charAt(t.position);t.parseWS(o)||i(o)||(r||t.spacing)&&(t.parseStartTag("bold","*")||t.parseStartTag("ital","_")||t.parseStartTag("mono","`"))||t.parseEndTag("bold","*","afterBold")||t.parseEndTag("ital","_","afterItal")||t.parseEndTag("mono","`","afterMono")||(t.add(o),r=!1),t.position++}return t.emitBlock(),t.blocks}splitBlocks(e,t){const r=this.decodeMarkupSystem(t);if(r==="none")return[{text:e,mod:"normal"}];if(r==="markdown")return this.splitMarkdownBlocks(e);if(r==="html")return this.splitHtmlBlocks(e)}overMaxWidth(e){const t=this.ctx.measureText(e).width;return this.lines.curWidth()+t>this.parent.fontOptions.maxWdt}getLongestFit(e){let t="",r=0;for(;r<e.length;){const o=t+(t===""?"":" ")+e[r];if(this.overMaxWidth(o))break;t=o,r++}return r}getLongestFitWord(e){let t=0;for(;t<e.length&&!this.overMaxWidth(Kr(e).call(e,0,t));)t++;return t}splitStringIntoLines(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"normal",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.parent.getFormattingValues(this.ctx,this.selected,this.hover,t),e=e.replace(/^( +)/g,"$1\r"),e=e.replace(/([^\r][^ ]*)( +)/g,"$1\r$2\r");let i=e.split("\r");for(;i.length>0;){let o=this.getLongestFit(i);if(o===0){const s=i[0],a=this.getLongestFitWord(s);this.lines.newLine(Kr(s).call(s,0,a),t),i[0]=Kr(s).call(s,a)}else{let s=o;i[o-1]===" "?o--:i[s]===" "&&s++;const a=Kr(i).call(i,0,o).join("");o==i.length&&r?this.lines.append(a,t):this.lines.newLine(a,t),i=Kr(i).call(i,s)}}}}const Sa=["bold","ital","boldital","mono"];class gs{constructor(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(t),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=r}setOptions(e){if(this.elementOptions=e,this.initFontOptions(e.font),iI(e.label)?this.labelDirty=!0:e.label=void 0,e.font!==void 0&&e.font!==null){if(typeof e.font=="string")this.baseSize=this.fontOptions.size;else if(typeof e.font=="object"){const t=e.font.size;t!==void 0&&(this.baseSize=t)}}}initFontOptions(e){if(ue(Sa,t=>{this.fontOptions[t]={}}),gs.parseFontString(this.fontOptions,e)){this.fontOptions.vadjust=0;return}ue(e,(t,r)=>{t!=null&&typeof t!="object"&&(this.fontOptions[r]=t)})}static parseFontString(e,t){if(!t||typeof t!="string")return!1;const r=t.split(" ");return e.size=+r[0].replace("px",""),e.face=r[1],e.color=r[2],!0}constrain(e){const t={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:"middle"},r=Qi(e,"widthConstraint");if(typeof r=="number")t.maxWdt=Number(r),t.minWdt=Number(r);else if(typeof r=="object"){const o=Qi(e,["widthConstraint","maximum"]);typeof o=="number"&&(t.maxWdt=Number(o));const s=Qi(e,["widthConstraint","minimum"]);typeof s=="number"&&(t.minWdt=Number(s))}const i=Qi(e,"heightConstraint");if(typeof i=="number")t.minHgt=Number(i);else if(typeof i=="object"){const o=Qi(e,["heightConstraint","minimum"]);typeof o=="number"&&(t.minHgt=Number(o));const s=Qi(e,["heightConstraint","valign"]);typeof s=="string"&&(s==="top"||s==="bottom")&&(t.valign=s)}return t}update(e,t){this.setOptions(e,!0),this.propagateFonts(t),qe(this.fontOptions,this.constrain(t)),this.fontOptions.chooser=TR("label",t)}adjustSizes(e){const t=e?e.right+e.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=t,this.fontOptions.minWdt-=t);const r=e?e.top+e.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=r)}addFontOptionsToPile(e,t){for(let r=0;r<t.length;++r)this.addFontToPile(e,t[r])}addFontToPile(e,t){if(t===void 0||t.font===void 0||t.font===null)return;const r=t.font;e.push(r)}getBasicOptions(e){const t={};for(let r=0;r<e.length;++r){let i=e[r];const o={};gs.parseFontString(o,i)&&(i=o),ue(i,(s,a)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(t,a)||(Oe(Sa).call(Sa,a)!==-1?t[a]={}:t[a]=s))})}return t}getFontOption(e,t,r){let i;for(let o=0;o<e.length;++o){const s=e[o];if(Object.prototype.hasOwnProperty.call(s,t)){if(i=s[t],i==null)continue;const a={};if(gs.parseFontString(a,i)&&(i=a),Object.prototype.hasOwnProperty.call(i,r))return i[r]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,r))return this.fontOptions[r];throw new Error("Did not find value for multi-font for property: '"+r+"'")}getFontOptions(e,t){const r={},i=["color","size","face","mod","vadjust"];for(let o=0;o<i.length;++o){const s=i[o];r[s]=this.getFontOption(e,t,s)}return r}propagateFonts(e){const t=[];this.addFontOptionsToPile(t,e),this.fontOptions=this.getBasicOptions(t);for(let r=0;r<Sa.length;++r){const i=Sa[r],o=this.fontOptions[i],s=this.getFontOptions(t,i);ue(s,(a,g)=>{o[g]=a}),o.size=Number(o.size),o.vadjust=Number(o.vadjust)}}draw(e,t,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";if(this.elementOptions.label===void 0)return;let a=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&a<this.elementOptions.scaling.label.drawThreshold-1||(a>=this.elementOptions.scaling.label.maxVisible&&(a=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(e,i,o,t,r,s),this._drawBackground(e),this._drawText(e,t,this.size.yLine,s,a))}_drawBackground(e){if(this.fontOptions.background!==void 0&&this.fontOptions.background!=="none"){e.fillStyle=this.fontOptions.background;const t=this.getSize();e.fillRect(t.left,t.top,t.width,t.height)}}_drawText(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"middle",o=arguments.length>4?arguments[4]:void 0;[t,r]=this._setAlignment(e,t,r,i),e.textAlign="left",t=t-this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&(this.fontOptions.valign==="top"&&(r-=(this.size.height-this.size.labelHeight)/2),this.fontOptions.valign==="bottom"&&(r+=(this.size.height-this.size.labelHeight)/2));for(let s=0;s<this.lineCount;s++){const a=this.lines[s];if(a&&a.blocks){let g=0;this.isEdgeLabel||this.fontOptions.align==="center"?g+=(this.size.width-a.width)/2:this.fontOptions.align==="right"&&(g+=this.size.width-a.width);for(let A=0;A<a.blocks.length;A++){const I=a.blocks[A];e.font=I.font;const[C,l]=this._getColor(I.color,o,I.strokeColor);I.strokeWidth>0&&(e.lineWidth=I.strokeWidth,e.strokeStyle=l,e.lineJoin="round"),e.fillStyle=C,I.strokeWidth>0&&e.strokeText(I.text,t+g,r+I.vadjust),e.fillText(I.text,t+g,r+I.vadjust),g+=I.width}r+=a.height}}}_setAlignment(e,t,r,i){if(this.isEdgeLabel&&this.fontOptions.align!=="horizontal"&&this.pointToSelf===!1){t=0,r=0;const o=2;this.fontOptions.align==="top"?(e.textBaseline="alphabetic",r-=2*o):this.fontOptions.align==="bottom"?(e.textBaseline="hanging",r+=2*o):e.textBaseline="middle"}else e.textBaseline=i;return[t,r]}_getColor(e,t,r){let i=e||"#000000",o=r||"#ffffff";if(t<=this.elementOptions.scaling.label.drawThreshold){const s=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-t)));i=cr(i,s),o=cr(o,s)}return[i,o]}getTextSize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this._processLabel(e,t,r),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}getSize(){let t=this.size.left,r=this.size.top-.5*2;if(this.isEdgeLabel){const o=-this.size.width*.5;switch(this.fontOptions.align){case"middle":t=o,r=-this.size.height*.5;break;case"top":t=o,r=-(this.size.height+2);break;case"bottom":t=o,r=2;break}}return{left:t,top:r,width:this.size.width,height:this.size.height}}calculateLabelSize(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"middle";this._processLabel(e,t,r),this.size.left=i-this.size.width*.5,this.size.top=o-this.size.height*.5,this.size.yLine=o+(1-this.lineCount)*.5*this.fontOptions.size,s==="hanging"&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}getFormattingValues(e,t,r,i){const o=function(g,A,I){return A==="normal"?I==="mod"?"":g[I]:g[A][I]!==void 0?g[A][I]:g[I]},s={color:o(this.fontOptions,i,"color"),size:o(this.fontOptions,i,"size"),face:o(this.fontOptions,i,"face"),mod:o(this.fontOptions,i,"mod"),vadjust:o(this.fontOptions,i,"vadjust"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(t||r)&&(i==="normal"&&this.fontOptions.chooser===!0&&this.elementOptions.labelHighlightBold?s.mod="bold":typeof this.fontOptions.chooser=="function"&&this.fontOptions.chooser(s,this.elementOptions.id,t,r));let a="";return s.mod!==void 0&&s.mod!==""&&(a+=s.mod+" "),a+=s.size+"px "+s.face,e.font=a.replace(/"/g,""),s.font=e.font,s.height=s.size,s}differentState(e,t){return e!==this.selectedState||t!==this.hoverState}_processLabelText(e,t,r,i){return new Hwe(e,this,t,r).process(i)}_processLabel(e,t,r){if(this.labelDirty===!1&&!this.differentState(t,r))return;const i=this._processLabelText(e,t,r,this.elementOptions.label);this.fontOptions.minWdt>0&&i.width<this.fontOptions.minWdt&&(i.width=this.fontOptions.minWdt),this.size.labelHeight=i.height,this.fontOptions.minHgt>0&&i.height<this.fontOptions.minHgt&&(i.height=this.fontOptions.minHgt),this.lines=i.lines,this.lineCount=i.lines.length,this.size.width=i.width,this.size.height=i.height,this.selectedState=t,this.hoverState=r,this.labelDirty=!1}visible(){return!(this.size.width===0||this.size.height===0||this.elementOptions.label===void 0||this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}class $o{constructor(e,t,r){this.body=t,this.labelModule=r,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}setOptions(e){this.options=e}_setMargins(e){this.margin={},this.options.margin&&(typeof this.options.margin=="object"?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),e.adjustSizes(this.margin)}_distanceToBorder(e,t){const r=this.options.borderWidth;return e&&this.resize(e),Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}enableShadow(e,t){t.shadow&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}enableBorderDashes(e,t){if(t.borderDashes!==!1)if(e.setLineDash!==void 0){let r=t.borderDashes;r===!0&&(r=[5,15]),e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1}disableBorderDashes(e,t){t.borderDashes!==!1&&(e.setLineDash!==void 0?e.setLineDash([0]):(console.warn("setLineDash is not supported in this browser. The dashed borders cannot be used."),this.options.shapeProperties.borderDashes=!1,t.borderDashes=!1))}needsRefresh(e,t){return this.refreshNeeded===!0?(this.refreshNeeded=!1,!0):this.width===void 0||this.labelModule.differentState(e,t)}initContextForDraw(e,t){const r=t.borderWidth/this.body.view.scale;e.lineWidth=Math.min(this.width,r),e.strokeStyle=t.borderColor,e.fillStyle=t.color}performStroke(e,t){const r=t.borderWidth/this.body.view.scale;e.save(),r>0&&(this.enableBorderDashes(e,t),e.stroke(),this.disableBorderDashes(e,t)),e.restore()}performFill(e,t){e.save(),e.fillStyle=t.color,this.enableShadow(e,t),tA(e).call(e),this.disableShadow(e,t),e.restore(),this.performStroke(e,t)}_addBoundingBoxMargin(e){this.boundingBox.left-=e,this.boundingBox.top-=e,this.boundingBox.bottom+=e,this.boundingBox.right+=e}_updateBoundingBox(e,t,r,i,o){r!==void 0&&this.resize(r,i,o),this.left=e-this.width/2,this.top=t-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}updateBoundingBox(e,t,r,i,o){this._updateBoundingBox(e,t,r,i,o)}getDimensionsFromLabel(e,t,r){this.textSize=this.labelModule.getTextSize(e,t,r);let i=this.textSize.width,o=this.textSize.height;const s=14;return i===0&&(i=s,o=s),{width:i,height:o}}}let Uwe=class extends $o{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.width=i.width+this.margin.right+this.margin.left,this.height=i.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,s),ree(e,this.left,this.top,this.width,this.height,s.borderRadius),this.performFill(e,s),this.updateBoundingBox(t,r,e,i,o),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,o)}updateBoundingBox(e,t,r,i,o){this._updateBoundingBox(e,t,r,i,o);const s=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(s)}distanceToBorder(e,t){e&&this.resize(e);const r=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(t)),Math.abs(this.height/2/Math.sin(t)))+r}};class RR extends $o{constructor(e,t,r){super(e,t,r),this.labelOffset=0,this.selected=!1}setOptions(e,t,r){this.options=e,t===void 0&&r===void 0||this.setImages(t,r)}setImages(e,t){t&&this.selected?(this.imageObj=t,this.imageObjAlt=e):(this.imageObj=e,this.imageObjAlt=t)}switchImages(e){const t=e&&!this.selected||!e&&this.selected;if(this.selected=e,this.imageObjAlt!==void 0&&t){const r=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=r}}_getImagePadding(){const e={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){const t=this.options.imagePadding;typeof t=="object"?(e.top=t.top,e.right=t.right,e.bottom=t.bottom,e.left=t.left):(e.top=t,e.right=t,e.bottom=t,e.left=t)}return e}_resizeImage(){let e,t;if(this.options.shapeProperties.useImageSize===!1){let r=1,i=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?r=this.imageObj.width/this.imageObj.height:i=this.imageObj.height/this.imageObj.width),e=this.options.size*2*r,t=this.options.size*2*i}else{const r=this._getImagePadding();e=this.imageObj.width+r.left+r.right,t=this.imageObj.height+r.top+r.bottom}this.width=e,this.height=t,this.radius=.5*this.width}_drawRawCircle(e,t,r,i){this.initContextForDraw(e,i),rR(e,t,r,i.size),this.performFill(e,i)}_drawImageAtPosition(e,t){if(this.imageObj.width!=0){e.globalAlpha=t.opacity!==void 0?t.opacity:1,this.enableShadow(e,t);let r=1;this.options.shapeProperties.interpolation===!0&&(r=this.imageObj.width/this.width/this.body.view.scale);const i=this._getImagePadding(),o=this.left+i.left,s=this.top+i.top,a=this.width-i.left-i.right,g=this.height-i.top-i.bottom;this.imageObj.drawImageAtPosition(e,r,o,s,a,g),this.disableShadow(e,t)}}_drawImageLabel(e,t,r,i,o){let s=0;if(this.height!==void 0){s=this.height*.5;const g=this.labelModule.getTextSize(e,i,o);g.lineCount>=1&&(s+=g.height/2)}const a=r+s;this.options.label&&(this.labelOffset=s),this.labelModule.draw(e,t,a,i,o,"hanging")}}let Kwe=class extends RR{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r),o=Math.max(i.width+this.margin.right+this.margin.left,i.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this._drawRawCircle(e,t,r,s),this.updateBoundingBox(t,r),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,r,i,o)}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size}distanceToBorder(e){return e&&this.resize(e),this.width*.5}};class Ywe extends RR{constructor(e,t,r,i,o){super(e,t,r),this.setImages(i,o)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const o=this.options.size*2;this.width=o,this.height=o,this.radius=.5*this.width;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,o,s){this.switchImages(i),this.resize();let a=t,g=r;this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this._drawRawCircle(e,a,g,s),e.save(),e.clip(),this._drawImageAtPosition(e,s),e.restore(),this._drawImageLabel(e,a,g,i,o),this.updateBoundingBox(t,r)}updateBoundingBox(e,t){this.options.shapeProperties.coordinateOrigin==="top-left"?(this.boundingBox.top=t,this.boundingBox.left=e,this.boundingBox.right=e+this.options.size*2,this.boundingBox.bottom=t+this.options.size*2):(this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}distanceToBorder(e){return e&&this.resize(e),this.width*.5}}class On extends $o{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{size:this.options.size};if(this.needsRefresh(t,r)){var o,s;this.labelModule.getTextSize(e,t,r);const a=2*i.size;this.width=(o=this.customSizeWidth)!==null&&o!==void 0?o:a,this.height=(s=this.customSizeHeight)!==null&&s!==void 0?s:a,this.radius=.5*this.width}}_drawShape(e,t,r,i,o,s,a,g){return this.resize(e,s,a,g),this.left=i-this.width/2,this.top=o-this.height/2,this.initContextForDraw(e,g),lve(t)(e,i,o,g.size),this.performFill(e,g),this.options.icon!==void 0&&this.options.icon.code!==void 0&&(e.font=(s?"bold ":"")+this.height/2+"px "+(this.options.icon.face||"FontAwesome"),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",e.fillText(this.options.icon.code,i,o)),{drawExternalLabel:()=>{if(this.options.label!==void 0){this.labelModule.calculateLabelSize(e,s,a,i,o,"hanging");const A=o+.5*this.height+.5*this.labelModule.size.height;this.labelModule.draw(e,i,A,s,a,"hanging")}this.updateBoundingBox(i,o)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.size,this.boundingBox.left=e-this.options.size,this.boundingBox.right=e+this.options.size,this.boundingBox.bottom=t+this.options.size,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}function W9(n,e){var t=Xe(n);if(hn){var r=hn(n);e&&(r=Qt(r).call(r,function(i){return _n(n,i).enumerable})),t.push.apply(t,r)}return t}function Xwe(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?xe(t=W9(Object(i),!0)).call(t,function(o){ci(n,o,i[o])}):cn?nC(n,cn(i)):xe(r=W9(Object(i))).call(r,function(o){oC(n,o,_n(i,o))})}return n}class Qwe extends On{constructor(e,t,r,i){super(e,t,r,i),this.ctxRenderer=i}draw(e,t,r,i,o,s){this.resize(e,i,o,s),this.left=t-this.width/2,this.top=r-this.height/2,e.save();const a=this.ctxRenderer({ctx:e,id:this.options.id,x:t,y:r,state:{selected:i,hover:o},style:Xwe({},s),label:this.options.label});if(a.drawNode!=null&&a.drawNode(),e.restore(),a.drawExternalLabel){const g=a.drawExternalLabel;a.drawExternalLabel=()=>{e.save(),g(),e.restore()}}return a.nodeDimensions&&(this.customSizeWidth=a.nodeDimensions.width,this.customSizeHeight=a.nodeDimensions.height),a}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class Jwe extends $o{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){if(this.needsRefresh(t,r)){const o=this.getDimensionsFromLabel(e,t,r).width+this.margin.right+this.margin.left;this.width=o,this.height=o,this.radius=this.width/2}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this.initContextForDraw(e,s),iee(e,t-this.width/2,r-this.height/2,this.width,this.height),this.performFill(e,s),this.updateBoundingBox(t,r,e,i,o),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}let eEe=class extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"diamond",4,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};class tEe extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"circle",2,t,r,i,o,s)}distanceToBorder(e){return e&&this.resize(e),this.options.size}}class V9 extends $o{constructor(e,t,r){super(e,t,r)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.needsRefresh(t,r)){const i=this.getDimensionsFromLabel(e,t,r);this.height=i.height*2,this.width=i.width+i.height,this.radius=.5*this.width}}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width*.5,this.top=r-this.height*.5,this.initContextForDraw(e,s),OO(e,this.left,this.top,this.width,this.height),this.performFill(e,s),this.updateBoundingBox(t,r,e,i,o),this.labelModule.draw(e,t,r,i,o)}distanceToBorder(e,t){e&&this.resize(e);const r=this.width*.5,i=this.height*.5,o=Math.sin(t)*r,s=Math.cos(t)*i;return r*i/Math.sqrt(o*o+s*s)}}class rEe extends $o{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,o,s){return this.resize(e,i,o),this.options.icon.size=this.options.icon.size||50,this.left=t-this.width/2,this.top=r-this.height/2,this._icon(e,t,r,i,o,s),{drawExternalLabel:()=>{this.options.label!==void 0&&this.labelModule.draw(e,this.left+this.iconSize.width/2+this.margin.left,r+this.height/2+5,i),this.updateBoundingBox(t,r)}}}updateBoundingBox(e,t){this.boundingBox.top=t-this.options.icon.size*.5,this.boundingBox.left=e-this.options.icon.size*.5,this.boundingBox.right=e+this.options.icon.size*.5,this.boundingBox.bottom=t+this.options.icon.size*.5,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5))}_icon(e,t,r,i,o,s){const a=Number(this.options.icon.size);this.options.icon.code!==void 0?(e.font=[this.options.icon.weight!=null?this.options.icon.weight:i?"bold":"",(this.options.icon.weight!=null&&i?5:0)+a+"px",this.options.icon.face].join(" "),e.fillStyle=this.options.icon.color||"black",e.textAlign="center",e.textBaseline="middle",this.enableShadow(e,s),e.fillText(this.options.icon.code,t,r),this.disableShadow(e,s)):console.error("When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.")}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}let iEe=class extends RR{constructor(e,t,r,i,o){super(e,t,r),this.setImages(i,o)}resize(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.selected,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.hover;if(this.imageObj.src===void 0||this.imageObj.width===void 0||this.imageObj.height===void 0){const o=this.options.size*2;this.width=o,this.height=o;return}this.needsRefresh(t,r)&&this._resizeImage()}draw(e,t,r,i,o,s){e.save(),this.switchImages(i),this.resize();let a=t,g=r;if(this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=t,this.top=r,a+=this.width/2,g+=this.height/2):(this.left=t-this.width/2,this.top=r-this.height/2),this.options.shapeProperties.useBorderWithImage===!0){const A=this.options.borderWidth,I=this.options.borderWidthSelected||2*this.options.borderWidth,C=(i?I:A)/this.body.view.scale;e.lineWidth=Math.min(this.width,C),e.beginPath();let l=i?this.options.color.highlight.border:o?this.options.color.hover.border:this.options.color.border,d=i?this.options.color.highlight.background:o?this.options.color.hover.background:this.options.color.background;s.opacity!==void 0&&(l=cr(l,s.opacity),d=cr(d,s.opacity)),e.strokeStyle=l,e.fillStyle=d,e.rect(this.left-.5*e.lineWidth,this.top-.5*e.lineWidth,this.width+e.lineWidth,this.height+e.lineWidth),tA(e).call(e),this.performStroke(e,s),e.closePath()}this._drawImageAtPosition(e,s),this._drawImageLabel(e,a,g,i,o),this.updateBoundingBox(t,r),e.restore()}updateBoundingBox(e,t){this.resize(),this.options.shapeProperties.coordinateOrigin==="top-left"?(this.left=e,this.top=t):(this.left=e-this.width/2,this.top=t-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,this.options.label!==void 0&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};class nEe extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"square",2,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class oEe extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"hexagon",4,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class sEe extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"star",4,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}class aEe extends $o{constructor(e,t,r){super(e,t,r),this._setMargins(r)}resize(e,t,r){this.needsRefresh(t,r)&&(this.textSize=this.labelModule.getTextSize(e,t,r),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}draw(e,t,r,i,o,s){this.resize(e,i,o),this.left=t-this.width/2,this.top=r-this.height/2,this.enableShadow(e,s),this.labelModule.draw(e,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,i,o),this.disableShadow(e,s),this.updateBoundingBox(t,r,e,i,o)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}let gEe=class extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"triangle",3,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}};class AEe extends On{constructor(e,t,r){super(e,t,r)}draw(e,t,r,i,o,s){return this._drawShape(e,"triangleDown",3,t,r,i,o,s)}distanceToBorder(e,t){return this._distanceToBorder(e,t)}}function Z9(n,e){var t=Xe(n);if(hn){var r=hn(n);e&&(r=Qt(r).call(r,function(i){return _n(n,i).enumerable})),t.push.apply(t,r)}return t}function H9(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?xe(t=Z9(Object(i),!0)).call(t,function(o){ci(n,o,i[o])}):cn?nC(n,cn(i)):xe(r=Z9(Object(i))).call(r,function(o){oC(n,o,_n(i,o))})}return n}class je{constructor(e,t,r,i,o,s){this.options=Cn(o),this.globalOptions=o,this.defaultOptions=s,this.body=t,this.edges=[],this.id=void 0,this.imagelist=r,this.grouplist=i,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new gs(this.body,this.options,!1),this.setOptions(e)}attachEdge(e){var t;Oe(t=this.edges).call(t,e)===-1&&this.edges.push(e)}detachEdge(e){var t;const r=Oe(t=this.edges).call(t,e);if(r!=-1){var i;Ei(i=this.edges).call(i,r,1)}}setOptions(e){const t=this.options.shape;if(!e)return;if(typeof e.color<"u"&&(this._localColor=e.color),e.id!==void 0&&(this.id=e.id),this.id===void 0)throw new Error("Node must have an id");je.checkMass(e,this.id),e.x!==void 0&&(e.x===null?(this.x=void 0,this.predefinedPosition=!1):(this.x=Br(e.x),this.predefinedPosition=!0)),e.y!==void 0&&(e.y===null?(this.y=void 0,this.predefinedPosition=!1):(this.y=Br(e.y),this.predefinedPosition=!0)),e.size!==void 0&&(this.baseSize=e.size),e.value!==void 0&&(e.value=hte(e.value)),je.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);const r=[e,this.options,this.defaultOptions];return this.chooser=TR("node",r),this._load_images(),this.updateLabelModule(e),e.opacity!==void 0&&je.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(t),e.hidden!==void 0||e.physics!==void 0}_load_images(){if((this.options.shape==="circularImage"||this.options.shape==="image")&&this.options.image===void 0)throw new Error("Option image must be defined for node type '"+this.options.shape+"'");if(this.options.image!==void 0){if(this.imagelist===void 0)throw new Error("Internal Error: No images provided");if(typeof this.options.image=="string")this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(this.options.image.unselected===void 0)throw new Error("No unselected image provided");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),this.options.image.selected!==void 0?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}static checkOpacity(e){return 0<=e&&e<=1}static checkCoordinateOrigin(e){return e===void 0||e==="center"||e==="top-left"}static updateGroupOptions(e,t,r){var i;if(r===void 0)return;const o=e.group;if(t!==void 0&&t.group!==void 0&&o!==t.group)throw new Error("updateGroupOptions: group values in options don't match.");if(!(typeof o=="number"||typeof o=="string"&&o!=""))return;const a=r.get(o);a.opacity!==void 0&&t.opacity===void 0&&(je.checkOpacity(a.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+a.opacity),a.opacity=void 0));const g=Qt(i=pwe(t)).call(i,A=>t[A]!=null);g.push("font"),tI(g,e,a),e.color=$O(e.color)}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=arguments.length>4?arguments[4]:void 0;if(tI(["color","fixed","shadow"],e,t,r),je.checkMass(t),e.opacity!==void 0&&(je.checkOpacity(e.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity),e.opacity=void 0)),t.opacity!==void 0&&(je.checkOpacity(t.opacity)||(console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+t.opacity),t.opacity=void 0)),t.shapeProperties&&!je.checkCoordinateOrigin(t.shapeProperties.coordinateOrigin)&&console.error("Invalid option for node coordinateOrigin, found: "+t.shapeProperties.coordinateOrigin),ur(e,t,"shadow",i),t.color!==void 0&&t.color!==null){const a=$O(t.color);Yee(e.color,a)}else r===!0&&t.color===null&&(e.color=Cn(i.color));t.fixed!==void 0&&t.fixed!==null&&(typeof t.fixed=="boolean"?(e.fixed.x=t.fixed,e.fixed.y=t.fixed):(t.fixed.x!==void 0&&typeof t.fixed.x=="boolean"&&(e.fixed.x=t.fixed.x),t.fixed.y!==void 0&&typeof t.fixed.y=="boolean"&&(e.fixed.y=t.fixed.y))),r===!0&&t.font===null&&(e.font=Cn(i.font)),je.updateGroupOptions(e,t,o),t.scaling!==void 0&&ur(e.scaling,t.scaling,"label",i.scaling)}getFormattingValues(){const e={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?this.chooser===!0?this.selected?(this.options.borderWidthSelected!=null?e.borderWidth=this.options.borderWidthSelected:e.borderWidth*=2,e.color=this.options.color.highlight.background,e.borderColor=this.options.color.highlight.border,e.shadow=this.options.shadow.enabled):this.hover&&(e.color=this.options.color.hover.background,e.borderColor=this.options.color.hover.border,e.shadow=this.options.shadow.enabled):typeof this.chooser=="function"&&(this.chooser(e,this.options.id,this.selected,this.hover),e.shadow===!1&&(e.shadowColor!==this.options.shadow.color||e.shadowSize!==this.options.shadow.size||e.shadowX!==this.options.shadow.x||e.shadowY!==this.options.shadow.y)&&(e.shadow=!0)):e.shadow=this.options.shadow.enabled,this.options.opacity!==void 0){const t=this.options.opacity;e.borderColor=cr(e.borderColor,t),e.color=cr(e.color,t),e.shadowColor=cr(e.shadowColor,t)}return e}updateLabelModule(e){(this.options.label===void 0||this.options.label===null)&&(this.options.label=""),je.updateGroupOptions(this.options,H9(H9({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);const t=this.grouplist.get(this.options.group,!1),r=[e,this.options,t,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,r),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateShape(e){if(e===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case"box":this.shape=new Uwe(this.options,this.body,this.labelModule);break;case"circle":this.shape=new Kwe(this.options,this.body,this.labelModule);break;case"circularImage":this.shape=new Ywe(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"custom":this.shape=new Qwe(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case"database":this.shape=new Jwe(this.options,this.body,this.labelModule);break;case"diamond":this.shape=new eEe(this.options,this.body,this.labelModule);break;case"dot":this.shape=new tEe(this.options,this.body,this.labelModule);break;case"ellipse":this.shape=new V9(this.options,this.body,this.labelModule);break;case"icon":this.shape=new rEe(this.options,this.body,this.labelModule);break;case"image":this.shape=new iEe(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case"square":this.shape=new nEe(this.options,this.body,this.labelModule);break;case"hexagon":this.shape=new oEe(this.options,this.body,this.labelModule);break;case"star":this.shape=new sEe(this.options,this.body,this.labelModule);break;case"text":this.shape=new aEe(this.options,this.body,this.labelModule);break;case"triangle":this.shape=new gEe(this.options,this.body,this.labelModule);break;case"triangleDown":this.shape=new AEe(this.options,this.body,this.labelModule);break;default:this.shape=new V9(this.options,this.body,this.labelModule);break}this.needsRefresh()}select(){this.selected=!0,this.needsRefresh()}unselect(){this.selected=!1,this.needsRefresh()}needsRefresh(){this.shape.refreshNeeded=!0}getTitle(){return this.options.title}distanceToBorder(e,t){return this.shape.distanceToBorder(e,t)}isFixed(){return this.options.fixed.x&&this.options.fixed.y}isSelected(){return this.selected}getValue(){return this.options.value}getLabelSize(){return this.labelModule.size()}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*s}this.options.size=this.options.scaling.min+i*o}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}draw(e){const t=this.getFormattingValues();return this.shape.draw(e,this.x,this.y,this.selected,this.hover,t)||{}}updateBoundingBox(e){this.shape.updateBoundingBox(this.x,this.y,e)}resize(e){const t=this.getFormattingValues();this.shape.resize(e,this.selected,this.hover,t)}getItemsOnPoint(e){const t=[];return this.labelModule.visible()&&FO(this.labelModule.getSize(),e)&&t.push({nodeId:this.id,labelId:0}),FO(this.shape.boundingBox,e)&&t.push({nodeId:this.id}),t}isOverlappingWith(e){return this.shape.left<e.right&&this.shape.left+this.shape.width>e.left&&this.shape.top<e.bottom&&this.shape.top+this.shape.height>e.top}isBoundingBoxOverlappingWith(e){return this.shape.boundingBox.left<e.right&&this.shape.boundingBox.right>e.left&&this.shape.boundingBox.top<e.bottom&&this.shape.boundingBox.bottom>e.top}static checkMass(e,t){if(e.mass!==void 0&&e.mass<=0){let r="";t!==void 0&&(r=" in node id: "+t),console.error("%cNegative or zero mass disallowed"+r+", setting mass to 1.",ete),e.mass=1}}}class IEe{constructor(e,t,r,i){var o;if(this.body=e,this.images=t,this.groups=r,this.layoutEngine=i,this.body.functions.createNode=j(o=this.create).call(o,this),this.nodesListeners={add:(s,a)=>{this.add(a.items)},update:(s,a)=>{this.update(a.items,a.data,a.oldData)},remove:(s,a)=>{this.remove(a.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:"#2B7CE9",background:"#97C2FC",highlight:{border:"#2B7CE9",background:"#D2E5FF"},hover:{border:"#2B7CE9",background:"#D2E5FF"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:0,strokeColor:"#ffffff",align:"center",vadjust:0,multi:!1,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"monospace",vadjust:2}},group:void 0,hidden:!1,icon:{face:"FontAwesome",code:void 0,size:50,color:"#2B7CE9"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(s,a,g,A){if(a===s)return .5;{const I=1/(a-s);return Math.max(0,(A-s)*I)}}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},shape:"ellipse",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:"center"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative";this.options=Cn(this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e,t;this.body.emitter.on("refreshNodes",j(e=this.refresh).call(e,this)),this.body.emitter.on("refresh",j(t=this.refresh).call(t,this)),this.body.emitter.on("destroy",()=>{ue(this.nodesListeners,(r,i)=>{this.body.data.nodes&&this.body.data.nodes.off(i,r)}),delete this.body.functions.createNode,delete this.nodesListeners.add,delete this.nodesListeners.update,delete this.nodesListeners.remove,delete this.nodesListeners})}setOptions(e){if(e!==void 0){if(je.parseOptions(this.options,e),e.opacity!==void 0&&(qO(e.opacity)||!kn(e.opacity)||e.opacity<0||e.opacity>1?console.error("Invalid option for node opacity. Value must be between 0 and 1, found: "+e.opacity):this.options.opacity=e.opacity),e.shape!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].updateShape();if(typeof e.font<"u"||typeof e.widthConstraint<"u"||typeof e.heightConstraint<"u")for(const t of Xe(this.body.nodes))this.body.nodes[t].updateLabelModule(),this.body.nodes[t].needsRefresh();if(e.size!==void 0)for(const t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&this.body.nodes[t].needsRefresh();(e.hidden!==void 0||e.physics!==void 0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.nodes;if(UJ("id",e))this.body.data.nodes=e;else if(Qe(e))this.body.data.nodes=new YA,this.body.data.nodes.add(e);else if(!e)this.body.data.nodes=new YA;else throw new TypeError("Array or DataSet expected");if(r&&ue(this.nodesListeners,function(i,o){r.off(o,i)}),this.body.nodes={},this.body.data.nodes){const i=this;ue(this.nodesListeners,function(s,a){i.body.data.nodes.on(a,s)});const o=this.body.data.nodes.getIds();this.add(o,!0)}t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r;const i=[];for(let o=0;o<e.length;o++){r=e[o];const s=this.body.data.nodes.get(r),a=this.create(s);i.push(a),this.body.nodes[r]=a}this.layoutEngine.positionInitially(i),t===!1&&this.body.emitter.emit("_dataChanged")}update(e,t,r){const i=this.body.nodes;let o=!1;for(let s=0;s<e.length;s++){const a=e[s];let g=i[a];const A=t[s];g!==void 0?g.setOptions(A)&&(o=!0):(o=!0,g=this.create(A),i[a]=g)}!o&&r!==void 0&&(o=v0e(t).call(t,function(s,a){const g=r[a];return g&&g.level!==s.level})),o===!0?this.body.emitter.emit("_dataChanged"):this.body.emitter.emit("_dataUpdated")}remove(e){const t=this.body.nodes;for(let r=0;r<e.length;r++){const i=e[r];delete t[i]}this.body.emitter.emit("_dataChanged")}create(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:je;return new t(e,this.body,this.images,this.groups,this.options,this.defaultOptions)}refresh(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;ue(this.body.nodes,(t,r)=>{const i=this.body.data.nodes.get(r);i!==void 0&&(e===!0&&t.setOptions({x:null,y:null}),t.setOptions({fixed:!1}),t.setOptions(i))})}getPositions(e){const t={};if(e!==void 0){if(Qe(e)===!0){for(let r=0;r<e.length;r++)if(this.body.nodes[e[r]]!==void 0){const i=this.body.nodes[e[r]];t[e[r]]={x:Math.round(i.x),y:Math.round(i.y)}}}else if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];t[e]={x:Math.round(r.x),y:Math.round(r.y)}}}else for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];t[this.body.nodeIndices[r]]={x:Math.round(i.x),y:Math.round(i.y)}}return t}getPosition(e){if(e==null)throw new TypeError("No id was specified for getPosition method.");if(this.body.nodes[e]==null)throw new ReferenceError("NodeId provided for getPosition does not exist. Provided: ".concat(e));return{x:Math.round(this.body.nodes[e].x),y:Math.round(this.body.nodes[e].y)}}storePositions(){const e=[],t=this.body.data.nodes.getDataSet();for(const r of t.get()){const i=r.id,o=this.body.nodes[i],s=Math.round(o.x),a=Math.round(o.y);(r.x!==s||r.y!==a)&&e.push({id:i,x:s,y:a})}t.update(e)}getBoundingBox(e){if(this.body.nodes[e]!==void 0)return this.body.nodes[e].shape.boundingBox}getConnectedNodes(e,t){const r=[];if(this.body.nodes[e]!==void 0){const i=this.body.nodes[e],o={};for(let s=0;s<i.edges.length;s++){const a=i.edges[s];t!=="to"&&a.toId==i.id?o[a.fromId]===void 0&&(r.push(a.fromId),o[a.fromId]=!0):t!=="from"&&a.fromId==i.id&&o[a.toId]===void 0&&(r.push(a.toId),o[a.toId]=!0)}}return r}getConnectedEdges(e){const t=[];if(this.body.nodes[e]!==void 0){const r=this.body.nodes[e];for(let i=0;i<r.edges.length;i++)t.push(r.edges[i].id)}else console.error("NodeId provided for getConnectedEdges does not exist. Provided: ",e);return t}moveNode(e,t,r){this.body.nodes[e]!==void 0?(this.body.nodes[e].x=Number(t),this.body.nodes[e].y=Number(r),Si(()=>{this.body.emitter.emit("startSimulation")},0)):console.error("Node id supplied to moveNode does not exist. Provided: ",e)}}var U9={},K9;function CEe(){if(K9)return U9;K9=1;var n=te(),e=Math.hypot,t=Math.abs,r=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;return n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(s,a){for(var g=0,A=0,I=arguments.length,C=0,l,d;A<I;)l=t(arguments[A++]),C<l?(d=C/l,g=g*d*d+1,C=l):l>0?(d=l/C,g+=d*d):g+=l;return C===1/0?1/0:C*r(g)}}),U9}var a_,Y9;function lEe(){if(Y9)return a_;Y9=1,CEe();var n=Re();return a_=n.Math.hypot,a_}var g_,X9;function dEe(){if(X9)return g_;X9=1;var n=lEe();return g_=n,g_}var A_,Q9;function uEe(){return Q9||(Q9=1,A_=dEe()),A_}var hEe=uEe(),cEe=se(hEe);class it{static transform(e,t){Qe(e)||(e=[e]);const r=t.point.x,i=t.point.y,o=t.angle,s=t.length;for(let a=0;a<e.length;++a){const g=e[a],A=g.x*Math.cos(o)-g.y*Math.sin(o),I=g.x*Math.sin(o)+g.y*Math.cos(o);g.x=r+s*A,g.y=i+s*I}}static drawPath(e,t){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let r=1;r<t.length;++r)e.lineTo(t[r].x,t[r].y);e.closePath()}}let fEe=class extends it{static draw(e,t){if(t.image){e.save(),e.translate(t.point.x,t.point.y),e.rotate(Math.PI/2+t.angle);const r=t.imageWidth!=null?t.imageWidth:t.image.width,i=t.imageHeight!=null?t.imageHeight:t.image.height;t.image.drawImageAtPosition(e,1,-r/2,0,r,i),e.restore()}return!1}};class pEe extends it{static draw(e,t){const r=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return it.transform(r,t),it.drawPath(e,r),!0}}class vEe{static draw(e,t){const r=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return it.transform(r,t),it.drawPath(e,r),!0}}class mEe{static draw(e,t){const r={x:-.4,y:0};it.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,o=t.angle-i/2,s=t.angle+i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,o,s,!1),e.stroke(),!0}}class yEe{static draw(e,t){const r={x:-.3,y:0};it.transform(r,t),e.strokeStyle=e.fillStyle,e.fillStyle="rgba(0, 0, 0, 0)";const i=Math.PI,o=t.angle+i/2,s=t.angle+3*i/2;return e.beginPath(),e.arc(r.x,r.y,t.length*.4,o,s,!1),e.stroke(),!0}}class bEe{static draw(e,t){const r=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return it.transform(r,t),it.drawPath(e,r),!0}}class wEe{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return it.transform(r,t),it.drawPath(e,r),!0}}class EEe{static draw(e,t){const r={x:-.4,y:0};return it.transform(r,t),rR(e,r.x,r.y,t.length*.4),!0}}class SEe{static draw(e,t){const r=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return it.transform(r,t),it.drawPath(e,r),!0}}class _Ee{static draw(e,t){const r=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return it.transform(r,t),it.drawPath(e,r),!0}}class OEe{static draw(e,t){const r=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return it.transform(r,t),it.drawPath(e,r),!0}}class TEe{static draw(e,t){const r=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return it.transform(r,t),it.drawPath(e,r),!0}}class pte{static draw(e,t){let r;switch(t.type&&(r=t.type.toLowerCase()),r){case"image":return fEe.draw(e,t);case"circle":return EEe.draw(e,t);case"box":return _Ee.draw(e,t);case"crow":return vEe.draw(e,t);case"curve":return mEe.draw(e,t);case"diamond":return OEe.draw(e,t);case"inv_curve":return yEe.draw(e,t);case"triangle":return bEe.draw(e,t);case"inv_triangle":return wEe.draw(e,t);case"bar":return SEe.draw(e,t);case"vee":return TEe.draw(e,t);case"arrow":default:return pEe.draw(e,t)}}}function J9(n,e){var t=Xe(n);if(hn){var r=hn(n);e&&(r=Qt(r).call(r,function(i){return _n(n,i).enumerable})),t.push.apply(t,r)}return t}function e6(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?xe(t=J9(Object(i),!0)).call(t,function(o){ci(n,o,i[o])}):cn?nC(n,cn(i)):xe(r=J9(Object(i))).call(r,function(o){oC(n,o,_n(i,o))})}return n}class vte{constructor(e,t,r){ci(this,"color",{}),ci(this,"colorDirty",!0),ci(this,"hoverWidth",1.5),ci(this,"selectionWidth",2),this._body=t,this._labelModule=r,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}cleanup(){return!1}setOptions(e){this.options=e,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}drawLine(e,t,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.getViaNode();e.strokeStyle=this.getColor(e,t),e.lineWidth=t.width,t.dashes!==!1?this._drawDashedLine(e,t,o):this._drawLine(e,t,o)}_drawLine(e,t,r,i,o){if(this.from!=this.to)this._line(e,t,r,i,o);else{const[s,a,g]=this._getCircleData(e);this._circle(e,t,s,a,g)}}_drawDashedLine(e,t,r,i,o){e.lineCap="round";const s=Qe(t.dashes)?t.dashes:[5,5];if(e.setLineDash!==void 0){if(e.save(),e.setLineDash(s),e.lineDashOffset=0,this.from!=this.to)this._line(e,t,r);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}e.setLineDash([0]),e.lineDashOffset=0,e.restore()}else{if(this.from!=this.to)nee(e,this.from.x,this.from.y,this.to.x,this.to.y,s);else{const[a,g,A]=this._getCircleData(e);this._circle(e,t,a,g,A)}this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}}findBorderPosition(e,t,r){return this.from!=this.to?this._findBorderPosition(e,t,r):this._findBorderPositionCircle(e,t,r)}findBorderPositions(e){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,e),to:this._findBorderPosition(this.to,e)};{var t;const[r,i]=Kr(t=this._getCircleData(e)).call(t,0,2);return{from:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:.6,high:.8,direction:1})}}}_getCircleData(e){const t=this.options.selfReference.size;e!==void 0&&this.from.shape.width===void 0&&this.from.shape.resize(e);const r=cte(e,this.options.selfReference.angle,t,this.from);return[r.x,r.y,t]}_pointOnCircle(e,t,r,i){const o=i*2*Math.PI;return{x:e+r*Math.cos(o),y:t-r*Math.sin(o)}}_findBorderPositionCircle(e,t,r){const i=r.x,o=r.y;let s=r.low,a=r.high;const g=r.direction,A=10,I=this.options.selfReference.size,C=.05;let l,d=(s+a)*.5,u=0;this.options.arrowStrikethrough===!0&&(g===-1?u=this.options.endPointOffset.from:g===1&&(u=this.options.endPointOffset.to));let h=0;do{d=(s+a)*.5,l=this._pointOnCircle(i,o,I,d);const v=Math.atan2(e.y-l.y,e.x-l.x),f=e.distanceToBorder(t,v)+u,c=Math.sqrt(Math.pow(l.x-e.x,2)+Math.pow(l.y-e.y,2)),b=f-c;if(Math.abs(b)<C)break;b>0?g>0?s=d:a=d:g>0?a=d:s=d,++h}while(s<=a&&h<A);return e6(e6({},l),{},{t:d})}getLineWidth(e,t){return e===!0?Math.max(this.selectionWidth,.3/this._body.view.scale):t===!0?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}getColor(e,t){if(t.inheritsColor!==!1){if(t.inheritsColor==="both"&&this.from.id!==this.to.id){const r=e.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y);let i=this.from.options.color.highlight.border,o=this.to.options.color.highlight.border;return this.from.selected===!1&&this.to.selected===!1?(i=cr(this.from.options.color.border,t.opacity),o=cr(this.to.options.color.border,t.opacity)):this.from.selected===!0&&this.to.selected===!1?o=this.to.options.color.border:this.from.selected===!1&&this.to.selected===!0&&(i=this.from.options.color.border),r.addColorStop(0,i),r.addColorStop(1,o),r}return t.inheritsColor==="to"?cr(this.to.options.color.border,t.opacity):cr(this.from.options.color.border,t.opacity)}else return cr(t.color,t.opacity)}_circle(e,t,r,i,o){this.enableShadow(e,t);let s=0,a=Math.PI*2;if(!this.options.selfReference.renderBehindTheNode){const g=this.options.selfReference.angle,A=this.options.selfReference.angle+Math.PI,I=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:-1}),C=this._findBorderPositionCircle(this.from,e,{x:r,y:i,low:g,high:A,direction:1});s=Math.atan2(I.y-i,I.x-r),a=Math.atan2(C.y-i,C.x-r)}e.beginPath(),e.arc(r,i,o,s,a,!1),e.stroke(),this.disableShadow(e,t)}getDistanceToEdge(e,t,r,i,o,s){if(this.from!=this.to)return this._getDistanceToEdge(e,t,r,i,o,s);{const[a,g,A]=this._getCircleData(void 0),I=a-o,C=g-s;return Math.abs(Math.sqrt(I*I+C*C)-A)}}_getDistanceToLine(e,t,r,i,o,s){const a=r-e,g=i-t,A=a*a+g*g;let I=((o-e)*a+(s-t)*g)/A;I>1?I=1:I<0&&(I=0);const C=e+I*a,l=t+I*g,d=C-o,u=l-s;return Math.sqrt(d*d+u*u)}getArrowData(e,t,r,i,o,s){let a,g,A,I,C,l,d;const u=s.width;t==="from"?(A=this.from,I=this.to,C=s.fromArrowScale<0,l=Math.abs(s.fromArrowScale),d=s.fromArrowType):t==="to"?(A=this.to,I=this.from,C=s.toArrowScale<0,l=Math.abs(s.toArrowScale),d=s.toArrowType):(A=this.to,I=this.from,C=s.middleArrowScale<0,l=Math.abs(s.middleArrowScale),d=s.middleArrowType);const h=15*l+3*u;if(A!=I){const b=cEe(A.x-I.x,A.y-I.y),p=h/b;if(t!=="middle")if(this.options.smooth.enabled===!0){const y=this._findBorderPosition(A,e,{via:r}),E=this.getPoint(y.t+p*(t==="from"?1:-1),r);a=Math.atan2(y.y-E.y,y.x-E.x),g=y}else a=Math.atan2(A.y-I.y,A.x-I.x),g=this._findBorderPosition(A,e);else{const y=(C?-p:p)/2,E=this.getPoint(.5+y,r),S=this.getPoint(.5-y,r);a=Math.atan2(E.y-S.y,E.x-S.x),g=this.getPoint(.5,r)}}else{const[b,p,y]=this._getCircleData(e);if(t==="from"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:-1});a=m.t*-2*Math.PI+1.5*Math.PI+.1*Math.PI,g=m}else if(t==="to"){const E=this.options.selfReference.angle,S=this.options.selfReference.angle+Math.PI,m=this._findBorderPositionCircle(this.from,e,{x:b,y:p,low:E,high:S,direction:1});a=m.t*-2*Math.PI+1.5*Math.PI-1.1*Math.PI,g=m}else{const E=this.options.selfReference.angle/(2*Math.PI);g=this._pointOnCircle(b,p,y,E),a=E*-2*Math.PI+1.5*Math.PI+.1*Math.PI}}const v=g.x-h*.9*Math.cos(a),f=g.y-h*.9*Math.sin(a);return{point:g,core:{x:v,y:f},angle:a,length:h,type:d}}drawArrowHead(e,t,r,i,o){e.strokeStyle=this.getColor(e,t),e.fillStyle=e.strokeStyle,e.lineWidth=t.width,pte.draw(e,o)&&(this.enableShadow(e,t),tA(e).call(e),this.disableShadow(e,t))}enableShadow(e,t){t.shadow===!0&&(e.shadowColor=t.shadowColor,e.shadowBlur=t.shadowSize,e.shadowOffsetX=t.shadowX,e.shadowOffsetY=t.shadowY)}disableShadow(e,t){t.shadow===!0&&(e.shadowColor="rgba(0,0,0,0)",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}drawBackground(e,t){if(t.background!==!1){const r={strokeStyle:e.strokeStyle,lineWidth:e.lineWidth,dashes:e.dashes};e.strokeStyle=t.backgroundColor,e.lineWidth=t.backgroundSize,this.setStrokeDashed(e,t.backgroundDashes),e.stroke(),e.strokeStyle=r.strokeStyle,e.lineWidth=r.lineWidth,e.dashes=r.dashes,this.setStrokeDashed(e,t.dashes)}}setStrokeDashed(e,t){if(t!==!1)if(e.setLineDash!==void 0){const r=Qe(t)?t:[5,5];e.setLineDash(r)}else console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.");else e.setLineDash!==void 0?e.setLineDash([]):console.warn("setLineDash is not supported in this browser. The dashed stroke cannot be used.")}}function t6(n,e){var t=Xe(n);if(hn){var r=hn(n);e&&(r=Qt(r).call(r,function(i){return _n(n,i).enumerable})),t.push.apply(t,r)}return t}function r6(n){for(var e=1;e<arguments.length;e++){var t,r,i=arguments[e]!=null?arguments[e]:{};e%2?xe(t=t6(Object(i),!0)).call(t,function(o){ci(n,o,i[o])}):cn?nC(n,cn(i)):xe(r=t6(Object(i))).call(r,function(o){oC(n,o,_n(i,o))})}return n}class PR extends vte{constructor(e,t,r){super(e,t,r)}_findBorderPositionBezier(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this._getViaCoordinates();const i=10,o=.2;let s=!1,a=1,g=0,A=this.to,I,C,l=this.options.endPointOffset?this.options.endPointOffset.to:0;e.id===this.from.id&&(A=this.from,s=!0,l=this.options.endPointOffset?this.options.endPointOffset.from:0),this.options.arrowStrikethrough===!1&&(l=0);let d=0;do{C=(g+a)*.5,I=this.getPoint(C,r);const u=Math.atan2(A.y-I.y,A.x-I.x),h=A.distanceToBorder(t,u)+l,v=Math.sqrt(Math.pow(I.x-A.x,2)+Math.pow(I.y-A.y,2)),f=h-v;if(Math.abs(f)<o)break;f<0?s===!1?g=C:a=C:s===!1?a=C:g=C,++d}while(g<=a&&d<i);return r6(r6({},I),{},{t:C})}_getDistanceToBezierEdge(e,t,r,i,o,s,a){let g=1e9,A,I,C,l,d,u=e,h=t;for(I=1;I<10;I++)C=.1*I,l=Math.pow(1-C,2)*e+2*C*(1-C)*a.x+Math.pow(C,2)*r,d=Math.pow(1-C,2)*t+2*C*(1-C)*a.y+Math.pow(C,2)*i,I>0&&(A=this._getDistanceToLine(u,h,l,d,o,s),g=A<g?A:g),u=l,h=d;return g}_bezierCurve(e,t,r,i){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),r!=null&&r.x!=null?i!=null&&i.x!=null?e.bezierCurveTo(r.x,r.y,i.x,i.y,this.toPoint.x,this.toPoint.y):e.quadraticCurveTo(r.x,r.y,this.toPoint.x,this.toPoint.y):e.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(e,t),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){return this._getViaCoordinates()}}class i6 extends PR{constructor(e,t,r){super(e,t,r),ci(this,"via",this.via),this._boundFunction=()=>{this.positionBezierNode()},this._body.emitter.on("_repositionBezierNodes",this._boundFunction)}setOptions(e){super.setOptions(e);let t=!1;this.options.physics!==e.physics&&(t=!0),this.options=e,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),t===!0&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}connect(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.from===void 0||this.to===void 0||this.options.physics===!1?this.via.setOptions({physics:!1}):this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}cleanup(){return this._body.emitter.off("_repositionBezierNodes",this._boundFunction),this.via!==void 0?(delete this._body.nodes[this.via.id],this.via=void 0,!0):!1}setupSupportNode(){if(this.via===void 0){const e="edgeId:"+this.id,t=this._body.functions.createNode({id:e,shape:"circle",physics:!0,hidden:!0});this._body.nodes[e]=t,this.via=t,this.via.parentEdgeId=this.id,this.positionBezierNode()}}positionBezierNode(){this.via!==void 0&&this.from!==void 0&&this.to!==void 0?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):this.via!==void 0&&(this.via.x=0,this.via.y=0)}_line(e,t,r){this._bezierCurve(e,t,r)}_getViaCoordinates(){return this.via}getViaNode(){return this.via}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.via;if(this.from===this.to){const[r,i,o]=this._getCircleData(),s=2*Math.PI*(1-e);return{x:r+o*Math.sin(s),y:i+o-o*(1-Math.cos(s))}}else return{x:Math.pow(1-e,2)*this.fromPoint.x+2*e*(1-e)*t.x+Math.pow(e,2)*this.toPoint.x,y:Math.pow(1-e,2)*this.fromPoint.y+2*e*(1-e)*t.y+Math.pow(e,2)*this.toPoint.y}}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t,this.via)}_getDistanceToEdge(e,t,r,i,o,s){return this._getDistanceToBezierEdge(e,t,r,i,o,s,this.via)}}class n6 extends PR{constructor(e,t,r){super(e,t,r)}_line(e,t,r){this._bezierCurve(e,t,r)}getViaNode(){return this._getViaCoordinates()}_getViaCoordinates(){const e=this.options.smooth.roundness,t=this.options.smooth.type;let r=Math.abs(this.from.x-this.to.x),i=Math.abs(this.from.y-this.to.y);if(t==="discrete"||t==="diagonalCross"){let o,s;r<=i?o=s=e*i:o=s=e*r,this.from.x>this.to.x&&(o=-o),this.from.y>=this.to.y&&(s=-s);let a=this.from.x+o,g=this.from.y+s;return t==="discrete"&&(r<=i?a=r<e*i?this.from.x:a:g=i<e*r?this.from.y:g),{x:a,y:g}}else if(t==="straightCross"){let o=(1-e)*r,s=(1-e)*i;return r<=i?(o=0,this.from.y<this.to.y&&(s=-s)):(this.from.x<this.to.x&&(o=-o),s=0),{x:this.to.x+o,y:this.to.y+s}}else if(t==="horizontal"){let o=(1-e)*r;return this.from.x<this.to.x&&(o=-o),{x:this.to.x+o,y:this.from.y}}else if(t==="vertical"){let o=(1-e)*i;return this.from.y<this.to.y&&(o=-o),{x:this.from.x,y:this.to.y+o}}else if(t==="curvedCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const o=Math.sqrt(r*r+i*i),s=Math.PI,g=(Math.atan2(i,r)+(e*.5+.5)*s)%(2*s);return{x:this.from.x+(e*.5+.5)*o*Math.sin(g),y:this.from.y+(e*.5+.5)*o*Math.cos(g)}}else if(t==="curvedCCW"){r=this.to.x-this.from.x,i=this.from.y-this.to.y;const o=Math.sqrt(r*r+i*i),s=Math.PI,g=(Math.atan2(i,r)+(-e*.5+.5)*s)%(2*s);return{x:this.from.x+(e*.5+.5)*o*Math.sin(g),y:this.from.y+(e*.5+.5)*o*Math.cos(g)}}else{let o,s;r<=i?o=s=e*i:o=s=e*r,this.from.x>this.to.x&&(o=-o),this.from.y>=this.to.y&&(s=-s);let a=this.from.x+o,g=this.from.y+s;return r<=i?this.from.x<=this.to.x?a=this.to.x<a?this.to.x:a:a=this.to.x>a?this.to.x:a:this.from.y>=this.to.y?g=this.to.y>g?this.to.y:g:g=this.to.y<g?this.to.y:g,{x:a,y:g}}}_findBorderPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this._findBorderPositionBezier(e,t,r.via)}_getDistanceToEdge(e,t,r,i,o,s){let a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(e,t,r,i,o,s,a)}getPoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const r=e,i=Math.pow(1-r,2)*this.fromPoint.x+2*r*(1-r)*t.x+Math.pow(r,2)*this.toPoint.x,o=Math.pow(1-r,2)*this.fromPoint.y+2*r*(1-r)*t.y+Math.pow(r,2)*this.toPoint.y;return{x:i,y:o}}}class REe extends PR{constructor(e,t,r){super(e,t,r)}_getDistanceToBezierEdge2(e,t,r,i,o,s,a,g){let A=1e9,I=e,C=t;const l=[0,0,0,0];for(let d=1;d<10;d++){const u=.1*d;l[0]=Math.pow(1-u,3),l[1]=3*u*Math.pow(1-u,2),l[2]=3*Math.pow(u,2)*(1-u),l[3]=Math.pow(u,3);const h=l[0]*e+l[1]*a.x+l[2]*g.x+l[3]*r,v=l[0]*t+l[1]*a.y+l[2]*g.y+l[3]*i;if(d>0){const f=this._getDistanceToLine(I,C,h,v,o,s);A=f<A?f:A}I=h,C=v}return A}}class o6 extends REe{constructor(e,t,r){super(e,t,r)}_line(e,t,r){const i=r[0],o=r[1];this._bezierCurve(e,t,i,o)}_getViaCoordinates(){const e=this.from.x-this.to.x,t=this.from.y-this.to.y;let r,i,o,s;const a=this.options.smooth.roundness;return(Math.abs(e)>Math.abs(t)||this.options.smooth.forceDirection===!0||this.options.smooth.forceDirection==="horizontal")&&this.options.smooth.forceDirection!=="vertical"?(i=this.from.y,s=this.to.y,r=this.from.x-a*e,o=this.to.x+a*e):(i=this.from.y-a*t,s=this.to.y+a*t,r=this.from.x,o=this.to.x),[{x:r,y:i},{x:o,y:s}]}getViaNode(){return this._getViaCoordinates()}_findBorderPosition(e,t){return this._findBorderPositionBezier(e,t)}_getDistanceToEdge(e,t,r,i,o,s){let[a,g]=arguments.length>6&&arguments[6]!==void 0?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge2(e,t,r,i,o,s,a,g)}getPoint(e){let[t,r]=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._getViaCoordinates();const i=e,o=[Math.pow(1-i,3),3*i*Math.pow(1-i,2),3*Math.pow(i,2)*(1-i),Math.pow(i,3)],s=o[0]*this.fromPoint.x+o[1]*t.x+o[2]*r.x+o[3]*this.toPoint.x,a=o[0]*this.fromPoint.y+o[1]*t.y+o[2]*r.y+o[3]*this.toPoint.y;return{x:s,y:a}}}class s6 extends vte{constructor(e,t,r){super(e,t,r)}_line(e,t){e.beginPath(),e.moveTo(this.fromPoint.x,this.fromPoint.y),e.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(e,t),e.stroke(),this.disableShadow(e,t)}getViaNode(){}getPoint(e){return{x:(1-e)*this.fromPoint.x+e*this.toPoint.x,y:(1-e)*this.fromPoint.y+e*this.toPoint.y}}_findBorderPosition(e,t){let r=this.to,i=this.from;e.id===this.from.id&&(r=this.from,i=this.to);const o=Math.atan2(r.y-i.y,r.x-i.x),s=r.x-i.x,a=r.y-i.y,g=Math.sqrt(s*s+a*a),A=e.distanceToBorder(t,o),I=(g-A)/g;return{x:(1-I)*i.x+I*r.x,y:(1-I)*i.y+I*r.y,t:0}}_getDistanceToEdge(e,t,r,i,o,s){return this._getDistanceToLine(e,t,r,i,o,s)}}class ln{constructor(e,t,r,i,o){if(t===void 0)throw new Error("No body provided");this.options=Cn(i),this.globalOptions=i,this.defaultOptions=o,this.body=t,this.imagelist=r,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new gs(this.body,this.options,!0),this.setOptions(e)}setOptions(e){if(!e)return;let t=typeof e.physics<"u"&&this.options.physics!==e.physics||typeof e.hidden<"u"&&(this.options.hidden||!1)!==(e.hidden||!1)||typeof e.from<"u"&&this.options.from!==e.from||typeof e.to<"u"&&this.options.to!==e.to;ln.parseOptions(this.options,e,!0,this.globalOptions),e.id!==void 0&&(this.id=e.id),e.from!==void 0&&(this.fromId=e.from),e.to!==void 0&&(this.toId=e.to),e.title!==void 0&&(this.title=e.title),e.value!==void 0&&(e.value=hte(e.value));const r=[e,this.options,this.defaultOptions];return this.chooser=TR("edge",r),this.updateLabelModule(e),t=this.updateEdgeType()||t,this._setInteractionWidths(),this.connect(),t}static parseOptions(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(da(["endPointOffset","arrowStrikethrough","id","from","hidden","hoverWidth","labelHighlightBold","length","line","opacity","physics","scaling","selectionWidth","selfReferenceSize","selfReference","to","title","value","width","font","chosen","widthConstraint"],e,t,r),t.endPointOffset!==void 0&&t.endPointOffset.from!==void 0&&(kn(t.endPointOffset.from)?e.endPointOffset.from=t.endPointOffset.from:(e.endPointOffset.from=i.endPointOffset.from!==void 0?i.endPointOffset.from:0,console.error("endPointOffset.from is not a valid number"))),t.endPointOffset!==void 0&&t.endPointOffset.to!==void 0&&(kn(t.endPointOffset.to)?e.endPointOffset.to=t.endPointOffset.to:(e.endPointOffset.to=i.endPointOffset.to!==void 0?i.endPointOffset.to:0,console.error("endPointOffset.to is not a valid number"))),iI(t.label)?e.label=t.label:iI(e.label)||(e.label=void 0),ur(e,t,"smooth",i),ur(e,t,"shadow",i),ur(e,t,"background",i),t.dashes!==void 0&&t.dashes!==null?e.dashes=t.dashes:r===!0&&t.dashes===null&&(e.dashes=Zn(i.dashes)),t.scaling!==void 0&&t.scaling!==null?(t.scaling.min!==void 0&&(e.scaling.min=t.scaling.min),t.scaling.max!==void 0&&(e.scaling.max=t.scaling.max),ur(e.scaling,t.scaling,"label",i.scaling)):r===!0&&t.scaling===null&&(e.scaling=Zn(i.scaling)),t.arrows!==void 0&&t.arrows!==null)if(typeof t.arrows=="string"){const a=t.arrows.toLowerCase();e.arrows.to.enabled=Oe(a).call(a,"to")!=-1,e.arrows.middle.enabled=Oe(a).call(a,"middle")!=-1,e.arrows.from.enabled=Oe(a).call(a,"from")!=-1}else if(typeof t.arrows=="object")ur(e.arrows,t.arrows,"to",i.arrows),ur(e.arrows,t.arrows,"middle",i.arrows),ur(e.arrows,t.arrows,"from",i.arrows);else throw new Error("The arrow newOptions can only be an object or a string. Refer to the documentation. You used:"+eA(t.arrows));else r===!0&&t.arrows===null&&(e.arrows=Zn(i.arrows));if(t.color!==void 0&&t.color!==null){const a=ss(t.color)?{color:t.color,highlight:t.color,hover:t.color,inherit:!1,opacity:1}:t.color,g=e.color;if(o)qe(g,i.color,!1,r);else for(const A in g)Object.prototype.hasOwnProperty.call(g,A)&&delete g[A];if(ss(g))g.color=g,g.highlight=g,g.hover=g,g.inherit=!1,a.opacity===void 0&&(g.opacity=1);else{let A=!1;a.color!==void 0&&(g.color=a.color,A=!0),a.highlight!==void 0&&(g.highlight=a.highlight,A=!0),a.hover!==void 0&&(g.hover=a.hover,A=!0),a.inherit!==void 0&&(g.inherit=a.inherit),a.opacity!==void 0&&(g.opacity=Math.min(1,Math.max(0,a.opacity))),A===!0?g.inherit=!1:g.inherit===void 0&&(g.inherit="from")}}else r===!0&&t.color===null&&(e.color=Cn(i.color));r===!0&&t.font===null&&(e.font=Cn(i.font)),Object.prototype.hasOwnProperty.call(t,"selfReferenceSize")&&(console.warn("The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}"),e.selfReference.size=t.selfReferenceSize)}getFormattingValues(){const e=this.options.arrows.to===!0||this.options.arrows.to.enabled===!0,t=this.options.arrows.from===!0||this.options.arrows.from.enabled===!0,r=this.options.arrows.middle===!0||this.options.arrows.middle.enabled===!0,i=this.options.color.inherit,o={toArrow:e,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:r,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:t,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:i?void 0:this.options.color.color,inheritsColor:i,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(this.chooser===!0){if(this.selected){const s=this.options.selectionWidth;typeof s=="function"?o.width=s(o.width):typeof s=="number"&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.highlight,o.shadow=this.options.shadow.enabled}else if(this.hover){const s=this.options.hoverWidth;typeof s=="function"?o.width=s(o.width):typeof s=="number"&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.hover,o.shadow=this.options.shadow.enabled}}else typeof this.chooser=="function"&&(this.chooser(o,this.options.id,this.selected,this.hover),o.color!==void 0&&(o.inheritsColor=!1),o.shadow===!1&&(o.shadowColor!==this.options.shadow.color||o.shadowSize!==this.options.shadow.size||o.shadowX!==this.options.shadow.x||o.shadowY!==this.options.shadow.y)&&(o.shadow=!0));else o.shadow=this.options.shadow.enabled,o.width=Math.max(o.width,.3/this.body.view.scale);return o}updateLabelModule(e){const t=[e,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,t),this.labelModule.baseSize!==void 0&&(this.baseFontSize=this.labelModule.baseSize)}updateEdgeType(){const e=this.options.smooth;let t=!1,r=!0;return this.edgeType!==void 0&&((this.edgeType instanceof i6&&e.enabled===!0&&e.type==="dynamic"||this.edgeType instanceof o6&&e.enabled===!0&&e.type==="cubicBezier"||this.edgeType instanceof n6&&e.enabled===!0&&e.type!=="dynamic"&&e.type!=="cubicBezier"||this.edgeType instanceof s6&&e.type.enabled===!1)&&(r=!1),r===!0&&(t=this.cleanup())),r===!0?e.enabled===!0?e.type==="dynamic"?(t=!0,this.edgeType=new i6(this.options,this.body,this.labelModule)):e.type==="cubicBezier"?this.edgeType=new o6(this.options,this.body,this.labelModule):this.edgeType=new n6(this.options,this.body,this.labelModule):this.edgeType=new s6(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),t}connect(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=this.from!==void 0&&this.to!==void 0,this.connected===!0?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}disconnect(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}getTitle(){return this.title}isSelected(){return this.selected}getValue(){return this.options.value}setValueRange(e,t,r){if(this.options.value!==void 0){const i=this.options.scaling.customScalingFunction(e,t,r,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(this.options.scaling.label.enabled===!0){const s=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+i*s}this.options.width=this.options.scaling.min+i*o}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}_setInteractionWidths(){typeof this.options.hoverWidth=="function"?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,typeof this.options.selectionWidth=="function"?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}draw(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode();this.edgeType.drawLine(e,t,this.selected,this.hover,r),this.drawLabel(e,r)}drawArrows(e){const t=this.getFormattingValues();if(t.hidden)return;const r=this.edgeType.getViaNode(),i={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,t.fromArrow&&(i.from=this.edgeType.getArrowData(e,"from",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.fromPoint=i.from.core),t.fromArrowSrc&&(i.from.image=this.imagelist.load(t.fromArrowSrc)),t.fromArrowImageWidth&&(i.from.imageWidth=t.fromArrowImageWidth),t.fromArrowImageHeight&&(i.from.imageHeight=t.fromArrowImageHeight)),t.toArrow&&(i.to=this.edgeType.getArrowData(e,"to",r,this.selected,this.hover,t),t.arrowStrikethrough===!1&&(this.edgeType.toPoint=i.to.core),t.toArrowSrc&&(i.to.image=this.imagelist.load(t.toArrowSrc)),t.toArrowImageWidth&&(i.to.imageWidth=t.toArrowImageWidth),t.toArrowImageHeight&&(i.to.imageHeight=t.toArrowImageHeight)),t.middleArrow&&(i.middle=this.edgeType.getArrowData(e,"middle",r,this.selected,this.hover,t),t.middleArrowSrc&&(i.middle.image=this.imagelist.load(t.middleArrowSrc)),t.middleArrowImageWidth&&(i.middle.imageWidth=t.middleArrowImageWidth),t.middleArrowImageHeight&&(i.middle.imageHeight=t.middleArrowImageHeight)),t.fromArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.from),t.middleArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.middle),t.toArrow&&this.edgeType.drawArrowHead(e,t,this.selected,this.hover,i.to)}drawLabel(e,t){if(this.options.label!==void 0){const r=this.from,i=this.to;this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(e,this.selected,this.hover);let o;if(r.id!=i.id){this.labelModule.pointToSelf=!1,o=this.edgeType.getPoint(.5,t),e.save();const s=this._getRotation(e);s.angle!=0&&(e.translate(s.x,s.y),e.rotate(s.angle)),this.labelModule.draw(e,o.x,o.y,this.selected,this.hover),e.restore()}else{this.labelModule.pointToSelf=!0;const s=cte(e,this.options.selfReference.angle,this.options.selfReference.size,r);o=this._pointOnCircle(s.x,s.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(e,o.x,o.y,this.selected,this.hover)}}}getItemsOnPoint(e){const t=[];if(this.labelModule.visible()){const i=this._getRotation();FO(this.labelModule.getSize(),e,i)&&t.push({edgeId:this.id,labelId:0})}const r={left:e.x,top:e.y};return this.isOverlappingWith(r)&&t.push({edgeId:this.id}),t}isOverlappingWith(e){if(this.connected){const r=this.from.x,i=this.from.y,o=this.to.x,s=this.to.y,a=e.left,g=e.top;return this.edgeType.getDistanceToEdge(r,i,o,s,a,g)<10}else return!1}_getRotation(e){const t=this.edgeType.getViaNode(),r=this.edgeType.getPoint(.5,t);e!==void 0&&this.labelModule.calculateLabelSize(e,this.selected,this.hover,r.x,r.y);const i={x:r.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible()||this.options.font.align==="horizontal")return i;const o=this.from.y-this.to.y,s=this.from.x-this.to.x;let a=Math.atan2(o,s);return(a<-1&&s<0||a>0&&s<0)&&(a+=Math.PI),i.angle=a,i}_pointOnCircle(e,t,r,i){return{x:e+r*Math.cos(i),y:t-r*Math.sin(i)}}select(){this.selected=!0}unselect(){this.selected=!1}cleanup(){return this.edgeType.cleanup()}remove(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}endPointsValid(){return this.body.nodes[this.fromId]!==void 0&&this.body.nodes[this.toId]!==void 0}}class PEe{constructor(e,t,r){var i;this.body=e,this.images=t,this.groups=r,this.body.functions.createEdge=j(i=this.create).call(i,this),this.edgesListeners={add:(o,s)=>{this.add(s.items)},update:(o,s)=>{this.update(s.items)},remove:(o,s)=>{this.remove(s.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:"arrow"},middle:{enabled:!1,scaleFactor:1,type:"arrow"},from:{enabled:!1,scaleFactor:1,type:"arrow"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:"#848484",highlight:"#848484",hover:"#848484",inherit:"from",opacity:1},dashes:!1,font:{color:"#343434",size:14,face:"arial",background:"none",strokeWidth:2,strokeColor:"#ffffff",align:"horizontal",multi:!1,vadjust:0,bold:{mod:"bold"},boldital:{mod:"bold italic"},ital:{mod:"italic"},mono:{mod:"",size:15,face:"courier new",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(o,s,a,g){if(s===o)return .5;{const A=1/(s-o);return Math.max(0,(g-o)*A)}}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:10,x:5,y:5},background:{enabled:!1,color:"rgba(111,111,111,1)",size:10,dashes:!1},smooth:{enabled:!0,type:"dynamic",forceDirection:"none",roundness:.5},title:void 0,width:1,value:void 0},qe(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e=this,t,r;this.body.emitter.on("_forceDisableDynamicCurves",function(i){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;i==="dynamic"&&(i="continuous");let s=!1;for(const a in e.body.edges)if(Object.prototype.hasOwnProperty.call(e.body.edges,a)){const g=e.body.edges[a],A=e.body.data.edges.get(a);if(A!=null){const I=A.smooth;I!==void 0&&I.enabled===!0&&I.type==="dynamic"&&(i===void 0?g.setOptions({smooth:!1}):g.setOptions({smooth:{type:i}}),s=!0)}}o===!0&&s===!0&&e.body.emitter.emit("_dataChanged")}),this.body.emitter.on("_dataUpdated",()=>{this.reconnectEdges()}),this.body.emitter.on("refreshEdges",j(t=this.refresh).call(t,this)),this.body.emitter.on("refresh",j(r=this.refresh).call(r,this)),this.body.emitter.on("destroy",()=>{ue(this.edgesListeners,(i,o)=>{this.body.data.edges&&this.body.data.edges.off(o,i)}),delete this.body.functions.createEdge,delete this.edgesListeners.add,delete this.edgesListeners.update,delete this.edgesListeners.remove,delete this.edgesListeners})}setOptions(e){if(e!==void 0){ln.parseOptions(this.options,e,!0,this.defaultOptions,!0);let t=!1;if(e.smooth!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&(t=this.body.edges[r].updateEdgeType()||t);if(e.font!==void 0)for(const r in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,r)&&this.body.edges[r].updateLabelModule();(e.hidden!==void 0||e.physics!==void 0||t===!0)&&this.body.emitter.emit("_dataChanged")}}setData(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.data.edges;if(UJ("id",e))this.body.data.edges=e;else if(Qe(e))this.body.data.edges=new YA,this.body.data.edges.add(e);else if(!e)this.body.data.edges=new YA;else throw new TypeError("Array or DataSet expected");if(r&&ue(this.edgesListeners,(i,o)=>{r.off(o,i)}),this.body.edges={},this.body.data.edges){ue(this.edgesListeners,(o,s)=>{this.body.data.edges.on(s,o)});const i=this.body.data.edges.getIds();this.add(i,!0)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}add(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.edges,i=this.body.data.edges;for(let o=0;o<e.length;o++){const s=e[o],a=r[s];a&&a.disconnect();const g=i.get(s,{showInternalIds:!0});r[s]=this.create(g)}this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),t===!1&&this.body.emitter.emit("_dataChanged")}update(e){const t=this.body.edges,r=this.body.data.edges;let i=!1;for(let o=0;o<e.length;o++){const s=e[o],a=r.get(s),g=t[s];g!==void 0?(g.disconnect(),i=g.setOptions(a)||i,g.connect()):(this.body.edges[s]=this.create(a),i=!0)}i===!0?(this.body.emitter.emit("_adjustEdgesForHierarchicalLayout"),this.body.emitter.emit("_dataChanged")):this.body.emitter.emit("_dataUpdated")}remove(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.length===0)return;const r=this.body.edges;ue(e,i=>{const o=r[i];o!==void 0&&o.remove()}),t&&this.body.emitter.emit("_dataChanged")}refresh(){ue(this.body.edges,(e,t)=>{const r=this.body.data.edges.get(t);r!==void 0&&e.setOptions(r)})}create(e){return new ln(e,this.body,this.images,this.options,this.defaultOptions)}reconnectEdges(){let e;const t=this.body.nodes,r=this.body.edges;for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].edges=[]);for(e in r)if(Object.prototype.hasOwnProperty.call(r,e)){const i=r[e];i.from=null,i.to=null,i.connect()}}getConnectedNodes(e){const t=[];if(this.body.edges[e]!==void 0){const r=this.body.edges[e];r.fromId!==void 0&&t.push(r.fromId),r.toId!==void 0&&t.push(r.toId)}return t}_updateState(){this._addMissingEdges(),this._removeInvalidEdges()}_removeInvalidEdges(){const e=[];ue(this.body.edges,(t,r)=>{const i=this.body.nodes[t.toId],o=this.body.nodes[t.fromId];i!==void 0&&i.isCluster===!0||o!==void 0&&o.isCluster===!0||(i===void 0||o===void 0)&&e.push(r)}),this.remove(e,!1)}_addMissingEdges(){const e=this.body.data.edges;if(e==null)return;const t=this.body.edges,r=[];xe(e).call(e,(i,o)=>{t[o]===void 0&&r.push(o)}),this.add(r,!0)}}class mte{constructor(e,t,r){this.body=e,this.physicsBody=t,this.barnesHutTree,this.setOptions(r),this._rng=tC("BARNES HUT SOLVER")}setOptions(e){this.options=e,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}solve(){if(this.options.gravitationalConstant!==0&&this.physicsBody.physicsNodeIndices.length>0){let e;const t=this.body.nodes,r=this.physicsBody.physicsNodeIndices,i=r.length,o=this._formBarnesHutTree(t,r);this.barnesHutTree=o;for(let s=0;s<i;s++)e=t[r[s]],e.options.mass>0&&this._getForceContributions(o.root,e)}}_getForceContributions(e,t){this._getForceContribution(e.children.NW,t),this._getForceContribution(e.children.NE,t),this._getForceContribution(e.children.SW,t),this._getForceContribution(e.children.SE,t)}_getForceContribution(e,t){if(e.childrenCount>0){const r=e.centerOfMass.x-t.x,i=e.centerOfMass.y-t.y,o=Math.sqrt(r*r+i*i);o*e.calcSize>this.thetaInversed?this._calculateForces(o,r,i,t,e):e.childrenCount===4?this._getForceContributions(e,t):e.children.data.id!=t.id&&this._calculateForces(o,r,i,t,e)}}_calculateForces(e,t,r,i,o){e===0&&(e=.1,t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const s=this.options.gravitationalConstant*o.mass*i.options.mass/Math.pow(e,3),a=t*s,g=r*s;this.physicsBody.forces[i.id].x+=a,this.physicsBody.forces[i.id].y+=g}_formBarnesHutTree(e,t){let r;const i=t.length;let o=e[t[0]].x,s=e[t[0]].y,a=e[t[0]].x,g=e[t[0]].y;for(let v=1;v<i;v++){const f=e[t[v]],c=f.x,b=f.y;f.options.mass>0&&(c<o&&(o=c),c>a&&(a=c),b<s&&(s=b),b>g&&(g=b))}const A=Math.abs(a-o)-Math.abs(g-s);A>0?(s-=.5*A,g+=.5*A):(o+=.5*A,a-=.5*A);const C=Math.max(1e-5,Math.abs(a-o)),l=.5*C,d=.5*(o+a),u=.5*(s+g),h={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:d-l,maxX:d+l,minY:u-l,maxY:u+l},size:C,calcSize:1/C,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(h.root);for(let v=0;v<i;v++)r=e[t[v]],r.options.mass>0&&this._placeInTree(h.root,r);return h}_updateBranchMass(e,t){const r=e.centerOfMass,i=e.mass+t.options.mass,o=1/i;r.x=r.x*e.mass+t.x*t.options.mass,r.x*=o,r.y=r.y*e.mass+t.y*t.options.mass,r.y*=o,e.mass=i;const s=Math.max(Math.max(t.height,t.radius),t.width);e.maxWidth=e.maxWidth<s?s:e.maxWidth}_placeInTree(e,t,r){(r!=!0||r===void 0)&&this._updateBranchMass(e,t);const i=e.children.NW.range;let o;i.maxX>t.x?i.maxY>t.y?o="NW":o="SW":i.maxY>t.y?o="NE":o="SE",this._placeInRegion(e,t,o)}_placeInRegion(e,t,r){const i=e.children[r];switch(i.childrenCount){case 0:i.children.data=t,i.childrenCount=1,this._updateBranchMass(i,t);break;case 1:i.children.data.x===t.x&&i.children.data.y===t.y?(t.x+=this._rng(),t.y+=this._rng()):(this._splitBranch(i),this._placeInTree(i,t));break;case 4:this._placeInTree(i,t);break}}_splitBranch(e){let t=null;e.childrenCount===1&&(t=e.children.data,e.mass=0,e.centerOfMass.x=0,e.centerOfMass.y=0),e.childrenCount=4,e.children.data=null,this._insertRegion(e,"NW"),this._insertRegion(e,"NE"),this._insertRegion(e,"SW"),this._insertRegion(e,"SE"),t!=null&&this._placeInTree(e,t)}_insertRegion(e,t){let r,i,o,s;const a=.5*e.size;switch(t){case"NW":r=e.range.minX,i=e.range.minX+a,o=e.range.minY,s=e.range.minY+a;break;case"NE":r=e.range.minX+a,i=e.range.maxX,o=e.range.minY,s=e.range.minY+a;break;case"SW":r=e.range.minX,i=e.range.minX+a,o=e.range.minY+a,s=e.range.maxY;break;case"SE":r=e.range.minX+a,i=e.range.maxX,o=e.range.minY+a,s=e.range.maxY;break}e.children[t]={centerOfMass:{x:0,y:0},mass:0,range:{minX:r,maxX:i,minY:o,maxY:s},size:.5*e.size,calcSize:2*e.calcSize,children:{data:null},maxWidth:0,level:e.level+1,childrenCount:0}}_debug(e,t){this.barnesHutTree!==void 0&&(e.lineWidth=1,this._drawBranch(this.barnesHutTree.root,e,t))}_drawBranch(e,t,r){r===void 0&&(r="#FF0000"),e.childrenCount===4&&(this._drawBranch(e.children.NW,t),this._drawBranch(e.children.NE,t),this._drawBranch(e.children.SE,t),this._drawBranch(e.children.SW,t)),t.strokeStyle=r,t.beginPath(),t.moveTo(e.range.minX,e.range.minY),t.lineTo(e.range.maxX,e.range.minY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.minY),t.lineTo(e.range.maxX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.maxX,e.range.maxY),t.lineTo(e.range.minX,e.range.maxY),t.stroke(),t.beginPath(),t.moveTo(e.range.minX,e.range.maxY),t.lineTo(e.range.minX,e.range.minY),t.stroke()}}class xEe{constructor(e,t,r){this._rng=tC("REPULSION SOLVER"),this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,o,s,a,g;const A=this.body.nodes,I=this.physicsBody.physicsNodeIndices,C=this.physicsBody.forces,l=this.options.nodeDistance,d=-2/3/l,u=4/3;for(let h=0;h<I.length-1;h++){a=A[I[h]];for(let v=h+1;v<I.length;v++)g=A[I[v]],e=g.x-a.x,t=g.y-a.y,r=Math.sqrt(e*e+t*t),r===0&&(r=.1*this._rng(),e=r),r<2*l&&(r<.5*l?s=1:s=d*r+u,s=s/r,i=e*s,o=t*s,C[a.id].x-=i,C[a.id].y-=o,C[g.id].x+=i,C[g.id].y+=o)}}}class $Ee{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}solve(){const e=this.body.nodes,t=this.physicsBody.physicsNodeIndices,r=this.physicsBody.forces,i=this.options.nodeDistance;for(let o=0;o<t.length-1;o++){const s=e[t[o]];for(let a=o+1;a<t.length;a++){const g=e[t[a]];if(s.level===g.level){const A=i+this.overlapAvoidanceFactor*((s.shape.radius||0)/2+(g.shape.radius||0)/2),I=g.x-s.x,C=g.y-s.y,l=Math.sqrt(I*I+C*C),d=.05;let u;l<A?u=-Math.pow(d*l,2)+Math.pow(d*A,2):u=0,l!==0&&(u=u/l);const h=I*u,v=C*u;r[s.id].x-=h,r[s.id].y-=v,r[g.id].x+=h,r[g.id].y+=v}}}}}class I_{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t;const r=this.physicsBody.physicsEdgeIndices,i=this.body.edges;let o,s,a;for(let g=0;g<r.length;g++)t=i[r[g]],t.connected===!0&&t.toId!==t.fromId&&this.body.nodes[t.toId]!==void 0&&this.body.nodes[t.fromId]!==void 0&&(t.edgeType.via!==void 0?(e=t.options.length===void 0?this.options.springLength:t.options.length,o=t.to,s=t.edgeType.via,a=t.from,this._calculateSpringForce(o,s,.5*e),this._calculateSpringForce(s,a,.5*e)):(e=t.options.length===void 0?this.options.springLength*1.5:t.options.length,this._calculateSpringForce(t.from,t.to,e)))}_calculateSpringForce(e,t,r){const i=e.x-t.x,o=e.y-t.y,s=Math.max(Math.sqrt(i*i+o*o),.01),a=this.options.springConstant*(r-s)/s,g=i*a,A=o*a;this.physicsBody.forces[e.id]!==void 0&&(this.physicsBody.forces[e.id].x+=g,this.physicsBody.forces[e.id].y+=A),this.physicsBody.forces[t.id]!==void 0&&(this.physicsBody.forces[t.id].x-=g,this.physicsBody.forces[t.id].y-=A)}}class DEe{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i,o,s,a,g;const A=this.body.edges,I=.5,C=this.physicsBody.physicsEdgeIndices,l=this.physicsBody.physicsNodeIndices,d=this.physicsBody.forces;for(let p=0;p<l.length;p++){const y=l[p];d[y].springFx=0,d[y].springFy=0}for(let p=0;p<C.length;p++)t=A[C[p]],t.connected===!0&&(e=t.options.length===void 0?this.options.springLength:t.options.length,r=t.from.x-t.to.x,i=t.from.y-t.to.y,g=Math.sqrt(r*r+i*i),g=g===0?.01:g,a=this.options.springConstant*(e-g)/g,o=r*a,s=i*a,t.to.level!=t.from.level?(d[t.toId]!==void 0&&(d[t.toId].springFx-=o,d[t.toId].springFy-=s),d[t.fromId]!==void 0&&(d[t.fromId].springFx+=o,d[t.fromId].springFy+=s)):(d[t.toId]!==void 0&&(d[t.toId].x-=I*o,d[t.toId].y-=I*s),d[t.fromId]!==void 0&&(d[t.fromId].x+=I*o,d[t.fromId].y+=I*s)));a=1;let u,h;for(let p=0;p<l.length;p++){const y=l[p];u=Math.min(a,Math.max(-a,d[y].springFx)),h=Math.min(a,Math.max(-a,d[y].springFy)),d[y].x+=u,d[y].y+=h}let v=0,f=0;for(let p=0;p<l.length;p++){const y=l[p];v+=d[y].x,f+=d[y].y}const c=v/l.length,b=f/l.length;for(let p=0;p<l.length;p++){const y=l[p];d[y].x-=c,d[y].y-=b}}}class xA{constructor(e,t,r){this.body=e,this.physicsBody=t,this.setOptions(r)}setOptions(e){this.options=e}solve(){let e,t,r,i;const o=this.body.nodes,s=this.physicsBody.physicsNodeIndices,a=this.physicsBody.forces;for(let g=0;g<s.length;g++){const A=s[g];i=o[A],e=-i.x,t=-i.y,r=Math.sqrt(e*e+t*t),this._calculateForces(r,e,t,a,i)}}_calculateForces(e,t,r,i,o){const s=e===0?0:this.options.centralGravity/e;i[o.id].x=t*s,i[o.id].y=r*s}}class NEe extends mte{constructor(e,t,r){super(e,t,r),this._rng=tC("FORCE ATLAS 2 BASED REPULSION SOLVER")}_calculateForces(e,t,r,i,o){e===0&&(e=.1*this._rng(),t=e),this.overlapAvoidanceFactor<1&&i.shape.radius&&(e=Math.max(.1+this.overlapAvoidanceFactor*i.shape.radius,e-i.shape.radius));const s=i.edges.length+1,a=this.options.gravitationalConstant*o.mass*i.options.mass*s/Math.pow(e,2),g=t*a,A=r*a;this.physicsBody.forces[i.id].x+=g,this.physicsBody.forces[i.id].y+=A}}class MEe extends xA{constructor(e,t,r){super(e,t,r)}_calculateForces(e,t,r,i,o){if(e>0){const s=o.edges.length+1,a=this.options.centralGravity*s*o.options.mass;i[o.id].x=t*a,i[o.id].y=r*a}}}class qEe{constructor(e){this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:"barnesHut",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},At(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("initPhysics",()=>{this.initPhysics()}),this.body.emitter.on("_layoutFailed",()=>{this.layoutFailed=!0}),this.body.emitter.on("resetPhysics",()=>{this.stopSimulation(),this.ready=!1}),this.body.emitter.on("disablePhysics",()=>{this.physicsEnabled=!1,this.stopSimulation()}),this.body.emitter.on("restorePhysics",()=>{this.setOptions(this.options),this.ready===!0&&this.startSimulation()}),this.body.emitter.on("startSimulation",()=>{this.ready===!0&&this.startSimulation()}),this.body.emitter.on("stopSimulation",()=>{this.stopSimulation()}),this.body.emitter.on("destroy",()=>{this.stopSimulation(!1),this.body.emitter.off()}),this.body.emitter.on("_dataChanged",()=>{this.updatePhysicsData()})}setOptions(e){if(e!==void 0)if(e===!1)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(e===!0)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,tI(["stabilization"],this.options,e),ur(this.options,e,"stabilization"),e.enabled===void 0&&(this.options.enabled=!0),this.options.enabled===!1&&(this.physicsEnabled=!1,this.stopSimulation());const t=this.options.wind;t&&((typeof t.x!="number"||qO(t.x))&&(t.x=0),(typeof t.y!="number"||qO(t.y))&&(t.y=0)),this.timestep=this.options.timestep}this.init()}init(){let e;this.options.solver==="forceAtlas2Based"?(e=this.options.forceAtlas2Based,this.nodesSolver=new NEe(this.body,this.physicsBody,e),this.edgesSolver=new I_(this.body,this.physicsBody,e),this.gravitySolver=new MEe(this.body,this.physicsBody,e)):this.options.solver==="repulsion"?(e=this.options.repulsion,this.nodesSolver=new xEe(this.body,this.physicsBody,e),this.edgesSolver=new I_(this.body,this.physicsBody,e),this.gravitySolver=new xA(this.body,this.physicsBody,e)):this.options.solver==="hierarchicalRepulsion"?(e=this.options.hierarchicalRepulsion,this.nodesSolver=new $Ee(this.body,this.physicsBody,e),this.edgesSolver=new DEe(this.body,this.physicsBody,e),this.gravitySolver=new xA(this.body,this.physicsBody,e)):(e=this.options.barnesHut,this.nodesSolver=new mte(this.body,this.physicsBody,e),this.edgesSolver=new I_(this.body,this.physicsBody,e),this.gravitySolver=new xA(this.body,this.physicsBody,e)),this.modelOptions=e}initPhysics(){this.physicsEnabled===!0&&this.options.enabled===!0?this.options.stabilization.enabled===!0?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit("fit",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit("fit"))}startSimulation(){if(this.physicsEnabled===!0&&this.options.enabled===!0){if(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit("_resizeNodes"),this.viewFunction===void 0){var e;this.viewFunction=j(e=this.simulationStep).call(e,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}else this.body.emitter.emit("_redraw")}stopSimulation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.stabilized=!0,e===!0&&this._emitStabilized(),this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.viewFunction=void 0,e===!0&&this.body.emitter.emit("_stopRendering"))}simulationStep(){const e=XA();this.physicsTick(),(XA()-e<.4*this.simulationInterval||this.runDoubleSpeed===!0)&&this.stabilized===!1&&(this.physicsTick(),this.runDoubleSpeed=!0),this.stabilized===!0&&this.stopSimulation()}_emitStabilized(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||this.startedStabilization===!0)&&Si(()=>{this.body.emitter.emit("stabilized",{iterations:e}),this.startedStabilization=!1,this.stabilizationIterations=0},0)}physicsStep(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}adjustTimeStep(){this._evaluateStepQuality()===!0?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}physicsTick(){this._startStabilizing(),this.stabilized!==!0&&(this.adaptiveTimestep===!0&&this.adaptiveTimestepEnabled===!0?(this.adaptiveCounter%this.adaptiveInterval===0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1):(this.timestep=this.options.timestep,this.physicsStep()),this.stabilized===!0&&this.revert(),this.stabilizationIterations++)}updatePhysicsData(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];const e=this.body.nodes,t=this.body.edges;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&e[r].options.physics===!0&&this.physicsBody.physicsNodeIndices.push(e[r].id);for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&t[r].options.physics===!0&&this.physicsBody.physicsEdgeIndices.push(t[r].id);for(let r=0;r<this.physicsBody.physicsNodeIndices.length;r++){const i=this.physicsBody.physicsNodeIndices[r];this.physicsBody.forces[i]={x:0,y:0},this.physicsBody.velocities[i]===void 0&&(this.physicsBody.velocities[i]={x:0,y:0})}for(const r in this.physicsBody.velocities)e[r]===void 0&&delete this.physicsBody.velocities[r]}revert(){const e=Xe(this.previousStates),t=this.body.nodes,r=this.physicsBody.velocities;this.referenceState={};for(let i=0;i<e.length;i++){const o=e[i];t[o]!==void 0?t[o].options.physics===!0&&(this.referenceState[o]={positions:{x:t[o].x,y:t[o].y}},r[o].x=this.previousStates[o].vx,r[o].y=this.previousStates[o].vy,t[o].x=this.previousStates[o].x,t[o].y=this.previousStates[o].y):delete this.previousStates[o]}}_evaluateStepQuality(){let e,t,r;const i=this.body.nodes,o=this.referenceState,s=.3;for(const a in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,a)&&i[a]!==void 0&&(e=i[a].x-o[a].positions.x,t=i[a].y-o[a].positions.y,r=Math.sqrt(Math.pow(e,2)+Math.pow(t,2)),r>s))return!1;return!0}moveNodes(){const e=this.physicsBody.physicsNodeIndices;let t=0,r=0;const i=5;for(let o=0;o<e.length;o++){const s=e[o],a=this._performStep(s);t=Math.max(t,a),r+=a}this.adaptiveTimestepEnabled=r/e.length<i,this.stabilized=t<this.options.minVelocity}calculateComponentVelocity(e,t,r){const i=this.modelOptions.damping*e,o=(t-i)/r;e+=o*this.timestep;const s=this.options.maxVelocity||1e9;return Math.abs(e)>s&&(e=e>0?s:-s),e}_performStep(e){const t=this.body.nodes[e],r=this.physicsBody.forces[e];this.options.wind&&(r.x+=this.options.wind.x,r.y+=this.options.wind.y);const i=this.physicsBody.velocities[e];return this.previousStates[e]={x:t.x,y:t.y,vx:i.x,vy:i.y},t.options.fixed.x===!1?(i.x=this.calculateComponentVelocity(i.x,r.x,t.options.mass),t.x+=i.x*this.timestep):(r.x=0,i.x=0),t.options.fixed.y===!1?(i.y=this.calculateComponentVelocity(i.y,r.y,t.options.mass),t.y+=i.y*this.timestep):(r.y=0,i.y=0),Math.sqrt(Math.pow(i.x,2)+Math.pow(i.y,2))}_freezeNodes(){const e=this.body.nodes;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t].x&&e[t].y){const r=e[t].options.fixed;this.freezeCache[t]={x:r.x,y:r.y},r.x=!0,r.y=!0}}_restoreFrozenNodes(){const e=this.body.nodes;for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.freezeCache[t]!==void 0&&(e[t].options.fixed.x=this.freezeCache[t].x,e[t].options.fixed.y=this.freezeCache[t].y);this.freezeCache={}}stabilize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.stabilization.iterations;if(typeof e!="number"&&(e=this.options.stabilization.iterations,console.error("The stabilize method needs a numeric amount of iterations. Switching to default: ",e)),this.physicsBody.physicsNodeIndices.length===0){this.ready=!0;return}this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit("_resizeNodes"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit("_blockRedraw"),this.targetIterations=e,this.options.stabilization.onlyDynamicEdges===!0&&this._freezeNodes(),this.stabilizationIterations=0,Si(()=>this._stabilizationBatch(),0)}_startStabilizing(){return this.startedStabilization===!0?!1:(this.body.emitter.emit("startStabilizing"),this.startedStabilization=!0,!0)}_stabilizationBatch(){const e=()=>this.stabilized===!1&&this.stabilizationIterations<this.targetIterations,t=()=>{this.body.emitter.emit("stabilizationProgress",{iterations:this.stabilizationIterations,total:this.targetIterations})};this._startStabilizing()&&t();let r=0;for(;e()&&r<this.options.stabilization.updateInterval;)this.physicsTick(),r++;if(t(),e()){var i;Si(j(i=this._stabilizationBatch).call(i,this),0)}else this._finalizeStabilization()}_finalizeStabilization(){this.body.emitter.emit("_allowRedraw"),this.options.stabilization.fit===!0&&this.body.emitter.emit("fit"),this.options.stabilization.onlyDynamicEdges===!0&&this._restoreFrozenNodes(),this.body.emitter.emit("stabilizationIterationsDone"),this.body.emitter.emit("_requestRedraw"),this.stabilized===!0?this._emitStabilized():this.startSimulation(),this.ready=!0}_drawForces(e){for(let t=0;t<this.physicsBody.physicsNodeIndices.length;t++){const r=this.physicsBody.physicsNodeIndices[t],i=this.body.nodes[r],o=this.physicsBody.forces[r],s=20,a=.03,g=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.x,2)),A=Math.min(Math.max(5,g),15),I=3*A,C=DO((180-Math.min(1,Math.max(0,a*g))*180)/360,1,1),l={x:i.x+s*o.x,y:i.y+s*o.y};e.lineWidth=A,e.strokeStyle=C,e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(l.x,l.y),e.stroke();const d=Math.atan2(o.y,o.x);e.fillStyle=C,pte.draw(e,{type:"arrow",point:l,angle:d,length:I}),tA(e).call(e)}}}const Nt=[];for(let n=0;n<256;++n)Nt.push((n+256).toString(16).slice(1));function FEe(n,e=0){return(Nt[n[e+0]]+Nt[n[e+1]]+Nt[n[e+2]]+Nt[n[e+3]]+"-"+Nt[n[e+4]]+Nt[n[e+5]]+"-"+Nt[n[e+6]]+Nt[n[e+7]]+"-"+Nt[n[e+8]]+Nt[n[e+9]]+"-"+Nt[n[e+10]]+Nt[n[e+11]]+Nt[n[e+12]]+Nt[n[e+13]]+Nt[n[e+14]]+Nt[n[e+15]]).toLowerCase()}let C_;const kEe=new Uint8Array(16);function BEe(){if(!C_){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");C_=crypto.getRandomValues.bind(crypto)}return C_(kEe)}const zEe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var a6={randomUUID:zEe};function jEe(n,e,t){n=n||{};const r=n.random??n.rng?.()??BEe();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,FEe(r)}function ja(n,e,t){return a6.randomUUID&&!n?a6.randomUUID():jEe(n)}class Gt{constructor(){}static getRange(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,o=1e9,s=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],o>a.shape.boundingBox.left&&(o=a.shape.boundingBox.left),s<a.shape.boundingBox.right&&(s=a.shape.boundingBox.right),r>a.shape.boundingBox.top&&(r=a.shape.boundingBox.top),i<a.shape.boundingBox.bottom&&(i=a.shape.boundingBox.bottom);return o===1e9&&s===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,o=0,s=0),{minX:o,maxX:s,minY:r,maxY:i}}static getRangeCore(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=1e9,i=-1e9,o=1e9,s=-1e9,a;if(t.length>0)for(let g=0;g<t.length;g++)a=e[t[g]],o>a.x&&(o=a.x),s<a.x&&(s=a.x),r>a.y&&(r=a.y),i<a.y&&(i=a.y);return o===1e9&&s===-1e9&&r===1e9&&i===-1e9&&(r=0,i=0,o=0,s=0),{minX:o,maxX:s,minY:r,maxY:i}}static findCenter(e){return{x:.5*(e.maxX+e.minX),y:.5*(e.maxY+e.minY)}}static cloneOptions(e,t){const r={};return t===void 0||t==="node"?(qe(r,e.options,!0),r.x=e.x,r.y=e.y,r.amountOfConnections=e.edges.length):qe(r,e.options,!0),r}}class LEe extends je{constructor(e,t,r,i,o,s){super(e,t,r,i,o,s),this.isCluster=!0,this.containedNodes={},this.containedEdges={}}_openChildCluster(e){const t=this.body.nodes[e];if(this.containedNodes[e]===void 0)throw new Error("node with id: "+e+" not in current cluster");if(!t.isCluster)throw new Error("node with id: "+e+" is not a cluster");delete this.containedNodes[e],ue(t.edges,r=>{delete this.containedEdges[r.id]}),ue(t.containedNodes,(r,i)=>{this.containedNodes[i]=r}),t.containedNodes={},ue(t.containedEdges,(r,i)=>{this.containedEdges[i]=r}),t.containedEdges={},ue(t.edges,r=>{ue(this.edges,i=>{var o,s;const a=Oe(o=i.clusteringEdgeReplacingIds).call(o,r.id);a!==-1&&(ue(r.clusteringEdgeReplacingIds,g=>{i.clusteringEdgeReplacingIds.push(g),this.body.edges[g].edgeReplacedById=i.id}),Ei(s=i.clusteringEdgeReplacingIds).call(s,a,1))})}),t.edges=[]}}class GEe{constructor(e){this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},At(this.options,this.defaultOptions),this.body.emitter.on("_resetData",()=>{this.clusteredNodes={},this.clusteredEdges={}})}clusterByHubsize(e,t){e===void 0?e=this._getHubSize():typeof e=="object"&&(t=this._checkOptions(e),e=this._getHubSize());const r=[];for(let i=0;i<this.body.nodeIndices.length;i++){const o=this.body.nodes[this.body.nodeIndices[i]];o.edges.length>=e&&r.push(o.id)}for(let i=0;i<r.length;i++)this.clusterByConnection(r[i],t,!0);this.body.emitter.emit("_dataChanged")}cluster(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.joinCondition===void 0)throw new Error("Cannot call clusterByNodeData without a joinCondition function in the options.");e=this._checkOptions(e);const r={},i={};ue(this.body.nodes,(o,s)=>{o.options&&e.joinCondition(o.options)===!0&&(r[s]=o,ue(o.edges,a=>{this.clusteredEdges[a.id]===void 0&&(i[a.id]=a)}))}),this._cluster(r,i,e,t)}clusterByEdgeCount(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;t=this._checkOptions(t);const i=[],o={};let s,a,g;for(let A=0;A<this.body.nodeIndices.length;A++){const I={},C={},l=this.body.nodeIndices[A],d=this.body.nodes[l];if(o[l]===void 0){g=0,a=[];for(let u=0;u<d.edges.length;u++)s=d.edges[u],this.clusteredEdges[s.id]===void 0&&(s.toId!==s.fromId&&g++,a.push(s));if(g===e){const u=function(v){if(t.joinCondition===void 0||t.joinCondition===null)return!0;const f=Gt.cloneOptions(v);return t.joinCondition(f)};let h=!0;for(let v=0;v<a.length;v++){s=a[v];const f=this._getConnectedId(s,l);if(u(d))C[s.id]=s,I[l]=d,I[f]=this.body.nodes[f],o[l]=!0;else{h=!1;break}}if(Xe(I).length>0&&Xe(C).length>0&&h===!0){const f=function(){for(let c=0;c<i.length;++c)for(const b in I)if(i[c].nodes[b]!==void 0)return i[c]}();if(f!==void 0){for(const c in I)f.nodes[c]===void 0&&(f.nodes[c]=I[c]);for(const c in C)f.edges[c]===void 0&&(f.edges[c]=C[c])}else i.push({nodes:I,edges:C})}}}}for(let A=0;A<i.length;A++)this._cluster(i[A].nodes,i[A].edges,t,!1);r===!0&&this.body.emitter.emit("_dataChanged")}clusterOutliers(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(1,e,t)}clusterBridges(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;this.clusterByEdgeCount(2,e,t)}clusterByConnection(e,t){var r;let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No nodeId supplied to clusterByConnection!");if(this.body.nodes[e]===void 0)throw new Error("The nodeId given to clusterByConnection does not exist!");const o=this.body.nodes[e];t=this._checkOptions(t,o),t.clusterNodeProperties.x===void 0&&(t.clusterNodeProperties.x=o.x),t.clusterNodeProperties.y===void 0&&(t.clusterNodeProperties.y=o.y),t.clusterNodeProperties.fixed===void 0&&(t.clusterNodeProperties.fixed={},t.clusterNodeProperties.fixed.x=o.options.fixed.x,t.clusterNodeProperties.fixed.y=o.options.fixed.y);const s={},a={},g=o.id,A=Gt.cloneOptions(o);s[g]=o;for(let C=0;C<o.edges.length;C++){const l=o.edges[C];if(this.clusteredEdges[l.id]===void 0){const d=this._getConnectedId(l,g);if(this.clusteredNodes[d]===void 0)if(d!==g)if(t.joinCondition===void 0)a[l.id]=l,s[d]=this.body.nodes[d];else{const u=Gt.cloneOptions(this.body.nodes[d]);t.joinCondition(A,u)===!0&&(a[l.id]=l,s[d]=this.body.nodes[d])}else a[l.id]=l}}const I=bs(r=Xe(s)).call(r,function(C){return s[C].id});for(const C in s){if(!Object.prototype.hasOwnProperty.call(s,C))continue;const l=s[C];for(let d=0;d<l.edges.length;d++){const u=l.edges[d];Oe(I).call(I,this._getConnectedId(u,l.id))>-1&&(a[u.id]=u)}}this._cluster(s,a,t,i)}_createClusterEdges(e,t,r,i){let o,s,a,g,A,I;const C=Xe(e),l=[];for(let h=0;h<C.length;h++){s=C[h],a=e[s];for(let v=0;v<a.edges.length;v++)o=a.edges[v],this.clusteredEdges[o.id]===void 0&&(o.toId==o.fromId?t[o.id]=o:o.toId==s?(g=r.id,A=o.fromId,I=A):(g=o.toId,A=r.id,I=g),e[I]===void 0&&l.push({edge:o,fromId:A,toId:g}))}const d=[],u=function(h){for(let v=0;v<d.length;v++){const f=d[v],c=h.fromId===f.fromId&&h.toId===f.toId,b=h.fromId===f.toId&&h.toId===f.fromId;if(c||b)return f}return null};for(let h=0;h<l.length;h++){const v=l[h],f=v.edge;let c=u(v);c===null?(c=this._createClusteredEdge(v.fromId,v.toId,f,i),d.push(c)):c.clusteringEdgeReplacingIds.push(f.id),this.body.edges[f.id].edgeReplacedById=c.id,this._backupEdgeOptions(f),f.setOptions({physics:!1})}}_checkOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.clusterEdgeProperties===void 0&&(e.clusterEdgeProperties={}),e.clusterNodeProperties===void 0&&(e.clusterNodeProperties={}),e}_cluster(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;const o=[];for(const I in e)Object.prototype.hasOwnProperty.call(e,I)&&this.clusteredNodes[I]!==void 0&&o.push(I);for(let I=0;I<o.length;++I)delete e[o[I]];if(Xe(e).length==0||Xe(e).length==1&&r.clusterNodeProperties.allowSingleNodeCluster!=!0)return;let s=qe({},r.clusterNodeProperties);if(r.processProperties!==void 0){const I=[];for(const l in e)if(Object.prototype.hasOwnProperty.call(e,l)){const d=Gt.cloneOptions(e[l]);I.push(d)}const C=[];for(const l in t)if(Object.prototype.hasOwnProperty.call(t,l)&&l.substr(0,12)!=="clusterEdge:"){const d=Gt.cloneOptions(t[l],"edge");C.push(d)}if(s=r.processProperties(s,I,C),!s)throw new Error("The processProperties function does not return properties!")}s.id===void 0&&(s.id="cluster:"+ja());const a=s.id;s.label===void 0&&(s.label="cluster");let g;s.x===void 0&&(g=this._getClusterPosition(e),s.x=g.x),s.y===void 0&&(g===void 0&&(g=this._getClusterPosition(e)),s.y=g.y),s.id=a;const A=this.body.functions.createNode(s,LEe);A.containedNodes=e,A.containedEdges=t,A.clusterEdgeProperties=r.clusterEdgeProperties,this.body.nodes[s.id]=A,this._clusterEdges(e,t,s,r.clusterEdgeProperties),s.id=void 0,i===!0&&this.body.emitter.emit("_dataChanged")}_backupEdgeOptions(e){this.clusteredEdges[e.id]===void 0&&(this.clusteredEdges[e.id]={physics:e.options.physics})}_restoreEdge(e){const t=this.clusteredEdges[e.id];t!==void 0&&(e.setOptions({physics:t.physics}),delete this.clusteredEdges[e.id])}isCluster(e){return this.body.nodes[e]!==void 0?this.body.nodes[e].isCluster===!0:(console.error("Node does not exist."),!1)}_getClusterPosition(e){const t=Xe(e);let r=e[t[0]].x,i=e[t[0]].x,o=e[t[0]].y,s=e[t[0]].y,a;for(let g=1;g<t.length;g++)a=e[t[g]],r=a.x<r?a.x:r,i=a.x>i?a.x:i,o=a.y<o?a.y:o,s=a.y>s?a.y:s;return{x:.5*(r+i),y:.5*(o+s)}}openCluster(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0)throw new Error("No clusterNodeId supplied to openCluster.");const i=this.body.nodes[e];if(i===void 0)throw new Error("The clusterNodeId supplied to openCluster does not exist.");if(i.isCluster!==!0||i.containedNodes===void 0||i.containedEdges===void 0)throw new Error("The node:"+e+" is not a valid cluster.");const o=this.findNode(e),s=Oe(o).call(o,e)-1;if(s>=0){const I=o[s];this.body.nodes[I]._openChildCluster(e),delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged");return}const a=i.containedNodes,g=i.containedEdges;if(t!==void 0&&t.releaseFunction!==void 0&&typeof t.releaseFunction=="function"){const I={},C={x:i.x,y:i.y};for(const d in a)if(Object.prototype.hasOwnProperty.call(a,d)){const u=this.body.nodes[d];I[d]={x:u.x,y:u.y}}const l=t.releaseFunction(C,I);for(const d in a)if(Object.prototype.hasOwnProperty.call(a,d)){const u=this.body.nodes[d];l[d]!==void 0&&(u.x=l[d].x===void 0?i.x:l[d].x,u.y=l[d].y===void 0?i.y:l[d].y)}}else ue(a,function(I){I.options.fixed.x===!1&&(I.x=i.x),I.options.fixed.y===!1&&(I.y=i.y)});for(const I in a)if(Object.prototype.hasOwnProperty.call(a,I)){const C=this.body.nodes[I];C.vx=i.vx,C.vy=i.vy,C.setOptions({physics:!0}),delete this.clusteredNodes[I]}const A=[];for(let I=0;I<i.edges.length;I++)A.push(i.edges[I]);for(let I=0;I<A.length;I++){const C=A[I],l=this._getConnectedId(C,e),d=this.clusteredNodes[l];for(let u=0;u<C.clusteringEdgeReplacingIds.length;u++){const h=C.clusteringEdgeReplacingIds[u],v=this.body.edges[h];if(v!==void 0)if(d!==void 0){const f=this.body.nodes[d.clusterId];f.containedEdges[v.id]=v,delete g[v.id];let c=v.fromId,b=v.toId;v.toId==l?b=d.clusterId:c=d.clusterId,this._createClusteredEdge(c,b,v,f.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(v)}C.remove()}for(const I in g)Object.prototype.hasOwnProperty.call(g,I)&&this._restoreEdge(g[I]);delete this.body.nodes[e],r===!0&&this.body.emitter.emit("_dataChanged")}getNodesInCluster(e){const t=[];if(this.isCluster(e)===!0){const r=this.body.nodes[e].containedNodes;for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.push(this.body.nodes[i].id)}return t}findNode(e){const t=[];let i=0,o;for(;this.clusteredNodes[e]!==void 0&&i<100;){if(o=this.body.nodes[e],o===void 0)return[];t.push(o.id),e=this.clusteredNodes[e].clusterId,i++}return o=this.body.nodes[e],o===void 0?[]:(t.push(o.id),Vn(t).call(t),t)}updateClusteredNode(e,t){if(e===void 0)throw new Error("No clusteredNodeId supplied to updateClusteredNode.");if(t===void 0)throw new Error("No newOptions supplied to updateClusteredNode.");if(this.body.nodes[e]===void 0)throw new Error("The clusteredNodeId supplied to updateClusteredNode does not exist.");this.body.nodes[e].setOptions(t),this.body.emitter.emit("_dataChanged")}updateEdge(e,t){if(e===void 0)throw new Error("No startEdgeId supplied to updateEdge.");if(t===void 0)throw new Error("No newOptions supplied to updateEdge.");if(this.body.edges[e]===void 0)throw new Error("The startEdgeId supplied to updateEdge does not exist.");const r=this.getClusteredEdges(e);for(let i=0;i<r.length;i++)this.body.edges[r[i]].setOptions(t);this.body.emitter.emit("_dataChanged")}getClusteredEdges(e){const t=[];let i=0;for(;e!==void 0&&this.body.edges[e]!==void 0&&i<100;)t.push(this.body.edges[e].id),e=this.body.edges[e].edgeReplacedById,i++;return Vn(t).call(t),t}getBaseEdge(e){return this.getBaseEdges(e)[0]}getBaseEdges(e){const t=[e],r=[],i=[],o=100;let s=0;for(;t.length>0&&s<o;){const a=t.pop();if(a===void 0)continue;const g=this.body.edges[a];if(g===void 0)continue;s++;const A=g.clusteringEdgeReplacingIds;if(A===void 0)i.push(a);else for(let I=0;I<A.length;++I){const C=A[I];Oe(t).call(t,A)!==-1||Oe(r).call(r,A)!==-1||t.push(C)}r.push(a)}return i}_getConnectedId(e,t){return e.toId!=t?e.toId:(e.fromId!=t,e.fromId)}_getHubSize(){let e=0,t=0,r=0,i=0;for(let g=0;g<this.body.nodeIndices.length;g++){const A=this.body.nodes[this.body.nodeIndices[g]];A.edges.length>i&&(i=A.edges.length),e+=A.edges.length,t+=Math.pow(A.edges.length,2),r+=1}e=e/r,t=t/r;const o=t-Math.pow(e,2),s=Math.sqrt(o);let a=Math.floor(e+2*s);return a>i&&(a=i),a}_createClusteredEdge(e,t,r,i,o){const s=Gt.cloneOptions(r,"edge");qe(s,i),s.from=e,s.to=t,s.id="clusterEdge:"+ja(),o!==void 0&&qe(s,o);const a=this.body.functions.createEdge(s);return a.clusteringEdgeReplacingIds=[r.id],a.connect(),this.body.edges[a.id]=a,a}_clusterEdges(e,t,r,i){if(t instanceof ln){const o=t,s={};s[o.id]=o,t=s}if(e instanceof je){const o=e,s={};s[o.id]=o,e=s}if(r==null)throw new Error("_clusterEdges: parameter clusterNode required");i===void 0&&(i=r.clusterEdgeProperties),this._createClusterEdges(e,t,r,i);for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&this.body.edges[o]!==void 0){const s=this.body.edges[o];this._backupEdgeOptions(s),s.setOptions({physics:!1})}for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(this.clusteredNodes[o]={clusterId:r.id,node:this.body.nodes[o]},this.body.nodes[o].setOptions({physics:!1}))}_getClusterNodeForNode(e){if(e===void 0)return;const t=this.clusteredNodes[e];if(t===void 0)return;const r=t.clusterId;if(r!==void 0)return this.body.nodes[r]}_filter(e,t){const r=[];return ue(e,i=>{t(i)&&r.push(i)}),r}_updateState(){let e;const t=[],r={},i=g=>{ue(this.body.nodes,A=>{A.isCluster===!0&&g(A)})};for(e in this.clusteredNodes){if(!Object.prototype.hasOwnProperty.call(this.clusteredNodes,e))continue;this.body.nodes[e]===void 0&&t.push(e)}i(function(g){for(let A=0;A<t.length;A++)delete g.containedNodes[t[A]]});for(let g=0;g<t.length;g++)delete this.clusteredNodes[t[g]];ue(this.clusteredEdges,g=>{const A=this.body.edges[g];(A===void 0||!A.endPointsValid())&&(r[g]=g)}),i(function(g){ue(g.containedEdges,(A,I)=>{!A.endPointsValid()&&!r[I]&&(r[I]=I)})}),ue(this.body.edges,(g,A)=>{let I=!0;const C=g.clusteringEdgeReplacingIds;if(C!==void 0){let l=0;ue(C,d=>{const u=this.body.edges[d];u!==void 0&&u.endPointsValid()&&(l+=1)}),I=l>0}(!g.endPointsValid()||!I)&&(r[A]=A)}),i(g=>{ue(r,A=>{delete g.containedEdges[A],ue(g.edges,(I,C)=>{if(I.id===A){g.edges[C]=null;return}I.clusteringEdgeReplacingIds=this._filter(I.clusteringEdgeReplacingIds,function(l){return!r[l]})}),g.edges=this._filter(g.edges,function(I){return I!==null})})}),ue(r,g=>{delete this.clusteredEdges[g]}),ue(r,g=>{delete this.body.edges[g]});const o=Xe(this.body.edges);ue(o,g=>{const A=this.body.edges[g],I=this._isClusteredNode(A.fromId)||this._isClusteredNode(A.toId);if(I!==this._isClusteredEdge(A.id))if(I){const C=this._getClusterNodeForNode(A.fromId);C!==void 0&&this._clusterEdges(this.body.nodes[A.fromId],A,C);const l=this._getClusterNodeForNode(A.toId);l!==void 0&&this._clusterEdges(this.body.nodes[A.toId],A,l)}else delete this._clusterEdges[g],this._restoreEdge(A)});let s=!1,a=!0;for(;a;){const g=[];i(function(A){const I=Xe(A.containedNodes).length,C=A.options.allowSingleNodeCluster===!0;(C&&I<1||!C&&I<2)&&g.push(A.id)});for(let A=0;A<g.length;++A)this.openCluster(g[A],{},!1);a=g.length>0,s=s||a}s&&this._updateState()}_isClusteredNode(e){return this.clusteredNodes[e]!==void 0}_isClusteredEdge(e){return this.clusteredEdges[e]!==void 0}}class WEe{constructor(e,t){this.body=e,this.canvas=t,this.redrawRequested=!1,this.requestAnimationFrameRequestId=void 0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},At(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.on("dragStart",()=>{this.dragging=!0}),this.body.emitter.on("dragEnd",()=>{this.dragging=!1}),this.body.emitter.on("zoom",()=>{this.zooming=!0,window.clearTimeout(this.zoomTimeoutId),this.zoomTimeoutId=Si(()=>{var t;this.zooming=!1,j(t=this._requestRedraw).call(t,this)()},250)}),this.body.emitter.on("_resizeNodes",()=>{this._resizeNodes()}),this.body.emitter.on("_redraw",()=>{this.renderingActive===!1&&this._redraw()}),this.body.emitter.on("_blockRedraw",()=>{this.allowRedraw=!1}),this.body.emitter.on("_allowRedraw",()=>{this.allowRedraw=!0,this.redrawRequested=!1}),this.body.emitter.on("_requestRedraw",j(e=this._requestRedraw).call(e,this)),this.body.emitter.on("_startRendering",()=>{this.renderRequests+=1,this.renderingActive=!0,this._startRendering()}),this.body.emitter.on("_stopRendering",()=>{this.renderRequests-=1,this.renderingActive=this.renderRequests>0,this.requestAnimationFrameRequestId=void 0}),this.body.emitter.on("destroy",()=>{this.renderRequests=0,this.allowRedraw=!1,this.renderingActive=!1,window.cancelAnimationFrame(this.requestAnimationFrameRequestId),this.body.emitter.off()})}setOptions(e){e!==void 0&&da(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag"],this.options,e)}_startRendering(){if(this.renderingActive===!0&&this.requestAnimationFrameRequestId===void 0){var e;this.requestAnimationFrameRequestId=window.requestAnimationFrame(j(e=this._renderStep).call(e,this),this.simulationInterval)}}_renderStep(){this.renderingActive===!0&&(this.requestAnimationFrameRequestId=void 0,this._startRendering(),this._redraw())}redraw(){this.body.emitter.emit("setSize"),this._redraw()}_requestRedraw(){this.redrawRequested!==!0&&this.renderingActive===!1&&this.allowRedraw===!0&&(this.redrawRequested=!0,window.requestAnimationFrame(()=>{this._redraw(!1)}))}_redraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(this.allowRedraw===!0){this.body.emitter.emit("initRedraw"),this.redrawRequested=!1;const t={drawExternalLabels:null};(this.canvas.frame.canvas.width===0||this.canvas.frame.canvas.height===0)&&this.canvas.setSize(),this.canvas.setTransform();const r=this.canvas.getContext(),i=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(r.clearRect(0,0,i,o),this.canvas.frame.clientWidth===0)return;if(r.save(),r.translate(this.body.view.translation.x,this.body.view.translation.y),r.scale(this.body.view.scale,this.body.view.scale),r.beginPath(),this.body.emitter.emit("beforeDrawing",r),r.closePath(),e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawEdges(r),this.dragging===!1||this.dragging===!0&&this.options.hideNodesOnDrag===!1){const{drawExternalLabels:s}=this._drawNodes(r,e);t.drawExternalLabels=s}e===!1&&(this.dragging===!1||this.dragging===!0&&this.options.hideEdgesOnDrag===!1)&&(this.zooming===!1||this.zooming===!0&&this.options.hideEdgesOnZoom===!1)&&this._drawArrows(r),t.drawExternalLabels!=null&&t.drawExternalLabels(),e===!1&&this._drawSelectionBox(r),r.beginPath(),this.body.emitter.emit("afterDrawing",r),r.closePath(),r.restore(),e===!0&&r.clearRect(0,0,i,o)}}_resizeNodes(){this.canvas.setTransform();const e=this.canvas.getContext();e.save(),e.translate(this.body.view.translation.x,this.body.view.translation.y),e.scale(this.body.view.scale,this.body.view.scale);const t=this.body.nodes;let r;for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r=t[i],r.resize(e),r.updateBoundingBox(e,r.selected));e.restore()}_drawNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const r=this.body.nodes,i=this.body.nodeIndices;let o;const s=[],a=[],g=20,A=this.canvas.DOMtoCanvas({x:-g,y:-g}),I=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+g,y:this.canvas.frame.canvas.clientHeight+g}),C={top:A.y,left:A.x,bottom:I.y,right:I.x},l=[];for(let v=0;v<i.length;v++)if(o=r[i[v]],o.hover)a.push(i[v]);else if(o.isSelected())s.push(i[v]);else if(t===!0){const f=o.draw(e);f.drawExternalLabel!=null&&l.push(f.drawExternalLabel)}else if(o.isBoundingBoxOverlappingWith(C)===!0){const f=o.draw(e);f.drawExternalLabel!=null&&l.push(f.drawExternalLabel)}else o.updateBoundingBox(e,o.selected);let d;const u=s.length,h=a.length;for(d=0;d<u;d++){o=r[s[d]];const v=o.draw(e);v.drawExternalLabel!=null&&l.push(v.drawExternalLabel)}for(d=0;d<h;d++){o=r[a[d]];const v=o.draw(e);v.drawExternalLabel!=null&&l.push(v.drawExternalLabel)}return{drawExternalLabels:()=>{for(const v of l)v()}}}_drawEdges(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const o=t[r[i]];o.connected===!0&&o.draw(e)}}_drawArrows(e){const t=this.body.edges,r=this.body.edgeIndices;for(let i=0;i<r.length;i++){const o=t[r[i]];o.connected===!0&&o.drawArrows(e)}}_drawSelectionBox(e){if(this.body.selectionBox.show){e.beginPath();const t=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,r=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;e.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.fillStyle="rgba(151, 194, 252, 0.2)",e.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,t,r),e.strokeStyle="rgba(151, 194, 252, 1)",e.stroke()}else e.closePath()}}var l_,g6;function VEe(){if(g6)return l_;g6=1,See();var n=Re();return l_=n.setInterval,l_}var d_,A6;function ZEe(){return A6||(A6=1,d_=VEe()),d_}var HEe=ZEe(),UEe=se(HEe);function nI(n,e){e.inputHandler=function(t){t.isFirst&&e(t)},n.on("hammer.input",e.inputHandler)}function yte(n,e){return e.inputHandler=function(t){t.isFinal&&e(t)},n.on("hammer.input",e.inputHandler)}class KEe{constructor(e){this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:"100%",width:"100%"},At(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){var e;this.body.emitter.once("resize",t=>{t.width!==0&&(this.body.view.translation.x=t.width*.5),t.height!==0&&(this.body.view.translation.y=t.height*.5)}),this.body.emitter.on("setSize",j(e=this.setSize).call(e,this)),this.body.emitter.on("destroy",()=>{this.hammerFrame.destroy(),this.hammer.destroy(),this._cleanUp()})}setOptions(e){if(e!==void 0&&da(["width","height","autoResize"],this.options,e),this._cleanUp(),this.options.autoResize===!0){var t;if(window.ResizeObserver){const i=new ResizeObserver(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")}),{frame:o}=this;i.observe(o),this._cleanupCallbacks.push(()=>{i.unobserve(o)})}else{const i=UEe(()=>{this.setSize()===!0&&this.body.emitter.emit("_requestRedraw")},1e3);this._cleanupCallbacks.push(()=>{clearInterval(i)})}const r=j(t=this._onResize).call(t,this);window.addEventListener("resize",r),this._cleanupCallbacks.push(()=>{window.removeEventListener("resize",r)})}}_cleanUp(){var e,t,r;xe(e=Vn(t=Ei(r=this._cleanupCallbacks).call(r,0)).call(t)).call(e,i=>{try{i()}catch(o){console.error(o)}})}_onResize(){this.setSize(),this.body.emitter.emit("_redraw")}_getCameraState(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.pixelRatio;this.initialized===!0&&(this.cameraState.previousWidth=this.frame.canvas.width/e,this.cameraState.previousHeight=this.frame.canvas.height/e,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/e,y:.5*this.frame.canvas.height/e}))}_setCameraState(){if(this.cameraState.scale!==void 0&&this.frame.canvas.clientWidth!==0&&this.frame.canvas.clientHeight!==0&&this.pixelRatio!==0&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){const e=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,t=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight;let r=this.cameraState.scale;e!=1&&t!=1?r=this.cameraState.scale*.5*(e+t):e!=1?r=this.cameraState.scale*e:t!=1&&(r=this.cameraState.scale*t),this.body.view.scale=r;const i=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),o={x:i.x-this.cameraState.position.x,y:i.y-this.cameraState.position.y};this.body.view.translation.x+=o.x*this.body.view.scale,this.body.view.translation.y+=o.y*this.body.view.scale}}_prepareValue(e){if(typeof e=="number")return e+"px";if(typeof e=="string"){if(Oe(e).call(e,"%")!==-1||Oe(e).call(e,"px")!==-1)return e;if(Oe(e).call(e,"%")===-1)return e+"px"}throw new Error("Could not use the value supplied for width or height:"+e)}_create(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement("div"),this.frame.className="vis-network",this.frame.style.position="relative",this.frame.style.overflow="hidden",this.frame.tabIndex=0,this.frame.canvas=document.createElement("canvas"),this.frame.canvas.style.position="relative",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{const e=document.createElement("DIV");e.style.color="red",e.style.fontWeight="bold",e.style.padding="10px",e.innerText="Error: your browser does not support HTML canvas",this.frame.canvas.appendChild(e)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}_bindHammer(){this.hammer!==void 0&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new as(this.frame.canvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.get("pan").set({threshold:5,direction:as.DIRECTION_ALL}),nI(this.hammer,e=>{this.body.eventListeners.onTouch(e)}),this.hammer.on("tap",e=>{this.body.eventListeners.onTap(e)}),this.hammer.on("doubletap",e=>{this.body.eventListeners.onDoubleTap(e)}),this.hammer.on("press",e=>{this.body.eventListeners.onHold(e)}),this.hammer.on("panstart",e=>{this.body.eventListeners.onDragStart(e)}),this.hammer.on("panmove",e=>{this.body.eventListeners.onDrag(e)}),this.hammer.on("panend",e=>{this.body.eventListeners.onDragEnd(e)}),this.hammer.on("pinch",e=>{this.body.eventListeners.onPinch(e)}),this.frame.canvas.addEventListener("wheel",e=>{this.body.eventListeners.onMouseWheel(e)}),this.frame.canvas.addEventListener("mousemove",e=>{this.body.eventListeners.onMouseMove(e)}),this.frame.canvas.addEventListener("contextmenu",e=>{this.body.eventListeners.onContext(e)}),this.hammerFrame=new as(this.frame),yte(this.hammerFrame,e=>{this.body.eventListeners.onRelease(e)})}setSize(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.width,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.height;e=this._prepareValue(e),t=this._prepareValue(t);let r=!1;const i=this.frame.canvas.width,o=this.frame.canvas.height,s=this.pixelRatio;if(this._setPixelRatio(),e!=this.options.width||t!=this.options.height||this.frame.style.width!=e||this.frame.style.height!=t)this._getCameraState(s),this.frame.style.width=e,this.frame.style.height=t,this.frame.canvas.style.width="100%",this.frame.canvas.style.height="100%",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=e,this.options.height=t,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},r=!0;else{const a=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),g=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);(this.frame.canvas.width!==a||this.frame.canvas.height!==g)&&this._getCameraState(s),this.frame.canvas.width!==a&&(this.frame.canvas.width=a,r=!0),this.frame.canvas.height!==g&&(this.frame.canvas.height=g,r=!0)}return r===!0&&(this.body.emitter.emit("resize",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(i/this.pixelRatio),oldHeight:Math.round(o/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,r}getContext(){return this.frame.canvas.getContext("2d")}_determinePixelRatio(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");let t=1;typeof window<"u"&&(t=window.devicePixelRatio||1);const r=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return t/r}_setPixelRatio(){this.pixelRatio=this._determinePixelRatio()}setTransform(){const e=this.getContext();if(e===void 0)throw new Error("Could not get canvax context");e.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}_XconvertDOMtoCanvas(e){return(e-this.body.view.translation.x)/this.body.view.scale}_XconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.x}_YconvertDOMtoCanvas(e){return(e-this.body.view.translation.y)/this.body.view.scale}_YconvertCanvasToDOM(e){return e*this.body.view.scale+this.body.view.translation.y}canvasToDOM(e){return{x:this._XconvertCanvasToDOM(e.x),y:this._YconvertCanvasToDOM(e.y)}}DOMtoCanvas(e){return{x:this._XconvertDOMtoCanvas(e.x),y:this._YconvertDOMtoCanvas(e.y)}}}function YEe(n,e){const t=At({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},n??{});if(!Qe(t.nodes))throw new TypeError("Nodes has to be an array of ids.");if(t.nodes.length===0&&(t.nodes=e),!(typeof t.minZoomLevel=="number"&&t.minZoomLevel>0))throw new TypeError("Min zoom level has to be a number higher than zero.");if(!(typeof t.maxZoomLevel=="number"&&t.minZoomLevel<=t.maxZoomLevel))throw new TypeError("Max zoom level has to be a number higher than min zoom level.");return t}class XEe{constructor(e,t){var r,i;this.body=e,this.canvas=t,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction="easeInOutQuint",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on("fit",j(r=this.fit).call(r,this)),this.body.emitter.on("animationFinished",()=>{this.body.emitter.emit("_stopRendering")}),this.body.emitter.on("unlockNode",j(i=this.releaseNode).call(i,this))}setOptions(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=e}fit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;e=YEe(e,this.body.nodeIndices);const r=this.canvas.frame.canvas.clientWidth,i=this.canvas.frame.canvas.clientHeight;let o,s;if(r===0||i===0)s=1,o=Gt.getRange(this.body.nodes,e.nodes);else if(t===!0){let A=0;for(const l in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,l)&&this.body.nodes[l].predefinedPosition===!0&&(A+=1);if(A>.5*this.body.nodeIndices.length){this.fit(e,!1);return}o=Gt.getRange(this.body.nodes,e.nodes),s=12.662/(this.body.nodeIndices.length+7.4147)+.0964822;const C=Math.min(r/600,i/600);s*=C}else{this.body.emitter.emit("_resizeNodes"),o=Gt.getRange(this.body.nodes,e.nodes);const A=Math.abs(o.maxX-o.minX)*1.1,I=Math.abs(o.maxY-o.minY)*1.1,C=r/A,l=i/I;s=C<=l?C:l}s>e.maxZoomLevel?s=e.maxZoomLevel:s<e.minZoomLevel&&(s=e.minZoomLevel);const g={position:Gt.findCenter(o),scale:s,animation:e.animation};this.moveTo(g)}focus(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.body.nodes[e]!==void 0){const r={x:this.body.nodes[e].x,y:this.body.nodes[e].y};t.position=r,t.lockedOnNode=e,this.moveTo(t)}else console.error("Node: "+e+" cannot be found.")}moveTo(e){if(e===void 0){e={};return}if(e.offset!=null){if(e.offset.x!=null){if(e.offset.x=+e.offset.x,!kn(e.offset.x))throw new TypeError('The option "offset.x" has to be a finite number.')}else e.offset.x=0;if(e.offset.y!=null){if(e.offset.y=+e.offset.y,!kn(e.offset.y))throw new TypeError('The option "offset.y" has to be a finite number.')}else e.offset.x=0}else e.offset={x:0,y:0};if(e.position!=null){if(e.position.x!=null){if(e.position.x=+e.position.x,!kn(e.position.x))throw new TypeError('The option "position.x" has to be a finite number.')}else e.position.x=0;if(e.position.y!=null){if(e.position.y=+e.position.y,!kn(e.position.y))throw new TypeError('The option "position.y" has to be a finite number.')}else e.position.x=0}else e.position=this.getViewPosition();if(e.scale!=null){if(e.scale=+e.scale,!(e.scale>0))throw new TypeError('The option "scale" has to be a number greater than zero.')}else e.scale=this.body.view.scale;e.animation===void 0&&(e.animation={duration:0}),e.animation===!1&&(e.animation={duration:0}),e.animation===!0&&(e.animation={}),e.animation.duration===void 0&&(e.animation.duration=1e3),e.animation.easingFunction===void 0&&(e.animation.easingFunction="easeInOutQuad"),this.animateView(e)}animateView(e){if(e===void 0)return;this.animationEasingFunction=e.animation.easingFunction,this.releaseNode(),e.locked===!0&&(this.lockedOnNodeId=e.lockedOnNode,this.lockedOnNodeOffset=e.offset),this.easingTime!=0&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=e.scale,this.body.view.scale=this.targetScale;const t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.position.x,y:t.y-e.position.y};if(this.targetTranslation={x:this.sourceTranslation.x+r.x*this.targetScale+e.offset.x,y:this.sourceTranslation.y+r.y*this.targetScale+e.offset.y},e.animation.duration===0)if(this.lockedOnNodeId!=null){var i;this.viewFunction=j(i=this._lockedRedraw).call(i,this),this.body.emitter.on("initRedraw",this.viewFunction)}else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit("_requestRedraw");else{var o;this.animationSpeed=1/(60*e.animation.duration*.001)||1/60,this.animationEasingFunction=e.animation.easingFunction,this.viewFunction=j(o=this._transitionRedraw).call(o,this),this.body.emitter.on("initRedraw",this.viewFunction),this.body.emitter.emit("_startRendering")}}_lockedRedraw(){const e={x:this.body.nodes[this.lockedOnNodeId].x,y:this.body.nodes[this.lockedOnNodeId].y},t=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),r={x:t.x-e.x,y:t.y-e.y},i=this.body.view.translation,o={x:i.x+r.x*this.body.view.scale+this.lockedOnNodeOffset.x,y:i.y+r.y*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=o}releaseNode(){this.lockedOnNodeId!==void 0&&this.viewFunction!==void 0&&(this.body.emitter.off("initRedraw",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}_transitionRedraw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.easingTime+=this.animationSpeed,this.easingTime=e===!0?1:this.easingTime;const t=o1e[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*t,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*t,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*t},this.easingTime>=1){if(this.body.emitter.off("initRedraw",this.viewFunction),this.easingTime=0,this.lockedOnNodeId!=null){var r;this.viewFunction=j(r=this._lockedRedraw).call(r,this),this.body.emitter.on("initRedraw",this.viewFunction)}this.body.emitter.emit("animationFinished")}}getScale(){return this.body.view.scale}getViewPosition(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}function I6(n){var e=n&&n.preventDefault||!1,t=n&&n.container||window,r={},i={keydown:{},keyup:{}},o={},s;for(s=97;s<=122;s++)o[String.fromCharCode(s)]={code:65+(s-97),shift:!1};for(s=65;s<=90;s++)o[String.fromCharCode(s)]={code:s,shift:!0};for(s=0;s<=9;s++)o[""+s]={code:48+s,shift:!1};for(s=1;s<=12;s++)o["F"+s]={code:111+s,shift:!1};for(s=0;s<=9;s++)o["num"+s]={code:96+s,shift:!1};o["num*"]={code:106,shift:!1},o["num+"]={code:107,shift:!1},o["num-"]={code:109,shift:!1},o["num/"]={code:111,shift:!1},o["num."]={code:110,shift:!1},o.left={code:37,shift:!1},o.up={code:38,shift:!1},o.right={code:39,shift:!1},o.down={code:40,shift:!1},o.space={code:32,shift:!1},o.enter={code:13,shift:!1},o.shift={code:16,shift:void 0},o.esc={code:27,shift:!1},o.backspace={code:8,shift:!1},o.tab={code:9,shift:!1},o.ctrl={code:17,shift:!1},o.alt={code:18,shift:!1},o.delete={code:46,shift:!1},o.pageup={code:33,shift:!1},o.pagedown={code:34,shift:!1},o["="]={code:187,shift:!1},o["-"]={code:189,shift:!1},o["]"]={code:221,shift:!1},o["["]={code:219,shift:!1};var a=function(I){A(I,"keydown")},g=function(I){A(I,"keyup")},A=function(I,C){if(i[C][I.keyCode]!==void 0){for(var l=i[C][I.keyCode],d=0;d<l.length;d++)(l[d].shift===void 0||l[d].shift==!0&&I.shiftKey==!0||l[d].shift==!1&&I.shiftKey==!1)&&l[d].fn(I);e==!0&&I.preventDefault()}};return r.bind=function(I,C,l){if(l===void 0&&(l="keydown"),o[I]===void 0)throw new Error("unsupported key: "+I);i[l][o[I].code]===void 0&&(i[l][o[I].code]=[]),i[l][o[I].code].push({fn:C,shift:o[I].shift})},r.bindAll=function(I,C){C===void 0&&(C="keydown");for(var l in o)o.hasOwnProperty(l)&&r.bind(l,I,C)},r.getKey=function(I){for(var C in o)if(o.hasOwnProperty(C)){if(I.shiftKey==!0&&o[C].shift==!0&&I.keyCode==o[C].code)return C;if(I.shiftKey==!1&&o[C].shift==!1&&I.keyCode==o[C].code)return C;if(I.keyCode==o[C].code&&C=="shift")return C}return"unknown key, currently not supported"},r.unbind=function(I,C,l){if(l===void 0&&(l="keydown"),o[I]===void 0)throw new Error("unsupported key: "+I);if(C!==void 0){var d=[],u=i[l][o[I].code];if(u!==void 0)for(var h=0;h<u.length;h++)u[h].fn==C&&u[h].shift==o[I].shift||d.push(i[l][o[I].code][h]);i[l][o[I].code]=d}else i[l][o[I].code]=[]},r.reset=function(){i={keydown:{},keyup:{}}},r.destroy=function(){i={keydown:{},keyup:{}},t.removeEventListener("keydown",a,!0),t.removeEventListener("keyup",g,!0)},t.addEventListener("keydown",a,!0),t.addEventListener("keyup",g,!0),r}class QEe{constructor(e,t){this.body=e,this.canvas=t,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on("activate",()=>{this.activated=!0,this.configureKeyboardBindings()}),this.body.emitter.on("deactivate",()=>{this.activated=!1,this.configureKeyboardBindings()}),this.body.emitter.on("destroy",()=>{this.keycharm!==void 0&&this.keycharm.destroy()}),this.options={}}setOptions(e){e!==void 0&&(this.options=e,this.create())}create(){this.options.navigationButtons===!0?this.iconsCreated===!1&&this.loadNavigationElements():this.iconsCreated===!0&&this.cleanNavigation(),this.configureKeyboardBindings()}cleanNavigation(){if(this.navigationHammers.length!=0){for(let e=0;e<this.navigationHammers.length;e++)this.navigationHammers[e].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}loadNavigationElements(){this.cleanNavigation(),this.navigationDOM={};const e=["up","down","left","right","zoomIn","zoomOut","zoomExtends"],t=["_moveUp","_moveDown","_moveLeft","_moveRight","_zoomIn","_zoomOut","_fit"];this.navigationDOM.wrapper=document.createElement("div"),this.navigationDOM.wrapper.className="vis-navigation",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(let s=0;s<e.length;s++){this.navigationDOM[e[s]]=document.createElement("div"),this.navigationDOM[e[s]].className="vis-button vis-"+e[s],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[s]]);const a=new as(this.navigationDOM[e[s]]);if(t[s]==="_fit"){var r;nI(a,j(r=this._fit).call(r,this))}else{var i;nI(a,j(i=this.bindToRedraw).call(i,this,t[s]))}this.navigationHammers.push(a)}const o=new as(this.canvas.frame);yte(o,()=>{this._stopMovement()}),this.navigationHammers.push(o),this.iconsCreated=!0}bindToRedraw(e){if(this.boundFunctions[e]===void 0){var t;this.boundFunctions[e]=j(t=this[e]).call(t,this),this.body.emitter.on("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_startRendering")}}unbindFromRedraw(e){this.boundFunctions[e]!==void 0&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"),delete this.boundFunctions[e])}_fit(){new Date().valueOf()-this.touchTime>700&&(this.body.emitter.emit("fit",{duration:700}),this.touchTime=new Date().valueOf())}_stopMovement(){for(const e in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,e)&&(this.body.emitter.off("initRedraw",this.boundFunctions[e]),this.body.emitter.emit("_stopRendering"));this.boundFunctions={}}_moveUp(){this.body.view.translation.y+=this.options.keyboard.speed.y}_moveDown(){this.body.view.translation.y-=this.options.keyboard.speed.y}_moveLeft(){this.body.view.translation.x+=this.options.keyboard.speed.x}_moveRight(){this.body.view.translation.x-=this.options.keyboard.speed.x}_zoomIn(){const e=this.body.view.scale,t=this.body.view.scale*(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,o=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,s=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:o,y:s},this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:null})}_zoomOut(){const e=this.body.view.scale,t=this.body.view.scale/(1+this.options.keyboard.speed.zoom),r=this.body.view.translation,i=t/e,o=(1-i)*this.canvas.canvasViewCenter.x+r.x*i,s=(1-i)*this.canvas.canvasViewCenter.y+r.y*i;this.body.view.scale=t,this.body.view.translation={x:o,y:s},this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:null})}configureKeyboardBindings(){if(this.keycharm!==void 0&&this.keycharm.destroy(),this.options.keyboard.enabled===!0&&(this.options.keyboard.bindToWindow===!0?this.keycharm=I6({container:window,preventDefault:!0}):this.keycharm=I6({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),this.activated===!0)){var e,t,r,i,o,s,a,g,A,I,C,l,d,u,h,v,f,c,b,p,y,E,S,m;j(e=this.keycharm).call(e,"up",()=>{this.bindToRedraw("_moveUp")},"keydown"),j(t=this.keycharm).call(t,"down",()=>{this.bindToRedraw("_moveDown")},"keydown"),j(r=this.keycharm).call(r,"left",()=>{this.bindToRedraw("_moveLeft")},"keydown"),j(i=this.keycharm).call(i,"right",()=>{this.bindToRedraw("_moveRight")},"keydown"),j(o=this.keycharm).call(o,"=",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(s=this.keycharm).call(s,"num+",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(a=this.keycharm).call(a,"num-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(g=this.keycharm).call(g,"-",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(A=this.keycharm).call(A,"[",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(I=this.keycharm).call(I,"]",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(C=this.keycharm).call(C,"pageup",()=>{this.bindToRedraw("_zoomIn")},"keydown"),j(l=this.keycharm).call(l,"pagedown",()=>{this.bindToRedraw("_zoomOut")},"keydown"),j(d=this.keycharm).call(d,"up",()=>{this.unbindFromRedraw("_moveUp")},"keyup"),j(u=this.keycharm).call(u,"down",()=>{this.unbindFromRedraw("_moveDown")},"keyup"),j(h=this.keycharm).call(h,"left",()=>{this.unbindFromRedraw("_moveLeft")},"keyup"),j(v=this.keycharm).call(v,"right",()=>{this.unbindFromRedraw("_moveRight")},"keyup"),j(f=this.keycharm).call(f,"=",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(c=this.keycharm).call(c,"num+",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(b=this.keycharm).call(b,"num-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),j(p=this.keycharm).call(p,"-",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),j(y=this.keycharm).call(y,"[",()=>{this.unbindFromRedraw("_zoomOut")},"keyup"),j(E=this.keycharm).call(E,"]",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(S=this.keycharm).call(S,"pageup",()=>{this.unbindFromRedraw("_zoomIn")},"keyup"),j(m=this.keycharm).call(m,"pagedown",()=>{this.unbindFromRedraw("_zoomOut")},"keyup")}}}class JEe{constructor(e,t,r){var i,o,s,a,g,A,I,C,l,d,u,h,v;this.body=e,this.canvas=t,this.selectionHandler=r,this.navigationHandler=new QEe(e,t),this.body.eventListeners.onTap=j(i=this.onTap).call(i,this),this.body.eventListeners.onTouch=j(o=this.onTouch).call(o,this),this.body.eventListeners.onDoubleTap=j(s=this.onDoubleTap).call(s,this),this.body.eventListeners.onHold=j(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=j(g=this.onDragStart).call(g,this),this.body.eventListeners.onDrag=j(A=this.onDrag).call(A,this),this.body.eventListeners.onDragEnd=j(I=this.onDragEnd).call(I,this),this.body.eventListeners.onMouseWheel=j(C=this.onMouseWheel).call(C,this),this.body.eventListeners.onPinch=j(l=this.onPinch).call(l,this),this.body.eventListeners.onMouseMove=j(d=this.onMouseMove).call(d,this),this.body.eventListeners.onRelease=j(u=this.onRelease).call(u,this),this.body.eventListeners.onContext=j(h=this.onContext).call(h,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=j(v=this.getPointer).call(v,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},At(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("destroy",()=>{clearTimeout(this.popupTimer),delete this.body.functions.getPointer})}setOptions(e){e!==void 0&&(tI(["hideEdgesOnDrag","hideEdgesOnZoom","hideNodesOnDrag","keyboard","multiselect","selectable","selectConnectedEdges"],this.options,e),ur(this.options,e,"keyboard"),e.tooltip&&(At(this.options.tooltip,e.tooltip),e.tooltip.color&&(this.options.tooltip.color=$O(e.tooltip.color)))),this.navigationHandler.setOptions(this.options)}getPointer(e){return{x:e.x-t1e(this.canvas.frame.canvas),y:e.y-r1e(this.canvas.frame.canvas)}}onTouch(e){new Date().valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(e.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=new Date().valueOf())}onTap(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect&&(e.changedPointers[0].ctrlKey||e.changedPointers[0].metaKey);this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t)}onDoubleTap(e){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("doubleClick",e,t)}onHold(e){const t=this.getPointer(e.center),r=this.selectionHandler.options.multiselect;this.checkSelectionChanges(t,r),this.selectionHandler.commitAndEmit(t,e),this.selectionHandler.generateClickEvent("click",e,t),this.selectionHandler.generateClickEvent("hold",e,t)}onRelease(e){if(new Date().valueOf()-this.touchTime>10){const t=this.getPointer(e.center);this.selectionHandler.generateClickEvent("release",e,t),this.touchTime=new Date().valueOf()}}onContext(e){const t=this.getPointer({x:e.clientX,y:e.clientY});this.selectionHandler.generateClickEvent("oncontext",e,t)}checkSelectionChanges(e){(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)===!0?this.selectionHandler.selectAdditionalOnPoint(e):this.selectionHandler.selectOnPoint(e)}_determineDifference(e,t){const r=function(i,o){const s=[];for(let a=0;a<i.length;a++){const g=i[a];Oe(o).call(o,g)===-1&&s.push(g)}return s};return{nodes:r(e.nodes,t.nodes),edges:r(e.edges,t.edges)}}onDragStart(e){if(this.drag.dragging)return;this.drag.pointer===void 0&&this.onTouch(e);const t=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=At({},this.body.view.translation),this.drag.nodeId=void 0,e.srcEvent.shiftKey){this.body.selectionBox.show=!0;const r=this.getPointer(e.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(r.x),y:this.canvas._YconvertDOMtoCanvas(r.y)}}else if(t!==void 0&&this.options.dragNodes===!0){this.drag.nodeId=t.id,t.isSelected()===!1&&this.selectionHandler.setSelection({nodes:[t.id]}),this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer);for(const r of this.selectionHandler.getSelectedNodes()){const i={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(i)}}else this.selectionHandler.generateClickEvent("dragStart",e,this.drag.pointer,void 0,!0)}onDrag(e){if(this.drag.pinched===!0)return;this.body.emitter.emit("unlockNode");const t=this.getPointer(e.center),r=this.drag.selection;if(r&&r.length&&this.options.dragNodes===!0){this.selectionHandler.generateClickEvent("dragging",e,t);const i=t.x-this.drag.pointer.x,o=t.y-this.drag.pointer.y;xe(r).call(r,s=>{const a=s.node;s.xFixed===!1&&(a.x=this.canvas._XconvertDOMtoCanvas(this.canvas._XconvertCanvasToDOM(s.x)+i)),s.yFixed===!1&&(a.y=this.canvas._YconvertDOMtoCanvas(this.canvas._YconvertCanvasToDOM(s.y)+o))}),this.body.emitter.emit("startSimulation")}else{if(e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(t.x),y:this.canvas._YconvertDOMtoCanvas(t.y)},this.body.emitter.emit("_requestRedraw")}if(this.options.dragView===!0&&!e.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent("dragging",e,t,void 0,!0),this.drag.pointer===void 0){this.onDragStart(e);return}const i=t.x-this.drag.pointer.x,o=t.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+i,y:this.drag.translation.y+o},this.body.emitter.emit("_requestRedraw")}}}onDragEnd(e){if(this.drag.dragging=!1,this.body.selectionBox.show){var t;this.body.selectionBox.show=!1;const r=this.body.selectionBox.position,i={minX:Math.min(r.start.x,r.end.x),minY:Math.min(r.start.y,r.end.y),maxX:Math.max(r.start.x,r.end.x),maxY:Math.max(r.start.y,r.end.y)},o=Qt(t=this.body.nodeIndices).call(t,a=>{const g=this.body.nodes[a];return g.x>=i.minX&&g.x<=i.maxX&&g.y>=i.minY&&g.y<=i.maxY});xe(o).call(o,a=>this.selectionHandler.selectObject(this.body.nodes[a]));const s=this.getPointer(e.center);this.selectionHandler.commitAndEmit(s,e),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw")}else{const r=this.drag.selection;r&&r.length?(xe(r).call(r,function(i){i.node.options.fixed.x=i.xFixed,i.node.options.fixed.y=i.yFixed}),this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center)),this.body.emitter.emit("startSimulation")):(this.selectionHandler.generateClickEvent("dragEnd",e,this.getPointer(e.center),void 0,!0),this.body.emitter.emit("_requestRedraw"))}}onPinch(e){const t=this.getPointer(e.center);this.drag.pinched=!0,this.pinch.scale===void 0&&(this.pinch.scale=1);const r=this.pinch.scale*e.scale;this.zoom(r,t)}zoom(e,t){if(this.options.zoomView===!0){const r=this.body.view.scale;e<1e-5&&(e=1e-5),e>10&&(e=10);let i;this.drag!==void 0&&this.drag.dragging===!0&&(i=this.canvas.DOMtoCanvas(this.drag.pointer));const o=this.body.view.translation,s=e/r,a=(1-s)*t.x+o.x*s,g=(1-s)*t.y+o.y*s;if(this.body.view.scale=e,this.body.view.translation={x:a,y:g},i!=null){const A=this.canvas.canvasToDOM(i);this.drag.pointer.x=A.x,this.drag.pointer.y=A.y}this.body.emitter.emit("_requestRedraw"),r<e?this.body.emitter.emit("zoom",{direction:"+",scale:this.body.view.scale,pointer:t}):this.body.emitter.emit("zoom",{direction:"-",scale:this.body.view.scale,pointer:t})}}onMouseWheel(e){if(this.options.zoomView===!0){if(e.deltaY!==0){let t=this.body.view.scale;t*=1+(e.deltaY<0?1:-1)*(this.options.zoomSpeed*.1);const r=this.getPointer({x:e.clientX,y:e.clientY});this.zoom(t,r)}e.preventDefault()}}onMouseMove(e){const t=this.getPointer({x:e.clientX,y:e.clientY});let r=!1;this.popup!==void 0&&(this.popup.hidden===!1&&this._checkHidePopup(t),this.popup.hidden===!1&&(r=!0,this.popup.setPosition(t.x+3,t.y-5),this.popup.show())),this.options.keyboard.autoFocus&&this.options.keyboard.bindToWindow===!1&&this.options.keyboard.enabled===!0&&this.canvas.frame.focus(),r===!1&&(this.popupTimer!==void 0&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=Si(()=>this._checkShowPopup(t),this.options.tooltipDelay))),this.options.hover===!0&&this.selectionHandler.hoverObject(e,t)}_checkShowPopup(e){const t=this.canvas._XconvertDOMtoCanvas(e.x),r=this.canvas._YconvertDOMtoCanvas(e.y),i={left:t,top:r,right:t,bottom:r},o=this.popupObj===void 0?void 0:this.popupObj.id;let s=!1,a="node";if(this.popupObj===void 0){const g=this.body.nodeIndices,A=this.body.nodes;let I;const C=[];for(let l=0;l<g.length;l++)I=A[g[l]],I.isOverlappingWith(i)===!0&&(s=!0,I.getTitle()!==void 0&&C.push(g[l]));C.length>0&&(this.popupObj=A[C[C.length-1]],s=!0)}if(this.popupObj===void 0&&s===!1){const g=this.body.edgeIndices,A=this.body.edges;let I;const C=[];for(let l=0;l<g.length;l++)I=A[g[l]],I.isOverlappingWith(i)===!0&&I.connected===!0&&I.getTitle()!==void 0&&C.push(g[l]);C.length>0&&(this.popupObj=A[C[C.length-1]],a="edge")}this.popupObj!==void 0?this.popupObj.id!==o&&(this.popup===void 0&&(this.popup=new d1e(this.canvas.frame)),this.popup.popupTargetType=a,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(e.x+3,e.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit("showPopup",this.popupObj.id)):this.popup!==void 0&&(this.popup.hide(),this.body.emitter.emit("hidePopup"))}_checkHidePopup(e){const t=this.selectionHandler._pointerToPositionObject(e);let r=!1;if(this.popup.popupTargetType==="node"){if(this.body.nodes[this.popup.popupTargetId]!==void 0&&(r=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(t),r===!0)){const i=this.selectionHandler.getNodeAt(e);r=i===void 0?!1:i.id===this.popup.popupTargetId}}else this.selectionHandler.getNodeAt(e)===void 0&&this.body.edges[this.popup.popupTargetId]!==void 0&&(r=this.body.edges[this.popup.popupTargetId].isOverlappingWith(t));r===!1&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit("hidePopup"))}}var C6={},l6={},d6;function eSe(){if(d6)return l6;d6=1;var n=ER(),e=Ite();return n("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},e),l6}var u6;function tSe(){return u6||(u6=1,eSe()),C6}var h6={},u_,c6;function Do(){if(c6)return u_;c6=1;var n=ta(),e=TypeError;return u_=function(t){if(typeof t=="object"&&"size"in t&&"has"in t&&"add"in t&&"delete"in t&&"keys"in t)return t;throw new e(n(t)+" is not a set")},u_}var h_,f6;function No(){if(f6)return h_;f6=1;var n=Cr(),e=Cte(),t=n("Set"),r=t.prototype;return h_={Set:t,add:e("add",1),has:e("has",1),remove:e("delete",1),proto:r},h_}var c_,p6;function Mo(){if(p6)return c_;p6=1;var n=or();return c_=function(e,t,r){for(var i=r?e:e.iterator,o=e.next,s,a;!(s=n(o,i)).done;)if(a=t(s.value),a!==void 0)return a},c_}var f_,v6;function aA(){if(v6)return f_;v6=1;var n=Mo();return f_=function(e,t,r){return r?n(e.keys(),t,!0):e.forEach(t)},f_}var p_,m6;function xR(){if(m6)return p_;m6=1;var n=No(),e=aA(),t=n.Set,r=n.add;return p_=function(i){var o=new t;return e(i,function(s){r(o,s)}),o},p_}var v_,y6;function gA(){return y6||(y6=1,v_=function(n){return n.size}),v_}var m_,b6;function rSe(){return b6||(b6=1,m_=function(n){return{iterator:n,next:n.next,done:!1}}),m_}var y_,w6;function qo(){if(w6)return y_;w6=1;var n=ki(),e=ui(),t=or(),r=oa(),i=rSe(),o="Invalid size",s=RangeError,a=TypeError,g=Math.max,A=function(I,C){this.set=I,this.size=g(C,0),this.has=n(I.has),this.keys=n(I.keys)};return A.prototype={getIterator:function(){return i(e(t(this.keys,this.set)))},includes:function(I){return t(this.has,this.set,I)}},y_=function(I){e(I);var C=+I.size;if(C!==C)throw new a(o);var l=r(C);if(l<0)throw new s(o);return new A(I,l)},y_}var b_,E6;function iSe(){if(E6)return b_;E6=1;var n=Do(),e=No(),t=xR(),r=gA(),i=qo(),o=aA(),s=Mo(),a=e.has,g=e.remove;return b_=function(I){var C=n(this),l=i(I),d=t(C);return r(C)<=l.size?o(C,function(u){l.includes(u)&&g(d,u)}):s(l.getIterator(),function(u){a(d,u)&&g(d,u)}),d},b_}var w_,S6;function Fo(){return S6||(S6=1,w_=function(){return!1}),w_}var _6;function nSe(){if(_6)return h6;_6=1;var n=te(),e=iSe(),t=pe(),r=Fo(),i=!r("difference",function(s){return s.size===0}),o=i||t(function(){var s={size:1,has:function(){return!0},keys:function(){var g=0;return{next:function(){var A=g++>1;return a.has(1)&&a.clear(),{done:A,value:2}}}}},a=new Set([1,2,3,4]);return a.difference(s).size!==3});return n({target:"Set",proto:!0,real:!0,forced:o},{difference:e}),h6}var O6={},E_,T6;function oSe(){if(T6)return E_;T6=1;var n=Do(),e=No(),t=gA(),r=qo(),i=aA(),o=Mo(),s=e.Set,a=e.add,g=e.has;return E_=function(I){var C=n(this),l=r(I),d=new s;return t(C)>l.size?o(l.getIterator(),function(u){g(C,u)&&a(d,u)}):i(C,function(u){l.includes(u)&&a(d,u)}),d},E_}var R6;function sSe(){if(R6)return O6;R6=1;var n=te(),e=pe(),t=oSe(),r=Fo(),i=!r("intersection",function(o){return o.size===2&&o.has(1)&&o.has(2)})||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});return n({target:"Set",proto:!0,real:!0,forced:i},{intersection:t}),O6}var P6={},S_,x6;function aSe(){if(x6)return S_;x6=1;var n=Do(),e=No().has,t=gA(),r=qo(),i=aA(),o=Mo(),s=bR();return S_=function(g){var A=n(this),I=r(g);if(t(A)<=I.size)return i(A,function(l){if(I.includes(l))return!1},!0)!==!1;var C=I.getIterator();return o(C,function(l){if(e(A,l))return s(C,"normal",!1)})!==!1},S_}var $6;function gSe(){if($6)return P6;$6=1;var n=te(),e=aSe(),t=Fo(),r=!t("isDisjointFrom",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isDisjointFrom:e}),P6}var D6={},__,N6;function ASe(){if(N6)return __;N6=1;var n=Do(),e=gA(),t=aA(),r=qo();return __=function(o){var s=n(this),a=r(o);return e(s)>a.size?!1:t(s,function(g){if(!a.includes(g))return!1},!0)!==!1},__}var M6;function ISe(){if(M6)return D6;M6=1;var n=te(),e=ASe(),t=Fo(),r=!t("isSubsetOf",function(i){return i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSubsetOf:e}),D6}var q6={},O_,F6;function CSe(){if(F6)return O_;F6=1;var n=Do(),e=No().has,t=gA(),r=qo(),i=Mo(),o=bR();return O_=function(a){var g=n(this),A=r(a);if(t(g)<A.size)return!1;var I=A.getIterator();return i(I,function(C){if(!e(g,C))return o(I,"normal",!1)})!==!1},O_}var k6;function lSe(){if(k6)return q6;k6=1;var n=te(),e=CSe(),t=Fo(),r=!t("isSupersetOf",function(i){return!i});return n({target:"Set",proto:!0,real:!0,forced:r},{isSupersetOf:e}),q6}var B6={},T_,z6;function dSe(){if(z6)return T_;z6=1;var n=Do(),e=No(),t=xR(),r=qo(),i=Mo(),o=e.add,s=e.has,a=e.remove;return T_=function(A){var I=n(this),C=r(A).getIterator(),l=t(I);return i(C,function(d){s(I,d)?a(l,d):o(l,d)}),l},T_}var R_,j6;function bte(){return j6||(j6=1,R_=function(n){try{var e=new Set,t={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},r=e[n](t);return r.size===1&&r.values().next().value===4}catch{return!1}}),R_}var L6;function uSe(){if(L6)return B6;L6=1;var n=te(),e=dSe(),t=bte(),r=Fo(),i=!r("symmetricDifference")||!t("symmetricDifference");return n({target:"Set",proto:!0,real:!0,forced:i},{symmetricDifference:e}),B6}var G6={},P_,W6;function hSe(){if(W6)return P_;W6=1;var n=Do(),e=No().add,t=xR(),r=qo(),i=Mo();return P_=function(s){var a=n(this),g=r(s).getIterator(),A=t(a);return i(g,function(I){e(A,I)}),A},P_}var V6;function cSe(){if(V6)return G6;V6=1;var n=te(),e=hSe(),t=bte(),r=Fo(),i=!r("union")||!t("union");return n({target:"Set",proto:!0,real:!0,forced:i},{union:e}),G6}var x_,Z6;function fSe(){if(Z6)return x_;Z6=1,Aa(),tSe(),nSe(),sSe(),gSe(),ISe(),lSe(),uSe(),cSe(),_R();var n=Re();return x_=n.Set,x_}var $_,H6;function pSe(){if(H6)return $_;H6=1;var n=fSe();return Ia(),$_=n,$_}var D_,U6;function vSe(){return U6||(U6=1,D_=pSe()),D_}var mSe=vSe(),Ji=se(mSe),K6={},Y6={},N_,X6;function ySe(){if(X6)return N_;X6=1;var n=ye(),e=SR(),t=rC().getWeakData,r=wR(),i=ui(),o=Qs(),s=Tt(),a=iC(),g=Sn(),A=qt(),I=Po(),C=I.set,l=I.getterFor,d=g.find,u=g.findIndex,h=n([].splice),v=0,f=function(p){return p.frozen||(p.frozen=new c)},c=function(){this.entries=[]},b=function(p,y){return d(p.entries,function(E){return E[0]===y})};return c.prototype={get:function(p){var y=b(this,p);if(y)return y[1]},has:function(p){return!!b(this,p)},set:function(p,y){var E=b(this,p);E?E[1]=y:this.entries.push([p,y])},delete:function(p){var y=u(this.entries,function(E){return E[0]===p});return~y&&h(this.entries,y,1),!!~y}},N_={getConstructor:function(p,y,E,S){var m=p(function(R,O){r(R,w),C(R,{type:y,id:v++,frozen:null}),o(O)||a(O,R[S],{that:R,AS_ENTRIES:E})}),w=m.prototype,_=l(y),T=function(R,O,P){var x=_(R),V=t(i(O),!0);return V===!0?f(x).set(O,P):V[x.id]=P,R};return e(w,{delete:function(R){var O=_(this);if(!s(R))return!1;var P=t(R);return P===!0?f(O).delete(R):P&&A(P,O.id)&&delete P[O.id]},has:function(O){var P=_(this);if(!s(O))return!1;var x=t(O);return x===!0?f(P).has(O):x&&A(x,P.id)}}),e(w,E?{get:function(O){var P=_(this);if(s(O)){var x=t(O);if(x===!0)return f(P).get(O);if(x)return x[P.id]}},set:function(O,P){return T(this,O,P)}}:{add:function(O){return T(this,O,!0)}}),m}},N_}var Q6;function bSe(){if(Q6)return Y6;Q6=1;var n=gte(),e=Ge(),t=ye(),r=SR(),i=rC(),o=ER(),s=ySe(),a=Tt(),g=Po().enforce,A=pe(),I=Iee(),C=Object,l=Array.isArray,d=C.isExtensible,u=C.isFrozen,h=C.isSealed,v=C.freeze,f=C.seal,c=!e.ActiveXObject&&"ActiveXObject"in e,b,p=function(R){return function(){return R(this,arguments.length?arguments[0]:void 0)}},y=o("WeakMap",p,s),E=y.prototype,S=t(E.set),m=function(){return n&&A(function(){var R=v([]);return S(new y,R,1),!u(R)})};if(I)if(c){b=s.getConstructor(p,"WeakMap",!0),i.enable();var w=t(E.delete),_=t(E.has),T=t(E.get);r(E,{delete:function(R){if(a(R)&&!d(R)){var O=g(this);return O.frozen||(O.frozen=new b),w(this,R)||O.frozen.delete(R)}return w(this,R)},has:function(O){if(a(O)&&!d(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)||P.frozen.has(O)}return _(this,O)},get:function(O){if(a(O)&&!d(O)){var P=g(this);return P.frozen||(P.frozen=new b),_(this,O)?T(this,O):P.frozen.get(O)}return T(this,O)},set:function(O,P){if(a(O)&&!d(O)){var x=g(this);x.frozen||(x.frozen=new b),_(this,O)?S(this,O,P):x.frozen.set(O,P)}else S(this,O,P);return this}})}else m()&&r(E,{set:function(O,P){var x;return l(O)&&(u(O)?x=v:h(O)&&(x=f)),S(this,O,P),x&&x(O),this}});return Y6}var J6;function wSe(){return J6||(J6=1,bSe()),K6}var M_,eX;function ESe(){if(eX)return M_;eX=1,Aa(),wSe();var n=Re();return M_=n.WeakMap,M_}var q_,tX;function SSe(){if(tX)return q_;tX=1;var n=ESe();return Ia(),q_=n,q_}var F_,rX;function _Se(){return rX||(rX=1,F_=SSe()),F_}var OSe=_Se(),AA=se(OSe);function La(n,e,t){TSe(n,e),e.set(n,t)}function TSe(n,e){if(e.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object")}function kO(n,e,t){return n.set(wte(n,e),t),t}function Ne(n,e){return n.get(wte(n,e))}function wte(n,e,t){if(typeof n=="function"?n===e:n.has(e))return arguments.length<3?e:t;throw new TypeError("Private element is not present on this object")}function iX(n,e){const t=new Ji;for(const r of e)n.has(r)||t.add(r);return t}var Go=new AA,Mr=new AA;class nX{constructor(){La(this,Go,new Ji),La(this,Mr,new Ji)}get size(){return Ne(Mr,this).size}add(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)Ne(Mr,this).add(i)}delete(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(const i of t)Ne(Mr,this).delete(i)}clear(){Ne(Mr,this).clear()}getSelection(){return[...Ne(Mr,this)]}getChanges(){return{added:[...iX(Ne(Go,this),Ne(Mr,this))],deleted:[...iX(Ne(Mr,this),Ne(Go,this))],previous:[...new Ji(Ne(Go,this))],current:[...new Ji(Ne(Mr,this))]}}commit(){const e=this.getChanges();kO(Go,this,Ne(Mr,this)),kO(Mr,this,new Ji(Ne(Go,this)));for(const t of e.added)t.select();for(const t of e.deleted)t.unselect();return e}}var Pn=new AA,xn=new AA,k_=new AA;class RSe{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:()=>{};La(this,Pn,new nX),La(this,xn,new nX),La(this,k_,void 0),kO(k_,this,e)}get sizeNodes(){return Ne(Pn,this).size}get sizeEdges(){return Ne(xn,this).size}getNodes(){return Ne(Pn,this).getSelection()}getEdges(){return Ne(xn,this).getSelection()}addNodes(){Ne(Pn,this).add(...arguments)}addEdges(){Ne(xn,this).add(...arguments)}deleteNodes(e){Ne(Pn,this).delete(e)}deleteEdges(e){Ne(xn,this).delete(e)}clear(){Ne(Pn,this).clear(),Ne(xn,this).clear()}commit(){const e={nodes:Ne(Pn,this).commit(),edges:Ne(xn,this).commit()};for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Ne(k_,this).call(this,e,...r),e}}class PSe{constructor(e,t){this.body=e,this.canvas=t,this._selectionAccumulator=new RSe,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},At(this.options,this.defaultOptions),this.body.emitter.on("_dataChanged",()=>{this.updateSelection()})}setOptions(e){e!==void 0&&da(["multiselect","hoverConnectedEdges","selectable","selectConnectedEdges"],this.options,e)}selectOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);this.unselectAll(),r!==void 0&&(t=this.selectObject(r)),this.body.emitter.emit("_requestRedraw")}return t}selectAdditionalOnPoint(e){let t=!1;if(this.options.selectable===!0){const r=this.getNodeAt(e)||this.getEdgeAt(e);r!==void 0&&(t=!0,r.isSelected()===!0?this.deselectObject(r):this.selectObject(r),this.body.emitter.emit("_requestRedraw"))}return t}_initBaseEvent(e,t){const r={};return r.pointer={DOM:{x:t.x,y:t.y},canvas:this.canvas.DOMtoCanvas(t)},r.event=e,r}generateClickEvent(e,t,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;const s=this._initBaseEvent(t,r);if(o===!0)s.nodes=[],s.edges=[];else{const a=this.getSelection();s.nodes=a.nodes,s.edges=a.edges}i!==void 0&&(s.previousSelection=i),e=="click"&&(s.items=this.getClickedItems(r)),t.controlEdge!==void 0&&(s.controlEdge=t.controlEdge),this.body.emitter.emit(e,s)}selectObject(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.selectConnectedEdges;return e!==void 0?(e instanceof je?(t===!0&&this._selectionAccumulator.addEdges(...e.edges),this._selectionAccumulator.addNodes(e)):this._selectionAccumulator.addEdges(e),!0):!1}deselectObject(e){e.isSelected()===!0&&(e.selected=!1,this._removeFromSelection(e))}_getAllNodesOverlappingWith(e){const t=[],r=this.body.nodes;for(let i=0;i<this.body.nodeIndices.length;i++){const o=this.body.nodeIndices[i];r[o].isOverlappingWith(e)&&t.push(o)}return t}_pointerToPositionObject(e){const t=this.canvas.DOMtoCanvas(e);return{left:t.x-1,top:t.y+1,right:t.x+1,bottom:t.y-1}}getNodeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this._pointerToPositionObject(e),i=this._getAllNodesOverlappingWith(r);if(i.length>0)return t===!0?this.body.nodes[i[i.length-1]]:i[i.length-1]}_getEdgesOverlappingWith(e,t){const r=this.body.edges;for(let i=0;i<this.body.edgeIndices.length;i++){const o=this.body.edgeIndices[i];r[o].isOverlappingWith(e)&&t.push(o)}}_getAllEdgesOverlappingWith(e){const t=[];return this._getEdgesOverlappingWith(e,t),t}getEdgeAt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=this.canvas.DOMtoCanvas(e);let i=10,o=null;const s=this.body.edges;for(let a=0;a<this.body.edgeIndices.length;a++){const g=this.body.edgeIndices[a],A=s[g];if(A.connected){const I=A.from.x,C=A.from.y,l=A.to.x,d=A.to.y,u=A.edgeType.getDistanceToEdge(I,C,l,d,r.x,r.y);u<i&&(o=g,i=u)}}if(o!==null)return t===!0?this.body.edges[o]:o}_addToHover(e){e instanceof je?this.hoverObj.nodes[e.id]=e:this.hoverObj.edges[e.id]=e}_removeFromSelection(e){e instanceof je?(this._selectionAccumulator.deleteNodes(e),this._selectionAccumulator.deleteEdges(...e.edges)):this._selectionAccumulator.deleteEdges(e)}unselectAll(){this._selectionAccumulator.clear()}getSelectedNodeCount(){return this._selectionAccumulator.sizeNodes}getSelectedEdgeCount(){return this._selectionAccumulator.sizeEdges}_hoverConnectedEdges(e){for(let t=0;t<e.edges.length;t++){const r=e.edges[t];r.hover=!0,this._addToHover(r)}}emitBlurEvent(e,t,r){const i=this._initBaseEvent(e,t);r.hover===!0&&(r.hover=!1,r instanceof je?(i.node=r.id,this.body.emitter.emit("blurNode",i)):(i.edge=r.id,this.body.emitter.emit("blurEdge",i)))}emitHoverEvent(e,t,r){const i=this._initBaseEvent(e,t);let o=!1;return r.hover===!1&&(r.hover=!0,this._addToHover(r),o=!0,r instanceof je?(i.node=r.id,this.body.emitter.emit("hoverNode",i)):(i.edge=r.id,this.body.emitter.emit("hoverEdge",i))),o}hoverObject(e,t){let r=this.getNodeAt(t);r===void 0&&(r=this.getEdgeAt(t));let i=!1;for(const o in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,o)&&(r===void 0||r instanceof je&&r.id!=o||r instanceof ln)&&(this.emitBlurEvent(e,t,this.hoverObj.nodes[o]),delete this.hoverObj.nodes[o],i=!0);for(const o in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,o)&&(i===!0?(this.hoverObj.edges[o].hover=!1,delete this.hoverObj.edges[o]):(r===void 0||r instanceof ln&&r.id!=o||r instanceof je&&!r.hover)&&(this.emitBlurEvent(e,t,this.hoverObj.edges[o]),delete this.hoverObj.edges[o],i=!0));if(r!==void 0){const o=Xe(this.hoverObj.edges).length,s=Xe(this.hoverObj.nodes).length,a=r instanceof ln&&o===0&&s===0,g=r instanceof je&&o===0&&s===0;(i||a||g)&&(i=this.emitHoverEvent(e,t,r)),r instanceof je&&this.options.hoverConnectedEdges===!0&&this._hoverConnectedEdges(r)}i===!0&&this.body.emitter.emit("_requestRedraw")}commitWithoutEmitting(){this._selectionAccumulator.commit()}commitAndEmit(e,t){let r=!1;const i=this._selectionAccumulator.commit(),o={nodes:i.nodes.previous,edges:i.edges.previous};i.edges.deleted.length>0&&(this.generateClickEvent("deselectEdge",t,e,o),r=!0),i.nodes.deleted.length>0&&(this.generateClickEvent("deselectNode",t,e,o),r=!0),i.nodes.added.length>0&&(this.generateClickEvent("selectNode",t,e),r=!0),i.edges.added.length>0&&(this.generateClickEvent("selectEdge",t,e),r=!0),r===!0&&this.generateClickEvent("select",t,e)}getSelection(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}getSelectedNodes(){return this._selectionAccumulator.getNodes()}getSelectedEdges(){return this._selectionAccumulator.getEdges()}getSelectedNodeIds(){var e;return bs(e=this._selectionAccumulator.getNodes()).call(e,t=>t.id)}getSelectedEdgeIds(){var e;return bs(e=this._selectionAccumulator.getEdges()).call(e,t=>t.id)}setSelection(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||!e.nodes&&!e.edges)throw new TypeError("Selection must be an object with nodes and/or edges properties");if((t.unselectAll||t.unselectAll===void 0)&&this.unselectAll(),e.nodes)for(const r of e.nodes){const i=this.body.nodes[r];if(!i)throw new RangeError('Node with id "'+r+'" not found');this.selectObject(i,t.highlightEdges)}if(e.edges)for(const r of e.edges){const i=this.body.edges[r];if(!i)throw new RangeError('Edge with id "'+r+'" not found');this.selectObject(i)}this.body.emitter.emit("_requestRedraw"),this._selectionAccumulator.commit()}selectNodes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({nodes:e},{highlightEdges:t})}selectEdges(e){if(!e||e.length===void 0)throw"Selection must be an array with ids";this.setSelection({edges:e})}updateSelection(){for(const e in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,e.id)||this._selectionAccumulator.deleteNodes(e);for(const e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}getClickedItems(e){const t=this.canvas.DOMtoCanvas(e),r=[],i=this.body.nodeIndices,o=this.body.nodes;for(let g=i.length-1;g>=0;g--){const I=o[i[g]].getItemsOnPoint(t);r.push.apply(r,I)}const s=this.body.edgeIndices,a=this.body.edges;for(let g=s.length-1;g>=0;g--){const I=a[s[g]].getItemsOnPoint(t);r.push.apply(r,I)}return r}}var oX={},B_,sX;function xSe(){if(sX)return B_;sX=1;var n=sa(),e=Math.floor,t=function(r,i){var o=r.length;if(o<8)for(var s=1,a,g;s<o;){for(g=s,a=r[s];g&&i(r[g-1],a)>0;)r[g]=r[--g];g!==s++&&(r[g]=a)}else for(var A=e(o/2),I=t(n(r,0,A),i),C=t(n(r,A),i),l=I.length,d=C.length,u=0,h=0;u<l||h<d;)r[u+h]=u<l&&h<d?i(I[u],C[h])<=0?I[u++]:C[h++]:u<l?I[u++]:C[h++];return r};return B_=t,B_}var z_,aX;function $Se(){if(aX)return z_;aX=1;var n=Js(),e=n.match(/firefox\/(\d+)/i);return z_=!!e&&+e[1],z_}var j_,gX;function DSe(){if(gX)return j_;gX=1;var n=Js();return j_=/MSIE|Trident/.test(n),j_}var L_,AX;function NSe(){if(AX)return L_;AX=1;var n=Js(),e=n.match(/AppleWebKit\/(\d+)\./);return L_=!!e&&+e[1],L_}var IX;function MSe(){if(IX)return oX;IX=1;var n=te(),e=ye(),t=ki(),r=lr(),i=Bi(),o=yee(),s=_r(),a=pe(),g=xSe(),A=Ca(),I=$Se(),C=DSe(),l=Hg(),d=NSe(),u=[],h=e(u.sort),v=e(u.push),f=a(function(){u.sort(void 0)}),c=a(function(){u.sort(null)}),b=A("sort"),p=!a(function(){if(l)return l<70;if(!(I&&I>3)){if(C)return!0;if(d)return d<603;var S="",m,w,_,T;for(m=65;m<76;m++){switch(w=String.fromCharCode(m),m){case 66:case 69:case 70:case 72:_=3;break;case 68:case 71:_=4;break;default:_=2}for(T=0;T<47;T++)u.push({k:w+T,v:_})}for(u.sort(function(R,O){return O.v-R.v}),T=0;T<u.length;T++)w=u[T].k.charAt(0),S.charAt(S.length-1)!==w&&(S+=w);return S!=="DGBEFHACIJK"}}),y=f||!c||!b||!p,E=function(S){return function(m,w){return w===void 0?-1:m===void 0?1:S!==void 0?+S(m,w)||0:s(m)>s(w)?1:-1}};return n({target:"Array",proto:!0,forced:y},{sort:function(m){m!==void 0&&t(m);var w=r(this);if(p)return m===void 0?h(w):h(w,m);var _=[],T=i(w),R,O;for(O=0;O<T;O++)O in w&&v(_,w[O]);for(g(_,E(m)),R=i(_),O=0;O<R;)w[O]=_[O++];for(;O<T;)o(w,O++);return w}}),oX}var G_,CX;function qSe(){if(CX)return G_;CX=1,MSe();var n=Ft();return G_=n("Array","sort"),G_}var W_,lX;function FSe(){if(lX)return W_;lX=1;var n=ut(),e=qSe(),t=Array.prototype;return W_=function(r){var i=r.sort;return r===t||n(t,r)&&i===t.sort?e:i},W_}var V_,dX;function kSe(){if(dX)return V_;dX=1;var n=FSe();return V_=n,V_}var Z_,uX;function BSe(){return uX||(uX=1,Z_=kSe()),Z_}var zSe=BSe(),As=se(zSe),hX={},H_,cX;function jSe(){if(cX)return H_;cX=1;var n=ki(),e=lr(),t=LI(),r=Bi(),i=TypeError,o="Reduce of empty array with no initial value",s=function(a){return function(g,A,I,C){var l=e(g),d=t(l),u=r(l);if(n(A),u===0&&I<2)throw new i(o);var h=a?u-1:0,v=a?-1:1;if(I<2)for(;;){if(h in d){C=d[h],h+=v;break}if(h+=v,a?h<0:u<=h)throw new i(o)}for(;a?h>=0:u>h;h+=v)h in d&&(C=A(C,d[h],h,l));return C}};return H_={left:s(!1),right:s(!0)},H_}var U_,fX;function LSe(){if(fX)return U_;fX=1;var n=wee();return U_=n==="NODE",U_}var pX;function GSe(){if(pX)return hX;pX=1;var n=te(),e=jSe().left,t=Ca(),r=Hg(),i=LSe(),o=!i&&r>79&&r<83,s=o||!t("reduce");return n({target:"Array",proto:!0,forced:s},{reduce:function(g){var A=arguments.length;return e(this,g,A,A>1?arguments[1]:void 0)}}),hX}var K_,vX;function WSe(){if(vX)return K_;vX=1,GSe();var n=Ft();return K_=n("Array","reduce"),K_}var Y_,mX;function VSe(){if(mX)return Y_;mX=1;var n=ut(),e=WSe(),t=Array.prototype;return Y_=function(r){var i=r.reduce;return r===t||n(t,r)&&i===t.reduce?e:i},Y_}var X_,yX;function ZSe(){if(yX)return X_;yX=1;var n=VSe();return X_=n,X_}var Q_,bX;function HSe(){return bX||(bX=1,Q_=ZSe()),Q_}var USe=HSe(),Ete=se(USe);class Ste{abstract(){throw new Error("Can't instantiate abstract class!")}fake_use(){}curveType(){return this.abstract()}getPosition(e){return this.fake_use(e),this.abstract()}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;this.fake_use(e,t,r),this.abstract()}getTreeSize(e){return this.fake_use(e),this.abstract()}sort(e){this.fake_use(e),this.abstract()}fix(e,t){this.fake_use(e,t),this.abstract()}shift(e,t){this.fake_use(e,t),this.abstract()}}class KSe extends Ste{constructor(e){super(),this.layout=e}curveType(){return"horizontal"}getPosition(e){return e.x}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.x=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_x,max:t.max_x}}sort(e){As(e).call(e,function(t,r){return t.x-r.x})}fix(e,t){e.y=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.y=!0}shift(e,t){this.layout.body.nodes[e].x+=t}}class YSe extends Ste{constructor(e){super(),this.layout=e}curveType(){return"vertical"}getPosition(e){return e.y}setPosition(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;r!==void 0&&this.layout.hierarchical.addToOrdering(e,r),e.y=t}getTreeSize(e){const t=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,e);return{min:t.min_y,max:t.max_y}}sort(e){As(e).call(e,function(t,r){return t.y-r.y})}fix(e,t){e.x=this.layout.options.hierarchical.levelSeparation*t,e.options.fixed.x=!0}shift(e,t){this.layout.body.nodes[e].y+=t}}var wX={},EX;function XSe(){if(EX)return wX;EX=1;var n=te(),e=Sn().every,t=Ca(),r=t("every");return n({target:"Array",proto:!0,forced:!r},{every:function(o){return e(this,o,arguments.length>1?arguments[1]:void 0)}}),wX}var J_,SX;function QSe(){if(SX)return J_;SX=1,XSe();var n=Ft();return J_=n("Array","every"),J_}var eO,_X;function JSe(){if(_X)return eO;_X=1;var n=ut(),e=QSe(),t=Array.prototype;return eO=function(r){var i=r.every;return r===t||n(t,r)&&i===t.every?e:i},eO}var tO,OX;function e_e(){if(OX)return tO;OX=1;var n=JSe();return tO=n,tO}var rO,TX;function t_e(){return TX||(TX=1,rO=e_e()),rO}var r_e=t_e(),_te=se(r_e);function i_e(n,e){const t=new Ji;return xe(n).call(n,r=>{var i;xe(i=r.edges).call(i,o=>{o.connected&&t.add(o)})}),xe(t).call(t,r=>{const i=r.from.id,o=r.to.id;e[i]==null&&(e[i]=0),(e[o]==null||e[i]>=e[o])&&(e[o]=e[i]+1)}),e}function n_e(n){return Ote(e=>{var t,r;return _te(t=Qt(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.to===e)},(e,t)=>t>e,"from",n)}function o_e(n){return Ote(e=>{var t,r;return _te(t=Qt(r=e.edges).call(r,i=>n.has(i.toId))).call(t,i=>i.from===e)},(e,t)=>t<e,"to",n)}function Ote(n,e,t,r){var i;const o=Zn(null),s=Ete(i=[...fte(r).call(r)]).call(i,(C,l)=>C+1+l.edges.length,0),a=t+"Id",g=t==="to"?1:-1;for(const[C,l]of r){if(!r.has(C)||!n(l))continue;o[C]=0;const d=[l];let u=0,h;for(;h=d.pop();){var A,I;if(!r.has(C))continue;const v=o[h.id]+g;if(xe(A=Qt(I=h.edges).call(I,f=>f.connected&&f.to!==f.from&&f[t]!==h&&r.has(f.toId)&&r.has(f.fromId))).call(A,f=>{const c=f[a],b=o[c];(b==null||e(v,b))&&(o[c]=v,d.push(f[t]))}),u>s)return i_e(r,o);++u}}return o}class s_e{constructor(){this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}addRelation(e,t){this.childrenReference[e]===void 0&&(this.childrenReference[e]=[]),this.childrenReference[e].push(t),this.parentReference[t]===void 0&&(this.parentReference[t]=[]),this.parentReference[t].push(e)}checkIfTree(){for(const e in this.parentReference)if(this.parentReference[e].length>1){this.isTree=!1;return}this.isTree=!0}numTrees(){return this.treeIndex+1}setTreeIndex(e,t){t!==void 0&&this.trees[e.id]===void 0&&(this.trees[e.id]=t,this.treeIndex=Math.max(t,this.treeIndex))}ensureLevel(e){this.levels[e]===void 0&&(this.levels[e]=0)}getMaxLevel(e){const t={},r=i=>{if(t[i]!==void 0)return t[i];let o=this.levels[i];if(this.childrenReference[i]){const s=this.childrenReference[i];if(s.length>0)for(let a=0;a<s.length;a++)o=Math.max(o,r(s[a]))}return t[i]=o,o};return r(e)}levelDownstream(e,t){this.levels[t.id]===void 0&&(this.levels[e.id]===void 0&&(this.levels[e.id]=0),this.levels[t.id]=this.levels[e.id]+1)}setMinLevelToZero(){var e;const t=new OR;let r=0;const i=As(e=[...new Ji(yye(this.levels))]).call(e,(o,s)=>o-s);for(const o of i)t.set(o,r++);for(const o in this.levels)Object.prototype.hasOwnProperty.call(this.levels,o)&&(this.levels[o]=t.get(this.levels[o]))}getTreeSize(e,t){let r=1e9,i=-1e9,o=1e9,s=-1e9;for(const a in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,a)&&this.trees[a]===t){const g=e[a];r=Math.min(g.x,r),i=Math.max(g.x,i),o=Math.min(g.y,o),s=Math.max(g.y,s)}return{min_x:r,max_x:i,min_y:o,max_y:s}}hasSameParent(e,t){const r=this.parentReference[e.id],i=this.parentReference[t.id];if(r===void 0||i===void 0)return!1;for(let o=0;o<r.length;o++)for(let s=0;s<i.length;s++)if(r[o]==i[s])return!0;return!1}inSameSubNetwork(e,t){return this.trees[e.id]===this.trees[t.id]}getLevels(){return Xe(this.distributionOrdering)}addToOrdering(e,t){this.distributionOrdering[t]===void 0&&(this.distributionOrdering[t]=[]);let r=!1;const i=this.distributionOrdering[t];for(const o in i)if(i[o]===e){r=!0;break}r||(this.distributionOrdering[t].push(e),this.distributionIndex[e.id]=this.distributionOrdering[t].length-1)}}class a_e{constructor(e){this.body=e,this._resetRNG(Math.random()+":"+XA()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:"UD",sortMethod:"hubsize"}},At(this.options,this.defaultOptions),this.bindEventListeners()}bindEventListeners(){this.body.emitter.on("_dataChanged",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_dataLoaded",()=>{this.layoutNetwork()}),this.body.emitter.on("_resetHierarchicalLayout",()=>{this.setupHierarchicalLayout()}),this.body.emitter.on("_adjustEdgesForHierarchicalLayout",()=>{if(this.options.hierarchical.enabled!==!0)return;const e=this.direction.curveType();this.body.emitter.emit("_forceDisableDynamicCurves",e,!1)})}setOptions(e,t){if(e!==void 0){const r=this.options.hierarchical,i=r.enabled;if(da(["randomSeed","improvedLayout","clusterThreshold"],this.options,e),ur(this.options,e,"hierarchical"),e.randomSeed!==void 0&&this._resetRNG(e.randomSeed),r.enabled===!0)return i===!0&&this.body.emitter.emit("refresh",!0),r.direction==="RL"||r.direction==="DU"?r.levelSeparation>0&&(r.levelSeparation*=-1):r.levelSeparation<0&&(r.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit("_resetHierarchicalLayout"),this.adaptAllOptionsForHierarchicalLayout(t);if(i===!0)return this.body.emitter.emit("refresh"),qe(t,this.optionsBackup)}return t}_resetRNG(e){this.initialRandomSeed=e,this._rng=tC(this.initialRandomSeed)}adaptAllOptionsForHierarchicalLayout(e){if(this.options.hierarchical.enabled===!0){const t=this.optionsBackup.physics;e.physics===void 0||e.physics===!0?(e.physics={enabled:t.enabled===void 0?!0:t.enabled,solver:"hierarchicalRepulsion"},t.enabled=t.enabled===void 0?!0:t.enabled,t.solver=t.solver||"barnesHut"):typeof e.physics=="object"?(t.enabled=e.physics.enabled===void 0?!0:e.physics.enabled,t.solver=e.physics.solver||"barnesHut",e.physics.solver="hierarchicalRepulsion"):e.physics!==!1&&(t.solver="barnesHut",e.physics={solver:"hierarchicalRepulsion"});let r=this.direction.curveType();if(e.edges===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges={smooth:!1};else if(e.edges.smooth===void 0)this.optionsBackup.edges={smooth:{enabled:!0,type:"dynamic"}},e.edges.smooth=!1;else if(typeof e.edges.smooth=="boolean")this.optionsBackup.edges={smooth:e.edges.smooth},e.edges.smooth={enabled:e.edges.smooth,type:r};else{const i=e.edges.smooth;i.type!==void 0&&i.type!=="dynamic"&&(r=i.type),this.optionsBackup.edges={smooth:{enabled:i.enabled===void 0?!0:i.enabled,type:i.type===void 0?"dynamic":i.type,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}},e.edges.smooth={enabled:i.enabled===void 0?!0:i.enabled,type:r,roundness:i.roundness===void 0?.5:i.roundness,forceDirection:i.forceDirection===void 0?!1:i.forceDirection}}this.body.emitter.emit("_forceDisableDynamicCurves",r)}return e}positionInitially(e){if(this.options.hierarchical.enabled!==!0){this._resetRNG(this.initialRandomSeed);const t=e.length+50;for(let r=0;r<e.length;r++){const i=e[r],o=2*Math.PI*this._rng();i.x===void 0&&(i.x=t*Math.cos(o)),i.y===void 0&&(i.y=t*Math.sin(o))}}}layoutNetwork(){if(this.options.hierarchical.enabled!==!0&&this.options.improvedLayout===!0){const e=this.body.nodeIndices;let t=0;for(let r=0;r<e.length;r++)this.body.nodes[e[r]].predefinedPosition===!0&&(t+=1);if(t<.5*e.length){let i=0;const o=this.options.clusterThreshold,s={clusterNodeProperties:{shape:"ellipse",label:"",group:"",font:{multi:!1}},clusterEdgeProperties:{label:"",font:{multi:!1},smooth:{enabled:!1}}};if(e.length>o){const g=e.length;for(;e.length>o&&i<=10;){i+=1;const A=e.length;i%3===0?this.body.modules.clustering.clusterBridges(s):this.body.modules.clustering.clusterOutliers(s);const I=e.length;if(A==I&&i%3!==0){this._declusterAll(),this.body.emitter.emit("_layoutFailed"),console.info("This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.");return}}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*g)})}i>10&&console.info("The clustering didn't succeed within the amount of interations allowed, progressing with partial result."),this.body.modules.kamadaKawai.solve(e,this.body.edgeIndices,!0),this._shiftToCenter();const a=70;for(let g=0;g<e.length;g++){const A=this.body.nodes[e[g]];A.predefinedPosition===!1&&(A.x+=(.5-this._rng())*a,A.y+=(.5-this._rng())*a)}this._declusterAll(),this.body.emitter.emit("_repositionBezierNodes")}}}_shiftToCenter(){const e=Gt.getRangeCore(this.body.nodes,this.body.nodeIndices),t=Gt.findCenter(e);for(let r=0;r<this.body.nodeIndices.length;r++){const i=this.body.nodes[this.body.nodeIndices[r]];i.x-=t.x,i.y-=t.y}}_declusterAll(){let e=!0;for(;e===!0;){e=!1;for(let t=0;t<this.body.nodeIndices.length;t++)this.body.nodes[this.body.nodeIndices[t]].isCluster===!0&&(e=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[t],{},!1));e===!0&&this.body.emitter.emit("_dataChanged")}}getSeed(){return this.initialRandomSeed}setupHierarchicalLayout(){if(this.options.hierarchical.enabled===!0&&this.body.nodeIndices.length>0){let e,t,r=!1,i=!1;this.lastNodeOnLevel={},this.hierarchical=new s_e;for(t in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&(e=this.body.nodes[t],e.options.level!==void 0?(r=!0,this.hierarchical.levels[t]=e.options.level):i=!0);if(i===!0&&r===!0)throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");{if(i===!0){const s=this.options.hierarchical.sortMethod;s==="hubsize"?this._determineLevelsByHubsize():s==="directed"?this._determineLevelsDirected():s==="custom"&&this._determineLevelsCustomCallback()}for(const s in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,s)&&this.hierarchical.ensureLevel(s);const o=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(o),this._condenseHierarchy(),this._shiftToCenter()}}}_condenseHierarchy(){var e=this;let t=!1;const r={},i=()=>{const f=s();let c=0;for(let b=0;b<f.length-1;b++){const p=f[b].max-f[b+1].min;c+=p+this.options.hierarchical.treeSpacing,o(b+1,c)}},o=(f,c)=>{const b=this.hierarchical.trees;for(const p in b)Object.prototype.hasOwnProperty.call(b,p)&&b[p]===f&&this.direction.shift(p,c)},s=()=>{const f=[];for(let c=0;c<this.hierarchical.numTrees();c++)f.push(this.direction.getTreeSize(c));return f},a=(f,c)=>{if(!c[f.id]&&(c[f.id]=!0,this.hierarchical.childrenReference[f.id])){const b=this.hierarchical.childrenReference[f.id];if(b.length>0)for(let p=0;p<b.length;p++)a(this.body.nodes[b[p]],c)}},g=function(f){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e9,b=1e9,p=1e9,y=1e9,E=-1e9;for(const S in f)if(Object.prototype.hasOwnProperty.call(f,S)){const m=e.body.nodes[S],w=e.hierarchical.levels[m.id],_=e.direction.getPosition(m),[T,R]=e._getSpaceAroundNode(m,f);b=Math.min(T,b),p=Math.min(R,p),w<=c&&(y=Math.min(_,y),E=Math.max(_,E))}return[y,E,b,p]},A=(f,c)=>{const b=this.hierarchical.getMaxLevel(f.id),p=this.hierarchical.getMaxLevel(c.id);return Math.min(b,p)},I=(f,c,b)=>{const p=this.hierarchical;for(let y=0;y<c.length;y++){const E=c[y],S=p.distributionOrdering[E];if(S.length>1)for(let m=0;m<S.length-1;m++){const w=S[m],_=S[m+1];p.hasSameParent(w,_)&&p.inSameSubNetwork(w,_)&&f(w,_,b)}}},C=function(f,c){let b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const p=e.direction.getPosition(f),y=e.direction.getPosition(c),E=Math.abs(y-p),S=e.options.hierarchical.nodeSpacing;if(E>S){const m={},w={};a(f,m),a(c,w);const _=A(f,c),T=g(m,_),R=g(w,_),O=T[1],P=R[0],x=R[2];if(Math.abs(O-P)>S){let M=O-P+S;M<-x+S&&(M=-x+S),M<0&&(e._shiftBlock(c.id,M),t=!0,b===!0&&e._centerParent(c))}}},l=(f,c)=>{const b=c.id,p=c.edges,y=this.hierarchical.levels[c.id],E=this.options.hierarchical.levelSeparation*this.options.hierarchical.levelSeparation,S={},m=[];for(let x=0;x<p.length;x++){const V=p[x];if(V.toId!=V.fromId){const M=V.toId==b?V.from:V.to;S[p[x].id]=M,this.hierarchical.levels[M.id]<y&&m.push(V)}}const w=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M+=K/Math.sqrt(K*K+E)}return M},_=(x,V)=>{let M=0;for(let U=0;U<V.length;U++)if(S[V[U].id]!==void 0){const K=this.direction.getPosition(S[V[U].id])-x;M-=E*Math.pow(K*K+E,-1.5)}return M},T=(x,V)=>{let M=this.direction.getPosition(c);const U={};for(let K=0;K<x;K++){const oe=w(M,V),L=_(M,V),ae=40,he=Math.max(-ae,Math.min(ae,Math.round(oe/L)));if(M=M-he,U[M]!==void 0)break;U[M]=K}return M},R=x=>{const V=this.direction.getPosition(c);if(r[c.id]===void 0){const ae={};a(c,ae),r[c.id]=ae}const M=g(r[c.id]),U=M[2],K=M[3],oe=x-V;let L=0;oe>0?L=Math.min(oe,K-this.options.hierarchical.nodeSpacing):oe<0&&(L=-Math.min(-oe,U-this.options.hierarchical.nodeSpacing)),L!=0&&(this._shiftBlock(c.id,L),t=!0)},O=x=>{const V=this.direction.getPosition(c),[M,U]=this._getSpaceAroundNode(c),K=x-V;let oe=V;K>0?oe=Math.min(V+(U-this.options.hierarchical.nodeSpacing),x):K<0&&(oe=Math.max(V-(M-this.options.hierarchical.nodeSpacing),x)),oe!==V&&(this.direction.setPosition(c,oe),t=!0)};let P=T(f,m);R(P),P=T(f,p),O(P)},d=f=>{let c=this.hierarchical.getLevels();c=Vn(c).call(c);for(let b=0;b<f;b++){t=!1;for(let p=0;p<c.length;p++){const y=c[p],E=this.hierarchical.distributionOrdering[y];for(let S=0;S<E.length;S++)l(1e3,E[S])}if(t!==!0)break}},u=f=>{let c=this.hierarchical.getLevels();c=Vn(c).call(c);for(let b=0;b<f&&(t=!1,I(C,c,!0),t===!0);b++);},h=()=>{for(const f in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,f)&&this._centerParent(this.body.nodes[f])},v=()=>{let f=this.hierarchical.getLevels();f=Vn(f).call(f);for(let c=0;c<f.length;c++){const b=f[c],p=this.hierarchical.distributionOrdering[b];for(let y=0;y<p.length;y++)this._centerParent(p[y])}};this.options.hierarchical.blockShifting===!0&&(u(5),h()),this.options.hierarchical.edgeMinimization===!0&&d(20),this.options.hierarchical.parentCentralization===!0&&v(),i()}_getSpaceAroundNode(e,t){let r=!0;t===void 0&&(r=!1);const i=this.hierarchical.levels[e.id];if(i!==void 0){const o=this.hierarchical.distributionIndex[e.id],s=this.direction.getPosition(e),a=this.hierarchical.distributionOrdering[i];let g=1e9,A=1e9;if(o!==0){const I=a[o-1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);g=s-C}}if(o!=a.length-1){const I=a[o+1];if(r===!0&&t[I.id]===void 0||r===!1){const C=this.direction.getPosition(I);A=Math.min(A,C-s)}}return[g,A]}else return[0,0]}_centerParent(e){if(this.hierarchical.parentReference[e.id]){const t=this.hierarchical.parentReference[e.id];for(let r=0;r<t.length;r++){const i=t[r],o=this.body.nodes[i],s=this.hierarchical.childrenReference[i];if(s!==void 0){const a=this._getCenterPosition(s),g=this.direction.getPosition(o),[A,I]=this._getSpaceAroundNode(o),C=g-a;(C<0&&Math.abs(C)<I-this.options.hierarchical.nodeSpacing||C>0&&Math.abs(C)<A-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(o,a)}}}}_placeNodesByHierarchy(e){this.positionedNodes={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var t;let i=Xe(e[r]);i=this._indexArrayToNodes(i),As(t=this.direction).call(t,i);let o=0;for(let s=0;s<i.length;s++){const a=i[s];if(this.positionedNodes[a.id]===void 0){const g=this.options.hierarchical.nodeSpacing;let A=g*o;o>0&&(A=this.direction.getPosition(i[s-1])+g),this.direction.setPosition(a,A,r),this._validatePositionAndContinue(a,r,A),o++}}}}_placeBranchNodes(e,t){var r;const i=this.hierarchical.childrenReference[e];if(i===void 0)return;const o=[];for(let a=0;a<i.length;a++)o.push(this.body.nodes[i[a]]);As(r=this.direction).call(r,o);for(let a=0;a<o.length;a++){const g=o[a],A=this.hierarchical.levels[g.id];if(A>t&&this.positionedNodes[g.id]===void 0){const I=this.options.hierarchical.nodeSpacing;let C;a===0?C=this.direction.getPosition(this.body.nodes[e]):C=this.direction.getPosition(o[a-1])+I,this.direction.setPosition(g,C,A),this._validatePositionAndContinue(g,A,C)}else return}const s=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[e],s,t)}_validatePositionAndContinue(e,t,r){if(this.hierarchical.isTree){if(this.lastNodeOnLevel[t]!==void 0){const i=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[t]]);if(r-i<this.options.hierarchical.nodeSpacing){const o=i+this.options.hierarchical.nodeSpacing-r,s=this._findCommonParent(this.lastNodeOnLevel[t],e.id);this._shiftBlock(s.withChild,o)}}this.lastNodeOnLevel[t]=e.id,this.positionedNodes[e.id]=!0,this._placeBranchNodes(e.id,t)}}_indexArrayToNodes(e){const t=[];for(let r=0;r<e.length;r++)t.push(this.body.nodes[e[r]]);return t}_getDistribution(){const e={};let t,r;for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){r=this.body.nodes[t];const i=this.hierarchical.levels[t]===void 0?0:this.hierarchical.levels[t];this.direction.fix(r,i),e[i]===void 0&&(e[i]={}),e[i][t]=r}return e}_getActiveEdges(e){const t=[];return ue(e.edges,r=>{var i;Oe(i=this.body.edgeIndices).call(i,r.id)!==-1&&t.push(r)}),t}_getHubSizes(){const e={},t=this.body.nodeIndices;ue(t,i=>{const o=this.body.nodes[i],s=this._getActiveEdges(o).length;e[s]=!0});const r=[];return ue(e,i=>{r.push(Number(i))}),As(r).call(r,function(i,o){return o-i}),r}_determineLevelsByHubsize(){const e=(r,i)=>{this.hierarchical.levelDownstream(r,i)},t=this._getHubSizes();for(let r=0;r<t.length;++r){const i=t[r];if(i===0)break;ue(this.body.nodeIndices,o=>{const s=this.body.nodes[o];i===this._getActiveEdges(s).length&&this._crawlNetwork(e,o)})}}_determineLevelsCustomCallback(){const t=function(i,o,s){},r=(i,o,s)=>{let a=this.hierarchical.levels[i.id];a===void 0&&(a=this.hierarchical.levels[i.id]=1e5);const g=t(Gt.cloneOptions(i,"node"),Gt.cloneOptions(o,"node"),Gt.cloneOptions(s,"edge"));this.hierarchical.levels[o.id]=a+g};this._crawlNetwork(r),this.hierarchical.setMinLevelToZero()}_determineLevelsDirected(){var e;const t=Ete(e=this.body.nodeIndices).call(e,(r,i)=>(r.set(i,this.body.nodes[i]),r),new OR);this.options.hierarchical.shakeTowards==="roots"?this.hierarchical.levels=o_e(t):this.hierarchical.levels=n_e(t),this.hierarchical.setMinLevelToZero()}_generateMap(){const e=(t,r)=>{this.hierarchical.levels[r.id]>this.hierarchical.levels[t.id]&&this.hierarchical.addRelation(t.id,r.id)};this._crawlNetwork(e),this.hierarchical.checkIfTree()}_crawlNetwork(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){},t=arguments.length>1?arguments[1]:void 0;const r={},i=(o,s)=>{if(r[o.id]===void 0){this.hierarchical.setTreeIndex(o,s),r[o.id]=!0;let a;const g=this._getActiveEdges(o);for(let A=0;A<g.length;A++){const I=g[A];I.connected===!0&&(I.toId==o.id?a=I.from:a=I.to,o.id!=a.id&&(e(o,a,I),i(a,s)))}}};if(t===void 0){let o=0;for(let s=0;s<this.body.nodeIndices.length;s++){const a=this.body.nodeIndices[s];if(r[a]===void 0){const g=this.body.nodes[a];i(g,o),o+=1}}}else{const o=this.body.nodes[t];if(o===void 0){console.error("Node not found:",t);return}i(o)}}_shiftBlock(e,t){const r={},i=o=>{if(r[o])return;r[o]=!0,this.direction.shift(o,t);const s=this.hierarchical.childrenReference[o];if(s!==void 0)for(let a=0;a<s.length;a++)i(s[a])};i(e)}_findCommonParent(e,t){const r={},i=(s,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];s[I]=!0,i(s,I)}},o=(s,a)=>{const g=this.hierarchical.parentReference[a];if(g!==void 0)for(let A=0;A<g.length;A++){const I=g[A];if(s[I]!==void 0)return{foundParent:I,withChild:a};const C=o(s,I);if(C.foundParent!==null)return C}return{foundParent:null,withChild:a}};return i(r,e),o(r,t)}setDirectionStrategy(){this.options.hierarchical.direction==="UD"||this.options.hierarchical.direction==="DU"?this.direction=new KSe(this):this.direction=new YSe(this)}_getCenterPosition(e){let t=1e9,r=-1e9;for(let i=0;i<e.length;i++){let o;if(e[i].id!==void 0)o=e[i];else{const a=e[i];o=this.body.nodes[a]}const s=this.direction.getPosition(o);t=Math.min(t,s),r=Math.max(r,s)}return .5*(t+r)}}class g_e{constructor(e,t,r,i){var o,s;this.body=e,this.canvas=t,this.selectionHandler=r,this.interactionHandler=i,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:"dot",size:6,color:{background:"#ff0000",border:"#3c3c3c",highlight:{background:"#07f968",border:"#3c3c3c"}},borderWidth:2,borderWidthSelected:2}},At(this.options,this.defaultOptions),this.body.emitter.on("destroy",()=>{this._clean()}),this.body.emitter.on("_dataChanged",j(o=this._restore).call(o,this)),this.body.emitter.on("_resetData",j(s=this._restore).call(s,this))}_restore(){this.inMode!==!1&&(this.options.initiallyActive===!0?this.enableEditMode():this.disableEditMode())}setOptions(e,t,r){t!==void 0&&(t.locale!==void 0?this.options.locale=t.locale:this.options.locale=r.locale,t.locales!==void 0?this.options.locales=t.locales:this.options.locales=r.locales),e!==void 0&&(typeof e=="boolean"?this.options.enabled=e:(this.options.enabled=!0,qe(this.options,e)),this.options.initiallyActive===!0&&(this.editMode=!0),this._setup())}toggleEditMode(){this.editMode===!0?this.disableEditMode():this.enableEditMode()}enableEditMode(){this.editMode=!0,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="block",this.closeDiv.style.display="block",this.editModeDiv.style.display="none",this.showManipulatorToolbar())}disableEditMode(){this.editMode=!1,this._clean(),this.guiEnabled===!0&&(this.manipulationDiv.style.display="none",this.closeDiv.style.display="none",this.editModeDiv.style.display="block",this._createEditButton())}showManipulatorToolbar(){if(this._clean(),this.manipulationDOM={},this.guiEnabled===!0){var e,t;this.editMode=!0,this.manipulationDiv.style.display="block",this.closeDiv.style.display="block";const r=this.selectionHandler.getSelectedNodeCount(),i=this.selectionHandler.getSelectedEdgeCount(),o=r+i,s=this.options.locales[this.options.locale];let a=!1;this.options.addNode!==!1&&(this._createAddNodeButton(s),a=!0),this.options.addEdge!==!1&&(a===!0?this._createSeperator(1):a=!0,this._createAddEdgeButton(s)),r===1&&typeof this.options.editNode=="function"?(a===!0?this._createSeperator(2):a=!0,this._createEditNodeButton(s)):i===1&&r===0&&this.options.editEdge!==!1&&(a===!0?this._createSeperator(3):a=!0,this._createEditEdgeButton(s)),o!==0&&(r>0&&this.options.deleteNode!==!1?(a===!0&&this._createSeperator(4),this._createDeleteButton(s)):r===0&&this.options.deleteEdge!==!1&&(a===!0&&this._createSeperator(4),this._createDeleteButton(s))),this._bindElementEvents(this.closeDiv,j(e=this.toggleEditMode).call(e,this)),this._temporaryBindEvent("select",j(t=this.showManipulatorToolbar).call(t,this))}this.body.emitter.emit("_redraw")}addNodeMode(){var e;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addNode",this.guiEnabled===!0){var t;const r=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(r),this._createSeperator(),this._createDescription(r.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,j(t=this.toggleEditMode).call(t,this))}this._temporaryBindEvent("click",j(e=this._performAddNode).call(e,this))}editNode(){this.editMode!==!0&&this.enableEditMode(),this._clean();const e=this.selectionHandler.getSelectedNodes()[0];if(e!==void 0)if(this.inMode="editNode",typeof this.options.editNode=="function")if(e.isCluster!==!0){const t=qe({},e.options,!1);if(t.x=e.x,t.y=e.y,this.options.editNode.length===2)this.options.editNode(t,r=>{r!=null&&this.inMode==="editNode"&&this.body.data.nodes.getDataSet().update(r),this.showManipulatorToolbar()});else throw new Error("The function for edit does not support two arguments (data, callback)")}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError);else throw new Error("No function has been configured to handle the editing of nodes.");else this.showManipulatorToolbar()}addEdgeMode(){var e,t,r,i,o;if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="addEdge",this.guiEnabled===!0){var s;const a=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(a),this._createSeperator(),this._createDescription(a.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,j(s=this.toggleEditMode).call(s,this))}this._temporaryBindUI("onTouch",j(e=this._handleConnect).call(e,this)),this._temporaryBindUI("onDragEnd",j(t=this._finishConnect).call(t,this)),this._temporaryBindUI("onDrag",j(r=this._dragControlNode).call(r,this)),this._temporaryBindUI("onRelease",j(i=this._finishConnect).call(i,this)),this._temporaryBindUI("onDragStart",j(o=this._dragStartEdge).call(o,this)),this._temporaryBindUI("onHold",()=>{})}editEdgeMode(){if(this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="editEdge",typeof this.options.editEdge=="object"&&typeof this.options.editEdge.editWithoutDrag=="function"&&(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0)){const s=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(s.from.id,s.to.id);return}if(this.guiEnabled===!0){var e;const s=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(s),this._createSeperator(),this._createDescription(s.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,j(e=this.toggleEditMode).call(e,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],this.edgeBeingEditedId!==void 0){var t,r,i,o;const s=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(s.from.x,s.from.y),g=this._getNewTargetNode(s.to.x,s.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(g.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[g.id]=g,this.body.nodeIndices.push(g.id),this._temporaryBindUI("onTouch",j(t=this._controlNodeTouch).call(t,this)),this._temporaryBindUI("onTap",()=>{}),this._temporaryBindUI("onHold",()=>{}),this._temporaryBindUI("onDragStart",j(r=this._controlNodeDragStart).call(r,this)),this._temporaryBindUI("onDrag",j(i=this._controlNodeDrag).call(i,this)),this._temporaryBindUI("onDragEnd",j(o=this._controlNodeDragEnd).call(o,this)),this._temporaryBindUI("onMouseMove",()=>{}),this._temporaryBindEvent("beforeDrawing",A=>{const I=s.edgeType.findBorderPositions(A);a.selected===!1&&(a.x=I.from.x,a.y=I.from.y),g.selected===!1&&(g.x=I.to.x,g.y=I.to.y)}),this.body.emitter.emit("_redraw")}else this.showManipulatorToolbar()}deleteSelected(){this.editMode!==!0&&this.enableEditMode(),this._clean(),this.inMode="delete";const e=this.selectionHandler.getSelectedNodeIds(),t=this.selectionHandler.getSelectedEdgeIds();let r;if(e.length>0){for(let i=0;i<e.length;i++)if(this.body.nodes[e[i]].isCluster===!0){alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);return}typeof this.options.deleteNode=="function"&&(r=this.options.deleteNode)}else t.length>0&&typeof this.options.deleteEdge=="function"&&(r=this.options.deleteEdge);if(typeof r=="function"){const i={nodes:e,edges:t};if(r.length===2)r(i,o=>{o!=null&&this.inMode==="delete"?(this.body.data.edges.getDataSet().remove(o.edges),this.body.data.nodes.getDataSet().remove(o.nodes),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()):(this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar())});else throw new Error("The function for delete does not support two arguments (data, callback)")}else this.body.data.edges.getDataSet().remove(t),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit("startSimulation"),this.showManipulatorToolbar()}_setup(){this.options.enabled===!0?(this.guiEnabled=!0,this._createWrappers(),this.editMode===!1?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}_createWrappers(){if(this.manipulationDiv===void 0&&(this.manipulationDiv=document.createElement("div"),this.manipulationDiv.className="vis-manipulation",this.editMode===!0?this.manipulationDiv.style.display="block":this.manipulationDiv.style.display="none",this.canvas.frame.appendChild(this.manipulationDiv)),this.editModeDiv===void 0&&(this.editModeDiv=document.createElement("div"),this.editModeDiv.className="vis-edit-mode",this.editMode===!0?this.editModeDiv.style.display="none":this.editModeDiv.style.display="block",this.canvas.frame.appendChild(this.editModeDiv)),this.closeDiv===void 0){var e,t;this.closeDiv=document.createElement("button"),this.closeDiv.className="vis-close",this.closeDiv.setAttribute("aria-label",(e=(t=this.options.locales[this.options.locale])===null||t===void 0?void 0:t.close)!==null&&e!==void 0?e:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv)}}_getNewTargetNode(e,t){const r=qe({},this.options.controlNodeStyle);r.id="targetNode"+ja(),r.hidden=!1,r.physics=!1,r.x=e,r.y=t;const i=this.body.functions.createNode(r);return i.shape.boundingBox={left:e,right:e,top:t,bottom:t},i}_createEditButton(){var e;this._clean(),this.manipulationDOM={},Xi(this.editModeDiv);const t=this.options.locales[this.options.locale],r=this._createButton("editMode","vis-edit vis-edit-mode",t.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(r),this._bindElementEvents(r,j(e=this.toggleEditMode).call(e,this))}_clean(){this.inMode=!1,this.guiEnabled===!0&&(Xi(this.editModeDiv),Xi(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit("restorePhysics")}_cleanupDOMEventListeners(){for(const t of Ei(e=this._domEventListenerCleanupQueue).call(e,0)){var e;t()}}_removeManipulationDOM(){this._clean(),Xi(this.manipulationDiv),Xi(this.editModeDiv),Xi(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}_createSeperator(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.manipulationDOM["seperatorLineDiv"+e]=document.createElement("div"),this.manipulationDOM["seperatorLineDiv"+e].className="vis-separator-line",this.manipulationDiv.appendChild(this.manipulationDOM["seperatorLineDiv"+e])}_createAddNodeButton(e){var t;const r=this._createButton("addNode","vis-add",e.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.addNodeMode).call(t,this))}_createAddEdgeButton(e){var t;const r=this._createButton("addEdge","vis-connect",e.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.addEdgeMode).call(t,this))}_createEditNodeButton(e){var t;const r=this._createButton("editNode","vis-edit",e.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.editNode).call(t,this))}_createEditEdgeButton(e){var t;const r=this._createButton("editEdge","vis-edit",e.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.editEdgeMode).call(t,this))}_createDeleteButton(e){var t;let r;this.options.rtl?r="vis-delete-rtl":r="vis-delete";const i=this._createButton("delete",r,e.del||this.options.locales.en.del);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,j(t=this.deleteSelected).call(t,this))}_createBackButton(e){var t;const r=this._createButton("back","vis-back",e.back||this.options.locales.en.back);this.manipulationDiv.appendChild(r),this._bindElementEvents(r,j(t=this.showManipulatorToolbar).call(t,this))}_createButton(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"vis-label";return this.manipulationDOM[e+"Div"]=document.createElement("button"),this.manipulationDOM[e+"Div"].className="vis-button "+t,this.manipulationDOM[e+"Label"]=document.createElement("div"),this.manipulationDOM[e+"Label"].className=i,this.manipulationDOM[e+"Label"].innerText=r,this.manipulationDOM[e+"Div"].appendChild(this.manipulationDOM[e+"Label"]),this.manipulationDOM[e+"Div"]}_createDescription(e){this.manipulationDOM.descriptionLabel=document.createElement("div"),this.manipulationDOM.descriptionLabel.className="vis-none",this.manipulationDOM.descriptionLabel.innerText=e,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}_temporaryBindEvent(e,t){this.temporaryEventFunctions.push({event:e,boundFunction:t}),this.body.emitter.on(e,t)}_temporaryBindUI(e,t){if(this.body.eventListeners[e]!==void 0)this.temporaryUIFunctions[e]=this.body.eventListeners[e],this.body.eventListeners[e]=t;else throw new Error("This UI function does not exist. Typo? You tried: "+e+" possible are: "+eA(Xe(this.body.eventListeners)))}_unbindTemporaryUIs(){for(const e in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,e)&&(this.body.eventListeners[e]=this.temporaryUIFunctions[e],delete this.temporaryUIFunctions[e]);this.temporaryUIFunctions={}}_unbindTemporaryEvents(){for(let e=0;e<this.temporaryEventFunctions.length;e++){const t=this.temporaryEventFunctions[e].event,r=this.temporaryEventFunctions[e].boundFunction;this.body.emitter.off(t,r)}this.temporaryEventFunctions=[]}_bindElementEvents(e,t){const r=new as(e,{});nI(r,t),this._domEventListenerCleanupQueue.push(()=>{r.destroy()});const i=o=>{let{keyCode:s,key:a}=o;(a==="Enter"||a===" "||s===13||s===32)&&t()};e.addEventListener("keyup",i,!1),this._domEventListenerCleanupQueue.push(()=>{e.removeEventListener("keyup",i,!1)})}_cleanupTemporaryNodesAndEdges(){for(let o=0;o<this.temporaryIds.edges.length;o++){var e;this.body.edges[this.temporaryIds.edges[o]].disconnect(),delete this.body.edges[this.temporaryIds.edges[o]];const s=Oe(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[o]);if(s!==-1){var t;Ei(t=this.body.edgeIndices).call(t,s,1)}}for(let o=0;o<this.temporaryIds.nodes.length;o++){var r;delete this.body.nodes[this.temporaryIds.nodes[o]];const s=Oe(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[o]);if(s!==-1){var i;Ei(i=this.body.nodeIndices).call(i,s,1)}}this.temporaryIds={nodes:[],edges:[]}}_controlNodeTouch(e){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=At({},this.body.view.translation)}_controlNodeDragStart(){const e=this.lastTouch,t=this.selectionHandler._pointerToPositionObject(e),r=this.body.nodes[this.temporaryIds.nodes[0]],i=this.body.nodes[this.temporaryIds.nodes[1]],o=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;const s=r.isOverlappingWith(t),a=i.isOverlappingWith(t);s===!0?(this.selectedControlNode=r,o.edgeType.from=r):a===!0&&(this.selectedControlNode=i,o.edgeType.to=i),this.selectedControlNode!==void 0&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit("_redraw")}_controlNodeDrag(e){this.body.emitter.emit("disablePhysics");const t=this.body.functions.getPointer(e.center),r=this.canvas.DOMtoCanvas(t);this.selectedControlNode!==void 0?(this.selectedControlNode.x=r.x,this.selectedControlNode.y=r.y):this.interactionHandler.onDrag(e),this.body.emitter.emit("_redraw")}_controlNodeDragEnd(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t),i=this.body.edges[this.edgeBeingEditedId];if(this.selectedControlNode===void 0)return;this.selectionHandler.unselectAll();const o=this.selectionHandler._getAllNodesOverlappingWith(r);let s;for(let a=o.length-1;a>=0;a--)if(o[a]!==this.selectedControlNode.id){s=this.body.nodes[o[a]];break}if(s!==void 0&&this.selectedControlNode!==void 0)if(s.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(s.id,i.to.id):this._performEditEdge(i.from.id,s.id)}else i.updateEdgeType(),this.body.emitter.emit("restorePhysics");this.body.emitter.emit("_redraw")}_handleConnect(e){if(new Date().valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(e.center),this.lastTouch.translation=At({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;const t=this.lastTouch,r=this.selectionHandler.getNodeAt(t);if(r!==void 0)if(r.isCluster===!0)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{const i=this._getNewTargetNode(r.x,r.y);this.body.nodes[i.id]=i,this.body.nodeIndices.push(i.id);const o=this.body.functions.createEdge({id:"connectionEdge"+ja(),from:r.id,to:i.id,physics:!1,smooth:{enabled:!0,type:"continuous",roundness:.5}});this.body.edges[o.id]=o,this.body.edgeIndices.push(o.id),this.temporaryIds.nodes.push(i.id),this.temporaryIds.edges.push(o.id)}this.touchTime=new Date().valueOf()}}_dragControlNode(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const o=this.selectionHandler._getAllNodesOverlappingWith(r);let s;for(let g=o.length-1;g>=0;g--){var a;if(Oe(a=this.temporaryIds.nodes).call(a,o[g])===-1){s=this.body.nodes[o[g]];break}}if(e.controlEdge={from:i,to:s?s.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragging",e,t),this.temporaryIds.nodes[0]!==void 0){const g=this.body.nodes[this.temporaryIds.nodes[0]];g.x=this.canvas._XconvertDOMtoCanvas(t.x),g.y=this.canvas._YconvertDOMtoCanvas(t.y),this.body.emitter.emit("_redraw")}else this.interactionHandler.onDrag(e)}_finishConnect(e){const t=this.body.functions.getPointer(e.center),r=this.selectionHandler._pointerToPositionObject(t);let i;this.temporaryIds.edges[0]!==void 0&&(i=this.body.edges[this.temporaryIds.edges[0]].fromId);const o=this.selectionHandler._getAllNodesOverlappingWith(r);let s;for(let g=o.length-1;g>=0;g--){var a;if(Oe(a=this.temporaryIds.nodes).call(a,o[g])===-1){s=this.body.nodes[o[g]];break}}this._cleanupTemporaryNodesAndEdges(),s!==void 0&&(s.isCluster===!0?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):this.body.nodes[i]!==void 0&&this.body.nodes[s.id]!==void 0&&this._performAddEdge(i,s.id)),e.controlEdge={from:i,to:s?s.id:void 0},this.selectionHandler.generateClickEvent("controlNodeDragEnd",e,t),this.body.emitter.emit("_redraw")}_dragStartEdge(e){const t=this.lastTouch;this.selectionHandler.generateClickEvent("dragStart",e,t,void 0,!0)}_performAddNode(e){const t={id:ja(),x:e.pointer.canvas.x,y:e.pointer.canvas.y,label:"new"};if(typeof this.options.addNode=="function")if(this.options.addNode.length===2)this.options.addNode(t,r=>{r!=null&&this.inMode==="addNode"&&this.body.data.nodes.getDataSet().add(r),this.showManipulatorToolbar()});else throw this.showManipulatorToolbar(),new Error("The function for add does not support two arguments (data,callback)");else this.body.data.nodes.getDataSet().add(t),this.showManipulatorToolbar()}_performAddEdge(e,t){const r={from:e,to:t};if(typeof this.options.addEdge=="function")if(this.options.addEdge.length===2)this.options.addEdge(r,i=>{i!=null&&this.inMode==="addEdge"&&(this.body.data.edges.getDataSet().add(i),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for connect does not support two arguments (data,callback)");else this.body.data.edges.getDataSet().add(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}_performEditEdge(e,t){const r={id:this.edgeBeingEditedId,from:e,to:t,label:this.body.data.edges.get(this.edgeBeingEditedId).label};let i=this.options.editEdge;if(typeof i=="object"&&(i=i.editWithoutDrag),typeof i=="function")if(i.length===2)i(r,o=>{o==null||this.inMode!=="editEdge"?(this.body.edges[r.id].updateEdgeType(),this.body.emitter.emit("_redraw"),this.showManipulatorToolbar()):(this.body.data.edges.getDataSet().update(o),this.selectionHandler.unselectAll(),this.showManipulatorToolbar())});else throw new Error("The function for edit does not support two arguments (data, callback)");else this.body.data.edges.getDataSet().update(r),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}const W="string",B="boolean",D="number",Pa="array",J="object",Tte="dom",A_e="any",iO=["arrow","bar","box","circle","crow","curve","diamond","image","inv_curve","inv_triangle","triangle","vee"],nO={borderWidth:{number:D},borderWidthSelected:{number:D,undefined:"undefined"},brokenImage:{string:W,undefined:"undefined"},chosen:{label:{boolean:B,function:"function"},node:{boolean:B,function:"function"},__type__:{object:J,boolean:B}},color:{border:{string:W},background:{string:W},highlight:{border:{string:W},background:{string:W},__type__:{object:J,string:W}},hover:{border:{string:W},background:{string:W},__type__:{object:J,string:W}},__type__:{object:J,string:W}},opacity:{number:D,undefined:"undefined"},fixed:{x:{boolean:B},y:{boolean:B},__type__:{object:J,boolean:B}},font:{align:{string:W},color:{string:W},size:{number:D},face:{string:W},background:{string:W},strokeWidth:{number:D},strokeColor:{string:W},vadjust:{number:D},multi:{boolean:B,string:W},bold:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},boldital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},ital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},mono:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},__type__:{object:J,string:W}},group:{string:W,number:D,undefined:"undefined"},heightConstraint:{minimum:{number:D},valign:{string:W},__type__:{object:J,boolean:B,number:D}},hidden:{boolean:B},icon:{face:{string:W},code:{string:W},size:{number:D},color:{string:W},weight:{string:W,number:D},__type__:{object:J}},id:{string:W,number:D},image:{selected:{string:W,undefined:"undefined"},unselected:{string:W,undefined:"undefined"},__type__:{object:J,string:W}},imagePadding:{top:{number:D},right:{number:D},bottom:{number:D},left:{number:D},__type__:{object:J,number:D}},label:{string:W,undefined:"undefined"},labelHighlightBold:{boolean:B},level:{number:D,undefined:"undefined"},margin:{top:{number:D},right:{number:D},bottom:{number:D},left:{number:D},__type__:{object:J,number:D}},mass:{number:D},physics:{boolean:B},scaling:{min:{number:D},max:{number:D},label:{enabled:{boolean:B},min:{number:D},max:{number:D},maxVisible:{number:D},drawThreshold:{number:D},__type__:{object:J,boolean:B}},customScalingFunction:{function:"function"},__type__:{object:J}},shadow:{enabled:{boolean:B},color:{string:W},size:{number:D},x:{number:D},y:{number:D},__type__:{object:J,boolean:B}},shape:{string:["custom","ellipse","circle","database","box","text","image","circularImage","diamond","dot","star","triangle","triangleDown","square","icon","hexagon"]},ctxRenderer:{function:"function"},shapeProperties:{borderDashes:{boolean:B,array:Pa},borderRadius:{number:D},interpolation:{boolean:B},useImageSize:{boolean:B},useBorderWithImage:{boolean:B},coordinateOrigin:{string:["center","top-left"]},__type__:{object:J}},size:{number:D},title:{string:W,dom:Tte,undefined:"undefined"},value:{number:D,undefined:"undefined"},widthConstraint:{minimum:{number:D},maximum:{number:D},__type__:{object:J,boolean:B,number:D}},x:{number:D},y:{number:D},__type__:{object:J}},I_e={configure:{enabled:{boolean:B},filter:{boolean:B,string:W,array:Pa,function:"function"},container:{dom:Tte},showButton:{boolean:B},__type__:{object:J,boolean:B,string:W,array:Pa,function:"function"}},edges:{arrows:{to:{enabled:{boolean:B},scaleFactor:{number:D},type:{string:iO},imageHeight:{number:D},imageWidth:{number:D},src:{string:W},__type__:{object:J,boolean:B}},middle:{enabled:{boolean:B},scaleFactor:{number:D},type:{string:iO},imageWidth:{number:D},imageHeight:{number:D},src:{string:W},__type__:{object:J,boolean:B}},from:{enabled:{boolean:B},scaleFactor:{number:D},type:{string:iO},imageWidth:{number:D},imageHeight:{number:D},src:{string:W},__type__:{object:J,boolean:B}},__type__:{string:["from","to","middle"],object:J}},endPointOffset:{from:{number:D},to:{number:D},__type__:{object:J,number:D}},arrowStrikethrough:{boolean:B},background:{enabled:{boolean:B},color:{string:W},size:{number:D},dashes:{boolean:B,array:Pa},__type__:{object:J,boolean:B}},chosen:{label:{boolean:B,function:"function"},edge:{boolean:B,function:"function"},__type__:{object:J,boolean:B}},color:{color:{string:W},highlight:{string:W},hover:{string:W},inherit:{string:["from","to","both"],boolean:B},opacity:{number:D},__type__:{object:J,string:W}},dashes:{boolean:B,array:Pa},font:{color:{string:W},size:{number:D},face:{string:W},background:{string:W},strokeWidth:{number:D},strokeColor:{string:W},align:{string:["horizontal","top","middle","bottom"]},vadjust:{number:D},multi:{boolean:B,string:W},bold:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},boldital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},ital:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},mono:{color:{string:W},size:{number:D},face:{string:W},mod:{string:W},vadjust:{number:D},__type__:{object:J,string:W}},__type__:{object:J,string:W}},hidden:{boolean:B},hoverWidth:{function:"function",number:D},label:{string:W,undefined:"undefined"},labelHighlightBold:{boolean:B},length:{number:D,undefined:"undefined"},physics:{boolean:B},scaling:{min:{number:D},max:{number:D},label:{enabled:{boolean:B},min:{number:D},max:{number:D},maxVisible:{number:D},drawThreshold:{number:D},__type__:{object:J,boolean:B}},customScalingFunction:{function:"function"},__type__:{object:J}},selectionWidth:{function:"function",number:D},selfReferenceSize:{number:D},selfReference:{size:{number:D},angle:{number:D},renderBehindTheNode:{boolean:B},__type__:{object:J}},shadow:{enabled:{boolean:B},color:{string:W},size:{number:D},x:{number:D},y:{number:D},__type__:{object:J,boolean:B}},smooth:{enabled:{boolean:B},type:{string:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"]},roundness:{number:D},forceDirection:{string:["horizontal","vertical","none"],boolean:B},__type__:{object:J,boolean:B}},title:{string:W,undefined:"undefined"},width:{number:D},widthConstraint:{maximum:{number:D},__type__:{object:J,boolean:B,number:D}},value:{number:D,undefined:"undefined"},__type__:{object:J}},groups:{useDefaultGroups:{boolean:B},__any__:nO,__type__:{object:J}},interaction:{dragNodes:{boolean:B},dragView:{boolean:B},hideEdgesOnDrag:{boolean:B},hideEdgesOnZoom:{boolean:B},hideNodesOnDrag:{boolean:B},hover:{boolean:B},keyboard:{enabled:{boolean:B},speed:{x:{number:D},y:{number:D},zoom:{number:D},__type__:{object:J}},bindToWindow:{boolean:B},autoFocus:{boolean:B},__type__:{object:J,boolean:B}},multiselect:{boolean:B},navigationButtons:{boolean:B},selectable:{boolean:B},selectConnectedEdges:{boolean:B},hoverConnectedEdges:{boolean:B},tooltipDelay:{number:D},zoomView:{boolean:B},zoomSpeed:{number:D},__type__:{object:J}},layout:{randomSeed:{undefined:"undefined",number:D,string:W},improvedLayout:{boolean:B},clusterThreshold:{number:D},hierarchical:{enabled:{boolean:B},levelSeparation:{number:D},nodeSpacing:{number:D},treeSpacing:{number:D},blockShifting:{boolean:B},edgeMinimization:{boolean:B},parentCentralization:{boolean:B},direction:{string:["UD","DU","LR","RL"]},sortMethod:{string:["hubsize","directed"]},shakeTowards:{string:["leaves","roots"]},__type__:{object:J,boolean:B}},__type__:{object:J}},manipulation:{enabled:{boolean:B},initiallyActive:{boolean:B},addNode:{boolean:B,function:"function"},addEdge:{boolean:B,function:"function"},editNode:{function:"function"},editEdge:{editWithoutDrag:{function:"function"},__type__:{object:J,boolean:B,function:"function"}},deleteNode:{boolean:B,function:"function"},deleteEdge:{boolean:B,function:"function"},controlNodeStyle:nO,__type__:{object:J,boolean:B}},nodes:nO,physics:{enabled:{boolean:B},barnesHut:{theta:{number:D},gravitationalConstant:{number:D},centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},damping:{number:D},avoidOverlap:{number:D},__type__:{object:J}},forceAtlas2Based:{theta:{number:D},gravitationalConstant:{number:D},centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},damping:{number:D},avoidOverlap:{number:D},__type__:{object:J}},repulsion:{centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},nodeDistance:{number:D},damping:{number:D},__type__:{object:J}},hierarchicalRepulsion:{centralGravity:{number:D},springLength:{number:D},springConstant:{number:D},nodeDistance:{number:D},damping:{number:D},avoidOverlap:{number:D},__type__:{object:J}},maxVelocity:{number:D},minVelocity:{number:D},solver:{string:["barnesHut","repulsion","hierarchicalRepulsion","forceAtlas2Based"]},stabilization:{enabled:{boolean:B},iterations:{number:D},updateInterval:{number:D},onlyDynamicEdges:{boolean:B},fit:{boolean:B},__type__:{object:J,boolean:B}},timestep:{number:D},adaptiveTimestep:{boolean:B},wind:{x:{number:D},y:{number:D},__type__:{object:J}},__type__:{object:J,boolean:B}},autoResize:{boolean:B},clickToUse:{boolean:B},locale:{string:W},locales:{__any__:{any:A_e},__type__:{object:J}},height:{string:W},width:{string:W},__type__:{object:J}},Rte={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:["color","#2B7CE9"],background:["color","#97C2FC"],highlight:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]},hover:{border:["color","#2B7CE9"],background:["color","#D2E5FF"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[0,0,50,1],strokeColor:["color","#ffffff"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:["ellipse","box","circle","database","diamond","dot","square","star","text","triangle","triangleDown","hexagon"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:"arrow"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:["color","#848484"],highlight:["color","#848484"],hover:["color","#848484"],inherit:["from","to","both",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:["color","#343434"],size:[14,0,100,1],face:["arial","verdana","tahoma"],background:["color","none"],strokeWidth:[2,0,50,1],strokeColor:["color","#ffffff"],align:["horizontal","top","middle","bottom"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:"rgba(0,0,0,0.5)",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:["dynamic","continuous","discrete","diagonalCross","straightCross","horizontal","vertical","curvedCW","curvedCCW","cubicBezier"],forceDirection:["horizontal","vertical","none"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:["UD","DU","LR","RL"],sortMethod:["hubsize","directed"],shakeTowards:["leaves","roots"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:["barnesHut","forceAtlas2Based","repulsion","hierarchicalRepulsion"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},C_e=(n,e,t)=>{var r;return!!(An(n).call(n,"physics")&&An(r=Rte.physics.solver).call(r,e)&&t.physics.solver!==e&&e!=="wind")};class l_e{constructor(){}getDistances(e,t,r){const i={},o=e.edges;for(let a=0;a<t.length;a++){const g=t[a],A={};i[g]=A;for(let I=0;I<t.length;I++)A[t[I]]=a==I?0:1e9}for(let a=0;a<r.length;a++){const g=o[r[a]];g.connected===!0&&i[g.fromId]!==void 0&&i[g.toId]!==void 0&&(i[g.fromId][g.toId]=1,i[g.toId][g.fromId]=1)}const s=t.length;for(let a=0;a<s;a++){const g=t[a],A=i[g];for(let I=0;I<s-1;I++){const C=t[I],l=i[C];for(let d=I+1;d<s;d++){const u=t[d],h=i[u],v=Math.min(l[u],l[g]+A[u]);l[u]=v,h[C]=v}}}return i}}class d_e{constructor(e,t,r){this.body=e,this.springLength=t,this.springConstant=r,this.distanceSolver=new l_e}setOptions(e){e&&(e.springLength&&(this.springLength=e.springLength),e.springConstant&&(this.springConstant=e.springConstant))}solve(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const i=this.distanceSolver.getDistances(this.body,e,t);this._createL_matrix(i),this._createK_matrix(i),this._createE_matrix();const o=.01,s=1;let a=0;const g=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),A=5;let I=1e9,C=0,l=0,d=0,u=0,h=0;for(;I>o&&a<g;)for(a+=1,[C,I,l,d]=this._getHighestEnergyNode(r),u=I,h=0;u>s&&h<A;)h+=1,this._moveNode(C,l,d),[u,l,d]=this._getEnergy(C)}_getHighestEnergyNode(e){const t=this.body.nodeIndices,r=this.body.nodes;let i=0,o=t[0],s=0,a=0;for(let g=0;g<t.length;g++){const A=t[g];if(r[A].predefinedPosition!==!0||r[A].isCluster===!0&&e===!0||r[A].options.fixed.x!==!0||r[A].options.fixed.y!==!0){const[I,C,l]=this._getEnergy(A);i<I&&(i=I,o=A,s=C,a=l)}}return[o,i,s,a]}_getEnergy(e){const[t,r]=this.E_sums[e];return[Math.sqrt(t**2+r**2),t,r]}_moveNode(e,t,r){const i=this.body.nodeIndices,o=this.body.nodes;let s=0,a=0,g=0;const A=o[e].x,I=o[e].y,C=this.K_matrix[e],l=this.L_matrix[e];for(let p=0;p<i.length;p++){const y=i[p];if(y!==e){const E=o[y].x,S=o[y].y,m=C[y],w=l[y],_=1/((A-E)**2+(I-S)**2)**1.5;s+=m*(1-w*(I-S)**2*_),a+=m*(w*(A-E)*(I-S)*_),g+=m*(1-w*(A-E)**2*_)}}const d=s,u=a,h=t,v=g,f=r,c=(h/d+f/u)/(u/d-v/u),b=-(u*c+h)/d;o[e].x+=b,o[e].y+=c,this._updateE_matrix(e)}_createL_matrix(e){const t=this.body.nodeIndices,r=this.springLength;this.L_matrix=[];for(let i=0;i<t.length;i++){this.L_matrix[t[i]]={};for(let o=0;o<t.length;o++)this.L_matrix[t[i]][t[o]]=r*e[t[i]][t[o]]}}_createK_matrix(e){const t=this.body.nodeIndices,r=this.springConstant;this.K_matrix=[];for(let i=0;i<t.length;i++){this.K_matrix[t[i]]={};for(let o=0;o<t.length;o++)this.K_matrix[t[i]][t[o]]=r*e[t[i]][t[o]]**-2}}_createE_matrix(){const e=this.body.nodeIndices,t=this.body.nodes;this.E_matrix={},this.E_sums={};for(let r=0;r<e.length;r++)this.E_matrix[e[r]]=[];for(let r=0;r<e.length;r++){const i=e[r],o=t[i].x,s=t[i].y;let a=0,g=0;for(let A=r;A<e.length;A++){const I=e[A];if(I!==i){const C=t[I].x,l=t[I].y,d=1/Math.sqrt((o-C)**2+(s-l)**2);this.E_matrix[i][A]=[this.K_matrix[i][I]*(o-C-this.L_matrix[i][I]*(o-C)*d),this.K_matrix[i][I]*(s-l-this.L_matrix[i][I]*(s-l)*d)],this.E_matrix[I][r]=this.E_matrix[i][A],a+=this.E_matrix[i][A][0],g+=this.E_matrix[i][A][1]}}this.E_sums[i]=[a,g]}}_updateE_matrix(e){const t=this.body.nodeIndices,r=this.body.nodes,i=this.E_matrix[e],o=this.K_matrix[e],s=this.L_matrix[e],a=r[e].x,g=r[e].y;let A=0,I=0;for(let C=0;C<t.length;C++){const l=t[C];if(l!==e){const d=i[C],u=d[0],h=d[1],v=r[l].x,f=r[l].y,c=1/Math.sqrt((a-v)**2+(g-f)**2),b=o[l]*(a-v-s[l]*(a-v)*c),p=o[l]*(g-f-s[l]*(g-f)*c);i[C]=[b,p],A+=b,I+=p;const y=this.E_sums[l];y[0]+=b-u,y[1]+=p-h}}this.E_sums[e]=[A,I]}}function Y(n,e,t){var r,i,o,s;if(!(this instanceof Y))throw new SyntaxError("Constructor must be called with the new operator");this.options={},this.defaultOptions={locale:"en",locales:F1e,clickToUse:!1},At(this.options,this.defaultOptions),this.body={container:n,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:j(r=this.on).call(r,this),off:j(i=this.off).call(i,this),emit:j(o=this.emit).call(o,this),once:j(s=this.once).call(s,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new z1e(()=>this.body.emitter.emit("_requestRedraw")),this.groups=new t0e,this.canvas=new KEe(this.body),this.selectionHandler=new PSe(this.body,this.canvas),this.interactionHandler=new JEe(this.body,this.canvas,this.selectionHandler),this.view=new XEe(this.body,this.canvas),this.renderer=new WEe(this.body,this.canvas),this.physics=new qEe(this.body),this.layoutEngine=new a_e(this.body),this.clustering=new GEe(this.body),this.manipulation=new g_e(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new IEe(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new PEe(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new d_e(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(t),this.setData(e)}oee(Y.prototype);Y.prototype.setOptions=function(n){if(n===null&&(n=void 0),n!==void 0){if(u1e.validate(n,I_e)===!0&&console.error("%cErrors have been found in the supplied options object.",ete),da(["locale","locales","clickToUse"],this.options,n),n.locale!==void 0&&(n.locale=k1e(n.locales||this.options.locales,n.locale)),n=this.layoutEngine.setOptions(n.layout,n),this.canvas.setOptions(n),this.groups.setOptions(n.groups),this.nodesHandler.setOptions(n.nodes),this.edgesHandler.setOptions(n.edges),this.physics.setOptions(n.physics),this.manipulation.setOptions(n.manipulation,n,this.options),this.interactionHandler.setOptions(n.interaction),this.renderer.setOptions(n.interaction),this.selectionHandler.setOptions(n.interaction),n.groups!==void 0&&this.body.emitter.emit("refreshNodes"),"configure"in n&&(this.configurator||(this.configurator=new l1e(this,this.body.container,Rte,this.canvas.pixelRatio,C_e)),this.configurator.setOptions(n.configure)),this.configurator&&this.configurator.options.enabled===!0){const r={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};qe(r.nodes,this.nodesHandler.options),qe(r.edges,this.edgesHandler.options),qe(r.layout,this.layoutEngine.options),qe(r.interaction,this.selectionHandler.options),qe(r.interaction,this.renderer.options),qe(r.interaction,this.interactionHandler.options),qe(r.manipulation,this.manipulation.options),qe(r.physics,this.physics.options),qe(r.global,this.canvas.options),qe(r.global,this.options),this.configurator.setModuleOptions(r)}n.clickToUse!==void 0?n.clickToUse===!0?this.activator===void 0&&(this.activator=new C1e(this.canvas.frame),this.activator.on("change",()=>{this.body.emitter.emit("activate")})):(this.activator!==void 0&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit("activate")):this.body.emitter.emit("activate"),this.canvas.setSize(),this.body.emitter.emit("startSimulation")}};Y.prototype._updateVisibleIndices=function(){const n=this.body.nodes,e=this.body.edges;this.body.nodeIndices=[],this.body.edgeIndices=[];for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&!this.clustering._isClusteredNode(t)&&n[t].options.hidden===!1&&this.body.nodeIndices.push(n[t].id);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t],i=n[r.fromId],o=n[r.toId],s=i!==void 0&&o!==void 0;!this.clustering._isClusteredEdge(t)&&r.options.hidden===!1&&s&&i.options.hidden===!1&&o.options.hidden===!1&&this.body.edgeIndices.push(r.id)}};Y.prototype.bindEventListeners=function(){this.body.emitter.on("_dataChanged",()=>{this.edgesHandler._updateState(),this.body.emitter.emit("_dataUpdated")}),this.body.emitter.on("_dataUpdated",()=>{this.clustering._updateState(),this._updateVisibleIndices(),this._updateValueRange(this.body.nodes),this._updateValueRange(this.body.edges),this.body.emitter.emit("startSimulation"),this.body.emitter.emit("_requestRedraw")})};Y.prototype.setData=function(n){if(this.body.emitter.emit("resetPhysics"),this.body.emitter.emit("_resetData"),this.selectionHandler.unselectAll(),n&&n.dot&&(n.nodes||n.edges))throw new SyntaxError('Data must contain either parameter "dot" or  parameter pair "nodes" and "edges", but not both.');if(this.setOptions(n&&n.options),n&&n.dot){console.warn("The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);");const e=E1e(n.dot);this.setData(e);return}else if(n&&n.gephi){console.warn("The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);");const e=S1e(n.gephi);this.setData(e);return}else this.nodesHandler.setData(n&&n.nodes,!0),this.edgesHandler.setData(n&&n.edges,!0);this.body.emitter.emit("_dataChanged"),this.body.emitter.emit("_dataLoaded"),this.body.emitter.emit("initPhysics")};Y.prototype.destroy=function(){this.body.emitter.emit("destroy"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images;for(const n in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,n)&&delete this.body.nodes[n];for(const n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&delete this.body.edges[n];Xi(this.body.container)};Y.prototype._updateValueRange=function(n){let e,t,r,i=0;for(e in n)if(Object.prototype.hasOwnProperty.call(n,e)){const o=n[e].getValue();o!==void 0&&(t=t===void 0?o:Math.min(o,t),r=r===void 0?o:Math.max(o,r),i+=o)}if(t!==void 0&&r!==void 0)for(e in n)Object.prototype.hasOwnProperty.call(n,e)&&n[e].setValueRange(t,r,i)};Y.prototype.isActive=function(){return!this.activator||this.activator.active};Y.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)};Y.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)};Y.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)};Y.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)};Y.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)};Y.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)};Y.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)};Y.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)};Y.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)};Y.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)};Y.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)};Y.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)};Y.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)};Y.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)};Y.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)};Y.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)};Y.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)};Y.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)};Y.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)};Y.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)};Y.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)};Y.prototype.editNodeMode=function(){return console.warn("Deprecated: Please use editNode instead of editNodeMode."),this.manipulation.editNode.apply(this.manipulation,arguments)};Y.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)};Y.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)};Y.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)};Y.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)};Y.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)};Y.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)};Y.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)};Y.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)};Y.prototype.getConnectedNodes=function(n){return this.body.nodes[n]!==void 0?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)};Y.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)};Y.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)};Y.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)};Y.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)};Y.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)};Y.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)};Y.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)};Y.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)};Y.prototype.getNodeAt=function(){const n=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};Y.prototype.getEdgeAt=function(){const n=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return n!==void 0&&n.id!==void 0?n.id:n};Y.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)};Y.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)};Y.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()};Y.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)};Y.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)};Y.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)};Y.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)};Y.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)};Y.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)};Y.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)};Y.prototype.getOptionsFromConfigurator=function(){let n={};return this.configurator&&(n=this.configurator.getOptions.apply(this.configurator)),n};const u_e={flex:"~ col",relative:"","h-full":"","of-hidden":"","panel-grids":"",class:"graph-body"},h_e={class:"relative flex-1"},c_e={key:0,class:"absolute inset-0 flex select-none items-center justify-center bg-base text-base"},JOe=oI({__name:"graph",setup(n){async function e(){const g=await IA.value.getRoot().then(A=>A);IA.value.getGraphModules().then(A=>{nle(A,g)})}function t(){e()}Wte(()=>{e(),IA.functions.on("graphModuleUpdated",t)});const r=Bn(),i=xX(),o=Bn(!1);function s(){const g=r.value,A=i.value=new Y(g,{nodes:hs,edges:cs},nB.value);$A(nB,I=>{A.setOptions(I)},{immediate:!0}),A.on("selectNode",I=>{ale(I.nodes[0]),yO(!0)}),A.on("startStabilizing",()=>{oO.value.reduceMotion&&(o.value=!0)}),A.on("stabilized",()=>{o.value=!1}),A.on("deselectNode",()=>{yO(!1)}),$A(()=>ps.value,I=>{I&&A.moveTo({position:{x:0,y:0}})})}Vte(()=>{s()}),Zte(()=>{tle(),i.value?.destroy(),IA.functions.off("graphModuleUpdated",t)});const a=Bn();return(g,A)=>{const I=ble,C=mle,l=vle;return Xt(),ar("div",u_e,[es(I,{ref_key:"navbarRef",ref:a},null,512),et("div",h_e,[et("div",{ref_key:"container",ref:r,class:"absolute inset-0"},null,512),Pe(o)?(Xt(),ar("div",c_e,[...A[0]||(A[0]=[et("div",{class:"flex items-center space-x-2"},[et("span",null,"Stabilizing...")],-1)])])):BO("",!0),es(C),es(l,{top:Pe(a)},null,8,["top"])])])}}});export{JOe as default};
