diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..6422f93 --- /dev/null +++ b/404.html @@ -0,0 +1,701 @@ + + + + + + + + + + + + + + + + + + + + + + + iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ +

404 - Not found

+ +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Animeo/index.html b/Animeo/index.html new file mode 100644 index 0000000..4431ec1 --- /dev/null +++ b/Animeo/index.html @@ -0,0 +1,764 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Somfy Animeo IP io Gateway - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

Somfy Animeo IP io Gateway

+
+

oui.db: OUI:F8811A* = ID_OUI_FROM_DATABASE=OVERKIZ

+

animeocontroller: 0x00045ad0 easoifjagf

+
+

1.1.9.1735-20200219235058

+ + + + + + + + + + + + + + + + + + + + +
-initrdrootfs
version202002192350581.1.9.1735
timestamp2020022000521820200220010752
+
    +
  • kernel cmdline: console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw
  • +
  • issue.net: Somfy - animeo Connect Distro 1.1.9 %h
  • +
  • hostname: ipiogateway
  • +
  • passwd: root:tnWP/hxDSA9ew:0:0:root:/home/root:/bin/sh
  • +
  • os-release +
    ID="connectdistro"
    +NAME="Somfy - animeo Connect Distro"
    +VERSION="1.1.9"
    +VERSION_ID="1.1.9"
    +PRETTY_NAME="Somfy - animeo Connect Distro 1.1.9"
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/BoxTypes/index.html b/BoxTypes/index.html new file mode 100644 index 0000000..fc3dc49 --- /dev/null +++ b/BoxTypes/index.html @@ -0,0 +1,2128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + PIN to Device Mapping = Box Types - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

PIN to Device Mapping = Box Types

+

Mostly complete list of Overkiz Box Types with their Sub Types, Protocols and mDNS names as RegEx.

+
+

Note: SYS = There is a (unknown) differtiation between Gateways: "System" and "Box". It the GW is of Type System it is noted in this column.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#SYSTYPESUB TYPEREGEXPROTOCOLS
0KizBoxV1Virtual^VIRT-\d{3}$Aurora, Axis, Cam, EnOcean, HomeKit, Hue, IO, Jaga, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, RTW, Sauter, UPnP, Wavenis, WmBus, xComfort, Yokis, ZigBee, zWave
1Linkki^LINKI(-\d{4}){3}$IO, RTS
2KizBoxV1^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
3VITTYMediaBusControllerMediaBus
6STM32^STP\d{5}$META
7SomfyBox^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
8TahomaLiberty^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
9ZenBoxControl^023\d(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
10BDRThermeaBox^024\d(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
11JagaBox^02\d{2}(-\d{4}){2}$Jaga
12EEBusGateway^EEBUS*EEBus
13ZenBoxMonitoring^023\d(-\d{4}){2}$Cam, EnOcean, IO, OVP, Ramses, RTD, RTDS, RTS, WmBus, zWave
14KizBoxTCPEAP^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15Tahoma^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaBASIC^02(00|01)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaBASIC_PLUS^02(01|02)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaPREMIUM^02(02|03)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaSOMFY_BOX^02(03|04)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaHITACHI_BOX^02(04|05)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaMONDIAL_ASSISTANCE^02(05|06)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaMAROC_TELECOM^02(06|07)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaVerisure^02(07|09)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaSHORT_CHANNEL^02(08|13)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaPRO^02(09|14)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaSECURITY_SHORT_CHANNEL^02(10|15)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaSECURITY_PRO^02(11|16)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaTRYBA^02(12|17)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaTAHOMA^02(13|100)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaTAHOMA_LIBERTY^02(14|101)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
15TahomaSOMFY_BOX_OLD^02(15|102)(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
16KizBoxLC^KLC\d{5}$
17KizBoxTCPAP^T-02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
18TahomaHitachi^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
19RexelEnergeasyConnect^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
20XVerisureAlarmSystem^VSURE-\d{2}-*Verisure
21KizBoxMini433Mhz^04\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
22HitachiHLinkWifiGateway^05\d{2}(-\d{4}){2}$HLRR WiFi
23SWFHomeAutomationBridge^06\d{2}(-\d{4}){2}$IO SWF
24KizBoxV2^11\d{2}(-\d{4}){2}$Cam, Hue, KNX, RTD, RTDS, RTS, SoNoS, UPnP, zWave
25XMyFoxAlarmSystem^MYFOX-*MyFox
26Atlantic^02\d{2}(-\d{4}){2}$Aurora, Axis, Cam, EnOcean, Hue, IO, Jaga, KNX, ModBus, OVP, Ramses, RTD, RTDS, RTS, Sauter, UPnP, Wavenis, WmBus, Yokis, zWave
27KizBoxMiniWmBus^07\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, WmBus, zWave
28KizBoxMiniIO^08\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
29TahomaV2^12\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2BASIC^12(00|01)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2BASIC_PLUS^12(01|02)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2PREMIUM^12(02|03)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2SOMFY_BOX^12(03|04)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2HITACHI^12(04|05)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2MONDIAL_ASSISTANCE^12(05|06)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2MAROC_TELECOM^12(06|07)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2SERENITY^12(07|08)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2Verisure^12(08|09)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2SERENITY_PREMIUM^12(09|10)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2MONSIEUR_STORE^12(10|11)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2MAISON_AVENIR_TRADITION^12(11|12)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2SHORT_CHANNEL^12(12|13)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2PRO^12(13|14)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2SECURITY_SHORT_CHANNEL^12(14|15)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2SECURITY_PRO^12(15|16)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2TRYBA^12(16|17)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2WHITE_LABEL^12(17|18)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2VELFAC^12(18|19)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
29TahomaV2RATIONEL^12(19|20)(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
30KizBoxV23Head^13\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
31KizBoxV22Head^12\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
32AtlanticCozyTouch^08\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
33XDomisHomeSecureAlarmSystem^50\d{2}(-\d{4}){2}$Home Secure
34Connexoon^08\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonTWO_UNIVERSES^08(00|01)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonPRO^08(01|02)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonPRO_WINDOW^08(02|03)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonPRO_TERRACE^08(03|04)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonPRO_ACCESS^08(04|05)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonMARKILUX^08(05|06)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonROMA_WINDOW^08(06|07)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonWILSNIOWSKI_ACCESS^08(07|08)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonSELT_TWO_UNIVERSES^08(08|09)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonTWO_UNIVERSES_2^08(09|10)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonTWO_UNIVERSES_3^08(10|11)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
34ConnexoonTAHOMA_BOX^08(11|12)(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
35XJSWVideoSystem^JSW(-\d{4}){3}$JSW
36CotherniVista^08\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, IO, KNX, ModBus, OVP, Ramses, SoNoS, UPnP, ZigBee, zWave
37KizBoxMiniDaughterboardIO^09\d{2}(-\d{4}){2}$IO, OVP
38KizBoxMiniDaughterboardZWave^09\d{2}(-\d{4}){2}$zWave
39KizBoxMiniDaughterboardEnOcean^09\d{2}(-\d{4}){2}$EnOcean
40KizBoxRailDin^10\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, xComfort, Yokis, ZigBee, zWave
41TahomaV2RTS^10\d{2}(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSBASIC^10(00|02)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSPREMIUM^10(01|03)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSMAROC_TELECOM^10(02|07)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSSERENITY^10(03|08)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSSERENITY_PREMIUM^10(04|10)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSSHORT_CHANNEL^10(05|13)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSPRO^10(06|14)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSSECURITY_SHORT_CHANNEL^10(07|15)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSSECURITY_PRO^10(08|16)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSTRYBA^10(09|17)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
41TahomaV2RTSWHITE_LABEL^10(10|18)(-\d{4}){2}$Cam, Hue, KNX, OGP, RTD, RTDS, RTS, SoNoS, UPnP, zWave
42KizBoxMiniModbus^08\d{2}(-\d{4}){2}$ModBus, OVP
43KizBoxMiniOVP^08\d{2}(-\d{4}){2}$OVP
44HitachiHiBox^08\d{2}(-\d{4}){2}$ModBus, OVP
45DeDietrichInternetModuleV2^08\d{2}(-\d{4}){2}$OVP
46VertuozMDBEnOcean^09\d{2}(-\d{4}){2}$EnOcean
47BouyguesImmobilierFlexomRailDIN^10\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, xComfort, Yokis, ZigBee, zWave
48RexelEnergeasyConnectMiniBoxRailDIN^08\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, RTN, RTS, Sauter, SoNoS, UPnP, xComfort, Yokis, ZigBee, zWave
49KizBoxMiniIdealRF^08\d{2}(-\d{4}){2}$IDEAL_RF
50FlaktwoodsCuro^08\d{2}(-\d{4}){2}$ModBus, OVP
51ComapMiniDaughterBoardZWave^09\d{2}(-\d{4}){2}$Sauter, zWave
52MyUbiwizzUbiboxRailDIN^10\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, xComfort, Yokis, ZigBee, zWave
53ConnexoonRTS^04\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
53ConnexoonRTSRTS_WINDOW^04(00|01)(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
53ConnexoonRTSRTS_ACCESS^04(01|02)(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
53ConnexoonRTSPOLARGOS_ACCESS^04(02|03)(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
53ConnexoonRTSRTS_DEFAULT^04(03|04)(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
54XOpenDoorsLockSystem^08\d{2}(-\d{4}){2}$OPENDOORS
55KizBoxMini426Mhz^04\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTS, ZigBee, zWave
56ConnexoonRTSJapan^04\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTS, ZigBee, zWave
57RexelEnergeasyConnectV2^12\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Home Secure, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
58XSomfyProtectSystem^SOMFY_PROTEXT-MyFox
59XVaillantSystem^VAILLANT-*VAILLANT
60MyUbiwizzUbibox^09\d{2}(-\d{4}){2}$EnOcean
61XNetatmoCamerasSystem^Netatmo_CamS-*Netatmo
62ConnexoonRTSAustralia^04\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
63XSomfyThermostatSystem^SOMFY_THERMOSTAT-Somfy Thermostat (I2G)
64BoxUltraLowCostRTS^14\d{2}(-\d{4}){2}$RTS
65SmartlyMiniDaughterBoardZWave^09\d{2}(-\d{4}){2}$zWave
66SmartlyMiniboxRailDIN^10\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, RTD(S), RTN, RTS, Sauter, UPnP, xComfort, Yokis, ZigBee, zWave
67TahomaBee^08\d{2}(-\d{4}){2}$Hue, RTN, RTS, ZigBee
68XNestSystem^NEST-*NEST
69ConnexoonRTN^08\d{2}(-\d{4}){2}$Cam, EnOcean, Hue, KNX, Ramses, RTD(S), RTN, RTS, ZigBee, zWave
70XUrmetSystem^URMET-\d{6}$URMET
71ModbusWifi^14\d{2}(-\d{4}){2}$ModBusLink
72TahomaRailDIN^10\d{2}(-\d{4}){2}$Aurora, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, RTN, RTS, Sauter, SoNoS, UPnP, xComfort, Yokis, ZigBee, zWave
73XNetatmoThermostatSystem^NETATMO_THERMOSTATS-*Netatmo
74NexityBySomfyRailDin^10\d{2}(-\d{4}){2}$IO, OVP, zWave
75TahomaBeecon^16\d{2}(-\d{4}){2}$Hue, RTS, SoNoS, UPnP, ZigBee
76Smartkiz^16\d{2}(-\d{4}){2}$EnOcean, Hue, RTS, SoNoS, UPnP, ZigBee, zWave
77XEliotSystem^ELIOT-*Eliot
78SimuBox^12\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBusLink, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
79MyHigginsASA^04\d{2}(-\d{4}){2}$RTW
80XBFTSystem^BFT-*BFT
81BFTMiniDaughterBoardZWave^09\d{2}(-\d{4}){2}$Hue, zWave
82HomeSetTommaso^09\d{2}(-\d{4}){2}$EnOcean
83AtlanticModbusWifi^15\d{2}(-\d{4}){2}$ModBusLink
84XAristonSystem^ARISTON-*Ariston
85RailDINPichet^10\d{2}(-\d{4}){2}$Hue, ZigBee, zWave
86SiremModbusWifi^14\d{2}(-\d{4}){2}$ModBusLink
87XVaillantV2System^VAILLANT_V2-*VAILLANT
88XWiserSystem^WISER-*WISER
89XSomfySAVSystem^SOMFY_SAV-*
90SmartkizIO^16\d{2}(-\d{4}){2}$EnOcean, Hue, IO, RTS, SoNoS, UPnP, ZigBee, zWave
91XSauterSVCSystem^SAUTER_SVC-(.*)-(.*)Sauter SVC
92XNetatmoSystem^NETATMO-*Netatmo
93XMullerByNetatmoSystem^NETATMO_MULLER-.*Netatmo
94EffiUpMiniEnOcean^09\d{2}(-\d{4}){2}$EnOcean
95SmartLivingRailDIN^10\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, Hue, IO, KNX, ModBus, OGP, OVP, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, xComfort, Yokis, ZigBee, zWave
96SmartLivingKizBoxV2^12\d{2}(-\d{4}){2}$Aurora, Cam, EnOcean, HomeKit, Hue, IO, KNX, ModBus, OGP, OVP, ProfaLux 868, Ramses, RTD(S), RTN, RTS, Sauter, SoNoS, UPnP, WmBus, xComfort, Yokis, ZigBee, zWave
97KizBoxV3^\d{4}(-\d{4}){2}$HomeKit, Hue, IO, OGP, OVP, RTS, UPnP, ZigBee
98TahomaSwitch^20\d{2}(-\d{4}){2}$HomeKit, Hue, IO, OGP, OVP, RTS, UPnP, ZigBee
98TahomaSwitchTAHOMA_SWITCH_MONSIEUR_STORE^20(00|03)(-\d{4}){2}$HomeKit, Hue, IO, OGP, OVP, RTS, UPnP, ZigBee
99ConnectivityKitConnectivityKit^21\d{2}(-\d{4}){2}$OGP
99ConnectivityKitORANGE^21(00|01)(-\d{4}){2}$OGP
99ConnectivityKitConnectivityKit^21(01|02)(-\d{4}){2}$OGP
99ConnectivityKitCRUZE^21(02|03)(-\d{4}){2}$OGP
100PurePassThoughGateway^17\d{2}(-\d{4}){2}$
101OGPGenericBoxOGP
102OGPBrandtGateway^18\d{2}(-\d{4}){2}$OGP
103XDeDietrichSmartTCSystem^DEDIETRICHSTC-*DeDietrichSTC
104Wisniowski^08\d{2}(-\d{4}){2}$Hue, IO, SoNoS, UPnP
108TaHomaV3RailDin^22\d{2}(-\d{4}){2}$EnOcean, IO, OVP, RTD, RTS, ZigBee
110TaHomaV3RailDinRts^22\d{2}(-\d{4}){2}$RTD, RTS, ZigBee
112AugustSystem^AUGUST-.*August
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Commands/index.html b/Commands/index.html new file mode 100644 index 0000000..9147ba4 --- /dev/null +++ b/Commands/index.html @@ -0,0 +1,8706 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Commands - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

Commands

+

This document lists the known io-homecontrol "Command IDs" (CMD), their corresponding parameters and structure.

+

If you want to have a look for yourself, here are some starting points for reverse engeneering:

+
# KizBox2 (kb2) / MiniBox (eg. Connexoon)
+
+> /apps/overkiz/io-homecontrol/bin/io-homecontrold
+> /apps/overkiz/io-homecontrol/lib/Overkiz/HomeAutomation/Shared/IoHomecontrolOvp/Daemon.so
+> /apps/overkiz/share/knowledge/io/ref-local-io.db
+# io-homecontrol libs
+> /root/usr/lib/libIoHomecontrol.so.0
+> /root/usr/lib/libIoHomecontrolOTL.so.0   # OTL = OverTheLine
+> /root/usr/lib/libIoHomecontrolProxy.so.0
+# io-homecontrol firmware for STM32F101RC
+/apps/overkiz/share/io-homecontrol/bin/io-homecontrol-boot-stm32-$DATETIME.bin # Bootloader + App
+/apps/overkiz/share/io-homecontrol/bin/io-homecontrol-stm32-$DATETIME.bin      # App
+

Basics

+
+

The io-homecontrol® concept is built on the idea of different "applications" or "profiles". Each vendor has to implement a basic set of standard profiles but can also implement its own set of pre-defined profiles.

+

The automatically activated encryption key is issued by the Sender on first use. For each command the Receiver generates a random number that is send back. Sender and Receiver perform calculations based on this random number and the encryption key.

+

... constantly monitor three sub-wavebands ranging from 868 to 870 MHz: Before sending a command, the transmitter listens to each of the three frequencies and selects a free one. When a product does not react immediately the command is also emitted on one of the other frequencies.

+
+

A Session in the context of io-homecontrol is a predefined Action. As an example this Action could be the exchange of a key or the opening of a window and could consist of one or more frames. A Session also defines things down to the length of the preamble, intergap frame length, etc. A typical (1W) Session consists of 4 repeated Frames. You can read more about this in the Radio documentation.

+

A Use Case (UC) is the payload of an io-homecontrol frame. +Each UC consists of a Command ID (CMD) and (optional) corresponding Main Parameter (MP) and up to 16 Functional Parameter (FP). +Those CMD can be combined in groups of Command Types. +A CMD can define a Function as the intended MP.

+ + +

Abbreviations and Definitions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Abr.Meaning
DCTDry Contact Trigger
IPIntermediate Position
OSBOutdoor Sensor Box
ISBIndoor Sensor Box
MPMain Parameter
FPFunctional Parameter
DHWDomestic Hot Water
FCM
RCMReceive Config Mode
TCMTransmit Config Mode
CMDCommand (ID)
ACTActuator
REV
WDT
RXReceive
TXTransmit
GRPGroup
SIDSystemID
POSCurrent Position
APCAtlantic
IVBInterior Venitian Blind
EVBExterior Venetian Blind
SUCStatic Update Controller
IO_SWFSomfy iohc WireFree (SWF): IO 2.4Ghz Variant
OVPOVerkiz Radio Protocol
SCDSecure Configuration/Credential Device
SFYSomfy
VLXVelux
ISBInside Sensor Box
OSBOutside Sensor Box
RDRailDIN
ZICInstallCode
DIDeviceId
BPCBPinCode
IRIndustrialReference
+

io-homecontrol implementations/bridges

+
    +
  • io-homecontrol-atlantic
  • +
  • io-homecontrol-cotherm
  • +
  • io-homecontrol-hlink
  • +
  • io-homecontrol-imhotep-systemsensor
  • +
  • io-homecontrol-kizotherm
  • +
  • io-homecontrol-lpb
  • +
  • io-homecontrol-modbus
  • +
  • io-homecontrol-otl (eg. USB to Serial as used by Set&Go io or Skitter io)
  • +
  • io-homecontrol-rsoverkiz (RS?)
  • +
  • io-homecontrol-somfy
  • +
  • io-homecontrol-thermostat
  • +
+ + +

Command Structure

+

A command is built as follow:

+ + + + + + + + + + + + + +
Command IdData
1 Byten Byte
+
    +
  • Command Id: Identifies the desired action
  • +
  • The parsed Command ID is called a Message (MSG) and has the following form: CATEGORIE_MESSAGE (eg: CTRL_STOP)
  • +
  • Command Parameter / Data: Optional Parameter or Data for the desired action
  • +
+

The Command ID is also known as Function (Human readable definition) or Message (1 Byte Hex Code)

+

Command Types, Groups and Categories

+

Each Command ID has it's own Command Type. This Type could be one of: TBD

+

Command Groups

+

Commands are split in two groups:

+
    +
  • Standard: Common to all protocol compliant products
  • +
  • Application-Specific (Optional): Specific to a particular type of product
  • +
+

Simple devices only have the Standard Group implemented. Each Group can have one or multiple Command Types.

+

Standard Commands

+

Application Specific Commands

+
Somfy Motor Controllers (MoCo) Configuration
+ + +

Command Types

+

Commands are split in Types:

+
    +
  • User
  • +
  • System
  • +
  • Private
  • +
+

Command Categories

+

Command Types are split into Categories.

+
User Commands
+

User Commands are split into 3 categories:

+
    +
  • Settings = SET_xxx
  • +
  • Change the configuration of the device
  • +
  • Controls = CTRL_xxx
  • +
  • Send a command to execute
  • +
  • Status = GET_xxx
  • +
  • Ask for information on the device configuration or its current status
  • +
  • SLAVE(s) will respond with the corresponding POST_xxx message
  • +
+
System Commands
+ + +
    +
  • Status Report: POST_
  • +
  • SLAVE(s) responds to a corresponding Status message (GET_xxx)
  • +
  • Factory Mode: PROC_
  • +
  • Diagnosis Mode: DIAG_
  • +
  • +
    +

    Diagnosis messages are intended for use by Somfy quality assurance or customer support, or by authorized third-party installers to troubleshoot motors or understand the characteristics of specific applications.

    +
    +
  • +
+

Command Parameter

+

Multi Bytes

+
    +
  • Pn holds
  • +
  • Address
  • +
  • Actuator
  • +
  • +

    Actuator System ID

    +
  • +
  • +

    GN1/GN2 holds

    +
  • +
  • Actuator Serial Number
  • +
  • Actuator Address
  • +
+

Multi Info

+ + + + + + + + + + + + + + + + + + + + + +
ParameterUnknownSyncCtrlGrpUnknownUnknownUnknown
Bit7-6543-22-0
+
    +
  • bit[5] SyncCtrlGrp - Supports Sync Control Group?
  • +
  • 0 = b[0]: No
  • +
  • 1 = b[1]: Yes
  • +
+ + + + +

ACEI (Position: 12 = 0xC)

+

1 2 345 678 9 10 11 +CB1 CB2 SRC DEST CMD ORG ACEI

+
+

NOTE: LSB must be 1: The frame is not considered valid if this bit is set to 0!

+
+

According to the io-homecontrol shared library, it is composed of one byte as following (bit positions in header):

+ + + + + + + + + + + + + + + + + + + +
PARAMETERA: LevelC: ServiceE: Extended InfoI: IsValid
BIT7-54-32-10
+
    +
  • bit[3] Priority Level (Velux KLF200 API @ Page 58/59)
  • +
  • Protection Level
      +
    • 0 b[000] = Personal/Human: Most secure level. Will disable all categories (Level 0 to 7).
      +

      "Since consequences of misusing this level can deeply impact the system behaviour, and therefore the io-homecontrol image, it is mandatory for the manufacturer that wants to use this level of priority to receive an agreement from io-homecontrol®."

      +
      +
    • +
    • 1 b[001] = End Product/Environment = (House) Goods Protection: Local Sensors
    • +
    +
  • +
  • User Level = User Control
      +
    • 2 b[010] = Level 1 - High: Controllers have a higher level of priority than others.
    • +
    • 3 b[011] = Level 2 - Default: Default for (Remote) Controllers. Send immediate Command(s).
    • +
    +
  • +
  • Comfort Level = Automatic Control
      +
    • 4 b[100] = Level 1 - TBD
    • +
    • 5 b[101] = Level 2 - TBD
    • +
    • 6 b[110] = Level 3 - SAAC: Stand Alone Automatic Controls
    • +
    • 7 b[111] = Level 4 - TBD (Default Channel: KLF100)
    • +
    +
  • +
  • bit[2] Priority Service Number
  • +
  • 0 b[00] = Service 1 - TBD
  • +
  • 1 b[01] = Service 2 - TBD
  • +
  • 2 b[10] = Service 3 - TBD
  • +
  • 3 b[11] = Service 4 - TBD
  • +
  • bit[2] Extended Info TODO
  • +
  • 0 b[00] = TBD
  • +
  • 1 b[01] = TBD
  • +
  • 2 b[10] = TBD
  • +
  • 3 b[11] = TBD
  • +
  • bit[1] Is Valid Frame/Session: Always 1.
  • +
+

MultiInfo: Multi Information Byte

+ + + + + + + + + + + + + + + + + + + + + +
ParameterActuator Turnaround TimeUNKNOWNRF Supportio-MembershipPower Save Mode
Bit7-65-4321-0
+
    +
  • ATT: Actuator Turnaround Time = Time span in which the actuator normally responds
  • +
  • 0b00 = 0: 5 seconds
  • +
  • 0b01 = 1: 10 seconds
  • +
  • 0b10 = 2: 20 seconds
  • +
  • 0b11 = 3: 40 seconds
  • +
  • Unknown
  • +
  • RF Support in Node
  • +
  • 0: Yes
  • +
  • 1: No
  • +
  • io-Membership (Always Yes...)
  • +
  • 0: Yes
  • +
  • 1: No
  • +
  • Power Save Mode
  • +
  • 0: Off = Always Alive
  • +
  • 1: On = Low Power Mode
  • +
+

Command Originator

+
+

Specifies what or who fired the command.

+
+
    +
  • 0x00 = User: Local - User button press on Actuator
  • +
  • 0x01 = User: User Remote Control causing Actuator Action
  • +
  • 0x02 = Sensor: Rain
  • +
  • 0x03 = Sensor: Timer
  • +
  • 0x04 = Security: SCD Controlling Actuator
  • +
  • 0x05 = UPS: Uninterruptible Power Supply Unit
  • +
  • 0x06 = SFC: Smart Function Controller
  • +
  • 0x07 = LSC: Lifestyle Scenario Controller
  • +
  • 0x08 = SAAC: Stand Alone Automatic Controls
  • +
  • 0x09 = Sensor: Wind
  • +
  • 0x0A = Unknown
  • +
  • 0x0B = Automatic Cycle/External Access/Load Shedding (Managers for requiring a particular electric load shed)
  • +
  • 0x0C = Sensor: Local Light
  • +
  • 0x0D = Sensor: Unspecified Enviroment Sensor (Used with commands of Unknown Sensor for Protection of End-Product or house goods)
  • +
  • 0x10 = Myself: Used when Actuator decides to move by itself (Generated by Actuator)
  • +
  • 0xC8 = Unknown
  • +
  • 0xFE = Automatic Cycle
  • +
  • 0xFF = Emergency: Used in context with Emergency or Security commands. This command originator should never be disabled.
  • +
+ + +

Note Typically only USER or SAAC are used.

+

Main Parameter

+
+

Standard Parameter Value Definitions for Main and Functional Parameters (MP, FP)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MinMaxStdTypeRange
0x00000xFFFF16-bit split into Access Methods0 - 65535
0x0000Min / On / 1W: Button Up
0x00011W: Button Down
0x00021W: Button Stop
0x00031W: Button Prog (My?)
0x00FEButton Released
0x00FFButton Stop
0xC800Max / Off / Down
0x00000xC800Relative Percentage (%)0 - 100
0xC8010xC8FFUnknown
0xC9000xD0D0Percentage (%)-100 - 100
0xD0D10xD0FFUnknown
0xD100TargetExecution Parameter Buffer
0xD1010xD1FF
0xD200CurrentExecution Parameter Buffer
0xD2010xD2FFUnknown
0xD300DefaultRelative / Target / Current
0xD3010xD3FFUnknown
0xD400MP: Ignore / FP: ReadOnly
0xD4010x7CEEUnknown
0x6E00Running
0x7D00±Default
0xE000Retry
0x7D010xF7FEUnknown
0xF7FFUnknown Feedback Value
0xF8000xFFFFUnknown
+ + +

Velocity

+
    +
  • 0 = Default
  • +
  • 1 = Silent
  • +
  • 2 = Fast
  • +
  • 255 = Velocity Not Available: Only used in status reply
  • +
+

Intermediate Position (IP)

+
    +
  • Specific IP
  • +
  • Intermediate Position 1 (IP1)
  • +
  • Intermediate Position 2 (IP2)
  • +
  • Next IP
  • +
  • +

    Previous IP

    +
  • +
  • +

    Standard IP Definition:

    +
  • +
  • 0% IP1
  • +
  • 10% IP2
  • +
  • 20% IP3
  • +
  • 30% IP4
  • +
  • 40% IP5
  • +
  • 50% IP6
  • +
  • 60% IP7
  • +
  • 70% IP8
  • +
  • 80% IP9
  • +
  • 90% IP10
  • +
  • 100% IP11
  • +
+

Parameter ID

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HEXDECNAME
0000No Parameter
0101Name
0202Unknown
0303Unknown
0404Identification
0505Refresh: Advanced
......Unknown
0B11Config State
01 00 D80016832512Refresh: Memorized Position
01 00 D80A16832522Secured Position
01 000165537My, Open/Up/Raise/Extend, Close/Down/Lower/Retract, Stop, Set: Closure, Deployment, Position
01 001265554Manufacturer Settings
02 F2 0200494146561W Controller: Pairing All and Delete Node
7F F1 001D2146500637IO Key
7F F1 002221465006421W Controller: Pairing
7F F1 002321465006431W Controller: Pairing All
+

Configuration Mode (Controller Copy Mode)

+
    +
  • 0 = Transmitting Configuration Mode (TCM): Gateway gets key and system table from another controller.
  • +
  • 1 = Receiving Configuration Mode (RCM): Gateway gives key and system table to another controller.
  • +
+

Command Parameter Type (Data Type)

+
    +
  • 0 = Binary
  • +
  • 1 = INTEGER / Binary XML
  • +
  • 2 = FLOAT / XML
  • +
  • 3 = STRING
  • +
  • 4 = BLOB
  • +
  • 5 = DATE
  • +
  • 6 = BOOLEAN
  • +
  • 7 = VALUE MAPPING (JSON)
  • +
  • 8 = INTERVAL MAPPING
  • +
  • 9 = PASSWORD
  • +
  • 10 = ARRAY
  • +
  • 11 = DYNAMIC OBJECT
  • +
+

Manufacturer ID

+

Each Manufacturer has their own ID:

+
    +
  • 0x00 = All / Public / Generic
  • +
  • 0x01 = Velux
  • +
  • 0x02 = Somfy
  • +
  • 0x03 = Honeywell
  • +
  • 0x04 = Hörmann
  • +
  • 0x05 = ASSA ABLOY
  • +
  • 0x06 = Niko
  • +
  • 0x07 = Window Master
  • +
  • 0x08 = Renson
  • +
  • 0x09 = CIAT
  • +
  • 0x0A = Secuyou
  • +
  • 0x0B = Overkiz
  • +
  • 0x0C = Atlantic Group
  • +
  • 0x0D = Zehnder Group
  • +
  • 0x0E = ???
  • +
  • 0x0F = ???
  • +
+
+

NOTE: Manufacturers are only defined as Unknown when they are not assigned an ID. This is the case for old io-homecontrol installations.

+
+

It's a bit strange that Velux comes before Somfy. Wasn't Somfy the driving force behind this? When looking at the patents my bet would be that some french guy (which is now the director or something) did most of this. But who knows...

+

Nodes: IDs, Types, Sub Types, Variations, Modes

+ + +

A Device is called Node and each device has a NodeID that can be found on the device label in both plain text and barcode/qr-code format. +The NodeID is a built-in 3 Byte address of the device and is handled like the MA-S part of a MAC address found on network devices. +- > The NodeID is programmed during manufacturing and cannot be changed. + - This quote is from the official documentation but as you may have guessed: + > The NodeID can be changed via Factory commands. +- The NodeID is used in every communication to identify the transmitter and the receiver(s). +- NodeIDs are recycled on a 3 to 5 years basis, depending on the product sales. + - The NodeID can be considered as unique on a given installation. + - If a unique ID is needed it is recommended to use the Serial Number. (TODO Link to Serial Number Format)

+
    +
  • The Node ID is a 6-digit hexadecimal unique ID from each device
  • +
  • The Motor ID is a 6-digit hexadecimal unique node ID from each motor
  • +
  • Motor Node ID Prefix: 20 (eg. NodeID = 20 xx xx)
  • +
  • The Group ID is a 6-digit hexadecimal address programmed in each actuator to assign multiple actuators to a group.
  • +
  • Group Specific Configuration: Group addresses 01 01 00 through 01 01 3D (Inverted: FF FE FE - C2 FE FE)
      +
    • Reserved (Unknown): 01 01 3E, 01 01 3F (Inverted: C1 FE FE, C0 FE FE)
    • +
    +
  • +
  • Group Default Address: 00 00 00 (Inverted: FF FF FF)
  • +
+

Addresses: NodeID and GroupID

+

The node address is stored in the Nodes Controller.

+

This also means that not every Node uses the same Command IDs and/or Parameter. io-homecontrol defines a mandatory set of messages that need to be implemented.

+
int ConvertAddress_CharToInt(int Octet1,int Octet2,int Octet3) {
+  return Octet2 * 0x100 + Octet1 * 0x10000 + Octet3;
+}
+

Groups (GroupID)

+

Every device can be part of up to 16 groups, defined by a GroupID. In order to use group commands, every product belonging to a group has to be assigned to the corresponding GroupID: one of the 16 entries of the built-in group table should contain the GroupID.

+
    +
  • A GroupID has the exact same format as the NodeID and can be:
  • +
  • The NodeID of an existing device on the bus, acting as a controller
  • +
  • A non-existing NodeID, representing a virtual group
  • +
+

Known NodeIDs and Ranges

+
    +
  • Somfy myLink
  • +
  • Legacy: AAAAxxxx (eg. AAAA1234)
  • +
  • +

    Current: CCxxxxxxxx (eg. CC00100054)

    +
  • +
  • +

    NodeID Ranges + | START | END | DESCRIPTION | + | -------: | -------: | ------------------------------------------: | + | 00:00:00 | 00:00:00 | Group Addressing Mode (DEST = 00:00:00) | + | 00:00:01 | 00:00:FF | R&D Prototypes | + | 00:01:00 | FF:FE:FF | Public Address Space | + | 01:01:00 | 01:01:3D | Group Specific Configuration | + | 01:01:3E | 01:01:3F | Group Specific Configuration (Reserved) | + | 05:80:00 | 05:FF:FF | RS485 Transmitter (NodeType: 0x05) | + | 20:00:00 | 20:FF:FF | Motor Address Space (Special Discovery) | + | 60:00:00 | 07:FF:FF | RS485 ST30 (NodeType: 0x02) | + | FF:FF:00 | FF:FF:FE | 3rd Party Master Nodes | + | FF:FF:FF | FF:FF:FF | Broadcast Addressing Mode (DEST = FF:FF:FF) |

    +
  • +
+ + +
+

Note: FFFFFF can also reset a node and initiate a discovery (rescan) if certain conditions apply.

+
+

Apps / Profiles (AppID / ProfileID): Types for Nodes, Groups and Sensors

+

Profiles (AppID)

+

A Profile is defined by the NodeType and NodeSubType value. It is also known as the AppID. +All io-homecontrol actuators need to implement at least the generic/standard functions. +Each actuator can handle these generic functions in their own way (eg. a blind closes, a light goes out) but they must provide it.

+

In addition to the above mentioned “Standard Messages”, every SOMFY RS485 product uses a specific set of messages for configuration and control. +The application-specific messages are available in separate documents called “Application Profile”. +Every “Application Profile” is linked to a different NodeType

+
Generic Profiles
+

Only known is the number of predefined functions per Device Type that are always available. These are mandatory:

+
    +
  • Actuator: 13
  • +
  • Up
  • +
  • Stop
  • +
  • Down
  • +
  • +
    +

    See also KLF200 API: Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters

    +
    +
  • +
  • Group: 7
  • +
  • Remote: 11
  • +
  • Sensor: 5
  • +
+
Actuator Profiles
+
    +
  • Actuators
  • +
  • Absolute: 0/100 %
  • +
  • US Dimming
  • +
  • Light
  • +
  • Heat
  • +
  • VB Slow Speed
  • +
  • DAP
  • +
  • VB Fast speed
  • +
  • RS with Tilting Profiles
  • +
+

Node Types

+

Every device has a built-in 4-bits value called Node Type. +The Node Type is used to identify the product family. +The Node Type can be used to send messages only to a selected range of products (see Addressing Modes) or to access application-specific messages (see NodeType Filtering). +The Node Type is sometimes called AppId in different sources from Somfy/Overkiz. +Unconfirmed: The Node Type defines the Command IDs and corresponding Parameters.

+ + + + + + + + + + + + + +
SRCDEST
4 bit4 bit
+
+

NOTE: There seem to be two types of NodeType definitions: + - 2 * 4 bit notation ( 4 bit SRC + 4 bit DEST) + - 10 + 6 bit notation (10 bit NodeType + 6 bit NodeSubType)

+
+
    +
  • SRC Node Type = Node Type of the transmitter
  • +
  • Not needed for network communication.
  • +
  • Given as information that may be used at application level.
  • +
  • DEST Node Type = Node Type of the receiver(s)
  • +
  • Used to implement NodeType filtering
  • +
+

Node/Product Type

+
    +
  • 0x00 = Unknown
  • +
  • 0x01 = Actuator
  • +
  • 0x02 = Sensor
  • +
  • 0x03 = Video System
  • +
  • 0x04 = Remote Controller (RC)
  • +
  • 0x05 = Protocol Gateway
  • +
  • 0x06 = Infrastructure Component
  • +
  • 0x07 = Group
  • +
  • 0xXX = Undefined
  • +
+ +

Node Type + Sub Type (10 + 6 bit)

+
    +
  • byte[2] NodeType (10 bit MSB) + NodeSubType (6 bit LSB)
  • +
  • bit[10] NodeType = (field >> 6) & 1023
  • +
  • bit[06] NodeTypeSubtype = field & 63 (& 0x3F)
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HEXNOTATIONTYPESUB TYPENAME
00000.0000 0000 0000000000All Nodes except Controller (No Type)
00330.5100 0000 0000110011Smart Plug
00401.0000 0000 0001000000Interior Venetian Blind (IVB)
006A1.4200 0000 0001110011Light Sensor
00802.0000 0000 0010000000Roller Shutter
00812.0100 0000 0010000001Roller Shutter with Adjustable Slats
00822.0200 0000 0010000010Roller Shutter with Projection
00C03.0000 0000 0011000000Vertical Exterior Awning (Terrace)
00CA3.1000 0000 0011001010Window Covering Device
00CB3.1100 0000 0011001011Window Covering Controller
01004.0000 0000 0100000000Window Opener
01014.0100 0000 0100000001Window Opener with Integrated Rain Sensor
012E4.4600 0000 0100101110Temp and Humidity Sensor
01405.0000 0000 0101000000Garage Door Opener
017A5.5800 0000 0101111010Garage Door Opener: Open/Close Only
01806.0000 0000 0110000000Light: On/Off + Dimming
01926.1800 0000 0110010010IAS Zone
01BA6.5800 0000 0110111010Light: On/Off Only
01C07.0000 0000 0111000000Gate Opener
01FA7.5800 0000 0111111010Gate Opener: Open/Close Only
02008.0000 0000 1000000000Rolling Door Opener
02409.0000 0000 1001000000Door Lock / Motorized Bolt
02419.0100 0000 1001000001Window Lock
028010.0000 0000 1010000000Vertical Interior Blind
029011.0000 0000 1011000000Secure Configuration Device (SCD)
030012.0000 0000 1100000000Beacon = Gateway/Repeater
034013.0000 0000 1101000000Dual Roller Shutter
038014.0000 0000 1110000000Heating Temperature Interface
03C015.0000 0000 1111000000Switch: On/Off
040016.0000 0001 0000000000Horizontal Awning
040116.0100 0001 0000000001Pergola Rail Guided Awning
044017.0000 0001 0001000000Exterior Venetian Blind (EVB)
048018.0000 0001 0010000000Louver Blind
04C019.0000 0001 0011000000Curtain Track
050020.0000 0001 0100000000Ventilation Point
050120.0100 0001 0100000001Air Inlet
050220.0200 0001 0100000010Air Transfer
050320.0300 0001 0100000011Air Outlet
054021.0000 0001 0101000000Exterior Heating
057A21.5800 0001 0101110011Exterior Heating: On/Off Only
058022.0000 0001 0110000000Heat Pump
05C023.0000 0001 0111000000Intrusion Alarm System
060024.0000 0001 1000000000Swinging Shutter
060124.0100 0001 1000000001Swinging Shutter with Independent Handling of Leaves
27.0000 0001 1011000000Sliding Window
28.0000 0001 1100000000Zone Control Generator
29.0000 0001 1101000000Bioclimatic Pergola
30.0000 0001 1110000000Indoor Siren
51.0000 0010 0000000000Domestic Hot Water
52.0000 0010 0000000000Electrical Heater
53.0000 0010 0000000000Heat Recovery Ventilation
3FC0255.0000 1111 1111000000Central House Control
FC001008.0011 1111 0000000000Test and Evaluation (RD)
FFC01023.0011 1111 1111000000Remote Controller (RC)
+
+

NOTE: Only values in the HEX row reflect the actual data. You can also get these values when combining TYPE and SUBTYPE binary rows.

+
+

Node Type + Sub Type & Broadcast addresses

+

This Type & Sub Type classification has been observed to be used also for Broadcast Addresses (at least with Velux). +Velux KLI3xx one way controllers are used to control: +- KLI311 Windows Opener +- KLI312 internal blinds +- KLI313 external shutters

+

Analyzing frames sent from controllers while registering to devices, has been observed that: +- KLI311 sends broadcast messages (commands 0x39 and 0x30) to broadcast address 0x00013f +- KLI312 sends broadcast messages (commands 0x39 and 0x30) to broadcast addresses 0x000007f and 0x0002bf +- KLI313 sends broadcast messages (commands 0x39 and 0x30) to broadcast addresses 0x0000bf, 0x0000ff and 0x00037f

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ADDRESSFILLERTYPESUB TYPENAME
0x00003f0000000000000000 00111111All
0x00013f0000000000000001 00111111window 1 (Window opener)
0x00007f0000000000000000 01111111blind 1 (Venetian Blind)
0x0002bf0000000000000010 10111111blind 2 (Blind)
0x0000bf0000000000000000 10111111shutter 1 (Roller Shutter)
0x0000ff0000000000000000 11111111shutter 2 (Awning - External for window)
0x00037f0000000000000011 01111111shutter 3 (Dual Shutter)
+

Given that, we can desume that Broadcast Addresses are built this way: +- 1 byte as 0x00 +- 10 bits for the device Type +- 6 bits set to 1 (all subtypes)

+
Group Types
+
    +
  • 0 = User
  • +
  • 1 = Room
  • +
  • 2 = House
  • +
+
Sensor Types
+
    +
  • 0 = UNKNOWN SENSOR
  • +
  • 1 = Light Inside
  • +
  • 1.B = Light Outside (Sun Sensor)
  • +
  • 2 = TEMPERATURE INSIDE SENSOR
  • +
  • 3 = TEMPERATURE OUTSIDE SENSOR
  • +
  • 5 = PRESSURE SENSOR
  • +
  • 11 = LIGHT OUTSIDE SENSOR
  • +
  • 12 = CUMULATED GAS
  • +
  • 13 = WATER CONSUMPTION SENSOR
  • +
  • 14 = THERMAL CONSUMPTION SENSOR
  • +
  • 15 = ELECTRIC CONSUMPTION SENSOR
  • +
  • 128 = SMOKE SENSOR
  • +
  • 133 = OPENING DETECTOR
  • +
  • 134 = MOTION SENSOR
  • +
  • 254 = MULTITYPE SENSOR
  • +
+

Node Variations

+
    +
  • byte[1] NodeVariation: Depends on NodeType/SubType
  • +
  • Window
      +
    • 0 = Not Set
    • +
    • 1 = Top Hung
    • +
    • 2 = Kip
    • +
    • 3 = Flat Roof
    • +
    • 4 = Sky Light
    • +
    +
  • +
+

Node Class

+
0 = emitter
+1 = generator
+2 = sensor
+3 = unknown
+
    +
  • 0 = Actuator
  • +
  • 1 = Sensor
  • +
  • 2 = Stack
  • +
  • 3 = Slave
  • +
  • 4 = Master
  • +
  • 5 = Beacon / Repeater (2W Remote Controller: acts as an Actuator)
  • +
  • 6 = Controller
  • +
  • 14 = Remote Controller (Gateway)
  • +
  • 15 = Unknown
  • +
+

Device Mode

+
    +
  • Motor
  • +
  • Current Control Type (1-10) - Type of control currently imposed on motor
      +
    • 1 = All
    • +
    • 2 = Auto
    • +
    • 3 = Comfort
    • +
    • 4 = Local
    • +
    • 5 = Security
    • +
    • 6 = Error
    • +
    • 7 = Block
    • +
    • 8 = Alarm
    • +
    • 9 = Disable Local
    • +
    • 10 = Reset Local
    • +
    +
  • +
  • Current Control Owner (1-7) - Owner currently controlling motor
      +
    • 1 = minor Error
    • +
    • 2 = major Error
    • +
    • 3 = keylock
    • +
    • 4 = fire
    • +
    • 5 = maintenance
    • +
    • 6 = remote controller id
    • +
    • 7 = block id
    • +
    +
  • +
  • Current Status (0-14)
      +
    • 0 = OK
    • +
    • 1 = Moving
    • +
    • 2 = Error
    • +
    • 3 = IPIO Unknown
    • +
    • 4 = IPIO NoResult
    • +
    • 5 = Overheated
    • +
    • 6 = Obstacle
    • +
    • 7 = No Results
    • +
    • 8 = Locked
    • +
    • 9 = Lock Error
    • +
    • 10 = Not Configured
    • +
    • 11 = Disabled
    • +
    • 12 = Unknown
    • +
    • 13 = Over Current
    • +
    • 14 = Encoder Error
    • +
    +
  • +
+ +

Priority

+
    +
  • Level
  • +
  • 0x0 = Protection Level: Human
  • +
  • 0x1 = Protection Level: Environment
  • +
  • 0x2 = User Level 1
  • +
  • 0x3 = User Level 2
  • +
  • 0x4 = Comfort Level 1
  • +
  • 0x5 = Comfort Level 2
  • +
  • 0x6 = Comfort Level 3
  • +
  • 0x7 = Comfort Level 4
  • +
  • Level Lock
  • +
  • 0x0 = No: No Priority Level Lock
  • +
  • 0x1 = Min30: Lock one or more Priority Level for 30 Minutes
  • +
  • 0x2 = Forever: Lock one or more Priority Level Forever
  • +
+

Priority Levels correspond to the "Zones" as used in the animeo range of products where it states the following:

+
+

Functions are applied only on/in their zones (eg. Comfort Functions work only in Comfort Zones) +Functions from higher Levels/Zones override lower Levels/Zones

+
+
    +
  • Zone Types
  • +
  • Security: Highest Type - Will always override other Levels/Zones
  • +
  • Comfort: Inside Security Zone and used to place Motors in it
  • +
  • Local:
      +
    • Used for manual control via remotes or switches for shadings and such
    • +
    • Independent and not restricted within a Security or Comfort Zone
    • +
    • Can override active Comfort Functions for a certain time
    • +
    • Security Functions are not affected by local control
    • +
    +
  • +
+

animeo IP Priorities

+

This definition seems to be also viable for io-homecontrol:

+

animeo IP operates with a priority scale of 0 (highest) - 32000 (lowest). +Using the animeo IP BMS Interface commands can be sent at a priority level between 12500 and 32000. +A devices’s priority level can be set individually. +By default, the animeo IP BMS Interface applies a priority of 12500 to all devices in the system. +Changing a priority level of a device will only effect future commands, it will not effect already sent commands. +Once a command is sent to a device it will remain locked at that priority level until it is unlocked by adjusting the devices priority to -1; the shade will not be able to be moved unless a command with a higher priority is sent to the device.

+
    +
  • 0-12500 = animeo IP SECURITY
  • +
  • 12500 = animeo IP BMS Interface (LIMIT) - Default
  • +
  • 13000 = LOCAL PC COMMAND
  • +
  • 14000 = LOCAL COMMAND TIMER
  • +
  • 15000 = LOCAL COMMAND
  • +
  • 19000 = TIMER
  • +
  • 20000 = GET HEAT
  • +
  • 21000 = PRESERVE HEAT
  • +
  • 22000 = SUN
  • +
  • 32000 = DEFAULT
  • +
  • 32000 = CUSTOM DEFAULT
  • +
+

NACK Values

+
    +
  • NACK
  • +
  • 0x00 = UNKNOWN
  • +
  • 0x01 = Data Error
  • +
  • 0x10 = Unknown Message
  • +
  • 0x20 = Node is Locked
  • +
  • 0x21 = Wrong Position
  • +
  • 0x22 = Limits not set
  • +
  • 0x23 = IP not set
  • +
  • 0x24 = Out of Range
  • +
  • 0xFF = Busy
  • +
+

NACK Values from the Box

+
    +
  • -1 = UNKNOWN
  • +
  • 0 = NO_FAILURE
  • +
  • 11 = NON_EXECUTING
  • +
  • 12 = ERROR_WHILE_EXECUTING
  • +
  • 101 = ACTUATORUNKNOWN
  • +
  • 102 = ACTUATORNOANSWER
  • +
  • 103 = ERRORREADWRITEACCESS
  • +
  • 104 = ERRORCOMMAND
  • +
  • 105 = CMDUNKNOWN
  • +
  • 106 = CMDCANCELLED
  • +
  • 107 = NOREMOTECONTROL
  • +
  • 108 = ERROR_TRANSFER_KEY
  • +
  • 109 = ERRORDATABASE
  • +
  • 110 = MODELOCALENABLED
  • +
  • 111 = BAD_CMD
  • +
  • 112 = BAD_HD
  • +
  • 113 = BAD_LEN
  • +
  • 114 = BAD_ADDRESS
  • +
  • 115 = BAD_PARAM
  • +
  • 116 = NOT_FOUND_ETX
  • +
  • 117 = BAD_CRC_SERIAL
  • +
  • 118 = BAD_STATUS
  • +
  • 119 = KEY_NOT_RECEIVE
  • +
  • 120 = INSERTION_ERROR
  • +
  • 121 = NODE_NOT_VERIFY_WITH_NEW_KEY
  • +
  • 122 = POOL_FULL
  • +
  • 123 = ADDRESS_UNKNOWN
  • +
  • 124 = NODE_CANT_PAIRED
  • +
  • 125 = NODE_CANT_UPDATE_TRANSFER_STATUS
  • +
  • 126 = UNKNOWN_ERROR
  • +
  • 127 = INVALID_CHANNEL
  • +
  • 128 = INVALID_COMMAND
  • +
  • 129 = SERIAL_IO_ERROR
  • +
  • 130 = OPERATION_NOT_ALLOWED
  • +
  • 131 = RESTART_STACK
  • +
  • 132 = INCOMPLETE_DISCOVER
  • +
  • 133 = TRANFER_KEY_NO_REMOTE_CONTROLLER
  • +
  • 134 = TRANFER_KEY_MULTI_REMOTE_CONTROLLER
  • +
  • 135 = RF_PROTOCOL_FATAL_ERROR
  • +
  • 136 = INTERNAL_ERROR
  • +
  • 137 = BUSY_RADIO_ERROR
  • +
  • 138 = BAD_MAC_ERROR
  • +
  • 139 = SETUP_REQUIRED
  • +
  • 140 = MASTER_AUTHENTICATION_FAILED_ERROR
  • +
  • 141 = END_OF_RECEIVING_CONFIGURATION_MODE
  • +
  • 142 = DATA_TRANSPORT_SERVICE_ERROR
  • +
  • 143 = DATA_TRANSPORT_SERVICE_ABORTED_BY_RECIPIENT
  • +
  • 144 = STOPPED_BY_CONFIGURATION_OPERATION_ERROR
  • +
  • 145 = COMMAND_NAME_TYPE_INVALID
  • +
  • 146 = COMMAND_NAME_NOT_INSTALLED_OR_INVALID
  • +
  • 147 = COMMAND_INVALID_LEN_ON_FRAME
  • +
  • 148 = COMMAND_ZONE_INVALID_OR_NOT_INSTALLED
  • +
  • 149 = COMMAND_SENSOR_VALUE_INVALID
  • +
  • 150 = COMMAND_ZONE_TEMPERATURE_INVALID
  • +
  • 151 = COMMAND_DHW_NOT_INSTALLED_OR_INVALID
  • +
  • 152 = COMMAND_INSERTION_FAILED_ERROR
  • +
  • 153 = NONEXEC_BLOCKED_BY_HAZARD
  • +
  • 154 = NONEXEC_OVERHEATING_PROTECTION
  • +
  • 155 = NONEXEC_DEVICE_LIMITATION
  • +
  • 156 = NONEXEC_DOOR_IS_OPENED
  • +
  • 157 = NONEXEC_MAINTENANCE_REQUIRED
  • +
  • 158 = DEAD_SENSOR
  • +
  • 159 = SENSOR_MAINTENANCE_REQUIRED
  • +
  • 160 = NONEXEC_OTHER
  • +
  • 161 = WHILEEXEC_BLOCKED_BY_HAZARD
  • +
  • 162 = WHILEEXEC_OVERHEATING_PROTECTION
  • +
  • 163 = WHILEEXEC_DEVICE_LIMITATION
  • +
  • 164 = WHILEEXEC_DOOR_IS_OPENED
  • +
  • 165 = WHILEEXEC_MAINTENANCE_REQUIRED
  • +
  • 166 = WHILEEXEC_OTHER
  • +
  • 167 = PRIORITY_LOCK__LOCAL_USER
  • +
  • 168 = PRIORITY_LOCK__USER
  • +
  • 169 = PRIORITY_LOCK__RAIN
  • +
  • 170 = PRIORITY_LOCK__TIMER
  • +
  • 171 = PRIORITY_LOCK__SECURITY
  • +
  • 172 = PRIORITY_LOCK__UPS
  • +
  • 173 = PRIORITY_LOCK__SFC
  • +
  • 174 = PRIORITY_LOCK__LSC
  • +
  • 175 = PRIORITY_LOCK__SAAC
  • +
  • 176 = PRIORITY_LOCK__WIND
  • +
  • 177 = PRIORITY_LOCK__EXTERNAL_ACCESS
  • +
  • 178 = PRIORITY_LOCK__EMERGENCY
  • +
  • 179 = NO_DISTANT_FOR_DISCOVER
  • +
  • 180 = ANOTHER_COMMAND_IS_RUNNING
  • +
  • 181 = PROBLEM_WITH_BOILER_COMMUNICATION
  • +
  • 182 = LOCKED_BY_RCM
  • +
  • 183 = RCM_NO_REMOTE_CONTROL
  • +
  • 184 = DISCOVER_NO_REMOTE_CONTROLLER_ERROR
  • +
  • 185 = COMMAND_INTERRUPTED
  • +
  • 190 = PRIORITY_LOCK__WIND_FORCING_AVAILABLE
  • +
  • 191 = PRIORITY_LOCK__WIND_FORCING_UNAVAILABLE
  • +
  • 192 = PRIORITY_LOCK__NO_SECURITY_DEVICE
  • +
  • 193 = PRIORITY_LOCK__DEAD_SENSOR
  • +
  • 194 = PRIORITY_LOCK__UNKNOWN_ERROR
  • +
  • 200 = DBUS_ERROR
  • +
  • 201 = DBUS_NO_MEMORY
  • +
  • 202 = DBUS_SERVICE_UNKNOWN
  • +
  • 203 = DBUS_NAME_HAS_NO_OWNER
  • +
  • 204 = DBUS_NO_REPLY
  • +
  • 205 = DBUS_IO_ERROR
  • +
  • 206 = DBUS_BAD_ADDRESS
  • +
  • 207 = DBUS_NOT_SUPPORTED
  • +
  • 208 = DBUS_LIMITS_EXCEEDED
  • +
  • 209 = DBUS_ACCESS_DENIED
  • +
  • 210 = DBUS_AUTH_FAILED
  • +
  • 211 = DBUS_NO_SERVER
  • +
  • 212 = DBUS_TIMEOUT
  • +
  • 213 = DBUS_NO_NETWORK
  • +
  • 214 = DBUS_ADDRESS_IN_USE
  • +
  • 215 = DBUS_DISCONNECTED
  • +
  • 216 = DBUS_INVALID_ARGS
  • +
  • 217 = DBUS_FILE_NOT_FOUND
  • +
  • 218 = DBUS_FILE_EXISTS
  • +
  • 219 = DBUS_UNKNOWN_METHOD
  • +
  • 220 = DBUS_UNKNOWN_OBJECT
  • +
  • 221 = DBUS_UNKNOWN_INTERFACE
  • +
  • 222 = DBUS_UNKNOWN_PROPERTY
  • +
  • 223 = DBUS_PROPERTY_READ_ONLY
  • +
  • 224 = DBUS_TIMED_OUT
  • +
  • 225 = DBUS_MATCH_RULE_NOT_FOUND
  • +
  • 226 = DBUS_MATCH_RULE_INVALID
  • +
  • 227 = DBUS_SPAWN_EXEC_FAILED
  • +
  • 228 = DBUS_SPAWN_FORK_FAILED
  • +
  • 229 = DBUS_SPAWN_CHILD_EXITED
  • +
  • 230 = DBUS_SPAWN_CHILD_SIGNALED
  • +
  • 231 = DBUS_SPAWN_FAILED
  • +
  • 232 = DBUS_SPAWN_SETUP_FAILED
  • +
  • 233 = DBUS_SPAWN_CONFIG_INVALID
  • +
  • 234 = DBUS_SPAWN_SERVICE_INVALID
  • +
  • 235 = DBUS_SPAWN_SERVICE_NOT_FOUND
  • +
  • 236 = DBUS_SPAWN_PERMISSIONS_INVALID
  • +
  • 237 = DBUS_SPAWN_FILE_INVALID
  • +
  • 238 = DBUS_SPAWN_NO_MEMORY
  • +
  • 239 = DBUS_UNIX_PROCESS_ID_UNKNOWN
  • +
  • 240 = DBUS_INVALID_SIGNATURE
  • +
  • 241 = DBUS_INVALID_FILE_CONTENT
  • +
  • 242 = DBUS_SELINUX_SECURITY_CONTEXT_UNKNOWN
  • +
  • 243 = DBUS_ADT_AUDIT_DATA_UNKNOWN
  • +
  • 244 = DBUS_OBJECT_PATH_IN_USE
  • +
  • 245 = DBUS_INCONSISTENT_MESSAGE
  • +
  • 300 = NOT_IMPLEMENTED_YET
  • +
  • 301 = MODULE_NOT_LOADED
  • +
  • 302 = APPLICATION_NOT_RUNNING
  • +
  • 400 = NONEXEC_MANUALLY_CONTROLLED
  • +
  • 401 = NONEXEC_AUTOMATIC_CYCLE
  • +
  • 402 = NONEXEC_BATTERY_LEVEL
  • +
  • 403 = NONEXEC_WRONG_LOAD_CONNECTED
  • +
  • 404 = NONEXEC_HIGH_CONSUMPTION
  • +
  • 405 = NONEXEC_LOW_CONSUMPTION
  • +
  • 406 = NONEXEC_COLOUR_NOT_REACHABLE
  • +
  • 407 = NONEXEC_USER_ACTION_NEEDED
  • +
  • 408 = NONEXEC_COMMAND_INCOMPATIBLE_WITH_MOVEMENT
  • +
  • 409 = NONEXEC_CANNOT_CHANGE_STATE
  • +
  • 410 = NONEXEC_FILTER_MAINTENANCE
  • +
  • 411 = NONEXEC_OPERATING_MODE_NOT_SUPPORTED
  • +
  • 420 = WHILEEXEC_MANUALLY_CONTROLLED
  • +
  • 421 = WHILEEXEC_AUTOMATIC_CYCLE
  • +
  • 422 = WHILEEXEC_BATTERY_LEVEL
  • +
  • 423 = WHILEEXEC_WRONG_LOAD_CONNECTED
  • +
  • 424 = WHILEEXEC_HIGH_CONSUMPTION
  • +
  • 425 = WHILEEXEC_LOW_CONSUMPTION
  • +
  • 426 = WHILEEXEC_COLOUR_NOT_REACHABLE
  • +
  • 427 = WHILEEXEC_USER_ACTION_NEEDED
  • +
  • 428 = WHILEEXEC_COMMAND_INCOMPATIBLE_WITH_MOVEMENT
  • +
  • 429 = WHILEEXEC_CANNOT_CHANGE_STATE
  • +
  • 430 = WHILEEXEC_FILTER_MAINTENANCE
  • +
  • 431 = WHILEEXEC_OPERATING_MODE_NOT_SUPPORTED
  • +
  • 450 = OVERRIDEMODE_ERROR
  • +
  • 500 = CAMERA_INVALID_CREDENTIALS
  • +
  • 501 = UNSUPPORTED_CAMERA_TYPE
  • +
  • 601 = NETWORK_COULDNT_RESOLVE_HOST
  • +
  • 602 = NETWORK_COULDNT_CONNECT
  • +
  • 603 = NETWORK_OPERATION_TIMEDOUT
  • +
  • 701 = LPB_APP_OUT_OF_RANGE
  • +
  • 702 = LPB_APP_OUT_OF_MAXRANGE
  • +
  • 703 = LPB_APP_OUT_OF_MINRANGE
  • +
  • 704 = LPB_APP_MEMORY_ERROR
  • +
  • 705 = LPB_APP_READ_ONLY
  • +
  • 706 = LPB_APP_ILLEGAL_CMD
  • +
  • 707 = LPB_APP_VOID_DP
  • +
  • 708 = LPB_APP_TYPE_CONFLICT
  • +
  • 709 = LPB_APP_READ_CMD_INCORRECT
  • +
  • 710 = LPB_APP_WRITE_CMD_INCORRECT
  • +
  • 711 = LPB_APP_CMD_TYPE_INCORRECT
  • +
  • 712 = LPB_APP_WRITE_TIMEOUT
  • +
  • 713 = LPB_APP_CANNOT_WRITE_GW
  • +
  • 714 = LPB_APP_UNKNOWN_GATEWAY
  • +
  • 715 = LPB_APP_GATEWAY_UNREACHABLE
  • +
  • 800 = APPLICATION_ERROR
  • +
  • 900 = HUE_INVALID_CREDENTIALS
  • +
  • 901 = HUE_LINK_BUTTON_NOT_PRESSED
  • +
  • 902 = HUE_DEVICE_IS_OFF
  • +
  • 10001 = TIMED_OUT
  • +
  • 10002 = CANCELLED
  • +
  • 10003 = UNKNOWN_ERROR_CODE
  • +
  • 10004 = SERVER_FAILURE
  • +
  • 10005 = PEER_DOWN
  • +
  • 10006 = GATEWAY_BUFFER_OVERFLOW
  • +
  • 10007 = UNKNOWN_DETAILED_ERROR
  • +
  • 20003 = TIME_OUT_ON_COMMAND_PROGRESS
  • +
+

Status Reply

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDNameMeaning
0x00UNKNOWN_STATUS_REPLYunknown reply
0x01COMMAND_COMPLETED_OKno errors detected
0x02NO_CONTACTno communication to node
0x03MANUALLY_OPERATEDmanually operated by a user
0x04BLOCKEDnode has been blocked by an object
0x05WRONG_SYSTEMKEYthe node contains a wrong system key
0x06PRIORITY_LEVEL_LOCKEDthe node is locked on this priority level
0x07REACHED_WRONG_POSITIONnode has stopped in another position than expected
0x08ERROR_DURING_EXECUTIONan error has occurred during execution of command
0x09NO_EXECUTIONno movement of the node parameter
0x0ACALIBRATINGthe node is calibrating the parameters
0x0BPOWER_CONSUMPTION_TOO_HIGHthe node power consumption is too high
0x0CPOWER_CONSUMPTION_TOO_LOWthe node power consumption is too low
0x0DLOCK_POSITION_OPENdoor lock errors. (Door open during lock command)
0x0EMOTION_TIME_TOO_LONG__COMMUNICATION_ENDEDthe target was not reached in time
0x0FTHERMAL_PROTECTIONthe node has gone into thermal protection mode
0x10PRODUCT_NOT_OPERATIONALthe node is not currently operational
0x11FILTER_MAINTENANCE_NEEDEDthe filter needs maintenance
0x12BATTERY_LEVELthe battery level is low
0x13TARGET_MODIFIEDthe node has modified the target value of the command
0x14MODE_NOT_IMPLEMENTEDthis node does not support the mode received
0x15COMMAND_INCOMPATIBLE_TO_MOVEMENTthe node is unable to move in the right direction
0x16USER_ACTIONdead bolt is manually locked during unlock command
0x17DEAD_BOLT_ERRORdead bolt error
0x18AUTOMATIC_CYCLE_ENGAGEDthe node has gone into automatic cycle mode
0x19WRONG_LOAD_CONNECTEDwrong load on node
0x1ACOLOUR_NOT_REACHABLEthat node is unable to reach received colour code
0x1BTARGET_NOT_REACHABLEthe node is unable to reach received target position
0x1CBAD_INDEX_RECEIVEDio-protocol has received an invalid index
0x1DCOMMAND_OVERRULEDthat the command was overruled by a new command
0x1ENODE_WAITING_FOR_POWERthat the node reported waiting for power
0xDFINFORMATION_CODEan unknown error code received
0xE0PARAMETER_LIMITEDthe parameter was limited by an unknown device
0xE1LIMITATION_BY_LOCAL_USERthe parameter was limited by local button
0xE2LIMITATION_BY_USERthe parameter was limited by a remote control
0xE3LIMITATION_BY_RAINthe parameter was limited by a rain sensor
0xE4LIMITATION_BY_TIMERthe parameter was limited by a timer
0xE5LIMITATION_BY_SCDthe parameter was limited by a security controlling actuator
0xE6LIMITATION_BY_UPSthe parameter was limited by a power supply
0xE7LIMITATION_BY_UNKNOWN_DEVICEthe parameter was limited by an unknown device
0xEALIMITATION_BY_SAACthe parameter was limited by a standalone automatic controller
0xEBLIMITATION_BY_WINDthe parameter was limited by a wind sensor
0xECLIMITATION_BY_MYSELFthe parameter was limited by the node itself
0xEDLIMITATION_BY_AUTOMATIC_CYCLEthe parameter was limited by an automatic cycle
0xEELIMITATION_BY_EMERGENCYthe parameter was limited by an emergency
+

Manual Order

+
+

Manual Order

+
+

These are known Orders which need a Parameter but are executed directly and seem to be related to testing and programming in the factory.

+
52 3D    R=
+44 3D    D=
+41 31 43 A1C
+41 4D 4B AMK
+42 4F 4D BOM
+42 53 59 BSY
+44 31 43 D1C
+46 47 54 FGT
+47 31 43 G1C
+47 31 4B G1K
+47 32 41 G2A
+47 32 4B G2K
+47 48 57 GHW - Get Hardware Version
+47 4D 41 GMA - Get ???
+47 53 57 GSW - Get Software Version
+4D 31 47 M1G
+4D 31 50 M1P
+4D 31 55 M1U
+4D 44 49 MDI
+4D 44 56 MDV
+4D 47 44 MGD
+4D 47 4C MGL
+4D 47 4E MGN
+4D 47 4F MGO
+4D 47 53 MGS
+4D 4F 43 MOC
+4D 50 41 MPA
+4D 53 4E MSN
+4D 55 50 MUP
+4E 47 56 NGV
+4E 4E 42 NNB
+4E 54 4B NTK
+52 31 43 R1C
+52 41 56 RAV
+52 43 4D RCM - Remote Control Master
+52 46 54 RFT - RF Test
+52 53 53 RSS
+53 31 4B S1K
+53 32 41 S2A
+53 32 4B S2K
+53 4D 41 SMA
+57 49 4E WIN
+

Status Answers

+
CutBasicInformation(uint param_2) {
+  switch(param_2 >> 3) {
+    case 0x00   : "Command Accepted"; break;
+    case 0x01   : "Command Unknown"; break;
+    case 0x02   : "Mode Or State Number Unknown"; break;
+    case 0x03   : "Bad Mac"; break;
+    case 0x04   : "Setup Required"; break;
+    case 0x05   : "Parameter(s), Alias(es), Access Method(s)\n Lifestyle Scenario Unknown"; break;
+    case 0x06   : "Command Originator Disabled"; break;
+    case 0x07   : "Priority Locked"; break;
+    case 0x08   : "Priority Service Not Supported"; break;
+    case 0x09   : "Parameter Limitation Adjustement"; break;
+    case 0x0A   : "Parameter Incoherence Adjustement"; break;
+    case 0x0b   : "Total Incoherence"; break;
+    case 0x0c   : "Service Full"; break;
+    case 0x0d   : "Alias Incoherence"; break;
+    case 0x0e   : "Session Interrupted"; break;
+    case 0x0f   : "Not Implemented"; break;
+    case 0x10   : "Command Rejected"; break;
+    case 0x11   : "Already Configured"; break;
+    default     : "Unknown (param_2 >> 3)"; break;
+  }
+  switch(param_2 & 7) {
+    case 0x0: "Non Executing";break;
+    case 0x1: "Error While Execution";break;
+    case 0x2: "Waiting For Executing";break;
+    case 0x3: "Waiting For Power";break;
+    case 0x4: "Executing";break;
+    case 0x5: "Done";break;
+    default : "Unknown (param_2 & 7)");
+  }
+}
+ +

Somfy

+

This data is from Set&Go io XML definitions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MPFP1NAME
0x0004000last-transmitted-orders
0x0004128nb-of-transmitted-orders
0x0004129nb-of-out-of-order-due-to-battery
0x0005000detailled-event-subscription
0x0006000batterystatus
0x0006128battery-measurement-at-runtime
0x0007128threshold-per-sensor
0x0007129sensor-status-ackstatus
0x0007130latest-read-environmental-magnitude-per-sensor
0x0008000controller-type
0x0009000battery-state
0x0009001battery-level
0x4003128battery-measurement-at-runtime
0x4004128environmental-magnitude
0x4100000sensor-type
0x4100001benefit-type-group
0x4100002activation-status
0x4100003number-of-threshold-relative-values
0x4100004current-threshold-1-relative-value
0x4100005current-threshold-2-relative-value
0x4100006sensor-based-automatism-scale-factor-value
0x4100007minimum-oem-threshold-absolute-value
0x4100008maximum-oem-threshold-absolute-value
0x4100009minimum-threshold-absolute-value
0x4100010maximum-threshold-absolute-value
0x4100011current-threshold-1-absolute-value
0x4100012current-threshold-2-absolute-value
0x4100020zone-1-action
0x4100021zone-1-user-locking-time
0x4100022zone-1-automatism-locking-time
0x4100023zone-1-repetition-interval
0x4100024zone-1-movement-limitation
0x4100030zone-2-action
0x4100031zone-2-user-locking-time
0x4100032zone-2-automatism-locking-time
0x4100033zone-2-repetition-interval
0x4100034zone-2-movement-limitation
0x4100040zone-3-action
0x4100041zone-3-user-locking-time
0x4100042zone-3-automatism-locking-time
0x4100043zone-3-repetition-interval
0x4100044zone-3-movement-limitation
0x4101000sensor-type
0x4101001linked-adress-that-sends-sensor-events
0x4101002minimum-sensed-value
0x4101003maximum-sensed-value
0x4101004sensor-capacity-scale-factor-value
0x61030002way-key-is-recorded
0x6103001local-stimuli-status
0x6104128user-product-name
0x6105000feedback-name
0x8002HARD_VERSION_3S
0x9800000request-per-recorded-io-sensors
0x9800001status-of-request-per-recorded-io-sensors
0x9800002request-per-recorded-private-sensors
0x9800003status-of-request-per-recorded-private-sensors
0x9801000request-per-delegation
0x9801001status-of-request-per-delegation
0xA100MODE_USER_TOTAL
0xA101CLOSE_TEMPO_TOTAL_MODE_3S
0xA102MODE_USER_PARTAL
0xA103CLOSE_SHORT_TEMPO_PARTIAL_MODE
0xA104CLOSE_LONG_TEMPO_PARTIAL_MODE
0xA105ORANGE_LIGHT_PRE_LIGHTING
0xA106CRUISING_SPEED_TYPE_CLOSING
0xA107CRUISING_SPEED_TYPE_OPENING
0xA108DOCKING_AREA_TYPE_IN_CLOSING
0xA109DOCKING_AREA_TYPE_IN_OPENING
0xA10AMOTOR_SHIFT_IN_CLOSING
0xA10BMOTOR_SHIFT_IN_OPENING
0xA10CMOTOR1_CLOSING_TORQUE_LIMITATION
0xA10DMOTOR1_OPENING_TORQUE_LIMITATION
0xA10EMOTOR1_CLOSING_SLOWDOWN_TORQUE_LIMITATION
0xA10FMOTOR1_OPENING_SLOWDOWN_TORQUE_LIMITATION
0xA110MOTOR2_CLOSING_TORQUE_LIMITATION
0xA111MOTOR2_OPENING_TORQUE_LIMITATION
0xA112MOTOR2_CLOSING_SLOWDOWN_TORQUE_LIMITATION
0xA113MOTOR2_OPENING_SLOWDOWN_TORQUE_LIMITATION
0xA114MOTOR_DIRECTION
0xA116RESISTANCE_SENSITIVITY
0xA117CELLS_ACTIVATION
0xA118SAFETY_EDGE_ACTIVATION
0xA119PROGRAMMABLE_SAFETY_INPUT
0xA11APROGRAMMABLE_SAFETY_INPUT_FUNCTION
0xA11BPROGRAMMABLE_SAFETY_INPUT_ACTION
0xA11CWIRED_CONTROL
0xA11DAREA_LIGHTING_ACTIVATION
0xA11EAREA_LIGHTING_TEMPORIZATION
0xA11FAUXILIARY_CONTROL_ACTIVATION
0xA120AUXILIARY_CONTROL_TEMPORIZATION
0xA121LOCK_OUTPUT
0xA122LOCK_RELEASE
0xA124ADDITIONAL_THRUST_IN_CLOSING
0xA126POP_VALUE
0xA129SETTINGS_LOCK_STATUS
0xA12BDOCKING_AREA_SPEED_CLOSING
0xA12CDOCKING_AREA_SPEED_OPENING
0xA132ACTION_CONTROL
0xA133INTERMEDIARY_POSITION_IN_CM
0xA134CLOSE_TEMPO_TOTAL_MODE
0xA137IN_POP_POSITION
0xA138ACCESS_ACTUATOR_LOCATION_CURRENT_POSITION
0xA205M1_RACE_LENGHT
0xA226ACTUATOR_SETTINGS_STATE
0xA227SUPPLY_POWER_TYPE
0xA228KEYSWITCH_INPUT_STATUS
0xA229KEYSWITCH_INPUT2_STATUS
0xA22APHOTOCELLS_INPUT_STATUS
0xA22BSAFETY_EDGE_INPUT_STATUS
0xA22CWICKET_DOOR_INPUT_STATUS
0xA232DETAILED_ACTUATOR_TYPE
0xA233LAST_PHOTOCELLS_SELF_TEST_STATUS
0xA235INDUS_SOFTWARE_VERSION
0xA236INDUS_PRODUCT_TECH_REF
0xA237NB_RTX_1W_REMOTE_IN_CF
0xA239INDUS_PRODUCT_COMM_NAME
0xA23AINDUS_PRODUCT_TECH_NAME
0xA23EHARD_VERSION
0xA246LAST_SAFETY_EDGE_SELF_TEST_STATUS
0xA247LAST_WICKET_DOOR_SELF_TEST_STATUS
0xA249LAST_PERIPH_POWER_SELF_TEST_STATUS
0xA318NB_OF_LOCAL_ORDERS
0xA319NB_OF_REMOTE_ORDERS
0xA330EVENT_LIST
0xA400NB_GLOBAL_CYCLES
0xA401NB_PARTIAL_CYCLES
0xA402NB_GLOBAL_CYCLES_AFTER_LEARNING
0xA403NB_GLOBAL_RESCALING
0xA404NB_GLOBAL_OBSTACLE_DETECTIONS
0xA407NB_OBSTACLE_DETECTIONS_AFTER_LEARNING
0xA409DEFAUT_LIST
0xA40ERTX_INFO_REQUEST
0xA40FNB_RTX_1W_REMOTE_FOR_LIGHT
0xA410NB_RTX_1W_REMOTE_FOR_AUXILIARY
0xA416NB_OF_REMOTE_ORDERS_FOR_MOTOR_3S
0xA417NB_OF_REMOTE_ORDERS_FOR_LIGHT_AND_AUXILIARY_3S
0xA418NB_GLOBAL_OBSTACLE_DETECTIONS_3S
0xA419NB_OBSTACLE_DETECTIONS_AFTER_LEARNING_3S
0xA41CNB_GLOBAL_CYCLES_3S
0xA41DNB_PARTIAL_CYCLES_3S
0xA41ENB_GLOBAL_CYCLES_AFTER_LEARNING_3S
0xA41FNB_GLOBAL_RESCALING_3S
0xA44DRTX_INFO_REQUEST_TOTAL
0xA44ERTX_INFO_REQUEST_PARTIAL
0xA450SYSTEM_KEY_2_WAY_STORED
0xA451DAUGHTER_BOARD_ACTUATOR_NAME_RECEIVED
0xA4FEDATA_TRANSFER_SPECIFICATION_VERSION
0xA4FFLIST_OF_SUPPORTED_OBJECTS_ID
0xA500DUMP_REQUEST
0xA504GO_INTO_FACTORY_MODE
0xA506PAIRING_MODE_REQUEST
0xA601000power-supply-source
0xA601001batterystatus
0xA601002batterystatus-reliability
0xA601128power-supply-min
0xA601128power-supply-min
0xA601129power-supply-max-rms-value
0xA601129power-supply-max-rms-value
0xA601130nb-of-power-shutdown
0xA601131nb-of-double-power-cut
0xA601132nb-of-swicth-from-mains-to-backup-battery
0xA601133nb-of-swicth-from-battery-low-to-battery-very-low
0xA601134battery-measurement-at-runtime
0xA601135nb-of-charge-by-external-power-supply
0xA601136nb-of-storage-mode
0xA601137nb-of-swicth-from-battery-ok-to-battery-low
0xA602000endofmovementcause
0xA602128nb-of-return-in-factory-settings
0xA602129nb-of-return-in-factory-settings-caused-by-private-frame
0xA602130nb-of-stops-caused-by-crown-stop
0xA602131nb-of-stops-caused-by-thermal-protection
0xA602131nb-of-stops-caused-by-thermal-protection
0xA602132nb-of-eld-tcs-in-roll-at-rel
0xA602132nb-of-eld-tcs-in-roll-at-rel
0xA602133nb-of-eld-tcs-in-unroll-at-uel
0xA602133nb-of-eld-tcs-in-unroll-at-uel
0xA602134nb-of-rel-reached-in-counting-mode
0xA602135nb-of-uel-reached-in-counting-mode
0xA602136nb-of-obstacle-in-roll
0xA602137nb-of-obstacle-in-unroll
0xA602138motor-rotation-duration
0xA602138tube-rotation-in-pulses-nb
0xA602138tube-rotation-in-seconds
0xA602139nb-of-eld-in-roll-at-rel-low-level
0xA602140nb-of-eld-in-roll-at-rel-nominal-level
0xA602141nb-of-eld-in-roll-at-rel-high-level
0xA602142total-actuator-functioning-hours
0xA602142total-actuator-functioning-seconds
0xA602143running-time-up-auto-calibration-iteration-quantity
0xA602144running-time-down-auto-calibration-iteration-quantity
0xA602145running-time-up-auto-calibration-setting-quantity
0xA602146running-time-down-auto-calibration-setting-quantity
0xA602147projection-cycles-nb
0xA602148deprojection-cycles-nb
0xA602149nb-of-obstacle-in-projection-phase
0xA602150nb-of-obstacle-in-deprojection-phase
0xA602151nb-of-stops-in-abutment-or-rel-achieved-per-mode
0xA602152nb-of-stops-in-abutment-or-uel-achieved-per-mode
0xA602153nb-of-cycles-in-intermediate-maintenance-mode
0xA602154bad-sensors-sequence-pec
0xA602155nb-of-bad-braking
0xA602156nb-of-slip-after-braking
0xA602157max-slip-during-braking
0xA602158nbmotormoveerrors
0xA602159nbmotorinternalbuserrors
0xA602160maxbatteryvoltage
0xA602161nbendlimitdownadjustments
0xA602162nbendlimitupadjustments
0xA602163nbmotorfactoryreset
0xA602164nbpowerinterruptduringmvt
0xA602166totalactuatorinlowpowermodeduration
0xA602167nbbuserrorreaddetectedbyradioboard
0xA602168nbbuserrorwritedetectedbyradioboard
0xA602169nbbuserrorcrcdetectedbyradioboard
0xA602170nbbuserrorcrcdetectedbymotor
0xA602171nbofmotorpermutations
0xA602172nbofautomaticdesensitization-smart-protect
0xA602173nbofautomaticresensitization-smart-protect
0xA602174nb-of-high-speed-movements
0xA602175overcurrent-detected-before-regulation-pec
0xA602176bad-current-check-before-start-pec
0xA602177bad-current-check-after-start-pec
0xA602178bad-current-check-during-regulation-pec
0xA602179nb-of-eld-in-roll-at-rel-very-high-level
0xA602180nb-of-eld-in-unroll-at-uel-low-level
0xA602181nb-of-eld-in-unroll-at-uel-nominal-level
0xA602182nb-of-eld-in-unroll-at-uel-high-level
0xA602183nb-of-eld-in-unroll-at-uel-very-high-level
0xA602184nb-time-out-detected-to-reach-rel
0xA602185nb-time-out-detected-to-reach-uel
0xA602186nb-overintensity-decteted
0xA602187nb-position-sensor-failures
0xA602188nb-current-sensor-failures
0xA602189nb-product-has-gone-in-secondary-secured-position
0xA602190nb-order-received-on-wired-input
0xA602191nb-order-received-by-radio
0xA602192zones-learning-attempts-nb
0xA602193nb-mouvements-without-abutment
0xA602194nb-mouvements-to-ventilation
0xA602195odometer-in-integration-phase
0xA603000type-of-setting-for-roll-end-limit
0xA603001type-of-setting-for-unroll-end-limit
0xA603002current-status
0xA603003rotation-direction
0xA603003rotation-direction
0xA603004status-of-intermediate-position
0xA603005rotation-direction-determination
0xA603006kinematics
0xA603006kinematics
0xA603007status-of-max-linear-position
0xA603008status-of-stop-mode
0xA603009last-movement
0xA603010travel-current-state
0xA603010travel-current-state
0xA603011travel-zone-state
0xA603012movementmanager-current-state
0xA603013current-settings-within-evb-io
0xA603014brake-slip-upwards
0xA603015brake-slip-downwards
0xA603016initial-type-of-setting-for-roll-end-limit
0xA603017initial-type-of-setting-for-unroll-end-limit
0xA603018behaviour-at-roll-end-limit
0xA603019behaviour-at-unroll-end-limit
0xA603020status-of-flat-slat-position
0xA603021softstart-uel
0xA603022softstop-uel
0xA603023softstart-rel
0xA603024softstop-rel
0xA603025smart-protect-sensitivity
0xA603026visual-pictogram
0xA603027coexistenceid
0xA603028sound-enable
0xA603029recovered-state-after-power-cut
0xA603030output-operator-type
0xA603031input-ergonomy
0xA603032lock-device
0xA603033curtain-outstretching-level
0xA603128low-speed-value-min
0xA603129low-speed-value-max
0xA603130nominal-speed-value-min
0xA603131nominal-speed-value-max
0xA603132default-low-speed-value
0xA603133default-nominal-speed-value
0xA603134high-speed-current-value
0xA603135operationnal-running-timeout-enable
0xA603136operationnal-running-timeout-value-in-s
0xA603137smart-protect-activation
0xA603138automatic-adjustment-of-the-roll-end-limit-every-x-cycles
0xA603139applicativeaccessories
0xA603140maintenance-by-up-down-wt-ergonomy
0xA603141wired-input-type
0xA603142operationnal-running-remaining-time-in-s
0xA603143max-acceptable-sink-current
0xA604000io-profile-and-sub-profile
0xA604001manufacturer-actuator-id
0xA604002product-address
0xA605000current-movement-area
0xA605001current-operating-mode
0xA606000ctn-is-operational
0xA606128max-detected-temperature
0xA606129coil-temperature
0xA607000paired-product-type
0xA607001out-of-order-time-out-in-s
0xA607002paired-product-address-msb-first
0xA607003one-way-key
0xA607004sequence-nb
0xA607005manufacturer-id
0xA607006io-membership-flag
0xA607007controller-type
0xA607008battery-state
0xA607009battery-level
0xA608000nb-of-motors
0xA608001covering-panel
0xA608002position-sensor-type
0xA609000travel-zones-learning-phase
0xA609001secured-ventilation-entry-learning-state
0xA609128current-position-lift
0xA609128current-position-lift
0xA609128current-position-lift
0xA609129roll-end-limit-position
0xA609129roll-end-limit-position
0xA609129roll-end-limit-position
0xA609129roll-end-limit-position
0xA609130unroll-end-limit-position
0xA609130unroll-end-limit-position
0xA609130unroll-end-limit-position
0xA609130unroll-end-limit-position
0xA609131intermediate-position-lift
0xA609131intermediate-position-lift
0xA609131intermediate-position-lift
0xA609131intermediate-position-lift
0xA609132reference-position
0xA609132reference-position
0xA609133exit-unroll-end-limit-position
0xA609136current-position-tilt
0xA609136current-position-tilt
0xA609137intermediate-position-tilt
0xA609137intermediate-position-tilt
0xA609138running-time-up
0xA609139running-time-down
0xA609140flat-slats-value
0xA609140flat-slats-value
0xA609145min-linear-limit-position
0xA609146max-linear-limit-position
0xA609147max-toggle-limit-position
0xA609148current-position-in-percent
0xA609149automatic-max-linear-limit-position
0xA609150mp-middle-of-slide-in-order-to-project
0xA609151mu-middle-of-slide-in-order-to-unproject
0xA609152pelp-projection-end-limit-to-project
0xA609153pelu-projection-end-limit-to-unproject
0xA609154nb-auto-learning-requested
0xA609155nb-auto-learning-not-validated
0xA609156secured-ventilation-position-lift
0xA609157secured-ventilation-entry-position-lift
0xA609158seal-position-lift
0xA60A000operating-status
0xA60A001eld-inhibition-on-start
0xA60A128general-eld-level
0xA60A129level-set-by-user-when-rolling
0xA60A130level-set-by-user-when-unrolling
0xA60B000stress-reduction-status
0xA60B000stress-reduction-status
0xA60B001warning-movement
0xA60B128back-impulse-angle
0xA60B129nb-of-distressing
0xA60B130stress-reduction-value
0xA60B131backlashvalue
0xA60B132tiltingtime
0xA60B133startdelay
0xA60B134smart-back-release
0xA60B135delta-to-set-auto-uel
0xA60B136delta-to-set-auto-rel
0xA60B137choregraphy-disable-variator-down-move-min
0xA60B138choregraphy-disable-variator-up-move-min
0xA60B139choregraphy-enable-variator-down-move-min
0xA60B140choregraphy-enable-variator-up-move-min
0xA60B141working-angle-tilt-position
0xA60B142tiltingtravel
0xA60B143covering-panel-closing-delay
0xA60B144covered-panel-closing-delay
0xA60B145covering-panel-opening-delay
0xA60B146covered-panel-opening-delay
0xA60B147minimum-angular-open-end-limit
0xA60B148position-convertion
0xA60C000array-of-160-char
0xA60C001line-1-of-10-lines-of-16-char
0xA60C002line-2-of-10-lines-of-16-char
0xA60C003line-3-of-10-lines-of-16-char
0xA60C004line-4-of-10-lines-of-16-char
0xA60C005line-5-of-10-lines-of-16-char
0xA60C006line-6-of-10-lines-of-16-char
0xA60C007line-7-of-10-lines-of-16-char
0xA60C008line-8-of-10-lines-of-16-char
0xA60C009line-9-of-10-lines-of-16-char
0xA60C010line-10-of-10-lines-of-16-char
0xA60D128nb-of-paired-1w-controllers
0xA60D129nb-of-alive-paired-1w-sensors
0xA60D130nb-of-paired-1w-sensors-out-of-order
0xA60E000io-1w-sensor-address
0xA60E001profil-id
0xA60E002battery-level
0xA60E003threshold-value
0xA60E004thresholds-range
0xA60E005status-protection
0xA60E006threshold-value-secondary
0xA60E007demo-mode
0xA60F128nb-of-reset-caused-by-independant-watchdog
0xA60F129nb-of-reset-caused-by-external-pin
0xA60F130nb-of-reset-caused-by-crc-error
0xA60F131nb-of-reset-caused-by-system
0xA60F132nb-of-reset-caused-by-brown-out
0xA60F133nb-of-reset-caused-by-brown-out-during-power-on
0xA60F134nb-of-reset-caused-by-power-on
0xA60F135nb-of-reset-caused-by-power-on-without-save-informations
0xA60F136nb-of-reset-caused-by-others
0xA60F137nb-of-reset-caused-by-window-watchdog
0xA60F138nb-of-periodical-system-reset
0xA60F139nb-of-reset-because-ram-is-ko
0xA60F140total-nb-of-resets
0xA60F141nb-of-nominal-init
0xA60F142nb-of-warm-reset
0xA610000initial-rotation-direction
0xA610002initial-behaviour-at-roll-end-limit
0xA610003initial-behaviour-at-unroll-end-limit
0xA610004initial-softstart-uel
0xA610005initial-softstop-uel
0xA610006initial-softstart-rel
0xA610007initial-softstop-rel
0xA610008initial-coexistence-id
0xA610009initial-nb-of-motors
0xA610010initial-covering-panel
0xA610011initial-lock-device
0xA610128initial-nb-of-cycles-in-intermediate-maintenance-mode
0xA610129initial-low-speed-value-rpm
0xA610130initial-nominal-speed-value-rpm
0xA610131initial-smart-protect-activation
0xA610132initial-automatic-adjustment-of-the-roll-end-limit-every-x-cycles
0xA610133initial-general-eld-level
0xA610134initial-stress-reduction-value
0xA610135allow-changes-of-automatic-adjustment-at-the-roll-end-limit
0xA610136prohibit-changes-of-roll-end-limit
0xA610137prohibit-changes-of-unroll-end-limit
0xA610138initial-covering-panel-closing-delay
0xA610139initial-covered-panel-closing-delay
0xA610140initial-covering-panel-opening-delay
0xA610141initial-covered-panel-opening-delay
0xA612000pandp-uel-current-mode
0xA612001pandp-rel-current-mode
0xA613000last-events-type-of-last-stop
0xA613001historical-of-the-10-dwp-last-command-received
0xA613002historical-of-the-last-10-orders-received-radio
0xA613003historical-of-the-last-10-orders-manual-received-eg-order-wired
0xA613004historical-of-the-last-10-movements-made
0xA613005historical-of-the-last-20-orders-received
0xA6130061of4parts-of-the-last-20-orders-received
0xA6130072of4parts-of-the-last-20-orders-received
0xA6130083of4parts-of-the-last-20-orders-received
0xA6130094of4parts-of-the-last-20-orders-received
0xA613128historical-of-10-last-faults-or-failure
0xA613133history-of-el-manual-reinit-in-unit-nb-of-stop-at-uel
0xA613134history-of-el-manual-reinit-in-unit-nb-of-stop-at-del
0xA613135history-of-pnp-auto-reinit-in-unit-nb-of-stop-at-uel
0xA613136history-of-pnp-auto-reinit-in-unit-nb-of-stop-at-del
0xA613137history-of-obstacle-in-unit-nb-of-stop-at-uel
0xA613138history-of-obstacle-in-unit-nb-of-stop-at-del
0xA613139history-of-auto-learning-in-unit-nb-of-el
0xA614000motor-type
0xA614001mode-user-or-production
0xA614002status-of-dielectric-test
0xA614003nb-of-passes-to-test-the-dielectric-test
0xA614004reserve-functional-test
0xA614005functional-test-measured-values
0xA614006status-of-functional-test
0xA614007nb-of-passes-to-test-the-functional-test
0xA614008reserve-programming-test
0xA614009status-of-programming-test
0xA614010nb-of-passes-to-test-the-programming-test
0xA614011noise-value-measured
0xA614012status-of-noise-test
0xA614013nb-of-passes-to-test-the-noise-test
0xA614014last-post-past
0xA614015status-of-the-last-post-made
0xA614016reserve-process
0xA614017blocked-rotor-pec
0xA614017blocked-rotor-pec
0xA614018overcurrent-detected-during-regulation-pec
0xA614018overcurrent-detected-during-regulation-pec
0xA614019speed-pec
0xA614019speed-pec
0xA614020thermal-pec
0xA614020thermal-pec
0xA614021unique-io-nb
0xA614022channel-1-calibration
0xA614023channel-2-calibration
0xA614024channel-3-calibration
0xA614025radio-test-signature
0xA614026vdd-measure
0xA614027ems-software-test-revision
0xA614028ems-test-status
0xA614029calibration-number
0xA614128software-version
0xA614129part-nb
0xA614129part-nb
0xA614130production-date
0xA614130production-date
0xA614130production-date
0xA614132actuator-serial-nb
0xA614132actuator-serial-nb
0xA614133product-version-finished-product
0xA614134motor-identification-name-commercial-name
0xA614135actuator-serial-nb-on-22-characters
0xA614137nominal-torque
0xA614138commercial-speed
0xA614139ems-date-code-of-manufacture
0xA614139ems-date-code-of-manufacture
0xA614140ems-manufacturing-order
0xA614141ems-plant-code-and-controller-nb
0xA614142ems-test-flags
0xA614143injected-temperature-calibration
0xA614144temperature-calibration-motor-resistivity
0xA615128oem-acces-code
0xA615129eom-name
0xA615129eom-name
0xA615130production-site-name
0xA615131oem-free-words
0xA615132customer-production-date
0xA615133client-model-reference
0xA615133client-model-reference
0xA615134client-model-name
0xA615134client-model-name
0xA615135workstation-nb
0xA615136of-nb
0xA615137cde-nb
0xA615138cde-nb-rank
0xA615139oem-battery-reference
0xA615140oem-battery-name
0xA615141oem-solarpanel-reference
0xA615142oem-solarpanel-name
0xA617000wind-high-speed-activation
0xA617001sun-low-speed-activation
0xA617128low-speed-value
0xA617129nominal-speed-value
0xA618128nb-of-factory-mode-due-to-ems-frame-raz-oem
0xA618129nb-of-factory-mode-due-to-a-prog-7s-on-a-1w-after-a-double-power-cut
0xA618130nb-of-factory-mode-due-to-an-explicit-io-frame
0xA618131nb-of-factory-mode-due-to-a-warm-reset-with-unvalid-end-limits-in-ram
0xA618132nb-of-factory-mode-due-to-a-warm-reset-in-movement
0xA618133nb-of-factory-mode-due-to-bad-ram-and-flash
0xA618134nb-of-withdraw-to-default-values-due-to-bad-flash
0xA618135nb-of-oem-factory-mode-due-to-local-stimuli
0xA618136nb-of-sfy-factory-mode-due-to-local-stimuli
0xA618137nb-of-oem-factory-mode-due-to-serial-link
0xA618138nb-of-sfy-factory-mode-due-to-serial-link
0xA618139nb-of-oem-factory-mode-due-to-an-explicit-io-frame
0xA619000initial-torque-curve
0xA619001penultimate-torque-curve
0xA619002ultimate-torque-curve
0xA61A000time-stamp
0xA61A001event-name
0xA61A002raw-data
0xA61A003voltage-type
0xA61A004reset-type
0xA61A005motor-state-at-power-fail
0xA61A006current-position
0xA61A007wt-command-type
0xA61A008wt-command-details
0xA61A009actuator-reaction-type
0xA61A010thermal-protection-cause
0xA61A011measure-location
0xA61A012origin-file-id
0xA61A013origin-function-id
0xA61A014initial-speed
0xA61A015movement-id
0xA61A016transmitter-address
0xA61A017io-command
0xA61A018io-frame-data
0xA61A019internal-event-type
0xA61A020time-out-origin
0xA61A021threshold-value
0xA61A022travel-zone
0xA61A023stop-type
0xA61A024rotation-dir-type
0xA61A025odometer-lsb
0xA61A026brake-slip-type
0xA61A027hot-reset-type
0xA61A028reset-count
0xA61A029pairing-type
0xA61A030manufacturer-id
0xA61A031sequence-number
0xA61A032master-1w-type
0xA61A033setting-modification-type
0xA61A034requester
0xA61A035previous-value
0xA61A036new-value
0xA61A037back-to-factory-mode-cause
0xA61A039ip-infos
0xA61A040rotation-direction
0xA61A041upper-end-limit-infos
0xA61A042lower-end-limit-infos
0xA61A043actuator-status
0xA61A044status-rx-frame
0xA61A045status-tx-frame
0xA61A046particular-position-infos
0xA61A047radio-request
0xA61A048radio-target
0xA61B128nb-hard-obstacle-in-unpaired-mode-open
0xA61B129nb-hard-obstacle-in-unpaired-mode-close
0xA61B130nb-hard-obstacle-in-interm-maint-mode-z1-open
0xA61B131nb-hard-obstacle-in-interm-maint-mode-z2-open
0xA61B132nb-hard-obstacle-in-interm-maint-mode-z3-open
0xA61B133nb-hard-obstacle-in-interm-maint-mode-z1s-open
0xA61B134nb-hard-obstacle-in-interm-maint-mode-z1-close
0xA61B135nb-hard-obstacle-in-interm-maint-mode-z2-close
0xA61B136nb-hard-obstacle-in-interm-maint-mode-z3-close
0xA61B137nb-hard-obstacle-in-interm-maint-mode-z1s-close
0xA61B138nb-hard-obstacle-in-count-or-maint-mode-z1-open
0xA61B139nb-hard-obstacle-in-count-or-maint-mode-z2-open
0xA61B140nb-hard-obstacle-in-count-or-maint-mode-z3-open
0xA61B141nb-hard-obstacle-in-count-or-maint-mode-z1s-open
0xA61B142nb-hard-obstacle-in-count-or-maint-mode-z1-close
0xA61B143nb-hard-obstacle-in-count-or-maint-mode-z2-close
0xA61B144nb-hard-obstacle-in-count-or-maint-mode-z3-close
0xA61B145nb-hard-obstacle-in-count-or-maint-mode-z1s-close
0xA61B146nb-soft-obstacle-in-interm-maint-mode-z1-open
0xA61B147nb-soft-obstacle-in-interm-maint-mode-z2-open
0xA61B148nb-soft-obstacle-in-interm-maint-mode-z3-open
0xA61B149nb-soft-obstacle-in-interm-maint-mode-z1s-open
0xA61B150nb-soft-obstacle-in-interm-maint-mode-z1-close
0xA61B151nb-soft-obstacle-in-interm-maint-mode-z2-close
0xA61B152nb-soft-obstacle-in-interm-maint-mode-z3-close
0xA61B153nb-soft-obstacle-in-interm-maint-mode-z1s-close
0xA61B154nb-soft-obstacle-in-count-or-maint-mode-z1-open
0xA61B155nb-soft-obstacle-in-count-or-maint-mode-z2-open
0xA61B156nb-soft-obstacle-in-count-or-maint-mode-z3-open
0xA61B157nb-soft-obstacle-in-count-or-maint-mode-z1s-open
0xA61B158nb-soft-obstacle-in-count-or-maint-mode-z1-close
0xA61B159nb-soft-obstacle-in-count-or-maint-mode-z2-close
0xA61B160nb-soft-obstacle-in-count-or-maint-mode-z3-close
0xA61B161nb-soft-obstacle-in-count-or-maint-mode-z1s-close
0xA61B162nb-obstacle-zair-open
0xA61B163nb-obstacle-zair-close
0xA61B164nb-in-normative-area-obstacle-open
0xA61B165nb-out-normative-area-obstacle-open
0xA61B166nb-in-normative-area-obstacle-close
0xA61B167nb-out-normative-area-obstacle-close
0xA61B168nb-abnormal-resistance-in-initial-mode-open
0xA61B169nb-abnormal-resistance-in-initial-mode-close
0xA61B170nb-abnormal-resistance-in-interm-maint-mode-open
0xA61B171nb-abnormal-resistance-in-interm-maint-mode-close
0xA61B172nb-abnormal-resistance-in-count-or-maint-mode-z1-open
0xA61B173nb-abnormal-resistance-in-count-or-maint-mode-z2-open
0xA61B174nb-abnormal-resistance-in-count-or-maint-mode-z1-close
0xA61B175nb-abnormal-resistance-in-count-or-maint-mode-z2-close
0xA61B176nb-crown-stop-in-interm-maint-mode-z1-open
0xA61B177nb-crown-stop-in-interm-maint-mode-z2-open
0xA61B178nb-crown-stop-in-interm-maint-mode-z3-open
0xA61B179nb-crown-stop-in-interm-maint-mode-z1s-open
0xA61B180nb-crown-stop-in-interm-maint-mode-z1-close
0xA61B181nb-crown-stop-in-interm-maint-mode-z2-close
0xA61B182nb-crown-stop-in-interm-maint-mode-z3-close
0xA61B183nb-crown-stop-in-interm-maint-mode-z1s-close
0xA61B184nb-crown-stop-in-count-or-maint-mode-z1-open
0xA61B185nb-crown-stop-in-count-or-maint-mode-z2-open
0xA61B186nb-crown-stop-in-count-or-maint-mode-z3-open
0xA61B187nb-crown-stop-in-count-or-maint-mode-z1s-open
0xA61B188nb-crown-stop-in-count-or-maint-mode-z1-close
0xA61B189nb-crown-stop-in-count-or-maint-mode-z2-close
0xA61B190nb-crown-stop-in-count-or-maint-mode-z3-close
0xA61B191nb-crown-stop-in-count-or-maint-mode-z1s-close
0xA61B192nb-open-over-speed-in-unpaired-phase
0xA61B193nb-close-over-speed-in-unpaired-phase
0xA61B194nb-open-over-speed-in-initial-mode
0xA61B195nb-close-over-speed-in-initial-mode
0xA61B196nb-overspeed-in-interm-maint-mode-z1-open
0xA61B197nb-overspeed-in-interm-maint-mode-z2-open
0xA61B198nb-overspeed-in-interm-maint-mode-z3-open
0xA61B199nb-overspeed-in-interm-maint-mode-z1s-open
0xA61B200nb-overspeed-in-interm-maint-mode-z1-close
0xA61B201nb-overspeed-in-interm-maint-mode-z2-close
0xA61B202nb-overspeed-in-interm-maint-mode-z3-close
0xA61B203nb-overspeed-in-interm-maint-mode-z1s-close
0xA61B204nb-overspeed-in-count-or-maint-mode-z1-open
0xA61B205nb-overspeed-in-count-or-maint-mode-z2-open
0xA61B206nb-overspeed-in-count-or-maint-mode-z3-open
0xA61B207nb-overspeed-in-count-or-maint-mode-z1s-open
0xA61B208nb-overspeed-in-count-or-maint-mode-z1-close
0xA61B209nb-overspeed-in-count-or-maint-mode-z2-close
0xA61B210nb-overspeed-in-count-or-maint-mode-z3-close
0xA61B211nb-overspeed-in-count-or-maint-mode-z1s-close
0xA61B212nb-manual-movement-from-close-position
0xA61B213nb-uncoupled-or-breaking-movement
0xA61B214nb-secured-ventilation-entry-learning-pass
0xA61B215nb-bounce-effect-pec
0xA61B216nb-unlock-successfully
0xA61B217nb-manual-movement
0xA61B218nb-movements-to-ventilation-error
0xA61C000success
0xA61C001locking
0xA61C128max-torque
0xA61C129attempt-index
0xA620000status
0xA621000derogation
0xA622000diagnosis
0xA623000synchro
0xA624000settings
0xA625000temp-mode
0xA626000time-prog-1
0xA627000time-prog-2
0xFFFD000rs100-debug
+ + +

SIMU

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMDNAME
0x0003SMF_SAP_SETTINGS_GET
0x0004SMF_SAP_SETTINGS_SET
0x0005SMF_HAND_SHAKE
0x0100SMF_CONFIG_GET
0x0101SMF_CONFIG_SET
0x0200SMF_RTS_EXEC
0x0201SMF_RTS_EXEC_SCENE
0x0202SMF_RTS_SUN_ON_OFF_EXEC
0x0300SMF_LOG_GET
0x0301SMF_LOG_CLEAR
0x0400SMF_TIME_GET
0x0401SMF_TIME_SET
0x5000SM_GET_INFO
0x6000SMF_REBOOT_COLA
0x6001SMF_QUERY_COLA_INFO
0x6002SMF_OPEN_COLA_UPDATE
0x6003SMF_PUSH_COLA_DATA
0x6004SMF_CLOSE_COLA_UPDATE
+

Command IDs

+ +

00: Activate/Execute Function

+
    +
  • Command ID: 0x00 (1 byte)
  • +
  • Command Originator (1 byte)
  • +
  • ACEI (1 byte)
  • +
  • Main Parameter (2 bytes)
  • +
  • Functional Parameter 1 (1 byte)
  • +
  • Functional Parameter 2 (1 byte)
  • +
+
+

Example: 00 01 43 D200 00 00 +|Command ID=0x00|Originator=0x01 (User)|ACEI=0x43|MainParam=0xD200 (Current)|FP1=0|FP2=0| +2W Example: +2W S 1 E 0 FROM 842E3 TO FE90EE CMD 0 DATA(6)03 e7 6400 0000 +Command ID=0x00, Originator=0x03, ACEI=0xe7, MainParam=0x6400, FP1=0, FP2=0 +1W Example: +1W S 1 E 1 B 0 R 0 LPM 0 V 0 U1 0 U2 0 U3 0 FROM 28DB36 TO 3F CMD 0 DATA(14)0167d2000000 SEQ 247B MAC 3cd2ad870771

+
+

01: Activate Mode

+
    +
  • Command ID: 0x01 (1 byte)
  • +
  • Command originator (1 byte)
  • +
  • ACEI (1 byte)
  • +
  • Mode number (1 byte)
  • +
  • Mode parameter (1 byte)
  • +
  • Unknown (1 byte)
  • +
  • Unknown (1 byte) +1W Example: 1W S 1 E 1 B 0 R 0 LPM 1 V 0 U1 0 U2 0 U3 0 FROM 9A5CA0 TO 3F CMD 1 DATA(13)0143000131 SEQ 1848 MAC 13f3e59def08
  • +
+ +

03: Private Command

+
    +
  • Command ID: 0x03 (1 byte)
  • +
  • Data? (3-6 bytes) + Example: 2W S 1 E 0 FROM 0xBox TO 0xDevice CMD 3 DATA(3)030000
  • +
+

Example: 2W S 1 E 0 FROM 842E3 TO 315824 CMD 3 DATA(3)030000

+

04: Private Command Answer

+
    +
  • Command ID: 0x04 (1 byte)
  • +
  • Data? (6-20 bytes) + Example 2W S 0 E 1 FROM 0xDevice TO 0xBox/Gateway CMD 4 DATA(14)05 800000000000009a5065010000 + First byte of DATA is the same as CMD 0xFE: The Error Code. 0x05 is OK
  • +
+

0C: Unknown

+
    +
  • Command ID: 0x0c (1 byte)
  • +
  • Data? (4 bytes) + Example: 2W S 1 E 0 FROM 0xBox TO 0xDevice CMD C DATA(4)d8000000
  • +
+

0D: Unknown/Answer to 0C

+
    +
  • Command ID: 0x0d (1 byte)
  • +
  • Data? (5 bytes) + Example: 2W S 0 E 1 FROM 0xDevice TO 0xBox CMD D DATA(5)05aa0a0000 + Example: 2W S 1 E 0 FROM 842E3 TO 904C09 CMD C DATA(4)d8000000 + Example: 2W S 1 E 0 FROM 842E3 TO DA2EE6 CMD C DATA(4)d8000000
  • +
+

0D: Unknown (Answer to 0x0C)

+
    +
  • Command ID: 0x0c (1 byte)
  • +
  • Data? (5 bytes) + Example: 2W S 0 E 1 FROM DA2EE6 TO 842E3 CMD D DATA(5)05aa0d0000
  • +
+

19: Unknown (Followed by 0xFE)

+
    +
  • Command ID: 0x19 (1 byte)
  • +
  • Data? (1 byte) + Example: 2W S 1 E 0 FROM 0xBox TO 0xDevice CMD 19 DATA(1)02 or 03 or 04 or 07
  • +
+

1A: Answer: Set Sensor Value

+

20: Private Protocol ("Write Private")

+
    +
  • Command ID: 0x20 (1 byte)
  • +
  • Manufacturer ID (1 byte)
  • +
  • +

    Manufacturer Data (n Bytes)

    +
  • +
  • +

    Example: 20 02 FF0143000C0000

    +
  • +
  • Command ID = 0x20
  • +
  • Manufacturer = 0x02 (Somfy)
  • +
  • Data = FF 0143000C0000
  • +
+

Manufacture Specific Private Commands. These get defined and interpreted differently for every OEM.

+
    +
  • Example: Thermor I2G = 20 0C 61 0103 C300
  • +
  • AC MaPa F1 F1
  • +
  • 61 0103 C3 00: C3 (dec: 195) is 19.5°C set with button
  • +
  • 61 0103 D2 00: D2 (dec: 210) is 21.0°C set with button
  • +
+

### 20 - Base Command: WritePrivate + Parameter: + 02 - Main Parameter + Function Parameter: + - - 4 more FP + 02 - stop_after_save_limit + 04 - enter_settings_mode + 05 - save_lower_end_limit + 06 - save_upper_end_limit + .. - ??? + DF save_settings

+

21: Private Protocol Response

+
+

``

+
+
    +
  • Command ID: 0x21 (1 byte)
  • +
  • Manufacturer ID (1 byte)
  • +
  • +

    Data

    +
  • +
  • +

    PrivateCommand-ACK Response:

    +
  • +
  • Man = 1 Byte
  • +
  • Cmd = 1 Byte
  • +
  • Ses = 1 Byte
  • +
  • Status = 1 Byte
  • +
+

28: Discover

+
    +
  • Command ID: 0x28 (1 byte)
  • +
+

Example: Velux KLR100 Pairing Process

+
# It seems the old Velux remotes handle the discovery in another way?
+C8 10 00FFFB 44457C 28 D88C
+C8 10 0002FB 44457C 28 A479
+C8 10 00003B 44457C 28 853A
+

Note: Can be sent without authentication

+

29: Discover Answer

+
    +
  • Command ID: 0x29 (1 byte)
  • +
  • Node type and subtype (2 bytes): type on 10 bits and subtype on the remainer
  • +
  • Node type = (field >> 6) & 1023
  • +
  • Node subtype = field & 63
  • +
  • Node address (3 bytes)
  • +
  • Manufacturer ID (1 byte)
  • +
  • Multi info byte (1 byte)
  • +
  • Timestamp (2 bytes)
  • +
+

Note: this frame can be sent without authentication

+

Example: 29 FFC0 XXXXXX 0C CC 0000

+

Command ID = 0x29, node type = 1023 (REMOTE_CONTROLLER?), node subtype = 0, node address = XXXXXX, manufacturer = Atlantic, multi info byte = 0xcc, timestamp = 0

+

Masks: +id: 0x4 +Type: 0x8 +SubType: 0xC +IsValid: 0xD

+

2A: Discover Remote

+
    +
  • Command ID: 0x2a (1 byte)
  • +
  • Challenge Key (12 bytes)
  • +
+

Example: D4 30 00003B 44457C 2A 01CCD93AE0EADA9AEDF98344 A862 # Velux Kux 100

+

Note: observed after launching the box in discover mode +Note: observed after launching a discover via remote (see example)

+

2B: Discover Remote Answer

+
    +
  • +

    Parameters are similar to 0x29

    +
  • +
  • +

    Command ID: 0x2b (1 byte)

    +
  • +
  • Node type and subtype (2 bytes)
  • +
  • Node type = (field >> 6) & 1023
  • +
  • Node subtype = field & 63
  • +
  • Node address (3 bytes)
  • +
  • Manufacturer ID (1 byte)
  • +
  • Multi info byte (1 byte)
  • +
  • Timestamp (2 bytes)
  • +
+

Example: 2B 0D01 XXXXXX 0C CC 0FB8 +Command ID = 0x2b, node type = 52 (ELECTRICAL_HEATER), node subtype = 1, node address = XXXXXX, manufacturer = Atlantic, multi info byte = 0xcc, timestamp = 4024

+

2C: Discover Actuator Confirmation

+
    +
  • Command ID = 0x2c
  • +
+

No parameter. Some sort of discover ack?

+

Note: Frame does not require Authentication

+

2D: Discover Confirmation Ack (Answer to 2C)

+
    +
  • Command ID = 0x2d
  • +
+

No parameter

+

Note: Frame does not require Authentication

+

2E: Unknown

+
    +
  • Command ID: 0x2e (1 byte)
  • +
  • ?? (1 byte), 00 (TaHoma sent) and 02 (Sauter heater) observed
  • +
+

Note 1: observed after launching the box in discover mode +Note 2: not authenticated?

+

Example: 2E 00

+

2F: Unknown, answer to 2e?

+
    +
  • Command ID: 0x2f (1 byte)
  • +
  • ?? (1 byte), mirrors what is sent by 2e
  • +
+

Not authenticated?

+

30: Send 1W Key

+
    +
  • Command ID: 0x30 (1 byte)
  • +
  • Encrypted key (16 bytes)
  • +
  • Manufacturer ID (1 byte)
  • +
  • ?? (1 byte)
  • +
  • Sequence number (2 bytes)
  • +
+

Example: 30 7E60491F976ADF653DB0ED785E49A201 02 01 0C25

+

Command ID=0x30, key?: 7E60491F976ADF653DB0ED785E49A201, Manufacturer ID=0x02, ??=0x01, Sequence Number=0x0c25

+

31: Ask Challenge

+
    +
  • Command ID: 0x31 (1 byte)
  • +
+

No parameter. Destination device answers with 0x3c.

+

This command does not require authentication.

+

32: Key Transfer

+
    +
  • Command ID: 0x32 (1 byte)
  • +
  • Encrypted 2-Way Key (16 bytes)
  • +
+

Note: The Key is encrypted and depends on a challenge submitted before using 0x38 or 0x3c, see LinkLayer

+

33: Find Actuator Ack = Key Transfer Ack

+
    +
  • Command ID: 0x33 (1 byte)
  • +
+

No parameter. Is sent after each 0x32 request.

+

36: Address Request

+
    +
  • Command ID: 0x36 (1 byte)
  • +
+

No parameter.

+

37: Address Answer (Answer to 36)

+
    +
  • Command ID: 0x37 (1 byte)
  • +
  • Address (3 bytes)
  • +
+

38: Launch Key Transfer

+
    +
  • Command ID: 0x38 (1 byte)
  • +
  • Challenge (6 bytes)
  • +
+

39: Remove 1W Controller

+
    +
  • Command ID: 0x39 (1 byte)
  • +
  • ??: (1 byte): 0x00 observed
  • +
+

3C: Challenge Request

+
    +
  • Command ID: 0x3c (1 byte)
  • +
  • Challenge data (6 bytes)
  • +
+

Example: 3C 4D3E778460F1 +Command ID=0x3c, challenge=4d3e778460f1

+

3D: Challenge Response

+
    +
  • Command ID: 0x3d (1 byte)
  • +
  • Response data (6 bytes)
  • +
+

Example: 3D 3EF8C09565F4 +Command ID=0x3d, response=3EF8C09565F4

+

46: Script: Register/Upload

+
    +
  • Command ID: 0x46 (1 byte)
  • +
  • Config Data (9 bytes)
  • +
+

47: Download Config (Answer to 46)

+
    +
  • Command ID: 0x47 (1 byte)
  • +
  • Config (5 bytes)
  • +
+

48: File: Upload to "Running"(?)

+
    +
  • Command ID: 0x48 (1 byte)
  • +
  • Data? (9 bytes)
  • +
+

Not authenticated?

+

49: File: Upload to "Running"(?) (ACK to 48)

+
    +
  • Command ID: 0x49 (1 byte)
  • +
  • File Name Pointer (4 bytes)
  • +
+

Not authenticated?

+

4A: Delete File (Large Data Transfer Request? ("ioblob"))

+
    +
  • Command ID: 0x4a (1 byte)
  • +
  • File Name = Data (3-13 bytes)
  • +
+

4B: File Info (Large Data Answer?)

+
    +
  • Command ID: 0x4b (1 byte)
  • +
  • ?? (1 byte)
  • +
  • Sequence number of data (1 byte)
  • +
  • Data (1-18 bytes)
  • +
+
+

Note: This command is chained to send large numbers of bytes. Maybe used for updates?

+
+

4A: Rename File

+
    +
  • Command ID: 0x4B (1 byte)
  • +
  • File Name = Data (3-13 bytes)
  • +
+

50: Get Name

+
    +
  • Command ID: 0x50 (1 byte) + Example: 2W S 1 E 0 FROM 842E3 TO DA2EE6 CMD 50 DATA(0)
  • +
+

Note: No Parameter. Not Authenticated.

+

51: Get Name Answer

+
    +
  • Command ID: 0x51 (1 byte)
  • +
  • Name (16 bytes ASCII)
  • +
+

Not authenticated.

+

52: Write Name

+
    +
  • Command ID: 0x52 (1 byte)
  • +
  • Data: ASCII String (16 bytes)
  • +
+

Example: 52 54657374000000000000000000000000

+

Command ID=0x52, Data="Test"

+

53: Write Name Ack

+
    +
  • Command ID: 0x53 (1 byte)
  • +
+

No parameter.

+

54: Get General Info 1

+
    +
  • Command ID: 0x54 (1 byte)
  • +
+

55: General Info 1 Answer

+
    +
  • Command ID: 0x55 (1 byte)
  • +
  • Value (14 bytes)
  • +
+

See General Info 1 for decoding

+

56: Get General Info 2

+
    +
  • Command ID: 0x56 (1 byte)
  • +
+

57: General Info 2 Answer

+
    +
  • Command ID: 0x57 (1 byte)
  • +
  • Value (16 bytes)
  • +
+

See General Info 2 for decoding

+

84: Set Password

+

85: Auth_???

+

86: Auth_Add

+

87: Auth_???

+

88: Auth_???-Answer

+

89: Auth_???

+

8A: Auth_???

+

8B: Find_User

+

8C: Get Config Mode

+

8D: Set Config Mode

+

9x: Sensor and Log Data/Events

+ + +

92: Actuator: Set Turn Direction

+

93: Actuator: Adjust Endlimits

+

94: Actuator: Label

+

95: Actuator: IP Position

+

98: Read/Write Lock

+

9B: Read/Write Lock: 1

+

9C: Read/Write Lock: 0

+

9D: Read/Write Lock: Answer

+

A0: Much Info

+

A1: Actuator: Update Bus Location

+

A2: Actuator: Update Bus Location - Answer

+ + + + + + +

BE: Get Maintenance Mode

+

BF: Set Maintenance Mode

+

C0: Firmware Info

+

C1: Firmware Upload

+

C2: Firmware Install

+ + +

E0: Bootloader Command ("Proxy Frame")

+
    +
  • TBD
  • +
+

E1: Bootloader Device / Bootloader ACK

+
    +
  • TBD
  • +
+

Fx: Service Commands

+

F0: Send Raw Message / Find Hardware ("Service")

+
    +
  • Command ID: 0xF0 (1 byte)
  • +
  • Parameter 1 (1 byte)
  • +
  • Parameter 2 (1 byte)
  • +
+

F1: Actuator: Read Groups / "ActuatorAnyConfigIsLocal" (?) / "Service ACK"

+
    +
  • Command ID: 0xF1 (1 byte)
  • +
  • Parameter 1 (1 byte)
  • +
  • Parameter 2 (1 byte)
  • +
+

F2: Reboot / Service Status

+
    +
  • Command ID: 0xF2 (1 byte)
  • +
  • Parameter 1 (1 byte)
  • +
  • Parameter 2 (1 byte)
  • +
+

F3: Service Status ACK

+
    +
  • TBD
  • +
+

FE: Unknown

+
    +
  • Command ID: 0xFE (1 byte)
  • +
  • ?? (1 byte) +Example : 11:14:41.320 > 2W S 0 E 1 FROM 0xBox TO 0xDevice CMD FE DATA(1)08
    +

    Note: Some kind of Confirmation? I would assume a NACK + ErrorCode +Note: When DATA == 0x05, then this is NOERROR, when answering to CMD 0x19 +Example : 11:14:41.320 > 2W S 0 E 1 FROM 842E3 TO D58341 CMD FE DATA(1)08

    +
    +
  • +
  • 05 is NO ERROR
  • +
+

FF Communication Gateway Receiver

+
    +
  • TBD
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/ENCRYPTION/index.html b/ENCRYPTION/index.html new file mode 100644 index 0000000..968c059 --- /dev/null +++ b/ENCRYPTION/index.html @@ -0,0 +1,729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ENCRYPTION - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

ENCRYPTION

+ +

All products and applications integrated into the system not only communicate with the remote control, but also with each other. io-homecontrol® is based on radio communication and works in the frequency range from 868 to 870 megahertz. +Before the sender and receiver communicate with each other, the availability of the channel is checked. +If a bandwidth is overloaded or occupied, the application waits for the frequency to become free before communicating (Listen before Talk) or switches to one of the other channels (Adaptive Frequency Agility). io-homecontrol® thus complies with the applicable European radio technology standard EN 300220. +These properties ensure that every command given arrives at the product and is executed. io-homecontrol® has a range of around 20 meters and penetrates walls and furnishings. +When used for the first time, the remote control (transmitter) and product (receiver) exchange a 128-bit encryption code and combine it with a random number for each new action. +A code is calculated from this, which the transmitter and receiver compare with each other. +The product only reacts to the required action if they match. This safety mechanism prevents you from reacting to an external transmitter. The new application automatically searches for existing products and takes them into account in its promotions.

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/LinkLayer-2/index.html b/LinkLayer-2/index.html new file mode 100644 index 0000000..bf23b2f --- /dev/null +++ b/LinkLayer-2/index.html @@ -0,0 +1,1067 @@ + + + + + + + + + + + + + + + + + + + + + + + + + io-homecontrol link layer specification - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

io-homecontrol link layer specification

+

io protocol frame

+

This is the standard io-homecontrol frame (byte positions in the header).

+ + + + + + + + + + + + + + + + + + + + + + + +
123-56-89variable(N-1)-N
Control byte 1Control byte 2 Destination addressSender addressCommand ID  DATACRC
+

Control byte 1

+

The control byte 1 gives basic information about the frame (bit positions in the header):

+ + + + + + + + + + + + + + + + + +
7654-0
EndStartProtocol modeFrame length
+

End:

+
    +
  • 0 this is not the last frame of the session
  • +
  • 1 this is the last frame of the session
  • +
+

Start:

+
    +
  • 0 this is not the first frame of the session
  • +
  • 1 this is the first frame of the session
  • +
+

Protocol mode:

+
    +
  • 0 Two-way
  • +
  • 1 One-way
  • +
+

Frame length:

+

Length of the frame in bytes, not including the first control byte and the CRC

+

Control byte 2

+

This control byte gives more information on the frame and the device themselves (bit positions in the header):

+ + + + + + + + + + + + + + + + + + + + + + + +
7654321-0
Use beaconRoutedLow power mode???Protocol version
+

Use beacon (allow routing the frame through the mesh network):

+
    +
  • 0 do not use beacon
  • +
  • 1 use beacon
  • +
+

Routed indicates if the frame has already been routed through a beacon:

+
    +
  • 0 frame has not been routed so far
  • +
  • 1 frame has been routed
  • +
+

Low power mode indicates if a frame is sent to a device operating in low power mode:

+
    +
  • 0 the destination device is not in low power mode
  • +
  • 1 the destination device is in low power mode
  • +
+

Bits 4, 5 and 6 are unknown

+

Addresses

+

Addresses are 3 bytes long and can range from 01 00 00 to ̀ff ff ff.

+

Destination address

+

Addresses are 3 bytes long.

+
    +
  • ̀00 00 3f is broadcast
  • +
  • 00 00 3b ??
  • +
+

Sender address

+

Addresses are 3 bytes long.

+

Command ID

+

Standard io-homecontrol command id. See Commands for command id reference.

+

Data

+

Depending on the frame type it can correspond to raw data, io-homecontrol command parameters or manufacturer-specific data.

+

Note that in authenticated 1-Way frames, a 2-bytes sequence number and a 6-byte long message authentication code are appended:

+ + + + + + + + + + + + + + + +
X - Y(Y + 1) - (Y + 2)(Y + 3) - (Y + 9)
DataSequence numberMAC
+

CRC

+

After the payload, there is a 16-bit CRC with polynomial 0x(1)8408 over the data packet (i.e. length byte + payload). The CRC's initial value is 0 and it does not employ an XOR/NOT. The least significant byte of the CRC is transmitted first.

+

Stack system key

+

Each two-ways controller has a stack or system key. This is an AES-128 key used to sign io frames with the trailing MAC. The key generation on Kizboxes is insecure because it relies on the lua math.random :

+
-- seed
+kizbox_id = "xxxx-xxxx-xxxx" -- Kizbox serial
+math.randomseed(tonumber(string.gsub("1" .. kizbox_id, "-", "")) - os.time())
+-- key generation
+key = {}
+keySize = 16 -- 128 bits
+for i = 1, keySize do
+    key[i] = math.random(0, 255)
+end
+

This mechanism only leaves roughly 31,536,000 keys possible if the serial number of the TaHoma and the year of setup are known (other calls to math.random are made so the actual number may be a bit above this figure but once the seed and the number of times math.random is called are figured out by an attacker, they can completly determine the key).

+

Discovery

+

There seem to be several discover types.

+

1-way discover

+

In 1-way mode, the controller does not get any answer. So this is the simplest discovery mode, it asks for exclusion using 0x39 and then sends its 1-W encrypted key using 0x30.

+

Simple 2-way discover

+

Actions:

+
    +
  • Controller sends command 0x28 (discover) when entering discover mode
  • +
  • Device in pairing mode answers with command 0x29 (discover answer) and gives metadata to identify itself to the controller
  • +
  • Controller confirms having received discovery information from device
  • +
  • Devices acks confirmation
  • +
+
// Discover request
+c8 00 00003b f00f00 28 1234
+// Discover answer: node type REMOTE_CONTROLLER, subtype 0, node address feefee, manufacturer Atlantic
+// multi info byte 0xcc, timestamp 0000
+d1 00 f00f00 feefee 29 ffc0 feefee 0c cc 0000 1234
+// Discover confirmation
+48 00 feefee f00f00 2c 1234
+// Discover confirmation ack
+88 00 f00f00 feefee 2d 1234
+

Specialized 2-way discover

+

Actions:

+
    +
  • Controller sends command 0x2a (specialized discover) with specific data not identified to this day
  • +
  • Device in pairing mode answers with 0x2b and same information fields as in 0x29
  • +
  • Controller and device exchange 0x2c and 0x2d just like in the general discover
  • +
  • Controller sends command 0x36, authenticates and expects an address in 0x37 answer (see 2-way key exchange push below)
  • +
+

Pairing process and authentication

+

Before being able to communicate with authentication, io-homecontrol nodes must share a common secret as the security of the protocol relies on a symmetric encryption algorithm.

+

The pairing process consists in transmitting the key. Authentication in adding and verifying challenges.

+

In both modes (1-way/2-ways), the transferred key is obfuscated using different methods. But both methods imply a shared key probably specified in the protocol documentation. This key is refferred to as transfer key and has the following value, probably hardcoded in the specification:

+
34c3466ed88f4e8e16aa473949884373
+

Note: all crypto functions are available in ioCrypto.py.

+

Initial Vector and AES-128 encryption

+

In all cases implying encryption, an initial vector is required to feed the AES algorithm using a mode similar to OFB or CFB. In fact, as all payloads are 128-bit long, there is no block chaining and the encryption process is the following:

+
    +
  • Generate an initial vector
  • +
  • Encrypt it using AES-128 and either the transfer key of the system key depending on the data encrypted
  • +
  • XOR the encrypted IV with the secret to transmit
  • +
+

How to create the initial vector:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Mode0-78-910-1112-15
1-wayFirst 8 data bytes of the frameChecksum of the whole dataSequence numberPadding (0x55)
2-waysFirst 8 data bytes of the frameChecksum of the whole dataChallenge sent beforehand
+

If the data frame is less than 8 bytes, it is also padded with 0x55.

+

The checksum is computed the following way for each frame byte (Python, return value is a tuple of byte 0 and byte 1 of the checksum, initialization values are 0 for both bytes):

+
def computeChecksum(frame_byte, chksum1, chksum2):
+  tmpchksum = frame_byte ^ chksum2
+  chksum2 = ((chksum1 & 0x7f) << 1) & 0xff
+  if chksum1 & 0x80 == 0:
+    if tmpchksum >= 128:
+      chksum2 |= 1
+    return (chksum2, (tmpchksum << 1) & 0xff)
+  if tmpchksum >= 128:
+    chksum2 |= 1
+
+  return (chksum2 ^ 0x55, ((tmpchksum << 1) ^ 0x5b) & 0xff)
+

Check the initial value generation function for better understanding of how to use the checksum function.

+

For example, for the following frame:

+
f6 00 00003f 385762 000143d2000000 0599 123456789abc 5fb0
+

Where data = 000143d2000000 and sequence number = 0x0599.

+

The initial vector will be: +

000143d2000000550500059955555555

+

In 2-way mode, for the following exchange:

+
480012195fd35c18 31 28e3 // Ask challenge
+0e00d35c1812195f 3c 123456789abc a9c7 // Challenge request
+

The initial vector will be:

+
31555555555555550062123456789abc
+

Encryption with AES-128 follows the below course:

+
    +
  • IV is generated as described above
  • +
  • IV is encrypted using AES-128 and either the transfer key or the stack key (depending on the use case)
  • +
  • If encrypting a secret, the secret is xored with the output of the previous step. If creating a MAC, the output of the previous step is truncated to 6 bytes.
  • +
+

Key exchange process

+

1-Way

+

In 1-way mode, the controller will send several times the command 0x30 with its key encrypted with the transfer key listed above and an initial value that consists in its address repeated several times to build a 16-byte long value.

+

For node with address abcdef, the initial value will be:

+
abcdefabcdefabcdefabcdefabcdefab
+

Furthermore, the 0x30 message is authenticated using a 1-way MAC embedded in the command itself. For the node abcdef with key 01020304050607080910111213141516 and sequence number 0x1234 the 0x30 message will be:

+
fc 00 00003f abcdef 30 7e60491f976adf653db0ed785e49a201 02 01 1234 19e81ec43d5e 9bf2
+

2-Way

+

Note: in examples below, the stack key used is 01020304050607080910111213141516

+

In 2-Way mode, there are 2 ways keys can be exchanged: +* By pulling the key from a remote node +* By pushing a key to a remote node

+

It seems that when a new device is added to a stack, both methods are used. First, the controller will collect the already set device key and then use it to authenticate requests to push its stack key to the device.

+
Pull
+

Actions:

+
    +
  • Right after initial discovery, the controller issues command 0x38 (launch key transfer). This command is not authenticated but submits a 6-byte long initial value to be used to encrypt the key used by the device
  • +
  • The device answers with command 0x32 (key transfer) and sends its key encrypted using the transfer key
  • +
  • The controller issues a command 0x3c (challenge request) to authenticate the previous command
  • +
  • The device answers to the challenge with command 0x3d and a response encrypted using the key transmitted just before in command 0x32
  • +
+

Example (device key is abcdef01020304050607080910111213):

+
// Controller ask for key transfer using challenge 123456789abc
+4e 04 feefee f00f00 38 123456789abc 23b6
+// Device creates an initial value based on last frame and the specified challenge
+// and use this initial value to encrypt its key before transmission
+18 04 f00f00 feefee 32 ea425a7a182885d4eaeefd416d625e01 6379
+// Controller challenges the device for command 0x32 (see authentication below)
+// Note: in real life, challenge will be different to the one specified in 0x38
+0e 00 feefee f00f00 3c 123456789abc 5eb1
+4e 00 feefee f00f00 3c 123456789abc ec2a
+// Device creates an initial value based on the 0x32 frame and challenge specified in 0x3c
+// It will use its own key to authenticate as it has not received one from the controller
+8e 00 f00f00 feefee 3d 0ae519a73c99 2400
+
Push
+

Note: stack key push to device has been observed after a bit of information exchange such as general information (0x54 and 0x56). Most of these commands are authenticated using 0x3c and 0x3d (see authentication below) and so are the push commands.

+

Actions: +* First, the controller asks the device a challenge using command 0x31 (ask challenge) +* The device then answers using command 0x3c (challenge request) and a 6-byte long challenge +* The controller sends the encrypted stack key to the device node with command 0x32 (key transfer) using the transfer key +* The device asks the controller for authentication using 0x3c +* The controller authenticates using its stack key (not the device key anymore) and command 0x3d +* The device answers with command 0x33 to confirm that stack key has been received +* To check if the stack key has properly been transferred, the controller sends the 0x36 command and authenticate to finally receive the address of the device in the 0x37 command

+

Example:

+
// Send challenge request
+48 00 feefee f00f00 31 fb60
+// Challenge request
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Controller creates an initial value based on last frame and the specified challenge
+// and use this initial value to encrypt the stack key before transmission
+18 00 f00f00 feefee 32 102e49a16d3b69726f3192cf17534ad9 8043
+// Device challenges the controller for command 0x32 (see authentication below)
+// Note: in real life, challenge will be different to the one specified in previous 0x3c
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Controller answers to the challenge using the stack key
+0e 00 feefee f00f00 3d 8dc9d40dc7a4 f9e5
+// Device saves the stack key and sends a confirmation
+88 00 f00f00 feefee 33 5bfb
+// Controller checks if the device received the stack key by issuing a control command
+48 04 feefee f00f00 36 9a02
+// Device sends a challenge to the controller
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Controller answers the challenge for command 0x36
+0e 04 feefee f00f00 3d c7fdc0668818 b1e3
+// Device sends its address as answer in 0x37
+0b 04 f00f00 feefee 37 feefee 7ccf
+

Authentication

+

io-homecontrol frames are authenticated using AES-128 based MACs. There are differences between 1-way and 2-way modes. In both cases, the MAC is created by truncating the output of the AES-128 algorithm down to 6 bytes.

+

1-Way

+

In 1-way mode, a signature of the frame is made using the stack key burned into the 1-way controller during manufacturing. This signature is appended to the frame along with a sequence number to prevent replay attacks.

+

The data and sequence number are handled separately in the initial vector generation (i.e. the sequence number is not handled as frame data and not taken into account in the first part of the IV).

+

2-Way

+

In 2-way mode, a node will issue a 0x3C command frame with a 6-byte long challenge to commands received from other nodes. The asking node must provide a 0x3D command with the answer to the 6-byte long challenge (the answer is also 6-byte long). 2-way frames do not have any MAC or sequence number incorporated in the frame itself.

+

For example, here is a 2-way sequence of request/answer type:

+
// Send address request
+48 04 feefee f00f00 36 9a02
+// Challenge request
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Challenge answer
+0e 04 feefee f00f00 3d c7fdc0668818 b1e3
+// Address answer
+0b 04 f00f00 feefee 37 feefee 7ccf
+

Note: There is a race condition vulnerability. In fact, it would be possible to spoof answers by answering faster than the legitimate device after a 0x3d frame. This allows authentication of the asking node but not authentication of the answering node...

+

The MAC is generated using a shared key between both nodes. This is referred as Stack Key in the firmware and System Key in the user interface. The same key is shared throughout the installation (by a 2-Way controller).

+

Below is an extract of the MAC generation code:

+
def create_2W_hmac(challenge, system_key, frame_data):
+  iv = constructInitialValue(frame_data, challenge)
+  cipher = aes.AES(system_key)
+  return cipher.encrypt_block(iv)[:6]
+

The initial value is always created using data from the requesting command (see above for details on initial value generation).

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/LinkLayer/index.html b/LinkLayer/index.html new file mode 100644 index 0000000..fd65cea --- /dev/null +++ b/LinkLayer/index.html @@ -0,0 +1,2234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layer 2 - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

io-homecontrol Link Layer Specification

+

There are at least two known protocols: +- io homecontrol 1W +- io homecontrol 2W

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Baud Rate4800 bps
Data Bits8
ParityOdd
Start BitLogical Level 0
Stop BitLogical Level 1
Character codingNRZ
+

Settings: +- Bitrate: 38400 bauds (baud/sec) = 38400 bits/s + - Real Bitrate: 38400,9600 Bit/s (Bit/sec) + - Bitrate Error: 1,0410 ppm + - Step Bitrate(?): 26666

+

2FSK knows is binary which means it knows two states and tells us that the bit rate is equal the symbol rate: 1 bit (rate) = 1 symbol/modulation rate. +symbol rate = n baud (bd) = n symbols per second +symbol rate = pulse rate = pulses per second

+

note Captured frames should be stored as CSV/TSV files with the following header:

+
MSG
+
+
    +
  • Modes of Operation: 3 * 2 (Each Mode can be Low Power)
  • +
  • Master
  • +
  • Slave
  • +
  • Beacon (Repeater)
  • +
  • 3 Layer
  • +
  • Layer 1: RF Transmission - Bit Representation
      +
    • UART Encoded
    • +
    • 38.400 bps
    • +
    • 26us Symbolrate
    • +
    • Repeated Key Duration: Frame is sent every 140 milliseconds
    • +
    +
  • +
  • Layer 2: Frame (Data Link)
      +
    • Preamble: 256 bit of alternating 1>0>1>0 ...
    • +
    • SyncWord / Start Byte
    • +
    • PACKET
    • +
    • CRC
    • +
    +
  • +
  • Layer 3: Packet (Network):
      +
    • Header
    • +
    • Address
    • +
    • Payload
    • +
    • Rolling Code
    • +
    • HMAC
    • +
    +
  • +
+

time lag between two successive activations: 200 ms

+

Protocol Frame

+

IoSerialNumber: 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF

+

This is the standard io-homecontrol frame (byte positions in the header).

+
    +
  • Minimum Length = 11 bytes (i.e. without any DATA)
  • +
  • Maximum Length = 32 bytes (i.e. maximum 21 bytes of DATA)
  • +
+

From the decompilation: + NodeAddress : 0x0000 + Header/CMD : 0x0000 + ManufacturerId: 0x00 + PrivateCmd: 0x00

+

OWS: Handles talking to Overkiz Cloud

+
+

apps\var\lib\io-homecontrol\lua-storage\io\stack&646575

+
+
address=646575,
+   type=065476,
+manufacturer=2,
+StackKey=E9 94 BA CF E6 BE D7 66 76 30 EA E4 75 BA AE 95
+ + +

34C3466ED88F4E8E16AA473949884373

+

Ctrl + S

+

―———————————

+
[—————————————————————————— P A C K E T ——————————————————————————]
+                 [—————————— F R A M E ——————————]
+ [PREAMBLE] [SFD] [HEADER] [TYPE] [PAYLOAD] [CRC] [POSTAMBLE] [InterFrameGap]
+                                              [    D A T A    ] [ENUM] [   H M A C  ] [ F C S ]
+
+[55....55  FF33] [F6 00 00003F 708758] [ 00 ] [01 61 D200 00 00 [3BD2] [E6B62CEF54C8] [ A9 37 ]
+ PREAMBLE  SYNC   MT LP SRCADR DSTADR CM MAIN F1 F2 ENUM MACMACMACMAC CODE
+
+ Bit Sequence = Preamble + Sync Word (SFD): Follows Long PPDU Format (128 bits Preamble/Sync + 16 bits SFD/Sync Word)
+ Preamble = Used for Synchronisation
+ SFD = Start Frame Delimiter: Indicates Start of Frame
+ FCS = Frame Check Sequence: CRC16-KERMIT over HEADER+TYPE+PAYLOAD
+
    +
  • Media Layers:
  • +
  • Bits: Physical (Signal and Binary Transmission)
  • +
  • Frames: Data Link (MAC = Physical Addressing)
  • +
  • Packets: Network (IP = Path and Addressing)
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NAMEPreambleSync WordHeaderPayloadCRCPostamble
SIZE52 Byte2 Byte1 Byte1 Byte3 Byte3 Byte
TYPE0-1-0 FMUARTUART1 Byte3 Byte3 Byte
55FF 33000000:00:0000:00:00
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
NamePreambleSync
Word
Control
Byte
0
Control
Byte
1
Destination
Node
ID
Source
Node
ID
DataCRC
Byte012 - 45 - 79 - n(n-1)-n
+
    +
  • Preamble
  • +
  • Sync Word = Network ID (= Frame Type?)
  • +
+

CtrlByteManufCode +FrameType +Command +Data +DataLen +isOneWay

+

Header > Frame Control Bytes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BehaviorBit 1Bit 0
Single Command00
Next Command to Execute in Series01
Next Command to Execute in Parallel10
End of Group of Commands11
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
InstructionBit 2Bit 1Bit 0
End of macro-program000
Immediate Execution001
Parallel Execution & Function AND010
Parallel Execution & Function OR011
Parallel Execution & Function NO AND100
Test101
Skip110
Time Delay111
+
+

FrameType Segment: Same 3bit + 5bit Format could also be used for CommandIDs, Parameter, etc. +- 3bit (SegmentType) + 5bit (SegmentData) +- 3bit (SegmentType) + 5bit (SegmentLength)

+
+

0b000 = 0 = "UNKNOWN" +0b001 = 1 = "ACTUATOR" isOneWay +0b010 = 2 = "SENSOR" +0b011 = 3 = "VIDEO_SYSTEM" isOneWay +0b100 = 4 = "REMOTE_CONTROLLER" +0b101 = 5 = "PROTOCOL_GATEWAY" isOneWay +0b110 = 6 = "INFRASTRUCTURE_COMPONENT" +0b111 = 7 = "GROUP" isOneWay

+
    +
  • First 3bit define the Session Information or FrameType
  • +
  • FrameTypes:
      +
    • 1: 000 FrameType_Identification
    • +
    • 2: 001 FrameType_Parameter
    • +
    • 3: 010 FrameType_ParameterValue / Transaction
    • +
    • 4: 011 FrameType_Unknown / Action
    • +
    • 5: 100 TypeOfSegment
    • +
    • 6: 101 TypeOfSegment
    • +
    • 7: 110 TypeOfSegment
    • +
    • 8: 111 TypeOfSegment
    • +
    +
  • +
  • Example for Session Information: Indicate button press/released event
  • +
  • Button Press Threshold: 140ms
  • +
  • NOTE: see US7852765B2
  • +
+

Control Byte 1

+

Basic Frame information.

+ + + + + + + + + + + + + + + + + +
BIT7-654-0
NAMEOrderModeSize
+
    +
  • Order: Indicate Relationship (Logical and/or Temporal) between transmitted Orders.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#bit[7]bit[6]Command Order Relationship
(First/Last Frame in Session)
000Single = Last/First Session Frame: No/No
101Next in Series = Last/First Session Frame: No/Yes
210Next in Parallel = Last/First Session Frame: Yes/No
311Command Group End = Last/First Session Frame: Yes/Yes
+
    +
  • [5] MODE isOneWay: Protocol Mode/Version
  • +
  • 0 = 2W = Two Way
  • +
  • +

    1 = 1W = One Way

    +
  • +
  • +

    Size: Frame Length in bytes, not including Control Byte 1 and the CRC

    +
  • +
+

Control Byte 2

+

Extended Frame Information.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
BIT7654321-0
NAMEUse BeaconRoutedLow Power ModeAck??Protocol Version
+
+

FrameData Segment +7:3 = 32 codes of the signs or characters specifying the transaction or the action

+
+
    +
  • Use Beacon (isBeacon): Repeater Mode = Allow routing the Frame through the Network
  • +
  • 0: Do Not use Beacon
  • +
  • 1: Use Beacon
  • +
  • Note: Max. 1 Hop!
  • +
  • Routed (isRouted): Indicates if Frame has already been routed through a Beacon (Repeater)
  • +
  • 0 frame has not been routed
  • +
  • 1 frame has been routed
  • +
  • Low Power Mode (PowerSaveMode): Indicates if Frame is sent to Device in Low Power Mode (LPM):
  • +
  • 0 = Destination Device is not in Low Power Mode
  • +
  • 1 = Destination Device is in Low Power Mode
  • +
  • Ack indicates if a response can be handled (2 Way Devices Only)
  • +
  • 0 = NACK: 1-Way Device
  • +
  • +

    1 = ACK: 2-Way Device

    +
  • +
  • +

    io-Membership Flag

    +
  • +
  • RF Support in Node
  • +
  • CtrlByteManufCode
  • +
+

Addresses (NodeId)

+

Addresses are 3 bytes long and can range from 01 00 00 to ff ff ff.

+

Addresses are also refered to as Node ID which resembles the MS-B of a typical MAC-Address. The Node Type is a numerical value defines which

+

Destination Address

+
    +
  • 00 00 3F is broadcast
  • +
  • 00 00 3B ??
  • +
  • 00 00 00 = Group
  • +
  • FF FF FF = Broadcast
  • +
+

Source (Sender) Address

+
    +
  • FFFFFE = SRC for P2P and BROADCAST
  • +
  • FFFDFF = RS485 (SDN) Setting Tool
  • +
+

CommandParameter

+

See Commands for command id reference.

+

CommandParameter Types

+

There exist different types of Parameter:

+
    +
  • Main
  • +
  • Functional
  • +
  • Private
  • +
  • Stimuli
      +
    • Somfy Key & Go 1w
    • +
    • Somfy Satellite 1w
    • +
    +
  • +
+

Data

+
    +
  • Length
  • +
  • Minimum = 0 bytes (no DATA)
  • +
  • Maximum = 21 bytes
  • +
+

Depending on the frame type it can correspond to raw data, io-homecontrol command parameters or manufacturer-specific data.

+

Note that in authenticated 1-Way frames, a 2-bytes sequence number and a 6-byte long message authentication code are appended:

+ + + + + + + + + + + + + + + +
X - Y(Y + 1) - (Y + 2)(Y + 3) - (Y + 9)
DataSequence numberMAC
+

CRC

+

After the payload, there is a 16-bit CRC with polynomial 0x(1)8408 over the data packet (i.e. length byte + payload). The CRC's initial value is 0 and it does not employ an XOR/NOT. The least significant byte of the CRC is transmitted first.

+

The C# implementation shown here can be found in the Starter Kit software from Semtech for their SX12xx line of radios. Just use a .NET decompiler (dotPeek, ILSpy, etc.) and search for it:

+
// This is real code that changes the packet and returns 0 ... i have no clue why they implemented this
+ushort ComputeCrc(byte[] packet){
+for (int i = 0; i < packet.Length; i++) {
+  packet[i]=(byte)((packet[i] * 0x802 & 0x22110 | packet[i] * 0x8020 & 0x88440) * 0x10101 >> 0x10);
+}
+return 0;
+

System (Stack) Key

+

Each two-ways controller has a stack or system key. +This is an AES-128 key used to sign io frames with the trailing MAC.

+

Advanced Encryption Standard (AES) 128-bit block encryption/decryption with 128 bits key size. +Electronic Code Book (ECB) and Cipher Block Chaining Mode 1 (CBC Mode 1) are supported. +The AES engine is enabled on the ADF7023 by downloading the AES software module to program RAM.

+

The key generation on Kizboxes is insecure because it relies on the lua math.random :

+
-- seed
+kizbox_id = "xxxx-xxxx-xxxx" -- Kizbox serial
+math.randomseed(tonumber(string.gsub("1" .. kizbox_id, "-", "")) - os.time())
+-- key generation
+key = {}
+keySize = 16 -- 128 bits
+for i = 1, keySize do
+    key[i] = math.random(0, 255)
+end
+

This mechanism only leaves roughly 31,536,000 keys possible if the serial number of the TaHoma and the year of setup are known (other calls to math.random are made so the actual number may be a bit above this figure but once the seed and the number of times math.random is called are figured out by an attacker, they can completly determine the key).

+

Discovery

+

There are several discover types:

+
    +
  • Discover Sensor
  • +
  • Discover Sensor Simple
  • +
  • Discover Sensor Simple IO
  • +
  • Discover Sensor Generic
  • +
  • Discover Sensor Generic Pulse Sensor
  • +
  • Discover Actuator
  • +
  • Discover Actuator Simple
  • +
  • Discover Actuator Simple with Wink
  • +
  • Discover Actuator OVP
  • +
  • Discover Actuator 1W
  • +
  • Discover Actuator In System
  • +
  • Discover Actuator Without Setup ("Virgin")
  • +
  • Discover
  • +
  • Discover Simple
  • +
  • Discover Controller
  • +
  • Discover Controller 1W
  • +
  • Discover Intermediate
  • +
  • Discover Private Somfy
  • +
+

One Way Discovery

+
sequenceDiagram
+    participant 1W as Remote
+    participant 2W as Actuator
+    Note over 1W,2W: 1-Way Discovery
+    1W->>2W: Command ID: 0x39<br/>Remove 1-Way Remote
+    activate 2W
+    loop 0x39
+        2W->>2W: Remove<br/>1-Way Key
+    end
+    deactivate 2W
+    1W-->>2W: Command ID: 0x30<br/>Send Encrypted 1-Way Key
+    activate 2W
+    loop 0x30
+        2W->>2W: Store<br/>1-Way Key
+    end
+    deactivate 2W
+

In 1-way mode, the controller does not get any answer. So this is the simplest discovery mode, it asks for exclusion using 0x39 and then sends its 1-W encrypted key using 0x30.

+

Two Way Discovery: Simple Discover

+

Actions:

+
    +
  • Controller sends command 0x28 (discover) when entering discover mode
  • +
  • Device in pairing mode answers with command 0x29 (discover answer) and gives metadata to identify itself to the controller
  • +
  • Controller confirms having received discovery information from device
  • +
  • Devices acks confirmation
  • +
+

# Discover request
+C8 00 00003B F00F00 28 1234
+# Discover answer: node type REMOTE_CONTROLLER, subtype 0, node address feefee, manufacturer Atlantic
+# multi info byte 0xcc, timestamp 0000
+D1 00 F00F00 FEEFEE 29 FFC0 FEEFEE 0C CC 0000 1234
+# Discover confirmation
+48 00 FEEFEE F00F00 2C 1234
+## Discover confirmation ack
+88 00 F00F00 FEEFEE 2D 1234
+Must send a 0x38 key transfer, just after the 0x2d discover confirmation ack to effectivly have the device added +
// Controller ask for key transfer using challenge 123456789ABC
+4E 04 FEEFEE F00F00 38 123456789ABC 23B6

+

2-way: Specialized Discover

+

Actions:

+
    +
  • Controller sends command 0x2a (specialized discover) with specific data not identified to this day
  • +
  • Device in pairing mode answers with 0x2b and same information fields as in 0x29
  • +
  • Controller and device exchange 0x2c and 0x2d just like in the general discover
  • +
  • Controller sends command 0x36, authenticates and expects an address in 0x37 answer (see 2-way key exchange push below)
  • +
+

Pairing and Authentication

+

Before being able to communicate with authentication, io-homecontrol nodes must share a common secret as the security of the protocol relies on a symmetric encryption algorithm.

+

The pairing process consists in transmitting the key. Authentication in adding and verifying challenges.

+

In both modes (1-way/2-ways), the transferred key is obfuscated using different methods. +But both methods imply a shared key probably specified in the protocol documentation. +This key is refferred to as transfer key and has the following value, probably hardcoded in the specification:

+
    +
  • 34C3466ED88F4E8E16AA473949884373 - As a UUID: 34C3466E-D88F-4E8E-16AA-47:39:49:88:43:73
  • +
+

Other Keys found in the io Gateway: +- SDNP io Actuator 1W Control Key = FD534F4D4659 = 0xFD SOMFY +- 4275696C64696E6720436F6E74726F6C = Building Control

+

Note: All Crypto functions are available in ioCrypto.py

+

Initial Vector (IV) and AES-128 Encryption

+

In all cases implying encryption, an Initial Vector (IV) is required to feed the AES algorithm using a mode similar to OFB or CFB. +In fact, as all payloads are 128-bit long, there is no block chaining and the encryption process is the following:

+
    +
  1. Generate IV
  2. +
  3. Encrypt IV with Transfer or System Key (depending on data) using AES-128
  4. +
  5. +

    XOR encrypted IV with the Secret for Transmission

    +
  6. +
  7. +

    How To Generate IV: + | Mode | 0-7 | 8-9 | 10-11 | 12-15 | + | :-------: | :--------------------: | :-------------: | :-------------------------: | :------------: | + | 1-Way | First 8 byte of Payload | Checksum | Sequence Number | Padding (0x55) | + | 2-Way | First 8 byte of Payload | Checksum | Challenge (sent beforehand) | |

    +
  8. +
  9. +

    Pad Payload if less than 8 byte with 0x55

    +
  10. +
  11. Compute Checksum for each Frame byte: +
    # Checksum Return Value: 2 byte Tuple (byte 0 & byte 1)
    +# Initialization Value for both bytes: 0
    +def computeChecksum(frame_byte, chksum1, chksum2):
    +  tmpchksum = frame_byte ^ chksum2
    +  chksum2 = ((chksum1 & 0x7f) << 1) & 0xff
    +  if chksum1 & 0x80 == 0:
    +    if tmpchksum >= 128:
    +      chksum2 |= 1
    +    return (chksum2, (tmpchksum << 1) & 0xff)
    +  if tmpchksum >= 128:
    +    chksum2 |= 1
    +
    +  return (chksum2 ^ 0x55, ((tmpchksum << 1) ^ 0x5b) & 0xff)
    + > note Check the initial value generation function for better understanding on how to use the checksum function.
  12. +
+

Example

+
+
    +
  • Frame: F6 00 00003F 385762 000143D2000000 0599 123456789ABC 5FB0
  • +
  • Payload: 000143D2000000 (7 byte => needs 1 byte padding with 0x55)
  • +
  • Sequence Number: 0599
  • +
+

Padded Payload: 000143D200000055 +IV will be: 000143D2000000550500059955555555

+

In 2-way Mode, for the following exchange:

+

Ask Challenge: 480012195FD35C18 31 28E3

+

Challenge Request: 0E00D35C1812195F 3C 123456789ABC A9C7 +

+
+

The IV will be: 31555555555555550062123456789ABC

+

Encryption with AES-128 follows the below process:

+
    +
  • IV is generated as described above
  • +
  • IV is encrypted using AES-128 and depending on the use case with either:
  • +
  • Transfer Key
  • +
  • Stack Key
  • +
  • If encrypting a Secret: The Secret is XORed with the Output of the previous Step.
  • +
  • If creating a MAC: The output of the previous Step is truncated to 6 bytes.
  • +
+

Key Exchange

+

1-Way Key Exchange

+

In 1-way mode, the controller will send several times the command 0x30 with its key encrypted with the transfer key listed above and an initial value that consists in its address repeated several times to build a 16-byte long value.

+

For node with address abcdef, the initial value will be:

+
ABCDEFABCDEFABCDEFABCDEFABCDEFAB
+

Furthermore, the 0x30 message is authenticated using a 1-way MAC embedded in the command itself. For the node abcdef with key 01020304050607080910111213141516 and sequence number 0x1234 the 0x30 message will be:

+
FC 00 00003F ABCDEF 30 7E60491F976ADF653DB0ED785E49A201 02 01 1234 19E81EC43D5E 9BF2
+

2-Way Key Exchange

+

Note: in examples below, the stack key used is 01020304050607080910111213141516

+

In 2-Way mode, there are 2 ways keys can be exchanged: +* By pulling the key from a remote node +* By pushing a key to a remote node

+

It seems that when a new device is added to a stack, both methods are used. First, the controller will collect the already set device key and then use it to authenticate requests to push its stack key to the device.

+
Pull
+

Actions:

+
    +
  • Right after initial discovery, the controller issues command 0x38 (launch key transfer). This command is not authenticated but submits a 6-byte long initial value to be used to encrypt the key used by the device
  • +
  • The device answers with command 0x32 (key transfer) and sends its key encrypted using the transfer key
  • +
  • The controller issues a command 0x3c (challenge request) to authenticate the previous command
  • +
  • The device answers to the challenge with command 0x3d and a response encrypted using the key transmitted just before in command 0x32
  • +
+

Example (device key is ABCDEF01020304050607080910111213):

+
// Controller ask for key transfer using challenge 123456789ABC
+4E 04 FEEFEE F00F00 38 123456789ABC 23B6
+// Device creates an initial value based on last frame and the specified challenge
+// and use this initial value to encrypt its key before transmission
+18 04 F00F00 FEEFEE 32 EA425A7A182885D4EAEEFD416D625E01 6379
+// Controller challenges the device for command 0x32 (see authentication below)
+// Note: in real life, challenge will be different to the one specified in 0x38
+0E 00 FEEFEE F00F00 3C 123456789ABC 5EB1
+4E 00 FEEFEE F00F00 3C 123456789ABC EC2A
+// Device creates an initial value based on the 0x32 frame and challenge specified in 0x3c
+// It will use its own key to authenticate as it has not received one from the controller
+8E 00 F00F00 FEEFEE 3D 0AE519A73C99 2400
+
Push
+

Note: stack key push to device has been observed after a bit of information exchange such as general information (0x54 and 0x56). Most of these commands are authenticated using 0x3c and 0x3d (see authentication below) and so are the push commands.

+

Actions: +* First, the controller asks the device a challenge using command 0x31 (ask challenge) +* The device then answers using command 0x3c (challenge request) and a 6-byte long challenge +* The controller sends the encrypted stack key to the device node with command 0x32 (key transfer) using the transfer key +* The device asks the controller for authentication using 0x3c +* The controller authenticates using its stack key (not the device key anymore) and command 0x3d +* The device answers with command 0x33 to confirm that stack key has been received +* To check if the stack key has properly been transferred, the controller sends the 0x36 command and authenticate to finally receive the address of the device in the 0x37 command

+

Example:

+
// Send challenge request
+48 00 feefee f00f00 31 fb60
+// Challenge request
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Controller creates an initial value based on last frame and the specified challenge
+// and use this initial value to encrypt the stack key before transmission
+18 00 f00f00 feefee 32 102e49a16d3b69726f3192cf17534ad9 8043
+// Device challenges the controller for command 0x32 (see authentication below)
+// Note: in real life, challenge will be different to the one specified in previous 0x3c
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Controller answers to the challenge using the stack key
+0e 00 feefee f00f00 3d 8dc9d40dc7a4 f9e5
+// Device saves the stack key and sends a confirmation
+88 00 f00f00 feefee 33 5bfb
+// Controller checks if the device received the stack key by issuing a control command
+48 04 feefee f00f00 36 9a02
+// Device sends a challenge to the controller
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Controller answers the challenge for command 0x36
+0e 04 feefee f00f00 3d c7fdc0668818 b1e3
+// Device sends its address as answer in 0x37
+0b 04 f00f00 feefee 37 feefee 7ccf
+

Authentication

+

io-homecontrol frames are authenticated using AES-128 based MACs. There are differences between 1-way and 2-way modes. In both cases, the MAC is created by truncating the output of the AES-128 algorithm down to 6 bytes.

+

1-Way Authentication

+

In 1-way mode, a signature of the frame is made using the stack key burned into the 1-way controller during manufacturing. This signature is appended to the frame along with a sequence number to prevent replay attacks.

+

The data and sequence number are handled separately in the initial vector generation (i.e. the sequence number is not handled as frame data and not taken into account in the first part of the IV).

+

2-Way Authentication

+

In 2-way mode, a node will issue a 0x3C command frame with a 6-byte long challenge to commands received from other nodes. The asking node must provide a 0x3D command with the answer to the 6-byte long challenge (the answer is also 6-byte long). 2-way frames do not have any MAC or sequence number incorporated in the frame itself.

+

For example, here is a 2-way sequence of request/answer type:

+
// Send address request
+48 04 feefee f00f00 36 9a02
+// Challenge request
+0e 00 f00f00 feefee 3c 123456789abc 19db
+// Challenge answer
+0e 04 feefee f00f00 3d c7fdc0668818 b1e3
+// Address answer
+0b 04 f00f00 feefee 37 feefee 7ccf
+

Note: There is a race condition vulnerability. In fact, it would be possible to spoof answers by answering faster than the legitimate device after a 0x3d frame. This allows authentication of the asking node but not authentication of the answering node...

+

The MAC is generated using a shared key between both nodes. This is referred as Stack Key in the firmware and System Key in the user interface. The same key is shared throughout the installation (by a 2-Way controller).

+

Below is an extract of the MAC generation code:

+
def create_2W_hmac(challenge, system_key, frame_data):
+  iv = constructInitialValue(frame_data, challenge)
+  cipher = aes.AES(system_key)
+  return cipher.encrypt_block(iv)[:6]
+

The initial value is always created using data from the requesting command (see above for details on initial value generation).

+

Test and EMS Frames

+

EMS Frames

+

Sadly little is known about the EMS2 device and the protocol that is used in the factory to program io-homecontrol devices.

+
+

EMS frames in binary, first 0 is D then frame in binary +EMS_STOP_BECAUSE_SINE_WAVE_IS_MISSING

+
+

Calibration Data

+

io Tests Terminal: 0E5EC4 0ECD0B 0F5AD4 +ideal RF STM32 CAL: 0E4EC4 0EBD0B 0F4AD4000000 +io-homecontrol CAL: 0E4EC4 0EBD0B 0F4AD4 (default)

+

Test Frames

+
+

io Tests Terminal

+
+ + +
    +
  • Template: MP FP1 FP2 FP3 CKS
  • +
  • MP: 02 + Command
  • +
  • FP1 - FP3: 09 + Data
      +
    • NOTE: It seems that only a maximum of 3 FPs is supported
    • +
    +
  • +
  • +

    CKS: 03 + 2 Byte CRC

    +
  • +
  • +

    Get HW Version: 02 474857 03 3539

    +
  • +
  • CKS Error: 02 475357 03 3431
  • +
  • +

    Get SW Version: 02 475357 03 3432

    +
  • +
  • +

    RFT TX=0 C=0: 02 524654 09 54583D30 09 433D30 03 3045

    +
  • +
  • RFT TX=0 C=1: 02 524654 09 54583D30 09 433D31 03 3046
  • +
  • +

    RFT TX=0 C=2: 02 524654 09 54583D30 09 433D32 03 3043

    +
  • +
  • +

    RFT TX=1 Channel 1: 02 524654 09 54583D31 09 433D30 03 3046

    +
  • +
  • RFT TX=1 Channel 2: 02 524654 09 54583D31 09 433D31 03 3045
  • +
  • +

    RFT TX=1 Channel 3: 02 524654 09 54583D31 09 433D32 03 3044

    +
  • +
  • +

    RFT TX=2 (Preamble) Channel 1: 02 524654 09 54583D32 09 433D30 03 3043

    +
  • +
  • RFT TX=2 (Preamble) Channel 2: 02 524654 09 54583D32 09 433D31 03 3044
  • +
  • RFT TX=2 (Preamble) Channel 3: 02 524654 09 54583D32 09 433D32 03 3045
  • +
  • RFT TX=2 (Preamble) Channel 1 Timed 1s/1s: 02 524654 09 54583D32 09 433D30 09 54 03 3531
  • +
  • RFT TX=2 (Preamble) Channel 2 Timed 1s/1s: 02 524654 09 54583D32 09 433D31 09 54 03 3530
  • +
  • +

    RFT TX=2 (Preamble) Channel 3 Timed 1s/1s: 02 524654 09 54583D32 09 433D32 09 54 03 3533

    +
  • +
  • +

    RFT RX LBT Channel 1: 02 524654 09 52583D30 09 433D30 03 3038

    +
  • +
  • RFT RX LBT Channel 2: 02 524654 09 52583D30 09 433D31 03 3039
  • +
  • RFT RX LBT Channel 3: 02 524654 09 52583D30 09 433D32 03 3041
  • +
  • RFT RX Data Channel 1: 02 524654 09 52583D31 09 433D30 03 3039
  • +
  • RFT RX Data Channel 2: 02 524654 09 52583D31 09 433D31 03 3038
  • +
  • +

    RFT RX Data Channel 3: 02 524654 09 52583D31 09 433D32 03 3042

    +
  • +
  • +

    RFT CAL Read: 02 524654 09 43414C 09 5244 03 3139

    +
  • +
  • RFT CAL Write 0E5EC4 0ECD0B 0F5AD4: + 02 524654 09 43414C 09 57523D 304535454334304543443042304635414434 03 3337
  • +
  • RFT OFF: 02 524654 09 4F4646 03 3037
  • +
  • CMD unknown: 02 575357 03 3532
  • +
+
+

Manual Order

+
+

Possible Cancidates: +- CW +- CCW

+
    +
  • Command ID: 02 = Manual Order
  • +
  • +

    Command Parameter IDs:

    +
      +
    • 03 + 2 Byte: CKS = ChecKSum
    • +
    • 09 + n Byte: MP/FP ID
    • +
    +
  • +
  • +

    Parameter IDs for Manual Order:

    +
  • +
  • 433D C= Channel=ChannelNumber (eg.: C=0)
  • +
  • 4341 4C CAL Calibrate Radio
      +
    • Calibration Data: FF FF FF FF FF FF FF FF FF
    • +
    +
  • +
  • 443D D=
  • +
  • 4F46 46 OFF Switch Off
  • +
  • 523D R= Receive (??)
  • +
  • 5244 RD Read
  • +
  • 5243 3D RC= Status
  • +
  • 5258 3D RX= Receive=ReceiveMode
      +
    • 0 = Listen Before Talk (LBT)
    • +
    • 1 = Receive Raw Data
    • +
    +
  • +
  • 54 T Signal: Timed 1s/1s
  • +
  • 5458 3D TX= Transmit=TransmitMode ("Permanent Emission")
      +
    • 0 = Transmit Test Mode: 1
    • +
    • 1 = Transmit Test Mode: 2
    • +
    • 2 = Transmit Preamble ("M55") +T=%1 +T=M +S=%1 +S=D +R=%1 +P=1
    • +
    +
  • +
+

M= +LP= +LS= +AP= +AS=

+

TX= +WR= +RX= +RD=

+

SS= +LP= +LS= +AP= +AS=

+

BSY +GSW +GHW +BOM +RFT +NTK +NGV +NNB +RSS +FGT +G2A +S2A +G2K +S2K +MOC +MDV +MDI +MPA +MUP +WIN +MGO +MGS +MGL +AMK +RCM +MGN +MSN +MGD +RAV +GMA +SMA +D1C +G1C +R1C +A1C +G1K +S1K +M1P +M1U +M1G

+
    +
  • 57523D WR= - WRite=Data
  • +
  • 413143 A1C - > A1C, D1C, G1C, R1C
  • +
  • 414D4B AMK
  • +
  • 424F4D BOM
  • +
  • 425359 BSY - BuSY (???)
  • +
  • 443143 D1C - > A1C, D1C, G1C, R1C
  • +
  • 445453 DTS - Data Transport Service
  • +
  • 464754 FGT
  • +
  • 473143 G1C - A1C, D1C, G1C, R1C
  • +
  • 47314B G1K - <> S1K
  • +
  • 473241 G2A - <> S2A
  • +
  • 47324B G2K - <> S2K
  • +
  • 474857 GHW - Get Hardware Version
  • +
  • 474D41 GMA - Get MA (???) <> SMA
  • +
  • 475357 GSW - Get Software Version
  • +
  • 4D3147 M1G - ???
  • +
  • 4D3150 M1P - ???
  • +
  • 4D3155 M1U - ???
  • +
  • 4D4449 MDI - ???
  • +
  • 4D4456 MDV - ???
  • +
  • 4D4744 MGD - ???
  • +
  • 4D474C MGL - ???
  • +
  • 4D474E MGN - ???
  • +
  • 4D474F MGO - ???
  • +
  • 4D4753 MGS - ???
  • +
  • 4D4F43 MOC - ???
  • +
  • 4D5041 MPA - ???
  • +
  • 4D534E MSN - ???
  • +
  • 4D5550 MUP - ???
  • +
  • 4E4756 NGV
  • +
  • 4E4E42 NNB
  • +
  • 4E544B NTK
  • +
  • 523143 R1C - > A1C, D1C, G1C, R1C
  • +
  • 524156 RAV
  • +
  • 52434D RCM - Receive Config Mode
  • +
  • 524654 RFT - Radio (RF) Test
  • +
  • 525353 RSS - Read Signed Raw Value
  • +
  • 53314B S1K - <> G1K
  • +
  • 533241 S2A - <> G2A
  • +
  • 53324B S2K - <> G2K
  • +
  • 534D41 SMA - Set MA (???) <> GMA
  • +
  • 57494E WIN - Wink (???)
  • +
  • 575357 WSW - Write Signed Raw Value (???) > HSW? +,1W= +,2W= +,act= +,actuator= +,add= +,address= +afunc,act= +afunc,grp= +,afunc_ack= +,astate_ack= +,chan= +,cmd= +,cmd=reset, +,cmd=receiveconfigmode= +,cmd=set,autoslavemode= +,configmode= +,slavemode= +,iomode= +,fp1= +,fp2= +,fp3= +,key= +,len= +,max_discovered_nodes= +,max_paired_nodes= +,preamble, +,prot= +,req, +,req,slavemode, +,req,swversion, +,res= +,reset=startup, +,RF_busy, +,RF_ProtocolFatalError +,RSSI= +,sens= +,stack_dead, +,swversion= +,sys_id= +,tpos= +,reverse_ack= +,verify_ack +,version_ack= +,virgin_ack=
  • +
+

actdata= +add= +busylevel= +chan= +grp= +key=

+

rem,grp=

+

astate,act= +delete,act= +req_version,act= +rev,act= +verify,act= +virgin_sfy,act= +virgin,act= +wink,act=

+

actuator, +add, +all_add, +delete_all, +disc_ +eof_full +key, +master, +max_discovered_nodes, +max_paired_nodes, +nack

+

nack_addr +nack_appli_busy +nack_auth +nack_CRC +nack_full +nack_grp +no_more +rssi_off +rssi_on

+

noanswer +only,actuator, +pair,actuator, +system,actuator, +random, +rssi, +sens, +set, +sid, +slave, +test, +virgin, +wink_ack

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/MicroPython/index.html b/MicroPython/index.html new file mode 100644 index 0000000..456b145 --- /dev/null +++ b/MicroPython/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MicroPython - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + + + +

Rapid Development and Testing with MicroPython

+

This document should hold the basic setup for sending and receiving iohc frames via a ESP32 LoRa32 board with a SX1276. The only usable SX127x chips are: SX1276, SX1277, SX1279.

+
+

Note: The SX1278 does not support 868 MHz!

+
+

As with the rest of the documentation this is mostly to get people without that much knowledge up and running. If know how to develop yourself there should be now need to explain on where to look and how to configure your board. Either way .. this is also my first time xD

+
+

Note: Though unconfirmed, it seems the SX126x chips lack the possibility to send a steady data stream via one of the GPIO pins. If you have such a board and confirm this then please let me and everyone else know :) +Note: Most of this stuff is an adaption of this repo: Learn SX1276

+
+
    +
  • Board Configuration
  • +
  • HelTec LoRa32 v2.x +
      LoRa_MISO_Pin = 19
    +  LoRa_MOSI_Pin = 27
    +  LoRa_SCK_Pin  =  5
    +  LoRa_CS_Pin   = 18
    +  LoRa_RST_Pin  = 14
    +  LoRa_DIO0_Pin = 26 # UART Data
    +  LoRa_DIO1_Pin = 35
    +  LoRa_DIO2_Pin = 34 # UART Clock Signal
    +  SPI_CH        =  1
  • +
  • TTGO T-Beam v1.1 (untested) +
      LoRa_MISO_Pin = 19
    +  LoRa_MOSI_Pin = 27
    +  LoRa_SCK_Pin  =  5
    +  LoRa_CS_Pin   = 18
    +  LoRa_RST_Pin  = 23
    +  LoRa_DIO0_Pin = 26
  • +
+
+

| ESP32 Interface | #define | ESP32 Pin | External RS485 | + | | | | Driver Pin | + | ----------------------|---------------|-----------|----------------| + | Transmit Data (TxD) | ECHO_TEST_TXD | GPIO23 | DI | + | Receive Data (RxD) | ECHO_TEST_RXD | GPIO22 | RO | + | Request To Send (RTS) | ECHO_TEST_RTS | GPIO18 | ~RE/DE | + | Ground | n/a | GND | GND |

+
+

Mode of Operation

+

The SX1276 is a very sophisticated and delicate rf chip with a lot of functionality. +It even has a built-in (official!) io-homecontrol mode! Guess what? +We use none of that and take the same route as Somfy and squeeze our bits diretly on the antenna. +This means the only thing the SX1276 is doing is to modulate (2FSK) the signal from the data we provide. +When dealing with the SX1276 on a board like the HelTec LoRa32, this provides us with two interfaces and helps to ease the configuration. +Interface 1 is used to configure the radio via SPI and a simple high level api to alter the config registers. +Interface 2 is a simple UART which takes care of generating the clock and wrapping the data into the correct format for rf transmission.

+
+

2.1.9.2 Data Operation Modes +Continuous mode: each bit transmitted or received is accessed in real time at the DIO2/DATA pin. This mode may be used if adequate external signal processing is available. +2.1.12 Continous Mode +Continuous mode the NRZ data to (from) the (de)modulator is directly accessed by the uC on the bidirectional DIO2/DATA pin. The FIFO and packet handler are thus inactive.

+
+

Basic Setup

+
    +
  • MicroPython
  • +
  • esptool
  • +
  • PyBoard
  • +
  • mpremote: https://docs.micropython.org/en/latest/reference/mpremote.html
  • +
  • pip install mpremote
  • +
  • Link: Documentation for the pyboard.py tool
  • +
  • Interesting Libs:
  • +
  • https://github.com/peterhinch/micropython-micro-gui
  • +
  • https://github.com/stlehmann/micropython-ssd1306
  • +
  • https://github.com/xg590/SX1276
  • +
+

SX1276 Config

+

If you are lazy like me grab the SX1276 configuration software from Semtech and export the CFG. STRG + ALT + N is your friend ;)

+

Run this regex on the created config file: ^.*Reg(.*)\W(0x.*)\W(0x.*)$ and for the output use ``

+

The bitrate setting is referenced to the crystal oscillator and provides a precise means of setting the bit rate (or equivalently chip) rate of the radio. +In continuous transmit mode (Section 2.1.12) the data stream to be transmitted can be input directly to the modulator via pin 10 (DIO2/DATA) in an asynchronous manner +When Gaussian filtering is used, in which case the DCLK signal on pin 9 (DIO1/DCLK) is used to synchronize the data stream. See section 2.1.2.3 for details on the Gaussian filter. +In Continuous mode with Gaussian filtering enabled, the Bit Rate (BR) is controlled by bits Bitrate in RegBitrateMsb and RegBitrateLsb

+ + + + + + + + + + + + + + + + + +
Classical modem baud rates
(multiples of 1.2 kbps)
BitRate
(15:8)
BitRate
(7:0)
Actual BR
b/s
38.4 kbps
(G)FSK
0x030x4138.415,36
+

uP Commands

+
    +
  • machine.bitstream(pin, encoding, timing, data, /)
    +

    Transmits data by bit-banging the specified pin. The encoding argument specifies how the bits are encoded, and timing is an encoding-specific timing specification.

    +

    The supported encodings are:

    +

    0 for “high low” pulse duration modulation. This will transmit 0 and 1 bits as timed pulses, starting with the most significant bit. +The timing must be a four-tuple of nanoseconds in the format (high_time_0, low_time_0, high_time_1, low_time_1). +For example, (400, 850, 800, 450) is the timing specification for WS2812 RGB LEDs at 800kHz.

    +
    +
  • +
+

class UART – duplex serial communication bus

+

UART implements the standard U(S)ART duplex serial communications protocol. At the physical level it consists of 2 lines: RX and TX. The unit of communication is a character (not to be confused with a string character) which can be 8 or 9 bits wide. UART objects can be created and initialised using:

+
    from machine import UART
+    uart = UART(1, 9600)                         # init with given baudrate
+    uart.init(9600, bits=8, parity=None, stop=1) # init with given parameters
+
+# A UART object acts like a `stream` object and reading and writing is done using the standard stream methods:
+#    uart.read(10)       # read 10 characters, returns a bytes object
+#    uart.read()         # read all available characters
+#    uart.readline()     # read a line
+#    uart.readinto(buf)  # read and store into the given buffer
+    uart.write('abc')   # write the 3 characters
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Radio/index.html b/Radio/index.html new file mode 100644 index 0000000..7ef3d3a --- /dev/null +++ b/Radio/index.html @@ -0,0 +1,1012 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Layer 1 - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

io-homecontrol radio protocol description

+

Physical specifications

+

The io-homecontrol protocol is constructed on 2-FSK encoded frames.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChannelStartEndBase
1868.00 MHz868.60 MHz868.25 MHz
2868.70 MHz869.20 MHz868.95 MHz
3869.70 MHz870.00 MHz869.85 MHz
+
    +
  • Deviation: 19,2 kHz
  • +
  • Baud Rate: 38.4 kbps
  • +
  • Encoding: NRZ
  • +
  • Modulation: 2-FSK
  • +
  • Standards: IEEE 802.15.4(g) / ETSI-300-200
  • +
  • Modes: Master, Slave, Beacon
  • +
  • Checks:
  • +
  • Preamble + Sync Word ("Start Byte")
  • +
  • Address / Broadcast
  • +
  • CRC
  • +
  • Encoding (data): UART
  • +
  • Same Structure as SDN (Somfy Digital Network)
  • +
+

Raw Data Sending

+

The data is transmitted as 8-bit bytes with 1 start bit (0) and a stop bit (1). Bytes are transmitted in order, but bits of each byte are swapped: the least significant bit is transmitted first.

+

Messages start with a preamble with an alternating bit sequence: 010101... They are constructed from a long sequence of bytes 0x55. This gives a bit sequence: 0 10101010 1 0 10101010 1... There seem to be multiple variants of the preamble length. The preamble is completed by the bytes FF 33, i.e. bits 0 11111111 1 0 11001100 1.

+

Then, it sends the data packet's bytes. The first 5 least significant bits of the data packet, that is the first byte & 0x1F, gives the length of the payload. In the example 0 00011111 1, it is 0b111000 = 0x18 = 24. The length of the payload does not include the first byte itself. After the payload, there is a 16-bit CRC with polynomial 0x(1)8408 over the data packet (i.e. length byte + payload). The CRC's initial value is 0 and it does not employ an XOR/NOT. The least significant byte of the CRC is transmitted first.

+

Packet structure

+

L, S and X are variable offsets/lengths. In packets found so far, S = 8 and X = 0.

+
    +
  • [0] & 0x1F: length of payload (L), excluding this first byte and 2 trailing CRC bytes.
  • +
  • [0] & 0x20: iff set, there is a 8 byte suffix (S = 8). Otherwise, S = 0.
  • +
  • [0] & 0x40: unknown
  • +
  • [0] & 0x80: unknown
  • +
  • [1] & 0x03: iff == 0x03 and the next bytes equal 0B 01, then skip the next two bytes (X = 2). Otherwise, X = 0.
  • +
  • [1] & 0x04: unknown
  • +
  • [1] & 0x08: unknown
  • +
  • [1] & 0x10: unknown
  • +
  • [1] & 0x20: unknown
  • +
  • [1] & 0xC0: unknown; 2 bits seem to be related
  • +
  • [2:4]: ignored if equal to 0B 01 and [1] & 0x03 == 0x03
  • +
  • +
  • [X+5:X+8]: sender address
  • +
  • [X+8]: command/message code. The firmware dispatches on this byte.
  • +
  • [X+9:1+L-S]: application data
  • +
  • [1+L-S:1+L]: optional suffix
      +
    • +
    • [1+L-S+1]: sequence number?
    • +
    • [1+L-S+2:1+L-S+8]: 6 high entropy bytes.
    • +
    +
  • +
+

Address structure

+

Addresses have a specific structure. It looks like there are several address classes. Some of the structure is parsed using the following algorithm: +

int get_address_class(char (*address)[3])
+{
+  if (address[0] != 0) { // bits 0..8
+    return 13;
+  }
+  if (address[1] || (address[2] & 0xC0) != 0) // bits 8..18
+  {
+    switch (address[2] & 0x3F) { // bits 18..24
+      case 0x3Bu: return 7;
+      case 0x3Cu: return 8;
+      case 0x3Du: return 9;
+      case 0x3Eu: return 10;
+      case 0x3Fu: return 11;
+      default: return 12;
+    }
+  }
+  else
+  {
+    switch (address[2] & 0x3F) // bits 18..24
+    {
+    case 0: return 0;
+    default: return 1;
+    case 0x3Bu: return 2;
+    case 0x3Cu: return 3;
+    case 0x3Du: return 4;
+    case 0x3Eu: return 5;
+    case 0x3Fu: return 6; // broadcast?
+    }
+  }
+}

+

Example

+

This analysis was based on the data from https://github.com/101010b/io-home - This is a very useful starting point. Two things missed by this source were the start- and stop bits and the fact that the data is bitswapped. Correcting for this and removing the leading/trailing preamble and noise gives the following three byte sequences.

+

Below the packets from 101010b (in sequence), the data sniffed from a SMOOVE Origin IO is listed. For both data sources, in reality all packets were repeated 4 times.

+
vvvvv end of preamble
+      vv first byte, length and flags
+         vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv payload
+         vv more flags
+            vvvvvvvv destination address
+                     vvvvvvvv sender address
+                              vv command/message code
+                                 vvvvvvvvvvvvvvvvvvvvvvv application data (low entropy)
+                                                         vvvvvvvvvvvvvvvvvvvvvvv suffix
+                                                            vv sequence number?
+                                                               vvvvvvvvvvvvvvvvv high entropy (challenge? anti-replay?)
+                                                                                 vvvvv CRC over first byte + payload
+
+FF 33 F8 00 00 00 3F 1A 38 0B 00 01 61 00 00 80 D8 05 00 02 A6 24 22 2E 8B A3 51 5F 52 - 101010b packet 1
+FF 33 F8 00 00 00 3F 1A 38 0B 20 02 FF 01 61 00 0E 00 00 02 A7 4F E2 F6 8C 4F 88 B5 0D - 101010b packet 2
+FF 33 F8 00 00 00 3F 1A 38 0B 20 02 FF 01 61 00 05 FF 00 02 A8 C7 74 2D FE 1F 33 3B 82 - 101010b packet 3
+
+FF 33 F6 00 00 00 3F 48 5B 37 00 01 43 D2 00 00 00       03 D6 B6 3C B3 CD CD 2B 8A 2E - SMOOVE Origin IO packet 1
+FF 33 F8 00 00 00 3F 48 5B 37 20 02 ff 01 43 02 0c 00 00 03 D7 74 59 2B C4 B3 36 FD A4 - SMOOVE Origin IO packet 2
+FF 33 F8 00 00 00 3F 48 5B 37 20 02 ff 01 43 02 05 ff 00 03 D8 90 39 62 DB AD 98 FB 24 - SMOOVE Origin IO packet 3
+

CRC example

+

The following shows how to check the CRC:

+
def compute_crc_8408_byte(data, crc = 0):
+    crc ^= data
+    for i in range(8):
+        remainder = 0x8408 if crc & 1 else 0
+        crc = (crc >> 1) ^ remainder
+    return crc
+
+def compute_crc_8408(data, crc = 0):
+    for b in data:
+        crc = compute_crc_8408_byte(b, crc)
+    return crc
+
+print("%04X" % compute_crc_8408(b"\xF8\x00\x00\x00\x3F\x1A\x38\x0B\x00\x01\x61\x00\x00\x80\xD8\x05\x00\x02\xA6\x24\x22\x2E\x8B\xA3\x51")) # gives 525F
+print("%04X" % compute_crc_8408(b"\xF8\x00\x00\x00\x3F\x1A\x38\x0B\x00\x01\x61\x00\x00\x80\xD8\x05\x00\x02\xA6\x24\x22\x2E\x8B\xA3\x51\x5F\x52")) # gives 0000, i.e. CRC is ok
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/ThermorAtlantic_2W_Commands/index.html b/ThermorAtlantic_2W_Commands/index.html new file mode 100644 index 0000000..ed65960 --- /dev/null +++ b/ThermorAtlantic_2W_Commands/index.html @@ -0,0 +1,898 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Atlantic Thermor 2W Commands - iown-homecontrol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+
+ + + + + + + +

Atlantic Thermor 2W Commands

+ +

Set 0c61 01xx FF +Get 0c60 01xx FF

+
Message 0c61 0100       02 Mode (is prog)
+        0c60 0100       00 Mode (is auto)
+        0c60 0100       04 Mode (is off )
+Message 0c61 0101       01 
+        0c60 0101       00
+Message 0c61 0102       04 
+        0c60 0102       0401
+Message 0c61 0103       CD Temp (20.5°C) WARNING 0xFF set 53.5°C
+        0c60 0103       c300 (19.5)
+Message 0c61 0104       23 Abaissement max T°ECO (3.5°C)
+        0c60 0104       2300 (3.5)
+Message 0c61 0105       28 Abaissement Mode auto (4.0°C/3.0/2.0)  
+        0c60 0105       2800 (4.0)
+Message 0c61 0106       01
+        0c60 0106       01
+Message 0c61 0107       00
+        0c60 0107       00
+Message 0c61 0108       00
+        0c60 0108
+Message 0c61 0109...0B -> 00
+        0c60 0109       000000
+        0c60 010a       00
+        0c60 010b       00
+(12)    0c61 010C       00 Pilotage Interne/Externe
+        0c60 010c       00
+Message 0c61 010D       00
+        0c60 010d       01
+Message 0c61 010E       01 Window Detection
+        0c60 010e       00
+(15)    0c61 010F       0D Date/Time (13) ? seconds
+        0c60 010f       00 1a 0c 0b 05 0b e7 07 12:26 11/11/2023 (26) (12) (11)(05 SATurday)(11) (231)
+        0c60 010f       08 0e 09 0d 01 02 e8 07
+Message 0c61 0110...13 -> 00
+        0c60 0110    00
+        0c60 0111
+        0c60 0112
+        0c60 0113
+
+(20)    0c60 0114       6809 (104)(09)
+        0c60 0114       9509
+        0c60 0114       a608
+        0c60 0114       1815
+(21)    0c61 0115       34 (52) ? 
+        0c60 0115       1b08
+        0c60 0115       5906
+Message 0c61 0116       01 (01) ? 
+(22)    0c60 0116       25d5 (9685) Incremented value only when ON (hours of usage ?)
+        0c60 0116       2660 (9824)
+        0c60 0116       266a (9834)
+Message 0c61 0117       01 (01) ? 
+(23)    0c60 0117       01
+
+Message 0c61 0118       54 (84) ? 
+(24)    0c60 0118       54
+Message 0c61 0119       
+(25)    0c60 0119       4f 56 41 54 49 4f 4e 20 33 20 56 00 00 00 00 00 00 (O V A T I O N 3 V)
+Message 0c61 011A       D0 
+(26)    0c60 011a       d007e6
+Message 0c61 011B...1D -> 00
+        0c60 011b       e60000000000ff
+        0c60 011c       e60000000000ff
+        0c60 011d       0000
+Message 0c61 011E       00 Mode Program date & time - if FF 0x1E
+(30)    0c60 011e       57 04 04 04 04 04 04
+Message 0c61 011e       05 0c 2c 00 00 00 00 00 00 00 00 -> 05 Samedi, 06h->22h Confort
+Message 0c61 011e       01 0A 12 22 2E 00 00 00 00 00 00 -> 00->06 day of week 
+                           0x0A SHR1 = 05H / 0x12 SHR1 = 09H / 0x22 SHR1 = 17H / 0x2E SHR1 = 23H
+
+Message 0c61 011F   04 
+        0c60 011f   04
+Message 0c61 0120...25 -> 00
+
+Message 0c61 0126       0B (11) ?
+        0c60 0126       07
+Message 0c61 0127...29 -> 00
+        0c60 0127       1a00
+        0c60 0128       02
+

Unpair devices ??? +14:28:18.760 > (13) 2W S 1 E 0 FROM 477706 TO 8CCB31 CMD 20 +0.000 F868.950 < DATA(05) 0c61012901 +14:28:18.769 > (14) 2W S 0 E 0 FROM 8CCB31 TO 477706 CMD 3C +9.392 F868.950 < DATA(06) 8a74d912860a +14:28:18.777 > (14) 2W S 0 E 0 FROM 477706 TO 8CCB31 CMD 3D +9.173 F868.950 < DATA(06) d2f08d3aceb4 +14:28:18.786 > (13) 2W S 0 E 1 FROM 8CCB31 TO 477706 CMD 21 +8.629 F868.950 < DATA(05) 0c61012901

+
(42)    0c61 012A      CD (205) ? Temp  WARNING 0xFF set 89.5°C
+        0c60 012a      c300 (195) Temp
+(44)    0c61 012c
+        0c60 012c      02 8ccb31 9c f8 24 00 01 00 (powerOn answer paired 8ccb31)
+        0c60 012c      02 8ccb31 96 4a 1e 00 01 00
+        0c60 012c      02 8ccb31 2c 73 23 00 01 00
+        0c60 012c      00 000000 e2 96 05 00 01 00 (09:43 11/03/2024)
+        0c60 012c      00 000000 9d 6d 05 00 01 00 (09:45 11/03/2024)
+        0c60 012c      00 000000 55 98 05 00 01 00
+(45)    0c61 012D       
+        0c60 012d       477706 (master device 477706)
+        0c60 012d       8ccb30
+Message 0c61 012E       04  ?
+        0c60 012e       04
+        0c60 012f       4e(78)  1c(28)
+        0c60 012f       7e(126) 1c
+Message 0c61 0130...35 -> FE 80
+(48)    0c60 0130       cd(205) 00 23(35) 00 28(40) 00 00 00 18(24) 01 02 01 01 00 00 00 00
+        0c60 0130       c3 00 23 00 28 00 00 00 04 01 04 00 01 02 00 00 00 Midnight (19.5) (3.5) (4.0)
+        0c60 0130       c8 00 23 00 28 00 00 00 04 01 04 00 01 02 00 00 00 Midnight (20.0) (3.5) (4.0)
+

SAME : +Message 0c61 011e 01 0A 12 22 2E 00 00 00 00 00 00 -> 00->06 day of week + MA 0x0A SHR1 = 05H / 0x12 SHR1 = 09H / 0x22 SHR1 = 17H / 0x2E SHR1 = 23H + 0c60 0131(49) 00 4b ff 00 00 00 00 0b 11 1c 2d 00 00 + LU 37 LU 5 8 14 22 + 0c60 0131 00 00 00 00 00 00 00 0a 12 22 2e 00 00 + LU LU 5 9 17 23 + 0c60 0132(50) 01 0b 11 1c 2d 00 00 02 0b 11 1c 2d 00 00 + MA 5 8 14 22 ME 5 8 14 22 + 0c60 0132 01 0a 12 22 2e 00 00 02 0a 12 22 2e 00 00 + MA 5 9 17 23 ME 5 9 17 23 + 0c60 0133(51) 03 0b 11 1c 2d 00 00 04 0b 11 1c 2d 00 00 + JE 5 8 14 22 VE 5 8 14 2 + 0c60 0133 03 0a 12 22 2e 00 00 04 0a 12 22 2e 00 00 + JE 5 9 17 23 VE 5 9 17 23 + 0c60 0134(52) 05 0c 2c 00 00 00 00 06 0c 2c 00 00 00 00 00 00 + SA 6 16 DI 6 16 + 0c60 0134 05 0a 2e 00 00 00 00 06 0a 2e 00 00 00 00 00 00 + SA 5 23 DI 5 23

+
Message 0c61 0136...FF -> 00
+

0c60100 (02) +0c60c01 (01) +0c600102 ff 0c600102 1801 (24) (01) +0c600103 ff 0c600103 cd 00 (20.5°C) (00) T° Actuelle +0c600104 ff 0c600104 23 00 (3.5°C) (00) T° Eco +0c600105 28 00 (4.0°C) (00) T° Auto +0c600109 00 4b ff (00) (75) (FF)

+

0c600115 1b08 (27)(08) +0c600116(22) 0167 (01)(103) +0c600130 cd 00 2300 28000000 04 010000 01 02000000 +0c600130(48) cd(205) 00 23(35) 00 28(40) 00 00 00 18(24) 01 02 01 01 00 00 00 00 + 0c600130 c8(200) 00 23(35) 00 1e(30) 00 00 00 04(04) 01 00 00 01 02 00 00 00

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/assets/champagne_bottle.gif b/assets/champagne_bottle.gif new file mode 100644 index 0000000..2fd63e0 Binary files /dev/null and b/assets/champagne_bottle.gif differ diff --git a/assets/external/fonts.googleapis.com/css.bfe0d362.css b/assets/external/fonts.googleapis.com/css.bfe0d362.css new file mode 100644 index 0000000..d75b92a --- /dev/null +++ b/assets/external/fonts.googleapis.com/css.bfe0d362.css @@ -0,0 +1,852 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* math */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* math */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* math */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* math */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* math */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* hebrew */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); + unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; +} +/* math */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-stretch: 100%; + font-display: fallback; + src: url(../fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 new file mode 100644 index 0000000..c787ad8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 new file mode 100644 index 0000000..f3b2c4d Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 new file mode 100644 index 0000000..87f0364 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 new file mode 100644 index 0000000..3f5ef09 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 new file mode 100644 index 0000000..f762e91 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 new file mode 100644 index 0000000..7404f02 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 new file mode 100644 index 0000000..8e05a7f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 new file mode 100644 index 0000000..7d385f3 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 new file mode 100644 index 0000000..387470b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 new file mode 100644 index 0000000..f53b8df Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 new file mode 100644 index 0000000..0beab54 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 new file mode 100644 index 0000000..e1ce55f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 new file mode 100644 index 0000000..9c609c8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 new file mode 100644 index 0000000..7cd1174 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 new file mode 100644 index 0000000..b852126 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 new file mode 100644 index 0000000..612ff5d Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 new file mode 100644 index 0000000..f482ce1 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 new file mode 100644 index 0000000..b7bc862 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 new file mode 100644 index 0000000..18862e8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 new file mode 100644 index 0000000..35bac5d Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/opensans/v40/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2 new file mode 100644 index 0000000..5a5cd9c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2 new file mode 100644 index 0000000..a455e2b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2 new file mode 100644 index 0000000..b455dfe Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2 new file mode 100644 index 0000000..6fbd85a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2 new file mode 100644 index 0000000..df5f193 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2 new file mode 100644 index 0000000..29531f4 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2 new file mode 100644 index 0000000..36428b1 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2 new file mode 100644 index 0000000..51cc963 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2 new file mode 100644 index 0000000..1059d86 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2 new file mode 100644 index 0000000..82b2771 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2 new file mode 100644 index 0000000..959a059 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2 new file mode 100644 index 0000000..b52412f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 new file mode 100644 index 0000000..92ec082 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2 b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2 new file mode 100644 index 0000000..a15fcd8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/sourcecodepro/v23/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2 differ diff --git a/assets/external/img.shields.io/badge/Discord-Join-5865F2.65b9592c.svg b/assets/external/img.shields.io/badge/Discord-Join-5865F2.65b9592c.svg new file mode 100644 index 0000000..9337df0 --- /dev/null +++ b/assets/external/img.shields.io/badge/Discord-Join-5865F2.65b9592c.svg @@ -0,0 +1 @@ +DISCORD: JOINDISCORDJOIN \ No newline at end of file diff --git a/assets/external/img.shields.io/badge/Telegram-Join-5865F2.4847c376.svg b/assets/external/img.shields.io/badge/Telegram-Join-5865F2.4847c376.svg new file mode 100644 index 0000000..58e56c2 --- /dev/null +++ b/assets/external/img.shields.io/badge/Telegram-Join-5865F2.4847c376.svg @@ -0,0 +1 @@ +TELEGRAM: JOINTELEGRAMJOIN \ No newline at end of file diff --git a/assets/external/unpkg.com/mermaid@10.7.0/dist/mermaid.min.js b/assets/external/unpkg.com/mermaid@10.7.0/dist/mermaid.min.js new file mode 100644 index 0000000..a41e9ef --- /dev/null +++ b/assets/external/unpkg.com/mermaid@10.7.0/dist/mermaid.min.js @@ -0,0 +1,1642 @@ +(function(SL,X0){typeof exports=="object"&&typeof module<"u"?module.exports=X0():typeof define=="function"&&define.amd?define(X0):(SL=typeof globalThis<"u"?globalThis:SL||self,SL.mermaid=X0())})(this,function(){"use strict";function SL(i){for(var a=[],f=1;f=Nt?V:""+Array(Nt+1-jt.length).join(Dt)+V},yt={s:pt,z:function(V){var Nt=-V.utcOffset(),Dt=Math.abs(Nt),jt=Math.floor(Dt/60),Ct=Dt%60;return(Nt<=0?"+":"-")+pt(jt,2,"0")+":"+pt(Ct,2,"0")},m:function V(Nt,Dt){if(Nt.date()1)return V(_t[0])}else{var xt=Nt.name;gt[xt]=Nt,Ct=xt}return!jt&&Ct&&(mt=Ct),Ct||!jt&&mt},Z=function(V,Nt){if(ht(V))return V.clone();var Dt=typeof Nt=="object"?Nt:{};return Dt.date=V,Dt.args=arguments,new Y(Dt)},ft=yt;ft.l=bt,ft.i=ht,ft.w=function(V,Nt){return Z(V,{locale:Nt.$L,utc:Nt.$u,x:Nt.$x,$offset:Nt.$offset})};var Y=function(){function V(Dt){this.$L=bt(Dt.locale,null,!0),this.parse(Dt)}var Nt=V.prototype;return Nt.parse=function(Dt){this.$d=function(jt){var Ct=jt.date,Ft=jt.utc;if(Ct===null)return new Date(NaN);if(ft.u(Ct))return new Date;if(Ct instanceof Date)return new Date(Ct);if(typeof Ct=="string"&&!/Z$/i.test(Ct)){var _t=Ct.match(rt);if(_t){var xt=_t[2]-1||0,Gt=(_t[7]||"0").substring(0,3);return Ft?new Date(Date.UTC(_t[1],xt,_t[3]||1,_t[4]||0,_t[5]||0,_t[6]||0,Gt)):new Date(_t[1],xt,_t[3]||1,_t[4]||0,_t[5]||0,_t[6]||0,Gt)}}return new Date(Ct)}(Dt),this.$x=Dt.x||{},this.init()},Nt.init=function(){var Dt=this.$d;this.$y=Dt.getFullYear(),this.$M=Dt.getMonth(),this.$D=Dt.getDate(),this.$W=Dt.getDay(),this.$H=Dt.getHours(),this.$m=Dt.getMinutes(),this.$s=Dt.getSeconds(),this.$ms=Dt.getMilliseconds()},Nt.$utils=function(){return ft},Nt.isValid=function(){return this.$d.toString()!==X},Nt.isSame=function(Dt,jt){var Ct=Z(Dt);return this.startOf(jt)<=Ct&&Ct<=this.endOf(jt)},Nt.isAfter=function(Dt,jt){return Z(Dt){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},s0t=function(i="fatal"){let a=wx.fatal;typeof i=="string"?(i=i.toLowerCase(),i in wx&&(a=wx[i])):typeof i=="number"&&(a=i),Wt.trace=()=>{},Wt.debug=()=>{},Wt.info=()=>{},Wt.warn=()=>{},Wt.error=()=>{},Wt.fatal=()=>{},a<=wx.fatal&&(Wt.fatal=console.error?console.error.bind(console,$w("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",$w("FATAL"))),a<=wx.error&&(Wt.error=console.error?console.error.bind(console,$w("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",$w("ERROR"))),a<=wx.warn&&(Wt.warn=console.warn?console.warn.bind(console,$w("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",$w("WARN"))),a<=wx.info&&(Wt.info=console.info?console.info.bind(console,$w("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",$w("INFO"))),a<=wx.debug&&(Wt.debug=console.debug?console.debug.bind(console,$w("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",$w("DEBUG"))),a<=wx.trace&&(Wt.trace=console.debug?console.debug.bind(console,$w("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",$w("TRACE")))},$w=i=>`%c${Q0().format("ss.SSS")} : ${i} : `;var a0t={};Object.defineProperty(a0t,"__esModule",{value:!0});var c8=a0t.sanitizeUrl=void 0,KTe=/^([^\w]*)(javascript|data|vbscript)/im,WTe=/&#(\w+)(^\w|;)?/g,YTe=/&(newline|tab);/gi,XTe=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,QTe=/^.+(:|:)/gim,JTe=[".","/"];function ZTe(i){return JTe.indexOf(i[0])>-1}function t9e(i){return i.replace(WTe,function(a,f){return String.fromCharCode(f)})}function e9e(i){var a=t9e(i||"").replace(YTe,"").replace(XTe,"").trim();if(!a)return"about:blank";if(ZTe(a))return a;var f=a.match(QTe);if(!f)return a;var g=f[0];return KTe.test(g)?"about:blank":a}c8=a0t.sanitizeUrl=e9e;function QK(i,a){return i==null||a==null?NaN:ia?1:i>=a?0:NaN}function n9e(i,a){return i==null||a==null?NaN:ai?1:a>=i?0:NaN}function o0t(i){let a,f,g;i.length!==2?(a=QK,f=(E,_)=>QK(i(E),_),g=(E,_)=>i(E)-_):(a=i===QK||i===n9e?i:r9e,f=i,g=i);function w(E,_,S=0,I=E.length){if(S>>1;f(E[B],_)<0?S=B+1:I=B}while(S>>1;f(E[B],_)<=0?S=B+1:I=B}while(SS&&g(E[B-1],_)>-g(E[B],_)?B-1:B}return{left:w,center:b,right:v}}function r9e(){return 0}function i9e(i){return i===null?NaN:+i}const s9e=o0t(QK).right;o0t(i9e).center;const a9e=s9e;class cOt extends Map{constructor(a,f=u9e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[g,w]of a)this.set(g,w)}get(a){return super.get(uOt(this,a))}has(a){return super.has(uOt(this,a))}set(a,f){return super.set(o9e(this,a),f)}delete(a){return super.delete(c9e(this,a))}}function uOt({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):f}function o9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):(i.set(g,f),f)}function c9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)&&(f=i.get(g),i.delete(g)),f}function u9e(i){return i!==null&&typeof i=="object"?i.valueOf():i}const l9e=Math.sqrt(50),h9e=Math.sqrt(10),f9e=Math.sqrt(2);function JK(i,a,f){const g=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(g)),v=g/Math.pow(10,w),b=v>=l9e?10:v>=h9e?5:v>=f9e?2:1;let E,_,S;return w<0?(S=Math.pow(10,-w)/b,E=Math.round(i*S),_=Math.round(a*S),E/Sa&&--_,S=-S):(S=Math.pow(10,w)*b,E=Math.round(i/S),_=Math.round(a/S),E*Sa&&--_),_0))return[];if(i===a)return[i];const g=a=w))return[];const E=v-w+1,_=new Array(E);if(g)if(b<0)for(let S=0;S=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f=w)&&(f=w)}return f}function p9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f>g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function b9e(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var g=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,v=new Array(w);++g+i(a)}function x9e(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function k9e(){return!this.__axis}function hOt(i,a){var f=[],g=null,w=null,v=6,b=6,E=3,_=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=i===ZK||i===tW?-1:1,I=i===tW||i===l0t?"x":"y",B=i===ZK||i===h0t?m9e:v9e;function F(R){var q=g??(a.ticks?a.ticks.apply(a,f):a.domain()),X=w??(a.tickFormat?a.tickFormat.apply(a,f):w9e),rt=Math.max(v,0)+E,at=a.range(),ut=+at[0]+_,pt=+at[at.length-1]+_,yt=(a.bandwidth?x9e:y9e)(a.copy(),_),mt=R.selection?R.selection():R,gt=mt.selectAll(".domain").data([null]),ht=mt.selectAll(".tick").data(q,a).order(),bt=ht.exit(),Z=ht.enter().append("g").attr("class","tick"),ft=ht.select("line"),Y=ht.select("text");gt=gt.merge(gt.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),ht=ht.merge(Z),ft=ft.merge(Z.append("line").attr("stroke","currentColor").attr(I+"2",S*v)),Y=Y.merge(Z.append("text").attr("fill","currentColor").attr(I,S*rt).attr("dy",i===ZK?"0em":i===h0t?"0.71em":"0.32em")),R!==mt&&(gt=gt.transition(R),ht=ht.transition(R),ft=ft.transition(R),Y=Y.transition(R),bt=bt.transition(R).attr("opacity",lOt).attr("transform",function(Et){return isFinite(Et=yt(Et))?B(Et+_):this.getAttribute("transform")}),Z.attr("opacity",lOt).attr("transform",function(Et){var V=this.parentNode.__axis;return B((V&&isFinite(V=V(Et))?V:yt(Et))+_)})),bt.remove(),gt.attr("d",i===tW||i===l0t?b?"M"+S*b+","+ut+"H"+_+"V"+pt+"H"+S*b:"M"+_+","+ut+"V"+pt:b?"M"+ut+","+S*b+"V"+_+"H"+pt+"V"+S*b:"M"+ut+","+_+"H"+pt),ht.attr("opacity",1).attr("transform",function(Et){return B(yt(Et)+_)}),ft.attr(I+"2",S*v),Y.attr(I,S*rt).text(X),mt.filter(k9e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===l0t?"start":i===tW?"end":"middle"),mt.each(function(){this.__axis=yt})}return F.scale=function(R){return arguments.length?(a=R,F):a},F.ticks=function(){return f=Array.from(arguments),F},F.tickArguments=function(R){return arguments.length?(f=R==null?[]:Array.from(R),F):f.slice()},F.tickValues=function(R){return arguments.length?(g=R==null?null:Array.from(R),F):g&&g.slice()},F.tickFormat=function(R){return arguments.length?(w=R,F):w},F.tickSize=function(R){return arguments.length?(v=b=+R,F):v},F.tickSizeInner=function(R){return arguments.length?(v=+R,F):v},F.tickSizeOuter=function(R){return arguments.length?(b=+R,F):b},F.tickPadding=function(R){return arguments.length?(E=+R,F):E},F.offset=function(R){return arguments.length?(_=+R,F):_},F}function E9e(i){return hOt(ZK,i)}function T9e(i){return hOt(h0t,i)}var C9e={value:()=>{}};function fOt(){for(var i=0,a=arguments.length,f={},g;i=0&&(g=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:g}})}eW.prototype=fOt.prototype={constructor:eW,on:function(i,a){var f=this._,g=_9e(i+"",f),w,v=-1,b=g.length;if(arguments.length<2){for(;++v0)for(var f=new Array(w),g=0,w,v;g=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),gOt.hasOwnProperty(a)?{space:gOt[a],local:i}:i}function A9e(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===f0t&&a.documentElement.namespaceURI===f0t?a.createElement(i):a.createElementNS(f,i)}}function L9e(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function pOt(i){var a=nW(i);return(a.local?L9e:A9e)(a)}function M9e(){}function d0t(i){return i==null?M9e:function(){return this.querySelector(i)}}function D9e(i){typeof i!="function"&&(i=d0t(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w=pt&&(pt=ut+1);!(mt=rt[pt])&&++pt=0;)(b=g[w])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function eCe(i){i||(i=nCe);function a(B,F){return B&&F?i(B.__data__,F.__data__):!B-!F}for(var f=this._groups,g=f.length,w=new Array(g),v=0;va?1:i>=a?0:NaN}function rCe(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function iCe(){return Array.from(this)}function sCe(){for(var i=this._groups,a=0,f=i.length;a1?this.each((a==null?bCe:typeof a=="function"?mCe:wCe)(i,a,f??"")):AL(this.node(),i)}function AL(i,a){return i.style.getPropertyValue(a)||xOt(i).getComputedStyle(i,null).getPropertyValue(a)}function yCe(i){return function(){delete this[i]}}function xCe(i,a){return function(){this[i]=a}}function kCe(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function ECe(i,a){return arguments.length>1?this.each((a==null?yCe:typeof a=="function"?kCe:xCe)(i,a)):this.node()[i]}function kOt(i){return i.trim().split(/^|\s+/)}function g0t(i){return i.classList||new EOt(i)}function EOt(i){this._node=i,this._names=kOt(i.getAttribute("class")||"")}EOt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function TOt(i,a){for(var f=g0t(i),g=-1,w=a.length;++g=0&&(f=a.slice(g+1),a=a.slice(0,g)),{type:a,name:f}})}function QCe(i){return function(){var a=this.__on;if(a){for(var f=0,g=-1,w=a.length,v;f>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?aW(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?aW(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=a_e.exec(i))?new J0(a[1],a[2],a[3],1):(a=o_e.exec(i))?new J0(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=c_e.exec(i))?aW(a[1],a[2],a[3],a[4]):(a=u_e.exec(i))?aW(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=l_e.exec(i))?NOt(a[1],a[2]/100,a[3]/100,1):(a=h_e.exec(i))?NOt(a[1],a[2]/100,a[3]/100,a[4]):AOt.hasOwnProperty(i)?DOt(AOt[i]):i==="transparent"?new J0(NaN,NaN,NaN,0):null}function DOt(i){return new J0(i>>16&255,i>>8&255,i&255,1)}function aW(i,a,f,g){return g<=0&&(i=a=f=NaN),new J0(i,a,f,g)}function IOt(i){return i instanceof ZT||(i=t9(i)),i?(i=i.rgb(),new J0(i.r,i.g,i.b,i.opacity)):new J0}function b0t(i,a,f,g){return arguments.length===1?IOt(i):new J0(i,a,f,g??1)}function J0(i,a,f,g){this.r=+i,this.g=+a,this.b=+f,this.opacity=+g}KN(J0,b0t,iW(ZT,{brighter(i){return i=i==null?sW:Math.pow(sW,i),new J0(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?WN:Math.pow(WN,i),new J0(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new J0(e9(this.r),e9(this.g),e9(this.b),oW(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:OOt,formatHex:OOt,formatHex8:g_e,formatRgb:POt,toString:POt}));function OOt(){return`#${n9(this.r)}${n9(this.g)}${n9(this.b)}`}function g_e(){return`#${n9(this.r)}${n9(this.g)}${n9(this.b)}${n9((isNaN(this.opacity)?1:this.opacity)*255)}`}function POt(){const i=oW(this.opacity);return`${i===1?"rgb(":"rgba("}${e9(this.r)}, ${e9(this.g)}, ${e9(this.b)}${i===1?")":`, ${i})`}`}function oW(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function e9(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function n9(i){return i=e9(i),(i<16?"0":"")+i.toString(16)}function NOt(i,a,f,g){return g<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new Rv(i,a,f,g)}function FOt(i){if(i instanceof Rv)return new Rv(i.h,i.s,i.l,i.opacity);if(i instanceof ZT||(i=t9(i)),!i)return new Rv;if(i instanceof Rv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,g=i.b/255,w=Math.min(a,f,g),v=Math.max(a,f,g),b=NaN,E=v-w,_=(v+w)/2;return E?(a===v?b=(f-g)/E+(f0&&_<1?0:b,new Rv(b,E,_,i.opacity)}function p_e(i,a,f,g){return arguments.length===1?FOt(i):new Rv(i,a,f,g??1)}function Rv(i,a,f,g){this.h=+i,this.s=+a,this.l=+f,this.opacity=+g}KN(Rv,p_e,iW(ZT,{brighter(i){return i=i==null?sW:Math.pow(sW,i),new Rv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?WN:Math.pow(WN,i),new Rv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,g=f+(f<.5?f:1-f)*a,w=2*f-g;return new J0(w0t(i>=240?i-240:i+120,w,g),w0t(i,w,g),w0t(i<120?i+240:i-120,w,g),this.opacity)},clamp(){return new Rv(BOt(this.h),cW(this.s),cW(this.l),oW(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=oW(this.opacity);return`${i===1?"hsl(":"hsla("}${BOt(this.h)}, ${cW(this.s)*100}%, ${cW(this.l)*100}%${i===1?")":`, ${i})`}`}}));function BOt(i){return i=(i||0)%360,i<0?i+360:i}function cW(i){return Math.max(0,Math.min(1,i||0))}function w0t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const b_e=Math.PI/180,w_e=180/Math.PI,uW=18,ROt=.96422,jOt=1,$Ot=.82521,zOt=4/29,ML=6/29,qOt=3*ML*ML,m_e=ML*ML*ML;function HOt(i){if(i instanceof J3)return new J3(i.l,i.a,i.b,i.opacity);if(i instanceof mx)return VOt(i);i instanceof J0||(i=IOt(i));var a=x0t(i.r),f=x0t(i.g),g=x0t(i.b),w=m0t((.2225045*a+.7168786*f+.0606169*g)/jOt),v,b;return a===f&&f===g?v=b=w:(v=m0t((.4360747*a+.3850649*f+.1430804*g)/ROt),b=m0t((.0139322*a+.0971045*f+.7141733*g)/$Ot)),new J3(116*w-16,500*(v-w),200*(w-b),i.opacity)}function v_e(i,a,f,g){return arguments.length===1?HOt(i):new J3(i,a,f,g??1)}function J3(i,a,f,g){this.l=+i,this.a=+a,this.b=+f,this.opacity=+g}KN(J3,v_e,iW(ZT,{brighter(i){return new J3(this.l+uW*(i??1),this.a,this.b,this.opacity)},darker(i){return new J3(this.l-uW*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=ROt*v0t(a),i=jOt*v0t(i),f=$Ot*v0t(f),new J0(y0t(3.1338561*a-1.6168667*i-.4906146*f),y0t(-.9787684*a+1.9161415*i+.033454*f),y0t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function m0t(i){return i>m_e?Math.pow(i,1/3):i/qOt+zOt}function v0t(i){return i>ML?i*i*i:qOt*(i-zOt)}function y0t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function x0t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function y_e(i){if(i instanceof mx)return new mx(i.h,i.c,i.l,i.opacity);if(i instanceof J3||(i=HOt(i)),i.a===0&&i.b===0)return new mx(NaN,0()=>i;function UOt(i,a){return function(f){return i+f*a}}function x_e(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(g){return Math.pow(i+g*a,f)}}function k_e(i,a){var f=a-i;return f?UOt(i,f>180||f<-180?f-360*Math.round(f/360):f):lW(isNaN(i)?a:i)}function E_e(i){return(i=+i)==1?XN:function(a,f){return f-a?x_e(a,f,i):lW(isNaN(a)?f:a)}}function XN(i,a){var f=a-i;return f?UOt(i,f):lW(isNaN(i)?a:i)}const hW=function i(a){var f=E_e(a);function g(w,v){var b=f((w=b0t(w)).r,(v=b0t(v)).r),E=f(w.g,v.g),_=f(w.b,v.b),S=XN(w.opacity,v.opacity);return function(I){return w.r=b(I),w.g=E(I),w.b=_(I),w.opacity=S(I),w+""}}return g.gamma=i,g}(1);function T_e(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,g=a.slice(),w;return function(v){for(w=0;wf&&(v=a.slice(f,v),E[b]?E[b]+=v:E[++b]=v),(g=g[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,_.push({i:b,x:jv(g,w)})),f=T0t.lastIndex;return f180?I+=360:I-S>180&&(S+=360),F.push({i:B.push(w(B)+"rotate(",null,g)-2,x:jv(S,I)})):I&&B.push(w(B)+"rotate("+I+g)}function E(S,I,B,F){S!==I?F.push({i:B.push(w(B)+"skewX(",null,g)-2,x:jv(S,I)}):I&&B.push(w(B)+"skewX("+I+g)}function _(S,I,B,F,R,q){if(S!==B||I!==F){var X=R.push(w(R)+"scale(",null,",",null,")");q.push({i:X-4,x:jv(S,B)},{i:X-2,x:jv(I,F)})}else(B!==1||F!==1)&&R.push(w(R)+"scale("+B+","+F+")")}return function(S,I){var B=[],F=[];return S=i(S),I=i(I),v(S.translateX,S.translateY,I.translateX,I.translateY,B,F),b(S.rotate,I.rotate,B,F),E(S.skewX,I.skewX,B,F),_(S.scaleX,S.scaleY,I.scaleX,I.scaleY,B,F),S=I=null,function(R){for(var q=-1,X=F.length,rt;++q=0&&i._call.call(void 0,a),i=i._next;--DL}function ZOt(){r9=(gW=tF.now())+pW,DL=QN=0;try{j_e()}finally{DL=0,z_e(),r9=0}}function $_e(){var i=tF.now(),a=i-gW;a>XOt&&(pW-=a,gW=i)}function z_e(){for(var i,a=dW,f,g=1/0;a;)a._call?(g>a._time&&(g=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:dW=f);ZN=i,A0t(g)}function A0t(i){if(!DL){QN&&(QN=clearTimeout(QN));var a=i-r9;a>24?(i<1/0&&(QN=setTimeout(ZOt,i-tF.now()-pW)),JN&&(JN=clearInterval(JN))):(JN||(gW=tF.now(),JN=setInterval($_e,XOt)),DL=1,QOt(ZOt))}}function tPt(i,a,f){var g=new bW;return a=a==null?0:+a,g.restart(w=>{g.stop(),i(w+a)},a,f),g}var q_e=fOt("start","end","cancel","interrupt"),H_e=[],ePt=0,nPt=1,L0t=2,wW=3,rPt=4,M0t=5,mW=6;function vW(i,a,f,g,w,v){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;V_e(i,f,{name:a,index:g,group:w,on:q_e,tween:H_e,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:ePt})}function D0t(i,a){var f=$v(i,a);if(f.state>ePt)throw new Error("too late; already scheduled");return f}function Z3(i,a){var f=$v(i,a);if(f.state>wW)throw new Error("too late; already running");return f}function $v(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function V_e(i,a,f){var g=i.__transition,w;g[a]=f,f.timer=JOt(v,0,f.time);function v(S){f.state=nPt,f.timer.restart(b,f.delay,f.time),f.delay<=S&&b(S-f.delay)}function b(S){var I,B,F,R;if(f.state!==nPt)return _();for(I in g)if(R=g[I],R.name===f.name){if(R.state===wW)return tPt(b);R.state===rPt?(R.state=mW,R.timer.stop(),R.on.call("interrupt",i,i.__data__,R.index,R.group),delete g[I]):+IL0t&&g.state=0&&(a=a.slice(0,f)),!a||a==="start"})}function xSe(i,a,f){var g,w,v=ySe(a)?D0t:Z3;return function(){var b=v(this,i),E=b.on;E!==g&&(w=(g=E).copy()).on(a,f),b.on=w}}function kSe(i,a){var f=this._id;return arguments.length<2?$v(this.node(),f).on.on(i):this.each(xSe(f,i,a))}function ESe(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function TSe(){return this.on("end.remove",ESe(this._id))}function CSe(i){var a=this._name,f=this._id;typeof i!="function"&&(i=d0t(i));for(var g=this._groups,w=g.length,v=new Array(w),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(a>15)return oPt;const f=10**a;return function(g){this._+=g[0];for(let w=1,v=g.length;wi9)if(!(Math.abs(B*_-S*I)>i9)||!v)this._append`L${this._x1=a},${this._y1=f}`;else{let R=g-b,q=w-E,X=_*_+S*S,rt=R*R+q*q,at=Math.sqrt(X),ut=Math.sqrt(F),pt=v*Math.tan((O0t-Math.acos((X+F-rt)/(2*at*ut)))/2),yt=pt/ut,mt=pt/at;Math.abs(yt-1)>i9&&this._append`L${a+yt*I},${f+yt*B}`,this._append`A${v},${v},0,0,${+(B*R>I*q)},${this._x1=a+mt*_},${this._y1=f+mt*S}`}}arc(a,f,g,w,v,b){if(a=+a,f=+f,g=+g,b=!!b,g<0)throw new Error(`negative radius: ${g}`);let E=g*Math.cos(w),_=g*Math.sin(w),S=a+E,I=f+_,B=1^b,F=b?w-v:v-w;this._x1===null?this._append`M${S},${I}`:(Math.abs(this._x1-S)>i9||Math.abs(this._y1-I)>i9)&&this._append`L${S},${I}`,g&&(F<0&&(F=F%P0t+P0t),F>XSe?this._append`A${g},${g},0,1,${B},${a-E},${f-_}A${g},${g},0,1,${B},${this._x1=S},${this._y1=I}`:F>i9&&this._append`A${g},${g},0,${+(F>=O0t)},${B},${this._x1=a+g*Math.cos(v)},${this._y1=f+g*Math.sin(v)}`)}rect(a,f,g,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${g=+g}v${+w}h${-g}Z`}toString(){return this._}};function ZSe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function tAe(i,a){return fetch(i,a).then(ZSe)}function eAe(i){return(a,f)=>tAe(a,f).then(g=>new DOMParser().parseFromString(g,i))}var nAe=eAe("image/svg+xml");function rAe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function yW(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,g=i.slice(0,f);return[g.length>1?g[0]+g.slice(2):g,+i.slice(f+1)]}function IL(i){return i=yW(Math.abs(i)),i?i[1]:NaN}function iAe(i,a){return function(f,g){for(var w=f.length,v=[],b=0,E=i[0],_=0;w>0&&E>0&&(_+E+1>g&&(E=Math.max(1,g-_)),v.push(f.substring(w-=E,w+E)),!((_+=E+1)>g));)E=i[b=(b+1)%i.length];return v.reverse().join(a)}}function sAe(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var aAe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function xW(i){if(!(a=aAe.exec(i)))throw new Error("invalid format: "+i);var a;return new N0t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}xW.prototype=N0t.prototype;function N0t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}N0t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function oAe(i){t:for(var a=i.length,f=1,g=-1,w;f0&&(g=0);break}return g>0?i.slice(0,g)+i.slice(w+1):i}var cPt;function cAe(i,a){var f=yW(i,a);if(!f)return i+"";var g=f[0],w=f[1],v=w-(cPt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=g.length;return v===b?g:v>b?g+new Array(v-b+1).join("0"):v>0?g.slice(0,v)+"."+g.slice(v):"0."+new Array(1-v).join("0")+yW(i,Math.max(0,a+v-1))[0]}function uPt(i,a){var f=yW(i,a);if(!f)return i+"";var g=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+g:g.length>w+1?g.slice(0,w+1)+"."+g.slice(w+1):g+new Array(w-g.length+2).join("0")}const lPt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:rAe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>uPt(i*100,a),r:uPt,s:cAe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function hPt(i){return i}var fPt=Array.prototype.map,dPt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function uAe(i){var a=i.grouping===void 0||i.thousands===void 0?hPt:iAe(fPt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",g=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?hPt:sAe(fPt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",_=i.nan===void 0?"NaN":i.nan+"";function S(B){B=xW(B);var F=B.fill,R=B.align,q=B.sign,X=B.symbol,rt=B.zero,at=B.width,ut=B.comma,pt=B.precision,yt=B.trim,mt=B.type;mt==="n"?(ut=!0,mt="g"):lPt[mt]||(pt===void 0&&(pt=12),yt=!0,mt="g"),(rt||F==="0"&&R==="=")&&(rt=!0,F="0",R="=");var gt=X==="$"?f:X==="#"&&/[boxX]/.test(mt)?"0"+mt.toLowerCase():"",ht=X==="$"?g:/[%p]/.test(mt)?b:"",bt=lPt[mt],Z=/[defgprs%]/.test(mt);pt=pt===void 0?6:/[gprs]/.test(mt)?Math.max(1,Math.min(21,pt)):Math.max(0,Math.min(20,pt));function ft(Y){var Et=gt,V=ht,Nt,Dt,jt;if(mt==="c")V=bt(Y)+V,Y="";else{Y=+Y;var Ct=Y<0||1/Y<0;if(Y=isNaN(Y)?_:bt(Math.abs(Y),pt),yt&&(Y=oAe(Y)),Ct&&+Y==0&&q!=="+"&&(Ct=!1),Et=(Ct?q==="("?q:E:q==="-"||q==="("?"":q)+Et,V=(mt==="s"?dPt[8+cPt/3]:"")+V+(Ct&&q==="("?")":""),Z){for(Nt=-1,Dt=Y.length;++Ntjt||jt>57){V=(jt===46?w+Y.slice(Nt+1):Y.slice(Nt))+V,Y=Y.slice(0,Nt);break}}}ut&&!rt&&(Y=a(Y,1/0));var Ft=Et.length+Y.length+V.length,_t=Ft>1)+Et+Y+V+_t.slice(Ft);break;default:Y=_t+Et+Y+V;break}return v(Y)}return ft.toString=function(){return B+""},ft}function I(B,F){var R=S((B=xW(B),B.type="f",B)),q=Math.max(-8,Math.min(8,Math.floor(IL(F)/3)))*3,X=Math.pow(10,-q),rt=dPt[8+q/3];return function(at){return R(X*at)+rt}}return{format:S,formatPrefix:I}}var kW,gPt,pPt;lAe({thousands:",",grouping:[3],currency:["$",""]});function lAe(i){return kW=uAe(i),gPt=kW.format,pPt=kW.formatPrefix,kW}function hAe(i){return Math.max(0,-IL(Math.abs(i)))}function fAe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(IL(a)/3)))*3-IL(Math.abs(i)))}function dAe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,IL(a)-IL(i))+1}function EW(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const bPt=Symbol("implicit");function TW(){var i=new cOt,a=[],f=[],g=bPt;function w(v){let b=i.get(v);if(b===void 0){if(g!==bPt)return g;i.set(v,b=a.push(v)-1)}return f[b%f.length]}return w.domain=function(v){if(!arguments.length)return a.slice();a=[],i=new cOt;for(const b of v)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(v){return arguments.length?(f=Array.from(v),w):f.slice()},w.unknown=function(v){return arguments.length?(g=v,w):g},w.copy=function(){return TW(a,f).unknown(g)},EW.apply(w,arguments),w}function F0t(){var i=TW().unknown(void 0),a=i.domain,f=i.range,g=0,w=1,v,b,E=!1,_=0,S=0,I=.5;delete i.unknown;function B(){var F=a().length,R=wa&&(f=i,i=a,a=f),function(g){return Math.max(i,Math.min(a,g))}}function wAe(i,a,f){var g=i[0],w=i[1],v=a[0],b=a[1];return w2?mAe:wAe,_=S=null,B}function B(F){return F==null||isNaN(F=+F)?v:(_||(_=E(i.map(g),a,f)))(g(b(F)))}return B.invert=function(F){return b(w((S||(S=E(a,i.map(g),jv)))(F)))},B.domain=function(F){return arguments.length?(i=Array.from(F,pAe),I()):i.slice()},B.range=function(F){return arguments.length?(a=Array.from(F),I()):a.slice()},B.rangeRound=function(F){return a=Array.from(F),f=D_e,I()},B.clamp=function(F){return arguments.length?(b=F?!0:OL,I()):b!==OL},B.interpolate=function(F){return arguments.length?(f=F,I()):f},B.unknown=function(F){return arguments.length?(v=F,B):v},function(F,R){return g=F,w=R,I()}}function vPt(){return vAe()(OL,OL)}function yAe(i,a,f,g){var w=u0t(i,a,f),v;switch(g=xW(g??",f"),g.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return g.precision==null&&!isNaN(v=fAe(w,b))&&(g.precision=v),pPt(g,b)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(v=dAe(w,Math.max(Math.abs(i),Math.abs(a))))&&(g.precision=v-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(v=hAe(w))&&(g.precision=v-(g.type==="%")*2);break}}return gPt(g)}function xAe(i){var a=i.domain;return i.ticks=function(f){var g=a();return d9e(g[0],g[g.length-1],f??10)},i.tickFormat=function(f,g){var w=a();return yAe(w[0],w[w.length-1],f??10,g)},i.nice=function(f){f==null&&(f=10);var g=a(),w=0,v=g.length-1,b=g[w],E=g[v],_,S,I=10;for(E0;){if(S=c0t(b,E,f),S===_)return g[w]=b,g[v]=E,a(g);if(S>0)b=Math.floor(b/S)*S,E=Math.ceil(E/S)*S;else if(S<0)b=Math.ceil(b*S)/S,E=Math.floor(E*S)/S;else break;_=S}return i},i}function PL(){var i=vPt();return i.copy=function(){return mPt(i,PL())},EW.apply(i,arguments),xAe(i)}function kAe(i,a){i=i.slice();var f=0,g=i.length-1,w=i[f],v=i[g],b;return v(i(v=new Date(+v)),v),w.ceil=v=>(i(v=new Date(v-1)),a(v,1),i(v),v),w.round=v=>{const b=w(v),E=w.ceil(v);return v-b(a(v=new Date(+v),b==null?1:Math.floor(b)),v),w.range=(v,b,E)=>{const _=[];if(v=w.ceil(v),E=E==null?1:Math.floor(E),!(v0))return _;let S;do _.push(S=new Date(+v)),a(v,E),i(v);while(SF1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!v(b););else for(;--E>=0;)for(;a(b,1),!v(b););}),f&&(w.count=(v,b)=>(R0t.setTime(+v),j0t.setTime(+b),i(R0t),i(j0t),Math.floor(f(R0t,j0t))),w.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?w.filter(g?b=>g(b)%v===0:b=>w.count(0,b)%v===0):w)),w}const NL=F1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);NL.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?F1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):NL),NL.range;const xx=1e3,zw=xx*60,kx=zw*60,Ex=kx*24,$0t=Ex*7,yPt=Ex*30,z0t=Ex*365,u8=F1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*xx)},(i,a)=>(a-i)/xx,i=>i.getUTCSeconds());u8.range;const eF=F1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*xx)},(i,a)=>{i.setTime(+i+a*zw)},(i,a)=>(a-i)/zw,i=>i.getMinutes());eF.range,F1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*zw)},(i,a)=>(a-i)/zw,i=>i.getUTCMinutes()).range;const nF=F1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*xx-i.getMinutes()*zw)},(i,a)=>{i.setTime(+i+a*kx)},(i,a)=>(a-i)/kx,i=>i.getHours());nF.range,F1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*kx)},(i,a)=>(a-i)/kx,i=>i.getUTCHours()).range;const s9=F1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*zw)/Ex,i=>i.getDate()-1);s9.range;const q0t=F1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Ex,i=>i.getUTCDate()-1);q0t.range,F1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Ex,i=>Math.floor(i/Ex)).range;function a9(i){return F1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*zw)/$0t)}const rF=a9(0),iF=a9(1),xPt=a9(2),kPt=a9(3),o9=a9(4),EPt=a9(5),TPt=a9(6);rF.range,iF.range,xPt.range,kPt.range,o9.range,EPt.range,TPt.range;function c9(i){return F1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/$0t)}const CPt=c9(0),CW=c9(1),EAe=c9(2),TAe=c9(3),FL=c9(4),CAe=c9(5),_Ae=c9(6);CPt.range,CW.range,EAe.range,TAe.range,FL.range,CAe.range,_Ae.range;const sF=F1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());sF.range,F1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const Tx=F1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());Tx.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:F1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),Tx.range;const u9=F1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());u9.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:F1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),u9.range;function SAe(i,a,f,g,w,v){const b=[[u8,1,xx],[u8,5,5*xx],[u8,15,15*xx],[u8,30,30*xx],[v,1,zw],[v,5,5*zw],[v,15,15*zw],[v,30,30*zw],[w,1,kx],[w,3,3*kx],[w,6,6*kx],[w,12,12*kx],[g,1,Ex],[g,2,2*Ex],[f,1,$0t],[a,1,yPt],[a,3,3*yPt],[i,1,z0t]];function E(S,I,B){const F=Irt).right(b,F);if(R===b.length)return i.every(u0t(S/z0t,I/z0t,B));if(R===0)return NL.every(Math.max(u0t(S,I,B),1));const[q,X]=b[F/b[R-1][2]53)return null;"w"in Ae||(Ae.w=1),"Z"in Ae?(Dn=V0t(aF(Ae.y,0,1)),oe=Dn.getUTCDay(),Dn=oe>4||oe===0?CW.ceil(Dn):CW(Dn),Dn=q0t.offset(Dn,(Ae.V-1)*7),Ae.y=Dn.getUTCFullYear(),Ae.m=Dn.getUTCMonth(),Ae.d=Dn.getUTCDate()+(Ae.w+6)%7):(Dn=H0t(aF(Ae.y,0,1)),oe=Dn.getDay(),Dn=oe>4||oe===0?iF.ceil(Dn):iF(Dn),Dn=s9.offset(Dn,(Ae.V-1)*7),Ae.y=Dn.getFullYear(),Ae.m=Dn.getMonth(),Ae.d=Dn.getDate()+(Ae.w+6)%7)}else("W"in Ae||"U"in Ae)&&("w"in Ae||(Ae.w="u"in Ae?Ae.u%7:"W"in Ae?1:0),oe="Z"in Ae?V0t(aF(Ae.y,0,1)).getUTCDay():H0t(aF(Ae.y,0,1)).getDay(),Ae.m=0,Ae.d="W"in Ae?(Ae.w+6)%7+Ae.W*7-(oe+5)%7:Ae.w+Ae.U*7-(oe+6)%7);return"Z"in Ae?(Ae.H+=Ae.Z/100|0,Ae.M+=Ae.Z%100,V0t(Ae)):H0t(Ae)}}function bt(me,Fe,Qt,Ae){for(var Se=0,Dn=Fe.length,oe=Qt.length,Pr,we;Se=oe)return-1;if(Pr=Fe.charCodeAt(Se++),Pr===37){if(Pr=Fe.charAt(Se++),we=mt[Pr in _Pt?Fe.charAt(Se++):Pr],!we||(Ae=we(me,Qt,Ae))<0)return-1}else if(Pr!=Qt.charCodeAt(Ae++))return-1}return Ae}function Z(me,Fe,Qt){var Ae=S.exec(Fe.slice(Qt));return Ae?(me.p=I.get(Ae[0].toLowerCase()),Qt+Ae[0].length):-1}function ft(me,Fe,Qt){var Ae=R.exec(Fe.slice(Qt));return Ae?(me.w=q.get(Ae[0].toLowerCase()),Qt+Ae[0].length):-1}function Y(me,Fe,Qt){var Ae=B.exec(Fe.slice(Qt));return Ae?(me.w=F.get(Ae[0].toLowerCase()),Qt+Ae[0].length):-1}function Et(me,Fe,Qt){var Ae=at.exec(Fe.slice(Qt));return Ae?(me.m=ut.get(Ae[0].toLowerCase()),Qt+Ae[0].length):-1}function V(me,Fe,Qt){var Ae=X.exec(Fe.slice(Qt));return Ae?(me.m=rt.get(Ae[0].toLowerCase()),Qt+Ae[0].length):-1}function Nt(me,Fe,Qt){return bt(me,a,Fe,Qt)}function Dt(me,Fe,Qt){return bt(me,f,Fe,Qt)}function jt(me,Fe,Qt){return bt(me,g,Fe,Qt)}function Ct(me){return b[me.getDay()]}function Ft(me){return v[me.getDay()]}function _t(me){return _[me.getMonth()]}function xt(me){return E[me.getMonth()]}function Gt(me){return w[+(me.getHours()>=12)]}function Be(me){return 1+~~(me.getMonth()/3)}function Ot(me){return b[me.getUTCDay()]}function vn(me){return v[me.getUTCDay()]}function Pe(me){return _[me.getUTCMonth()]}function Ee(me){return E[me.getUTCMonth()]}function nn(me){return w[+(me.getUTCHours()>=12)]}function sn(me){return 1+~~(me.getUTCMonth()/3)}return{format:function(me){var Fe=gt(me+="",pt);return Fe.toString=function(){return me},Fe},parse:function(me){var Fe=ht(me+="",!1);return Fe.toString=function(){return me},Fe},utcFormat:function(me){var Fe=gt(me+="",yt);return Fe.toString=function(){return me},Fe},utcParse:function(me){var Fe=ht(me+="",!0);return Fe.toString=function(){return me},Fe}}}var _Pt={"-":"",_:" ",0:"0"},kd=/^\s*\d+/,DAe=/^%/,IAe=/[\\^$*+?|[\]().{}]/g;function Xc(i,a,f){var g=i<0?"-":"",w=(g?-i:i)+"",v=w.length;return g+(v[a.toLowerCase(),f]))}function PAe(i,a,f){var g=kd.exec(a.slice(f,f+1));return g?(i.w=+g[0],f+g[0].length):-1}function NAe(i,a,f){var g=kd.exec(a.slice(f,f+1));return g?(i.u=+g[0],f+g[0].length):-1}function FAe(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.U=+g[0],f+g[0].length):-1}function BAe(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.V=+g[0],f+g[0].length):-1}function RAe(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.W=+g[0],f+g[0].length):-1}function SPt(i,a,f){var g=kd.exec(a.slice(f,f+4));return g?(i.y=+g[0],f+g[0].length):-1}function APt(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.y=+g[0]+(+g[0]>68?1900:2e3),f+g[0].length):-1}function jAe(i,a,f){var g=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return g?(i.Z=g[1]?0:-(g[2]+(g[3]||"00")),f+g[0].length):-1}function $Ae(i,a,f){var g=kd.exec(a.slice(f,f+1));return g?(i.q=g[0]*3-3,f+g[0].length):-1}function zAe(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.m=g[0]-1,f+g[0].length):-1}function LPt(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.d=+g[0],f+g[0].length):-1}function qAe(i,a,f){var g=kd.exec(a.slice(f,f+3));return g?(i.m=0,i.d=+g[0],f+g[0].length):-1}function MPt(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.H=+g[0],f+g[0].length):-1}function HAe(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.M=+g[0],f+g[0].length):-1}function VAe(i,a,f){var g=kd.exec(a.slice(f,f+2));return g?(i.S=+g[0],f+g[0].length):-1}function UAe(i,a,f){var g=kd.exec(a.slice(f,f+3));return g?(i.L=+g[0],f+g[0].length):-1}function GAe(i,a,f){var g=kd.exec(a.slice(f,f+6));return g?(i.L=Math.floor(g[0]/1e3),f+g[0].length):-1}function KAe(i,a,f){var g=DAe.exec(a.slice(f,f+1));return g?f+g[0].length:-1}function WAe(i,a,f){var g=kd.exec(a.slice(f));return g?(i.Q=+g[0],f+g[0].length):-1}function YAe(i,a,f){var g=kd.exec(a.slice(f));return g?(i.s=+g[0],f+g[0].length):-1}function DPt(i,a){return Xc(i.getDate(),a,2)}function XAe(i,a){return Xc(i.getHours(),a,2)}function QAe(i,a){return Xc(i.getHours()%12||12,a,2)}function JAe(i,a){return Xc(1+s9.count(Tx(i),i),a,3)}function IPt(i,a){return Xc(i.getMilliseconds(),a,3)}function ZAe(i,a){return IPt(i,a)+"000"}function tLe(i,a){return Xc(i.getMonth()+1,a,2)}function eLe(i,a){return Xc(i.getMinutes(),a,2)}function nLe(i,a){return Xc(i.getSeconds(),a,2)}function rLe(i){var a=i.getDay();return a===0?7:a}function iLe(i,a){return Xc(rF.count(Tx(i)-1,i),a,2)}function OPt(i){var a=i.getDay();return a>=4||a===0?o9(i):o9.ceil(i)}function sLe(i,a){return i=OPt(i),Xc(o9.count(Tx(i),i)+(Tx(i).getDay()===4),a,2)}function aLe(i){return i.getDay()}function oLe(i,a){return Xc(iF.count(Tx(i)-1,i),a,2)}function cLe(i,a){return Xc(i.getFullYear()%100,a,2)}function uLe(i,a){return i=OPt(i),Xc(i.getFullYear()%100,a,2)}function lLe(i,a){return Xc(i.getFullYear()%1e4,a,4)}function hLe(i,a){var f=i.getDay();return i=f>=4||f===0?o9(i):o9.ceil(i),Xc(i.getFullYear()%1e4,a,4)}function fLe(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Xc(a/60|0,"0",2)+Xc(a%60,"0",2)}function PPt(i,a){return Xc(i.getUTCDate(),a,2)}function dLe(i,a){return Xc(i.getUTCHours(),a,2)}function gLe(i,a){return Xc(i.getUTCHours()%12||12,a,2)}function pLe(i,a){return Xc(1+q0t.count(u9(i),i),a,3)}function NPt(i,a){return Xc(i.getUTCMilliseconds(),a,3)}function bLe(i,a){return NPt(i,a)+"000"}function wLe(i,a){return Xc(i.getUTCMonth()+1,a,2)}function mLe(i,a){return Xc(i.getUTCMinutes(),a,2)}function vLe(i,a){return Xc(i.getUTCSeconds(),a,2)}function yLe(i){var a=i.getUTCDay();return a===0?7:a}function xLe(i,a){return Xc(CPt.count(u9(i)-1,i),a,2)}function FPt(i){var a=i.getUTCDay();return a>=4||a===0?FL(i):FL.ceil(i)}function kLe(i,a){return i=FPt(i),Xc(FL.count(u9(i),i)+(u9(i).getUTCDay()===4),a,2)}function ELe(i){return i.getUTCDay()}function TLe(i,a){return Xc(CW.count(u9(i)-1,i),a,2)}function CLe(i,a){return Xc(i.getUTCFullYear()%100,a,2)}function _Le(i,a){return i=FPt(i),Xc(i.getUTCFullYear()%100,a,2)}function SLe(i,a){return Xc(i.getUTCFullYear()%1e4,a,4)}function ALe(i,a){var f=i.getUTCDay();return i=f>=4||f===0?FL(i):FL.ceil(i),Xc(i.getUTCFullYear()%1e4,a,4)}function LLe(){return"+0000"}function BPt(){return"%"}function RPt(i){return+i}function jPt(i){return Math.floor(+i/1e3)}var BL,_W;MLe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function MLe(i){return BL=MAe(i),_W=BL.format,BL.parse,BL.utcFormat,BL.utcParse,BL}function DLe(i){return new Date(i)}function ILe(i){return i instanceof Date?+i:+new Date(+i)}function $Pt(i,a,f,g,w,v,b,E,_,S){var I=vPt(),B=I.invert,F=I.domain,R=S(".%L"),q=S(":%S"),X=S("%I:%M"),rt=S("%I %p"),at=S("%a %d"),ut=S("%b %d"),pt=S("%B"),yt=S("%Y");function mt(gt){return(_(gt)1?0:i<-1?uF:Math.acos(i)}function qPt(i){return i>=1?SW:i<=-1?-SW:Math.asin(i)}function HPt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const g=Math.floor(f);if(!(g>=0))throw new RangeError(`invalid digits: ${f}`);a=g}return i},()=>new JSe(a)}function RLe(i){return i.innerRadius}function jLe(i){return i.outerRadius}function $Le(i){return i.startAngle}function zLe(i){return i.endAngle}function qLe(i){return i&&i.padAngle}function HLe(i,a,f,g,w,v,b,E){var _=f-i,S=g-a,I=b-w,B=E-v,F=B*_-I*S;if(!(F*FNt*Nt+Dt*Dt&&(bt=ft,Z=Y),{cx:bt,cy:Z,x01:-I,y01:-B,x11:bt*(w/mt-1),y11:Z*(w/mt-1)}}function jL(){var i=RLe,a=jLe,f=vf(0),g=null,w=$Le,v=zLe,b=qLe,E=null,_=HPt(S);function S(){var I,B,F=+i.apply(this,arguments),R=+a.apply(this,arguments),q=w.apply(this,arguments)-SW,X=v.apply(this,arguments)-SW,rt=zPt(X-q),at=X>q;if(E||(E=I=_()),Rtg))E.moveTo(0,0);else if(rt>AW-tg)E.moveTo(R*l9(q),R*t4(q)),E.arc(0,0,R,q,X,!at),F>tg&&(E.moveTo(F*l9(X),F*t4(X)),E.arc(0,0,F,X,q,at));else{var ut=q,pt=X,yt=q,mt=X,gt=rt,ht=rt,bt=b.apply(this,arguments)/2,Z=bt>tg&&(g?+g.apply(this,arguments):RL(F*F+R*R)),ft=U0t(zPt(R-F)/2,+f.apply(this,arguments)),Y=ft,Et=ft,V,Nt;if(Z>tg){var Dt=qPt(Z/F*t4(bt)),jt=qPt(Z/R*t4(bt));(gt-=Dt*2)>tg?(Dt*=at?1:-1,yt+=Dt,mt-=Dt):(gt=0,yt=mt=(q+X)/2),(ht-=jt*2)>tg?(jt*=at?1:-1,ut+=jt,pt-=jt):(ht=0,ut=pt=(q+X)/2)}var Ct=R*l9(ut),Ft=R*t4(ut),_t=F*l9(mt),xt=F*t4(mt);if(ft>tg){var Gt=R*l9(pt),Be=R*t4(pt),Ot=F*l9(yt),vn=F*t4(yt),Pe;if(rttg?Et>tg?(V=LW(Ot,vn,Ct,Ft,R,Et,at),Nt=LW(Gt,Be,_t,xt,R,Et,at),E.moveTo(V.cx+V.x01,V.cy+V.y01),Ettg)||!(gt>tg)?E.lineTo(_t,xt):Y>tg?(V=LW(_t,xt,Gt,Be,F,-Y,at),Nt=LW(Ct,Ft,Ot,vn,F,-Y,at),E.lineTo(V.cx+V.x01,V.cy+V.y01),Yi?1:a>=i?0:NaN}function KLe(i){return i}function WLe(){var i=KLe,a=GLe,f=null,g=vf(0),w=vf(AW),v=vf(0);function b(E){var _,S=(E=VPt(E)).length,I,B,F=0,R=new Array(S),q=new Array(S),X=+g.apply(this,arguments),rt=Math.min(AW,Math.max(-AW,w.apply(this,arguments)-X)),at,ut=Math.min(Math.abs(rt)/S,v.apply(this,arguments)),pt=ut*(rt<0?-1:1),yt;for(_=0;_0&&(F+=yt);for(a!=null?R.sort(function(mt,gt){return a(q[mt],q[gt])}):f!=null&&R.sort(function(mt,gt){return f(E[mt],E[gt])}),_=0,B=F?(rt-S*pt)/F:0;_0?yt*B:0)+pt,q[I]={data:E[I],index:_,value:yt,startAngle:X,endAngle:at,padAngle:ut};return q}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:vf(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(g=typeof E=="function"?E:vf(+E),b):g},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:vf(+E),b):w},b.padAngle=function(E){return arguments.length?(v=typeof E=="function"?E:vf(+E),b):v},b}class GPt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function YLe(i){return new GPt(i,!0)}function XLe(i){return new GPt(i,!1)}function l8(){}function MW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function DW(i){this._context=i}DW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:MW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:MW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function lF(i){return new DW(i)}function KPt(i){this._context=i}KPt.prototype={areaStart:l8,areaEnd:l8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:MW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function QLe(i){return new KPt(i)}function WPt(i){this._context=i}WPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,g=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,g):this._context.moveTo(f,g);break;case 3:this._point=4;default:MW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function JLe(i){return new WPt(i)}function YPt(i,a){this._basis=new DW(i),this._beta=a}YPt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var g=i[0],w=a[0],v=i[f]-g,b=a[f]-w,E=-1,_;++E<=f;)_=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(g+_*v),this._beta*a[E]+(1-this._beta)*(w+_*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const ZLe=function i(a){function f(g){return a===1?new DW(g):new YPt(g,a)}return f.beta=function(g){return i(+g)},f}(.85);function IW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function G0t(i,a){this._context=i,this._k=(1-a)/6}G0t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:IW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:IW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const tMe=function i(a){function f(g){return new G0t(g,a)}return f.tension=function(g){return i(+g)},f}(0);function K0t(i,a){this._context=i,this._k=(1-a)/6}K0t.prototype={areaStart:l8,areaEnd:l8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:IW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const eMe=function i(a){function f(g){return new K0t(g,a)}return f.tension=function(g){return i(+g)},f}(0);function W0t(i,a){this._context=i,this._k=(1-a)/6}W0t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:IW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const nMe=function i(a){function f(g){return new W0t(g,a)}return f.tension=function(g){return i(+g)},f}(0);function Y0t(i,a,f){var g=i._x1,w=i._y1,v=i._x2,b=i._y2;if(i._l01_a>tg){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,_=3*i._l01_a*(i._l01_a+i._l12_a);g=(g*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/_,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/_}if(i._l23_a>tg){var S=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,I=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*S+i._x1*i._l23_2a-a*i._l12_2a)/I,b=(b*S+i._y1*i._l23_2a-f*i._l12_2a)/I}i._context.bezierCurveTo(g,w,v,b,i._x2,i._y2)}function XPt(i,a){this._context=i,this._alpha=a}XPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:Y0t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const rMe=function i(a){function f(g){return a?new XPt(g,a):new G0t(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function QPt(i,a){this._context=i,this._alpha=a}QPt.prototype={areaStart:l8,areaEnd:l8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:Y0t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const iMe=function i(a){function f(g){return a?new QPt(g,a):new K0t(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function JPt(i,a){this._context=i,this._alpha=a}JPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Y0t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const sMe=function i(a){function f(g){return a?new JPt(g,a):new W0t(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function ZPt(i){this._context=i}ZPt.prototype={areaStart:l8,areaEnd:l8,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function aMe(i){return new ZPt(i)}function tNt(i){return i<0?-1:1}function eNt(i,a,f){var g=i._x1-i._x0,w=a-i._x1,v=(i._y1-i._y0)/(g||w<0&&-0),b=(f-i._y1)/(w||g<0&&-0),E=(v*w+b*g)/(g+w);return(tNt(v)+tNt(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(E))||0}function nNt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function X0t(i,a,f){var g=i._x0,w=i._y0,v=i._x1,b=i._y1,E=(v-g)/3;i._context.bezierCurveTo(g+E,w+E*a,v-E,b-E*f,v,b)}function OW(i){this._context=i}OW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:X0t(this,this._t0,nNt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,X0t(this,nNt(this,f=eNt(this,i,a)),f);break;default:X0t(this,this._t0,f=eNt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function rNt(i){this._context=new iNt(i)}(rNt.prototype=Object.create(OW.prototype)).point=function(i,a){OW.prototype.point.call(this,a,i)};function iNt(i){this._context=i}iNt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,g,w,v){this._context.bezierCurveTo(a,i,g,f,v,w)}};function oMe(i){return new OW(i)}function cMe(i){return new rNt(i)}function sNt(i){this._context=i}sNt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var g=aNt(i),w=aNt(a),v=0,b=1;b=0;--a)w[a]=(b[a]-w[a+1])/v[a];for(v[f-1]=(i[f]+w[f-1])/2,a=0;a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function lMe(i){return new PW(i,.5)}function hMe(i){return new PW(i,0)}function fMe(i){return new PW(i,1)}function hF(i,a,f){this.k=i,this.x=a,this.y=f}hF.prototype={constructor:hF,scale:function(i){return i===1?this:new hF(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new hF(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},hF.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:oNt,setPrototypeOf:cNt,isFrozen:dMe,getPrototypeOf:gMe,getOwnPropertyDescriptor:pMe}=Object;let{freeze:Ug,seal:zv,create:bMe}=Object,{apply:Q0t,construct:J0t}=typeof Reflect<"u"&&Reflect;Q0t||(Q0t=function(a,f,g){return a.apply(f,g)}),Ug||(Ug=function(a){return a}),zv||(zv=function(a){return a}),J0t||(J0t=function(a,f){return new a(...f)});const wMe=qw(Array.prototype.forEach),uNt=qw(Array.prototype.pop),fF=qw(Array.prototype.push),NW=qw(String.prototype.toLowerCase),Z0t=qw(String.prototype.toString),mMe=qw(String.prototype.match),qv=qw(String.prototype.replace),vMe=qw(String.prototype.indexOf),yMe=qw(String.prototype.trim),m2=qw(RegExp.prototype.test),dF=xMe(TypeError);function qw(i){return function(a){for(var f=arguments.length,g=new Array(f>1?f-1:0),w=1;w/gm),_Me=zv(/\${[\w\W]*}/gm),SMe=zv(/^data-[\-\w.\u00B7-\uFFFF]/),AMe=zv(/^aria-[\-\w]+$/),gNt=zv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),LMe=zv(/^(?:\w+script|data):/i),MMe=zv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),pNt=zv(/^html$/i);var bNt=Object.freeze({__proto__:null,MUSTACHE_EXPR:TMe,ERB_EXPR:CMe,TMPLIT_EXPR:_Me,DATA_ATTR:SMe,ARIA_ATTR:AMe,IS_ALLOWED_URI:gNt,IS_SCRIPT_OR_DATA:LMe,ATTR_WHITESPACE:MMe,DOCTYPE_NAME:pNt});const DMe=()=>typeof window>"u"?null:window,IMe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let g=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(g=f.getAttribute(w));const v="dompurify"+(g?"#"+g:"");try{return a.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function wNt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:DMe();const a=Yi=>wNt(Yi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,g=f.currentScript;let{document:w}=i;const{DocumentFragment:v,HTMLTemplateElement:b,Node:E,Element:_,NodeFilter:S,NamedNodeMap:I=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:B,DOMParser:F,trustedTypes:R}=i,q=_.prototype,X=FW(q,"cloneNode"),rt=FW(q,"nextSibling"),at=FW(q,"childNodes"),ut=FW(q,"parentNode");if(typeof b=="function"){const Yi=w.createElement("template");Yi.content&&Yi.content.ownerDocument&&(w=Yi.content.ownerDocument)}let pt,yt="";const{implementation:mt,createNodeIterator:gt,createDocumentFragment:ht,getElementsByTagName:bt}=w,{importNode:Z}=f;let ft={};a.isSupported=typeof oNt=="function"&&typeof ut=="function"&&mt&&mt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Y,ERB_EXPR:Et,TMPLIT_EXPR:V,DATA_ATTR:Nt,ARIA_ATTR:Dt,IS_SCRIPT_OR_DATA:jt,ATTR_WHITESPACE:Ct}=bNt;let{IS_ALLOWED_URI:Ft}=bNt,_t=null;const xt=Po({},[...lNt,...tgt,...egt,...ngt,...hNt]);let Gt=null;const Be=Po({},[...fNt,...rgt,...dNt,...BW]);let Ot=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),vn=null,Pe=null,Ee=!0,nn=!0,sn=!1,me=!0,Fe=!1,Qt=!1,Ae=!1,Se=!1,Dn=!1,oe=!1,Pr=!1,we=!0,Ri=!1;const yi="user-content-";let da=!0,Ss=!1,Ra={},fr=null;const An=Po({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Pn=null;const Bn=Po({},["audio","video","img","source","image","track"]);let Te=null;const be=Po({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Qe="http://www.w3.org/1998/Math/MathML",rn="http://www.w3.org/2000/svg",yn="http://www.w3.org/1999/xhtml";let ja=yn,mo=!1,vo=null;const ma=Po({},[Qe,rn,yn],Z0t);let $a;const gs=["application/xhtml+xml","text/html"],Nu="text/html";let ta,l1=null;const _2=w.createElement("form"),ll=function(cn){return cn instanceof RegExp||cn instanceof Function},Ac=function(cn){if(!(l1&&l1===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=$L(cn),$a=gs.indexOf(cn.PARSER_MEDIA_TYPE)===-1?$a=Nu:$a=cn.PARSER_MEDIA_TYPE,ta=$a==="application/xhtml+xml"?Z0t:NW,_t="ALLOWED_TAGS"in cn?Po({},cn.ALLOWED_TAGS,ta):xt,Gt="ALLOWED_ATTR"in cn?Po({},cn.ALLOWED_ATTR,ta):Be,vo="ALLOWED_NAMESPACES"in cn?Po({},cn.ALLOWED_NAMESPACES,Z0t):ma,Te="ADD_URI_SAFE_ATTR"in cn?Po($L(be),cn.ADD_URI_SAFE_ATTR,ta):be,Pn="ADD_DATA_URI_TAGS"in cn?Po($L(Bn),cn.ADD_DATA_URI_TAGS,ta):Bn,fr="FORBID_CONTENTS"in cn?Po({},cn.FORBID_CONTENTS,ta):An,vn="FORBID_TAGS"in cn?Po({},cn.FORBID_TAGS,ta):{},Pe="FORBID_ATTR"in cn?Po({},cn.FORBID_ATTR,ta):{},Ra="USE_PROFILES"in cn?cn.USE_PROFILES:!1,Ee=cn.ALLOW_ARIA_ATTR!==!1,nn=cn.ALLOW_DATA_ATTR!==!1,sn=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,me=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Fe=cn.SAFE_FOR_TEMPLATES||!1,Qt=cn.WHOLE_DOCUMENT||!1,Dn=cn.RETURN_DOM||!1,oe=cn.RETURN_DOM_FRAGMENT||!1,Pr=cn.RETURN_TRUSTED_TYPE||!1,Se=cn.FORCE_BODY||!1,we=cn.SANITIZE_DOM!==!1,Ri=cn.SANITIZE_NAMED_PROPS||!1,da=cn.KEEP_CONTENT!==!1,Ss=cn.IN_PLACE||!1,Ft=cn.ALLOWED_URI_REGEXP||gNt,ja=cn.NAMESPACE||yn,Ot=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ot.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ot.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ot.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Fe&&(nn=!1),oe&&(Dn=!0),Ra&&(_t=Po({},[...hNt]),Gt=[],Ra.html===!0&&(Po(_t,lNt),Po(Gt,fNt)),Ra.svg===!0&&(Po(_t,tgt),Po(Gt,rgt),Po(Gt,BW)),Ra.svgFilters===!0&&(Po(_t,egt),Po(Gt,rgt),Po(Gt,BW)),Ra.mathMl===!0&&(Po(_t,ngt),Po(Gt,dNt),Po(Gt,BW))),cn.ADD_TAGS&&(_t===xt&&(_t=$L(_t)),Po(_t,cn.ADD_TAGS,ta)),cn.ADD_ATTR&&(Gt===Be&&(Gt=$L(Gt)),Po(Gt,cn.ADD_ATTR,ta)),cn.ADD_URI_SAFE_ATTR&&Po(Te,cn.ADD_URI_SAFE_ATTR,ta),cn.FORBID_CONTENTS&&(fr===An&&(fr=$L(fr)),Po(fr,cn.FORBID_CONTENTS,ta)),da&&(_t["#text"]=!0),Qt&&Po(_t,["html","head","body"]),_t.table&&(Po(_t,["tbody"]),delete vn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw dF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw dF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');pt=cn.TRUSTED_TYPES_POLICY,yt=pt.createHTML("")}else pt===void 0&&(pt=IMe(R,g)),pt!==null&&typeof yt=="string"&&(yt=pt.createHTML(""));Ug&&Ug(cn),l1=cn}},pc=Po({},["mi","mo","mn","ms","mtext"]),ka=Po({},["foreignobject","desc","title","annotation-xml"]),du=Po({},["title","style","font","a","script"]),ea=Po({},tgt);Po(ea,egt),Po(ea,kMe);const co=Po({},ngt);Po(co,EMe);const bc=function(cn){let Dr=ut(cn);(!Dr||!Dr.tagName)&&(Dr={namespaceURI:ja,tagName:"template"});const Si=NW(cn.tagName),wc=NW(Dr.tagName);return vo[cn.namespaceURI]?cn.namespaceURI===rn?Dr.namespaceURI===yn?Si==="svg":Dr.namespaceURI===Qe?Si==="svg"&&(wc==="annotation-xml"||pc[wc]):!!ea[Si]:cn.namespaceURI===Qe?Dr.namespaceURI===yn?Si==="math":Dr.namespaceURI===rn?Si==="math"&&ka[wc]:!!co[Si]:cn.namespaceURI===yn?Dr.namespaceURI===rn&&!ka[wc]||Dr.namespaceURI===Qe&&!pc[wc]?!1:!co[Si]&&(du[Si]||!ea[Si]):!!($a==="application/xhtml+xml"&&vo[cn.namespaceURI]):!1},oa=function(cn){fF(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},va=function(cn,Dr){try{fF(a.removed,{attribute:Dr.getAttributeNode(cn),from:Dr})}catch{fF(a.removed,{attribute:null,from:Dr})}if(Dr.removeAttribute(cn),cn==="is"&&!Gt[cn])if(Dn||oe)try{oa(Dr)}catch{}else try{Dr.setAttribute(cn,"")}catch{}},na=function(cn){let Dr,Si;if(Se)cn=""+cn;else{const vh=mMe(cn,/^[\r\n\t ]+/);Si=vh&&vh[0]}$a==="application/xhtml+xml"&&ja===yn&&(cn=''+cn+"");const wc=pt?pt.createHTML(cn):cn;if(ja===yn)try{Dr=new F().parseFromString(wc,$a)}catch{}if(!Dr||!Dr.documentElement){Dr=mt.createDocument(ja,"template",null);try{Dr.documentElement.innerHTML=mo?yt:wc}catch{}}const Fc=Dr.body||Dr.documentElement;return cn&&Si&&Fc.insertBefore(w.createTextNode(Si),Fc.childNodes[0]||null),ja===yn?bt.call(Dr,Qt?"html":"body")[0]:Qt?Dr.documentElement:Fc},Xl=function(cn){return gt.call(cn.ownerDocument||cn,cn,S.SHOW_ELEMENT|S.SHOW_COMMENT|S.SHOW_TEXT,null,!1)},Hc=function(cn){return cn instanceof B&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof I)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},Zw=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},mh=function(cn,Dr,Si){ft[cn]&&wMe(ft[cn],wc=>{wc.call(a,Dr,Si,l1)})},_d=function(cn){let Dr;if(mh("beforeSanitizeElements",cn,null),Hc(cn))return oa(cn),!0;const Si=ta(cn.nodeName);if(mh("uponSanitizeElement",cn,{tagName:Si,allowedTags:_t}),cn.hasChildNodes()&&!Zw(cn.firstElementChild)&&(!Zw(cn.content)||!Zw(cn.content.firstElementChild))&&m2(/<[/\w]/g,cn.innerHTML)&&m2(/<[/\w]/g,cn.textContent))return oa(cn),!0;if(!_t[Si]||vn[Si]){if(!vn[Si]&&Sd(Si)&&(Ot.tagNameCheck instanceof RegExp&&m2(Ot.tagNameCheck,Si)||Ot.tagNameCheck instanceof Function&&Ot.tagNameCheck(Si)))return!1;if(da&&!fr[Si]){const wc=ut(cn)||cn.parentNode,Fc=at(cn)||cn.childNodes;if(Fc&&wc){const vh=Fc.length;for(let Qc=vh-1;Qc>=0;--Qc)wc.insertBefore(X(Fc[Qc],!0),rt(cn))}}return oa(cn),!0}return cn instanceof _&&!bc(cn)||(Si==="noscript"||Si==="noembed"||Si==="noframes")&&m2(/<\/no(script|embed|frames)/i,cn.innerHTML)?(oa(cn),!0):(Fe&&cn.nodeType===3&&(Dr=cn.textContent,Dr=qv(Dr,Y," "),Dr=qv(Dr,Et," "),Dr=qv(Dr,V," "),cn.textContent!==Dr&&(fF(a.removed,{element:cn.cloneNode()}),cn.textContent=Dr)),mh("afterSanitizeElements",cn,null),!1)},b0=function(cn,Dr,Si){if(we&&(Dr==="id"||Dr==="name")&&(Si in w||Si in _2))return!1;if(!(nn&&!Pe[Dr]&&m2(Nt,Dr))){if(!(Ee&&m2(Dt,Dr))){if(!Gt[Dr]||Pe[Dr]){if(!(Sd(cn)&&(Ot.tagNameCheck instanceof RegExp&&m2(Ot.tagNameCheck,cn)||Ot.tagNameCheck instanceof Function&&Ot.tagNameCheck(cn))&&(Ot.attributeNameCheck instanceof RegExp&&m2(Ot.attributeNameCheck,Dr)||Ot.attributeNameCheck instanceof Function&&Ot.attributeNameCheck(Dr))||Dr==="is"&&Ot.allowCustomizedBuiltInElements&&(Ot.tagNameCheck instanceof RegExp&&m2(Ot.tagNameCheck,Si)||Ot.tagNameCheck instanceof Function&&Ot.tagNameCheck(Si))))return!1}else if(!Te[Dr]){if(!m2(Ft,qv(Si,Ct,""))){if(!((Dr==="src"||Dr==="xlink:href"||Dr==="href")&&cn!=="script"&&vMe(Si,"data:")===0&&Pn[cn])){if(!(sn&&!m2(jt,qv(Si,Ct,"")))){if(Si)return!1}}}}}}return!0},Sd=function(cn){return cn.indexOf("-")>0},w0=function(cn){let Dr,Si,wc,Fc;mh("beforeSanitizeAttributes",cn,null);const{attributes:vh}=cn;if(!vh)return;const Qc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Gt};for(Fc=vh.length;Fc--;){Dr=vh[Fc];const{name:Wh,namespaceURI:Ad}=Dr;if(Si=Wh==="value"?Dr.value:yMe(Dr.value),wc=ta(Wh),Qc.attrName=wc,Qc.attrValue=Si,Qc.keepAttr=!0,Qc.forceKeepAttr=void 0,mh("uponSanitizeAttribute",cn,Qc),Si=Qc.attrValue,Qc.forceKeepAttr||(va(Wh,cn),!Qc.keepAttr))continue;if(!me&&m2(/\/>/i,Si)){va(Wh,cn);continue}Fe&&(Si=qv(Si,Y," "),Si=qv(Si,Et," "),Si=qv(Si,V," "));const ls=ta(cn.nodeName);if(b0(ls,wc,Si)){if(Ri&&(wc==="id"||wc==="name")&&(va(Wh,cn),Si=yi+Si),pt&&typeof R=="object"&&typeof R.getAttributeType=="function"&&!Ad)switch(R.getAttributeType(ls,wc)){case"TrustedHTML":{Si=pt.createHTML(Si);break}case"TrustedScriptURL":{Si=pt.createScriptURL(Si);break}}try{Ad?cn.setAttributeNS(Ad,Wh,Si):cn.setAttribute(Wh,Si),uNt(a.removed)}catch{}}}mh("afterSanitizeAttributes",cn,null)},ag=function Yi(cn){let Dr;const Si=Xl(cn);for(mh("beforeSanitizeShadowDOM",cn,null);Dr=Si.nextNode();)mh("uponSanitizeShadowNode",Dr,null),!_d(Dr)&&(Dr.content instanceof v&&Yi(Dr.content),w0(Dr));mh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Yi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Dr,Si,wc,Fc;if(mo=!Yi,mo&&(Yi=""),typeof Yi!="string"&&!Zw(Yi))if(typeof Yi.toString=="function"){if(Yi=Yi.toString(),typeof Yi!="string")throw dF("dirty is not a string, aborting")}else throw dF("toString is not a function");if(!a.isSupported)return Yi;if(Ae||Ac(cn),a.removed=[],typeof Yi=="string"&&(Ss=!1),Ss){if(Yi.nodeName){const Wh=ta(Yi.nodeName);if(!_t[Wh]||vn[Wh])throw dF("root node is forbidden and cannot be sanitized in-place")}}else if(Yi instanceof E)Dr=na(""),Si=Dr.ownerDocument.importNode(Yi,!0),Si.nodeType===1&&Si.nodeName==="BODY"||Si.nodeName==="HTML"?Dr=Si:Dr.appendChild(Si);else{if(!Dn&&!Fe&&!Qt&&Yi.indexOf("<")===-1)return pt&&Pr?pt.createHTML(Yi):Yi;if(Dr=na(Yi),!Dr)return Dn?null:Pr?yt:""}Dr&&Se&&oa(Dr.firstChild);const vh=Xl(Ss?Yi:Dr);for(;wc=vh.nextNode();)_d(wc)||(wc.content instanceof v&&ag(wc.content),w0(wc));if(Ss)return Yi;if(Dn){if(oe)for(Fc=ht.call(Dr.ownerDocument);Dr.firstChild;)Fc.appendChild(Dr.firstChild);else Fc=Dr;return(Gt.shadowroot||Gt.shadowrootmode)&&(Fc=Z.call(f,Fc,!0)),Fc}let Qc=Qt?Dr.outerHTML:Dr.innerHTML;return Qt&&_t["!doctype"]&&Dr.ownerDocument&&Dr.ownerDocument.doctype&&Dr.ownerDocument.doctype.name&&m2(pNt,Dr.ownerDocument.doctype.name)&&(Qc=" +`+Qc),Fe&&(Qc=qv(Qc,Y," "),Qc=qv(Qc,Et," "),Qc=qv(Qc,V," ")),pt&&Pr?pt.createHTML(Qc):Qc},a.setConfig=function(Yi){Ac(Yi),Ae=!0},a.clearConfig=function(){l1=null,Ae=!1},a.isValidAttribute=function(Yi,cn,Dr){l1||Ac({});const Si=ta(Yi),wc=ta(cn);return b0(Si,wc,Dr)},a.addHook=function(Yi,cn){typeof cn=="function"&&(ft[Yi]=ft[Yi]||[],fF(ft[Yi],cn))},a.removeHook=function(Yi){if(ft[Yi])return uNt(ft[Yi])},a.removeHooks=function(Yi){ft[Yi]&&(ft[Yi]=[])},a.removeAllHooks=function(){ft={}},a}var zL=wNt();const gF=//gi,OMe=i=>i?yNt(i).replace(/\\n/g,"#br#").split("#br#"):[""],mNt=i=>{const a="data-temp-href-target";zL.addHook("beforeSanitizeAttributes",g=>{g.tagName==="A"&&g.hasAttribute("target")&&g.setAttribute(a,g.getAttribute("target")||"")});const f=zL.sanitize(i);return zL.addHook("afterSanitizeAttributes",g=>{g.tagName==="A"&&g.hasAttribute(a)&&(g.setAttribute("target",g.getAttribute(a)||""),g.removeAttribute(a),g.getAttribute("target")==="_blank"&&g.setAttribute("rel","noopener"))}),f},vNt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const g=a.securityLevel;g==="antiscript"||g==="strict"?i=mNt(i):g!=="loose"&&(i=yNt(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=BMe(i))}return i},Ed=(i,a)=>i&&(a.dompurifyConfig?i=zL.sanitize(vNt(i,a),a.dompurifyConfig).toString():i=zL.sanitize(vNt(i,a),{FORBID_TAGS:["style"]}).toString(),i),PMe=(i,a)=>typeof i=="string"?Ed(i,a):i.flat().map(f=>Ed(f,a)),NMe=i=>gF.test(i),FMe=i=>i.split(gF),BMe=i=>i.replace(/#br#/g,"
"),yNt=i=>i.replace(gF,"#br#"),RMe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},B1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),jMe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},$Me=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},pF=function(i){const a=i.split(/(,)/),f=[];for(let g=0;g0&&g+1Math.max(0,i.split(a).length-1),zMe=(i,a)=>{const f=igt(i,"~"),g=igt(a,"~");return f===1&&g===1},qMe=i=>{const a=igt(i,"~");let f=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),f=!0);const g=[...i];let w=g.indexOf("~"),v=g.lastIndexOf("~");for(;w!==-1&&v!==-1&&w!==v;)g[w]="<",g[v]=">",w=g.indexOf("~"),v=g.lastIndexOf("~");return f&&g.unshift("~"),g.join("")},ei={getRows:OMe,sanitizeText:Ed,sanitizeTextOrArray:PMe,hasBreaks:NMe,splitBreaks:FMe,lineBreakRegex:gF,removeScript:mNt,getUrl:RMe,evaluate:B1,getMax:jMe,getMin:$Me},RW={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<1/6?i+(a-i)*6*f:f<1/2?a:f<2/3?i+(a-i)*(2/3-f)*6:i),hsl2rgb:({h:i,s:a,l:f},g)=>{if(!a)return f*2.55;i/=360,a/=100,f/=100;const w=f<.5?f*(1+a):f+a-f*a,v=2*f-w;switch(g){case"r":return RW.hue2rgb(v,w,i+1/3)*255;case"g":return RW.hue2rgb(v,w,i)*255;case"b":return RW.hue2rgb(v,w,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:f},g)=>{i/=255,a/=255,f/=255;const w=Math.max(i,a,f),v=Math.min(i,a,f),b=(w+v)/2;if(g==="l")return b*100;if(w===v)return 0;const E=w-v,_=b>.5?E/(2-w-v):E/(w+v);if(g==="s")return _*100;switch(w){case i:return((a-f)/E+(aa>f?Math.min(a,Math.max(f,i)):Math.min(f,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},h8={};for(let i=0;i<=255;i++)h8[i]=La.unit.dec2hex(i);const eg={ALL:0,RGB:1,HSL:2};class HMe{constructor(){this.type=eg.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=eg.ALL}is(a){return this.type===a}}const VMe=HMe;class UMe{constructor(a,f){this.color=f,this.changed=!1,this.data=a,this.type=new VMe}set(a,f){return this.color=f,this.changed=!1,this.data=a,this.type.type=eg.ALL,this}_ensureHSL(){const a=this.data,{h:f,s:g,l:w}=a;f===void 0&&(a.h=La.channel.rgb2hsl(a,"h")),g===void 0&&(a.s=La.channel.rgb2hsl(a,"s")),w===void 0&&(a.l=La.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:f,g,b:w}=a;f===void 0&&(a.r=La.channel.hsl2rgb(a,"r")),g===void 0&&(a.g=La.channel.hsl2rgb(a,"g")),w===void 0&&(a.b=La.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,f=a.r;return!this.type.is(eg.HSL)&&f!==void 0?f:(this._ensureHSL(),La.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,f=a.g;return!this.type.is(eg.HSL)&&f!==void 0?f:(this._ensureHSL(),La.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,f=a.b;return!this.type.is(eg.HSL)&&f!==void 0?f:(this._ensureHSL(),La.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,f=a.h;return!this.type.is(eg.RGB)&&f!==void 0?f:(this._ensureRGB(),La.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,f=a.s;return!this.type.is(eg.RGB)&&f!==void 0?f:(this._ensureRGB(),La.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,f=a.l;return!this.type.is(eg.RGB)&&f!==void 0?f:(this._ensureRGB(),La.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(eg.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(eg.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(eg.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(eg.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(eg.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(eg.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const GMe=UMe,jW=new GMe({r:0,g:0,b:0,a:0},"transparent"),xNt={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(xNt.re);if(!a)return;const f=a[1],g=parseInt(f,16),w=f.length,v=w%4===0,b=w>4,E=b?1:17,_=b?8:4,S=v?0:-1,I=b?255:15;return jW.set({r:(g>>_*(S+3)&I)*E,g:(g>>_*(S+2)&I)*E,b:(g>>_*(S+1)&I)*E,a:v?(g&I)*E/255:1},i)},stringify:i=>{const{r:a,g:f,b:g,a:w}=i;return w<1?`#${h8[Math.round(a)]}${h8[Math.round(f)]}${h8[Math.round(g)]}${h8[Math.round(w*255)]}`:`#${h8[Math.round(a)]}${h8[Math.round(f)]}${h8[Math.round(g)]}`}},bF=xNt,$W={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const a=i.match($W.hueRe);if(a){const[,f,g]=a;switch(g){case"grad":return La.channel.clamp.h(parseFloat(f)*.9);case"rad":return La.channel.clamp.h(parseFloat(f)*180/Math.PI);case"turn":return La.channel.clamp.h(parseFloat(f)*360)}}return La.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const f=i.match($W.re);if(!f)return;const[,g,w,v,b,E]=f;return jW.set({h:$W._hue2deg(g),s:La.channel.clamp.s(parseFloat(w)),l:La.channel.clamp.l(parseFloat(v)),a:b?La.channel.clamp.a(E?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:f,l:g,a:w}=i;return w<1?`hsla(${La.lang.round(a)}, ${La.lang.round(f)}%, ${La.lang.round(g)}%, ${w})`:`hsl(${La.lang.round(a)}, ${La.lang.round(f)}%, ${La.lang.round(g)}%)`}},zW=$W,qW={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const a=qW.colors[i];if(a)return bF.parse(a)},stringify:i=>{const a=bF.stringify(i);for(const f in qW.colors)if(qW.colors[f]===a)return f}},kNt=qW,ENt={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const f=i.match(ENt.re);if(!f)return;const[,g,w,v,b,E,_,S,I]=f;return jW.set({r:La.channel.clamp.r(w?parseFloat(g)*2.55:parseFloat(g)),g:La.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:La.channel.clamp.b(_?parseFloat(E)*2.55:parseFloat(E)),a:S?La.channel.clamp.a(I?parseFloat(S)/100:parseFloat(S)):1},i)},stringify:i=>{const{r:a,g:f,b:g,a:w}=i;return w<1?`rgba(${La.lang.round(a)}, ${La.lang.round(f)}, ${La.lang.round(g)}, ${La.lang.round(w)})`:`rgb(${La.lang.round(a)}, ${La.lang.round(f)}, ${La.lang.round(g)})`}},HW=ENt,Hv={format:{keyword:kNt,hex:bF,rgb:HW,rgba:HW,hsl:zW,hsla:zW},parse:i=>{if(typeof i!="string")return i;const a=bF.parse(i)||HW.parse(i)||zW.parse(i)||kNt.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(eg.HSL)||i.data.r===void 0?zW.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?HW.stringify(i):bF.stringify(i)},TNt=(i,a)=>{const f=Hv.parse(i);for(const g in a)f[g]=La.channel.clamp[g](a[g]);return Hv.stringify(f)},qL=(i,a,f=0,g=1)=>{if(typeof i!="number")return TNt(i,{a});const w=jW.set({r:La.channel.clamp.r(i),g:La.channel.clamp.g(a),b:La.channel.clamp.b(f),a:La.channel.clamp.a(g)});return Hv.stringify(w)},KMe=(i,a)=>La.lang.round(Hv.parse(i)[a]),WMe=i=>{const{r:a,g:f,b:g}=Hv.parse(i),w=.2126*La.channel.toLinear(a)+.7152*La.channel.toLinear(f)+.0722*La.channel.toLinear(g);return La.lang.round(w)},YMe=i=>WMe(i)>=.5,h9=i=>!YMe(i),CNt=(i,a,f)=>{const g=Hv.parse(i),w=g[a],v=La.channel.clamp[a](w+f);return w!==v&&(g[a]=v),Hv.stringify(g)},Is=(i,a)=>CNt(i,"l",a),Zs=(i,a)=>CNt(i,"l",-a),Cn=(i,a)=>{const f=Hv.parse(i),g={};for(const w in a)a[w]&&(g[w]=f[w]+a[w]);return TNt(i,g)},XMe=(i,a,f=50)=>{const{r:g,g:w,b:v,a:b}=Hv.parse(i),{r:E,g:_,b:S,a:I}=Hv.parse(a),B=f/100,F=B*2-1,R=b-I,X=((F*R===-1?F:(F+R)/(1+F*R))+1)/2,rt=1-X,at=g*X+E*rt,ut=w*X+_*rt,pt=v*X+S*rt,yt=b*B+I*(1-B);return qL(at,ut,pt,yt)},Pi=(i,a=100)=>{const f=Hv.parse(i);return f.r=255-f.r,f.g=255-f.g,f.b=255-f.b,XMe(f,i,a)},Gg=(i,a)=>a?Cn(i,{s:-40,l:10}):Cn(i,{s:-40,l:-10}),VW="#ffffff",UW="#f2f2f2";let QMe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var f,g,w,v,b,E,_,S,I,B,F;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Cn(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Cn(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Gg(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Gg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Gg(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Gg(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Pi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Pi(this.tertiaryColor),this.lineColor=this.lineColor||Pi(this.background),this.arrowheadColor=this.arrowheadColor||Pi(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Zs(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Zs(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Pi(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Is(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330}),this.darkMode)for(let R=0;R{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const JMe=i=>{const a=new QMe;return a.calculate(i),a};let ZMe=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Is(this.primaryColor,16),this.tertiaryColor=Cn(this.primaryColor,{h:-160}),this.primaryBorderColor=Pi(this.background),this.secondaryBorderColor=Gg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Gg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Pi(this.primaryColor),this.secondaryTextColor=Pi(this.secondaryColor),this.tertiaryTextColor=Pi(this.tertiaryColor),this.lineColor=Pi(this.background),this.textColor=Pi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Is(Pi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=qL(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Zs("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Zs(this.sectionBkgColor,10),this.taskBorderColor=qL(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=qL(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var a,f,g,w,v,b,E,_,S,I,B;this.secondBkg=Is(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Is(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Is(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Cn(this.primaryColor,{h:64}),this.fillType3=Cn(this.secondaryColor,{h:64}),this.fillType4=Cn(this.primaryColor,{h:-64}),this.fillType5=Cn(this.secondaryColor,{h:-64}),this.fillType6=Cn(this.primaryColor,{h:128}),this.fillType7=Cn(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330});for(let F=0;F{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const tDe=i=>{const a=new ZMe;return a.calculate(i),a};let eDe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Cn(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Cn(this.primaryColor,{h:-160}),this.primaryBorderColor=Gg(this.primaryColor,this.darkMode),this.secondaryBorderColor=Gg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Gg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Pi(this.primaryColor),this.secondaryTextColor=Pi(this.secondaryColor),this.tertiaryTextColor=Pi(this.tertiaryColor),this.lineColor=Pi(this.background),this.textColor=Pi(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=qL(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var a,f,g,w,v,b,E,_,S,I,B;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||Zs(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||Zs(this.tertiaryColor,40);for(let F=0;F{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const sgt=i=>{const a=new eDe;return a.calculate(i),a};let nDe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Is("#cde498",10),this.primaryBorderColor=Gg(this.primaryColor,this.darkMode),this.secondaryBorderColor=Gg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Gg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Pi(this.primaryColor),this.secondaryTextColor=Pi(this.secondaryColor),this.tertiaryTextColor=Pi(this.primaryColor),this.lineColor=Pi(this.background),this.textColor=Pi(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,g,w,v,b,E,_,S,I,B;this.actorBorder=Zs(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Cn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Cn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Cn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Cn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Cn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Cn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Cn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Cn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Cn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||Zs(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||Zs(this.tertiaryColor,40);for(let F=0;F{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}};const rDe=i=>{const a=new nDe;return a.calculate(i),a};class iDe{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Is(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Cn(this.primaryColor,{h:-160}),this.primaryBorderColor=Gg(this.primaryColor,this.darkMode),this.secondaryBorderColor=Gg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Gg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Pi(this.primaryColor),this.secondaryTextColor=Pi(this.secondaryColor),this.tertiaryTextColor=Pi(this.tertiaryColor),this.lineColor=Pi(this.background),this.textColor=Pi(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,g,w,v,b,E,_,S,I,B;this.secondBkg=Is(this.contrast,55),this.border2=this.contrast,this.actorBorder=Is(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let F=0;F{this[g]=a[g]}),this.updateColors(),f.forEach(g=>{this[g]=a[g]})}}const _x={base:{getThemeVariables:JMe},dark:{getThemeVariables:tDe},default:{getThemeVariables:sgt},forest:{getThemeVariables:rDe},neutral:{getThemeVariables:i=>{const a=new iDe;return a.calculate(i),a}}},Sx={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],deterministicIds:!1,fontSize:16},_Nt={...Sx,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:_x.default.getThemeVariables(),sequence:{...Sx.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Sx.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Sx.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Sx.pie,useWidth:984},xyChart:{...Sx.xyChart,useWidth:void 0},requirement:{...Sx.requirement,useWidth:void 0},gitGraph:{...Sx.gitGraph,useMaxWidth:!1},sankey:{...Sx.sankey,useMaxWidth:!1}},SNt=(i,a="")=>Object.keys(i).reduce((f,g)=>Array.isArray(i[g])?f:typeof i[g]=="object"&&i[g]!==null?[...f,a+g,...SNt(i[g],"")]:[...f,a+g],[]),sDe=new Set(SNt(_Nt,"")),yf=_Nt,GW=i=>{if(Wt.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>GW(a));return}for(const a of Object.keys(i)){if(Wt.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!sDe.has(a)||i[a]==null){Wt.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Wt.debug("sanitizing object",a),GW(i[a]);continue}const f=["themeCSS","fontFamily","altFontFamily"];for(const g of f)a.includes(g)&&(Wt.debug("sanitizing css option",a),i[a]=aDe(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const f=i.themeVariables[a];f!=null&&f.match&&!f.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Wt.debug("After sanitization",i)}},aDe=i=>{let a=0,f=0;for(const g of i){if(a{for(const{id:a,detector:f,loader:g}of i)DNt(a,f,g)},DNt=(i,a,f)=>{HL[i]?Wt.error(`Detector with key ${i} already exists`):HL[i]={detector:a,loader:f},Wt.debug(`Detector with key ${i} added${f?" with loader":""}`)},cDe=i=>HL[i].loader,agt=(i,a,{depth:f=2,clobber:g=!1}={})=>{const w={depth:f,clobber:g};return Array.isArray(a)&&!Array.isArray(i)?(a.forEach(v=>agt(i,v,w)),i):Array.isArray(a)&&Array.isArray(i)?(a.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||f<=0?i!=null&&typeof i=="object"&&typeof a=="object"?Object.assign(i,a):a:(a!==void 0&&typeof i=="object"&&typeof a=="object"&&Object.keys(a).forEach(v=>{typeof a[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(a[v])?[]:{}),i[v]=agt(i[v],a[v],{depth:f-1,clobber:g})):(g||typeof i[v]!="object"&&typeof a[v]!="object")&&(i[v]=a[v])}),i)},Td=agt;var uDe=typeof global=="object"&&global&&global.Object===Object&&global;const INt=uDe;var lDe=typeof self=="object"&&self&&self.Object===Object&&self,hDe=INt||lDe||Function("return this")();const Vv=hDe;var fDe=Vv.Symbol;const Hw=fDe;var ONt=Object.prototype,dDe=ONt.hasOwnProperty,gDe=ONt.toString,mF=Hw?Hw.toStringTag:void 0;function pDe(i){var a=dDe.call(i,mF),f=i[mF];try{i[mF]=void 0;var g=!0}catch{}var w=gDe.call(i);return g&&(a?i[mF]=f:delete i[mF]),w}var bDe=Object.prototype,wDe=bDe.toString;function mDe(i){return wDe.call(i)}var vDe="[object Null]",yDe="[object Undefined]",PNt=Hw?Hw.toStringTag:void 0;function f9(i){return i==null?i===void 0?yDe:vDe:PNt&&PNt in Object(i)?pDe(i):mDe(i)}function v2(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var xDe="[object AsyncFunction]",kDe="[object Function]",EDe="[object GeneratorFunction]",TDe="[object Proxy]";function VL(i){if(!v2(i))return!1;var a=f9(i);return a==kDe||a==EDe||a==xDe||a==TDe}var CDe=Vv["__core-js_shared__"];const ogt=CDe;var NNt=function(){var i=/[^.]+$/.exec(ogt&&ogt.keys&&ogt.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function _De(i){return!!NNt&&NNt in i}var SDe=Function.prototype,ADe=SDe.toString;function d9(i){if(i!=null){try{return ADe.call(i)}catch{}try{return i+""}catch{}}return""}var LDe=/[\\^$.*+?()[\]{}|]/g,MDe=/^\[object .+?Constructor\]$/,DDe=Function.prototype,IDe=Object.prototype,ODe=DDe.toString,PDe=IDe.hasOwnProperty,NDe=RegExp("^"+ODe.call(PDe).replace(LDe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function FDe(i){if(!v2(i)||_De(i))return!1;var a=VL(i)?NDe:MDe;return a.test(d9(i))}function BDe(i,a){return i==null?void 0:i[a]}function g9(i,a){var f=BDe(i,a);return FDe(f)?f:void 0}var RDe=g9(Object,"create");const vF=RDe;function jDe(){this.__data__=vF?vF(null):{},this.size=0}function $De(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var zDe="__lodash_hash_undefined__",qDe=Object.prototype,HDe=qDe.hasOwnProperty;function VDe(i){var a=this.__data__;if(vF){var f=a[i];return f===zDe?void 0:f}return HDe.call(a,i)?a[i]:void 0}var UDe=Object.prototype,GDe=UDe.hasOwnProperty;function KDe(i){var a=this.__data__;return vF?a[i]!==void 0:GDe.call(a,i)}var WDe="__lodash_hash_undefined__";function YDe(i,a){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=vF&&a===void 0?WDe:a,this}function p9(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1}function nIe(i,a){var f=this.__data__,g=WW(f,i);return g<0?(++this.size,f.push([i,a])):f[g][1]=a,this}function Ax(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1&&i%1==0&&i<=DIe}function f8(i){return i!=null&&fgt(i.length)&&!VL(i)}function WNt(i){return e4(i)&&f8(i)}function IIe(){return!1}var YNt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,XNt=YNt&&typeof module=="object"&&module&&!module.nodeType&&module,OIe=XNt&&XNt.exports===YNt,QNt=OIe?Vv.Buffer:void 0,PIe=QNt?QNt.isBuffer:void 0,NIe=PIe||IIe;const WL=NIe;var FIe="[object Object]",BIe=Function.prototype,RIe=Object.prototype,JNt=BIe.toString,jIe=RIe.hasOwnProperty,$Ie=JNt.call(Object);function ZNt(i){if(!e4(i)||f9(i)!=FIe)return!1;var a=hgt(i);if(a===null)return!0;var f=jIe.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&JNt.call(f)==$Ie}var zIe="[object Arguments]",qIe="[object Array]",HIe="[object Boolean]",VIe="[object Date]",UIe="[object Error]",GIe="[object Function]",KIe="[object Map]",WIe="[object Number]",YIe="[object Object]",XIe="[object RegExp]",QIe="[object Set]",JIe="[object String]",ZIe="[object WeakMap]",tOe="[object ArrayBuffer]",eOe="[object DataView]",nOe="[object Float32Array]",rOe="[object Float64Array]",iOe="[object Int8Array]",sOe="[object Int16Array]",aOe="[object Int32Array]",oOe="[object Uint8Array]",cOe="[object Uint8ClampedArray]",uOe="[object Uint16Array]",lOe="[object Uint32Array]",Bl={};Bl[nOe]=Bl[rOe]=Bl[iOe]=Bl[sOe]=Bl[aOe]=Bl[oOe]=Bl[cOe]=Bl[uOe]=Bl[lOe]=!0,Bl[zIe]=Bl[qIe]=Bl[tOe]=Bl[HIe]=Bl[eOe]=Bl[VIe]=Bl[UIe]=Bl[GIe]=Bl[KIe]=Bl[WIe]=Bl[YIe]=Bl[XIe]=Bl[QIe]=Bl[JIe]=Bl[ZIe]=!1;function hOe(i){return e4(i)&&fgt(i.length)&&!!Bl[f9(i)]}function tY(i){return function(a){return i(a)}}var tFt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xF=tFt&&typeof module=="object"&&module&&!module.nodeType&&module,fOe=xF&&xF.exports===tFt,dgt=fOe&&INt.process,dOe=function(){try{var i=xF&&xF.require&&xF.require("util").types;return i||dgt&&dgt.binding&&dgt.binding("util")}catch{}}();const YL=dOe;var eFt=YL&&YL.isTypedArray,gOe=eFt?tY(eFt):hOe;const eY=gOe;function ggt(i,a){if(!(a==="constructor"&&typeof i[a]=="function")&&a!="__proto__")return i[a]}var pOe=Object.prototype,bOe=pOe.hasOwnProperty;function nY(i,a,f){var g=i[a];(!(bOe.call(i,a)&&UL(g,f))||f===void 0&&!(a in i))&&QW(i,a,f)}function kF(i,a,f,g){var w=!f;f||(f={});for(var v=-1,b=a.length;++v-1&&i%1==0&&i0){if(++a>=DOe)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}var NOe=POe(MOe);const aFt=NOe;function iY(i,a){return aFt(sFt(i,a,w9),i+"")}function EF(i,a,f){if(!v2(f))return!1;var g=typeof a;return(g=="number"?f8(f)&&rY(a,f.length):g=="string"&&a in f)?UL(f[a],i):!1}function FOe(i){return iY(function(a,f){var g=-1,w=f.length,v=w>1?f[w-1]:void 0,b=w>2?f[2]:void 0;for(v=i.length>3&&typeof v=="function"?(w--,v):void 0,b&&EF(f[0],f[1],b)&&(v=w<3?void 0:v,w=1),a=Object(a);++gE.args);GW(b),g=Td(g,[...b])}else g=f.args;if(!g)return;let w=KW(i,a);const v="config";return g[v]!==void 0&&(w==="flowchart-v2"&&(w="flowchart"),g[w]=g[v],delete g[v]),g},cFt=function(i,a=null){try{const f=new RegExp(`[%]{2}(?![{]${jOe.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Wt.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let g;const w=[];for(;(g=wF.exec(i))!==null;)if(g.index===wF.lastIndex&&wF.lastIndex++,g&&!a||a&&g[1]&&g[1].match(a)||a&&g[2]&&g[2].match(a)){const v=g[1]?g[1]:g[2],b=g[3]?g[3].trim():g[4]?JSON.parse(g[4].trim()):null;w.push({type:v,args:b})}return w.length===0?{type:i,args:null}:w.length===1?w[0]:w}catch(f){return Wt.error(`ERROR: ${f.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},zOe=function(i){return i.replace(wF,"")},qOe=function(i,a){for(const[f,g]of a.entries())if(g.match(i))return f;return-1};function Vw(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return ROe[f]??a}function HOe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?c8(f):f}const VOe=(i,...a)=>{const f=i.split("."),g=f.length-1,w=f[g];let v=window;for(let b=0;b{f+=uFt(w,a),a=w});const g=f/2;return pgt(i,g)}function GOe(i){return i.length===1?i[0]:UOe(i)}const lFt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},pgt=(i,a)=>{let f,g=a;for(const w of i){if(f){const v=uFt(w,f);if(v=1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:lFt((1-b)*f.x+b*w.x,5),y:lFt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},KOe=(i,a,f)=>{Wt.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=pgt(a,25),v=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*v+(a[0].x+w.x)/2,E.y=-Math.cos(b)*v+(a[0].y+w.y)/2,E};function WOe(i,a,f){const g=structuredClone(f);Wt.info("our points",g),a!=="start_left"&&a!=="start_right"&&g.reverse();const w=25+i,v=pgt(g,w),b=10+i*.5,E=Math.atan2(g[0].y-v.y,g[0].x-v.x),_={x:0,y:0};return a==="start_left"?(_.x=Math.sin(E+Math.PI)*b+(g[0].x+v.x)/2,_.y=-Math.cos(E+Math.PI)*b+(g[0].y+v.y)/2):a==="end_right"?(_.x=Math.sin(E-Math.PI)*b+(g[0].x+v.x)/2-5,_.y=-Math.cos(E-Math.PI)*b+(g[0].y+v.y)/2-5):a==="end_left"?(_.x=Math.sin(E)*b+(g[0].x+v.x)/2-5,_.y=-Math.cos(E)*b+(g[0].y+v.y)/2-5):(_.x=Math.sin(E)*b+(g[0].x+v.x)/2,_.y=-Math.cos(E)*b+(g[0].y+v.y)/2),_}function Uw(i){let a="",f="";for(const g of i)g!==void 0&&(g.startsWith("color:")||g.startsWith("text-align:")?f=f+g+";":a=a+g+";");return{style:a,labelStyle:f}}let hFt=0;const fFt=()=>(hFt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+hFt);function YOe(i){let a="";const f="0123456789abcdef",g=f.length;for(let w=0;wYOe(i.length),XOe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},QOe=function(i,a){const f=a.text.replace(ei.lineBreakRegex," "),[,g]=QL(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",g),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const v=w.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.attr("fill",a.fill),v.text(f),w},gFt=GL((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},f),ei.lineBreakRegex.test(i)))return i;const g=i.split(" "),w=[];let v="";return g.forEach((b,E)=>{const _=n4(`${b} `,f),S=n4(v,f);if(_>a){const{hyphenatedStrings:F,remainingWord:R}=JOe(b,a,"-",f);w.push(v,...F),v=R}else S+_>=a?(w.push(v),v=b):v=[v,b].filter(Boolean).join(" ");E+1===g.length&&w.push(v)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),JOe=GL((i,a,f="-",g)=>{g=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},g);const w=[...i],v=[];let b="";return w.forEach((E,_)=>{const S=`${b}${E}`;if(n4(S,g)>=a){const B=_+1,F=w.length===B,R=`${S}${f}`;v.push(F?S:R),b=""}else b=S}),{hyphenatedStrings:v,remainingWord:b}},(i,a,f="-",g)=>`${i}${a}${f}${g.fontSize}${g.fontWeight}${g.fontFamily}`);function bgt(i,a){return wgt(i,a).height}function n4(i,a){return wgt(i,a).width}const wgt=GL((i,a)=>{const{fontSize:f=12,fontFamily:g="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,v]=QL(f),b=["sans-serif",g],E=i.split(ei.lineBreakRegex),_=[],S=xr("body");if(!S.remove)return{width:0,height:0,lineHeight:0};const I=S.append("svg");for(const F of b){let R=0;const q={width:0,height:0,lineHeight:0};for(const X of E){const rt=XOe();rt.text=X||oFt;const at=QOe(I,rt).style("font-size",v).style("font-weight",w).style("font-family",F),ut=(at._groups||at)[0][0].getBBox();if(ut.width===0&&ut.height===0)throw new Error("svg element not in render tree");q.width=Math.round(Math.max(q.width,ut.width)),R=Math.round(ut.height),q.height+=R,q.lineHeight=Math.round(Math.max(q.lineHeight,R))}_.push(q)}I.remove();const B=isNaN(_[1].height)||isNaN(_[1].width)||isNaN(_[1].lineHeight)||_[0].height>_[1].height&&_[0].width>_[1].width&&_[0].lineHeight>_[1].lineHeight?0:1;return _[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class ZOe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let aY;const tPe=function(i){return aY=aY||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),aY.innerHTML=i,unescape(aY.textContent)};function pFt(i){return"str"in i}const ePe=(i,a,f,g)=>{var v;if(!g)return;const w=(v=i.node())==null?void 0:v.getBBox();w&&i.append("text").text(g).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},QL=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function TF(i,a){return sY({},i,a)}const ao={assignWithDepth:Td,wrapLabel:gFt,calculateTextHeight:bgt,calculateTextWidth:n4,calculateTextDimensions:wgt,cleanAndMerge:TF,detectInit:$Oe,detectDirective:cFt,isSubstringInArray:qOe,interpolateToCurve:Vw,calcLabelPosition:GOe,calcCardinalityPosition:KOe,calcTerminalLabelPosition:WOe,formatUrl:HOe,getStylesFromArray:Uw,generateId:fFt,random:dFt,runFunc:VOe,entityDecode:tPe,insertTitle:ePe,parseFontSize:QL,InitIDGenerator:ZOe},nPe=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/#\w+;/g,function(f){const g=f.substring(1,f.length-1);return/^\+?\d+$/.test(g)?"fl°°"+g+"¶ß":"fl°"+g+"¶ß"}),a},CF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var bFt="comm",wFt="rule",mFt="decl",rPe="@import",iPe="@keyframes",sPe=Math.abs,mgt=String.fromCharCode;function vFt(i){return i.trim()}function vgt(i,a,f){return i.replace(a,f)}function aPe(i,a){return i.indexOf(a)}function _F(i,a){return i.charCodeAt(a)|0}function SF(i,a,f){return i.slice(a,f)}function d8(i){return i.length}function yFt(i){return i.length}function oY(i,a){return a.push(i),i}var cY=1,JL=1,xFt=0,Gw=0,a1=0,ZL="";function ygt(i,a,f,g,w,v,b){return{value:i,root:a,parent:f,type:g,props:w,children:v,line:cY,column:JL,length:b,return:""}}function oPe(){return a1}function cPe(){return a1=Gw>0?_F(ZL,--Gw):0,JL--,a1===10&&(JL=1,cY--),a1}function Gv(){return a1=Gw2||xgt(a1)>3?"":" "}function fPe(i,a){for(;--a&&Gv()&&!(a1<48||a1>102||a1>57&&a1<65||a1>70&&a1<97););return lY(i,uY()+(a<6&&m9()==32&&Gv()==32))}function Egt(i){for(;Gv();)switch(a1){case i:return Gw;case 34:case 39:i!==34&&i!==39&&Egt(a1);break;case 40:i===41&&Egt(i);break;case 92:Gv();break}return Gw}function dPe(i,a){for(;Gv()&&i+a1!==47+10;)if(i+a1===42+42&&m9()===47)break;return"/*"+lY(a,Gw-1)+"*"+mgt(i===47?i:Gv())}function gPe(i){for(;!xgt(m9());)Gv();return lY(i,Gw)}function pPe(i){return lPe(hY("",null,null,null,[""],i=uPe(i),0,[0],i))}function hY(i,a,f,g,w,v,b,E,_){for(var S=0,I=0,B=b,F=0,R=0,q=0,X=1,rt=1,at=1,ut=0,pt="",yt=w,mt=v,gt=g,ht=pt;rt;)switch(q=ut,ut=Gv()){case 40:if(q!=108&&_F(ht,B-1)==58){aPe(ht+=vgt(kgt(ut),"&","&\f"),"&\f")!=-1&&(at=-1);break}case 34:case 39:case 91:ht+=kgt(ut);break;case 9:case 10:case 13:case 32:ht+=hPe(q);break;case 92:ht+=fPe(uY()-1,7);continue;case 47:switch(m9()){case 42:case 47:oY(bPe(dPe(Gv(),uY()),a,f),_);break;default:ht+="/"}break;case 123*X:E[S++]=d8(ht)*at;case 125*X:case 59:case 0:switch(ut){case 0:case 125:rt=0;case 59+I:R>0&&d8(ht)-B&&oY(R>32?EFt(ht+";",g,f,B-1):EFt(vgt(ht," ","")+";",g,f,B-2),_);break;case 59:ht+=";";default:if(oY(gt=kFt(ht,a,f,S,I,w,E,pt,yt=[],mt=[],B),v),ut===123)if(I===0)hY(ht,a,gt,gt,yt,v,B,E,mt);else switch(F===99&&_F(ht,3)===110?100:F){case 100:case 109:case 115:hY(i,gt,gt,g&&oY(kFt(i,gt,gt,0,0,w,E,pt,w,yt=[],B),mt),w,mt,B,E,g?yt:mt);break;default:hY(ht,gt,gt,gt,[""],mt,0,E,mt)}}S=I=R=0,X=at=1,pt=ht="",B=b;break;case 58:B=1+d8(ht),R=q;default:if(X<1){if(ut==123)--X;else if(ut==125&&X++==0&&cPe()==125)continue}switch(ht+=mgt(ut),ut*X){case 38:at=I>0?1:(ht+="\f",-1);break;case 44:E[S++]=(d8(ht)-1)*at,at=1;break;case 64:m9()===45&&(ht+=kgt(Gv())),F=m9(),I=B=d8(pt=ht+=gPe(uY())),ut++;break;case 45:q===45&&d8(ht)==2&&(X=0)}}return v}function kFt(i,a,f,g,w,v,b,E,_,S,I){for(var B=w-1,F=w===0?v:[""],R=yFt(F),q=0,X=0,rt=0;q0?F[at]+" "+ut:vgt(ut,/&\f/g,F[at])))&&(_[rt++]=pt);return ygt(i,a,f,w===0?wFt:E,_,S,I)}function bPe(i,a,f){return ygt(i,a,f,bFt,mgt(oPe()),SF(i,2,-2),0)}function EFt(i,a,f,g){return ygt(i,a,f,mFt,SF(i,0,g),SF(i,g+1,-1),g)}function Tgt(i,a){for(var f="",g=yFt(i),w=0;w{let f=Td({},i),g={};for(const w of a)AFt(w),g=Td(g,w);if(f=Td(f,g),g.theme&&g.theme in _x){const w=Td({},CFt),v=Td(w.themeVariables||{},g.themeVariables);f.theme&&f.theme in _x&&(f.themeVariables=_x[f.theme].getThemeVariables(v))}return AF=f,MFt(AF),AF},mPe=i=>(nb=Td({},tM),nb=Td(nb,i),i.theme&&_x[i.theme]&&(nb.themeVariables=_x[i.theme].getThemeVariables(i.themeVariables)),fY(nb,eM),nb),vPe=i=>{CFt=Td({},i)},yPe=i=>(nb=Td(nb,i),fY(nb,eM),nb),_Ft=()=>Td({},nb),SFt=i=>(MFt(i),Td(AF,i),h0()),h0=()=>Td({},AF),AFt=i=>{i&&(["secure",...nb.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Wt.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&AFt(i[a])}))},xPe=i=>{GW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),eM.push(i),fY(nb,eM)},dY=(i=nb)=>{eM=[],fY(i,eM)},kPe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},LFt={},EPe=i=>{LFt[i]||(Wt.warn(kPe[i]),LFt[i]=!0)},MFt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&EPe("LAZY_LOAD_DEPRECATED")},DFt="c4",TPe={id:DFt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>zRe);return{id:DFt,diagram:i}}},IFt="flowchart",CPe={id:IFt,detector:(i,a)=>{var f,g;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((g=a==null?void 0:a.flowchart)==null?void 0:g.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>WKe);return{id:IFt,diagram:i}}},OFt="flowchart-v2",_Pe={id:OFt,detector:(i,a)=>{var f,g,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((g=a==null?void 0:a.flowchart)==null?void 0:g.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>YKe);return{id:OFt,diagram:i}}},PFt="er",SPe={id:PFt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xWe);return{id:PFt,diagram:i}}},NFt="gitGraph",APe={id:NFt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>GWe);return{id:NFt,diagram:i}}},FFt="gantt",LPe={id:FFt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>NYe);return{id:FFt,diagram:i}}},BFt="info",MPe={id:BFt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>BYe);return{id:BFt,diagram:i}}},RFt="pie",DPe={id:RFt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>HYe);return{id:RFt,diagram:i}}},jFt="quadrantChart",IPe={id:jFt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sXe);return{id:jFt,diagram:i}}},$Ft="xychart",OPe={id:$Ft,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>LXe);return{id:$Ft,diagram:i}}},zFt="requirement",PPe={id:zFt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>jXe);return{id:zFt,diagram:i}}},qFt="sequence",NPe={id:qFt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>UQe);return{id:qFt,diagram:i}}},HFt="class",FPe={id:HFt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>pJe);return{id:HFt,diagram:i}}},VFt="classDiagram",BPe={id:VFt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xJe);return{id:VFt,diagram:i}}},UFt="state",RPe={id:UFt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>cZe);return{id:UFt,diagram:i}}},GFt="stateDiagram",jPe={id:GFt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>SZe);return{id:GFt,diagram:i}}},KFt="journey",$Pe={id:KFt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>GZe);return{id:KFt,diagram:i}}},zPe=function(i,a){for(let f of a)i.attr(f[0],f[1])},qPe=function(i,a,f){let g=new Map;return f?(g.set("width","100%"),g.set("style",`max-width: ${a}px;`)):(g.set("height",i),g.set("width",a)),g},Kg=function(i,a,f,g){const w=qPe(a,f,g);zPe(i,w)},g8=function(i,a,f,g){const w=a.node().getBBox(),v=w.width,b=w.height;Wt.info(`SVG bounds: ${v}x${b}`,w);let E=0,_=0;Wt.info(`Graph bounds: ${E}x${_}`,i),E=v+f*2,_=b+f*2,Wt.info(`Calculated bounds: ${E}x${_}`),Kg(a,_,E,g);const S=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",S)},gY={},HPe=(i,a,f)=>{let g="";return i in gY&&gY[i]?g=gY[i](f):Wt.warn(`No theme found for ${i}`),` & { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + fill: ${f.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${f.errorBkgColor}; + } + & .error-text { + fill: ${f.errorTextColor}; + stroke: ${f.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${f.lineColor}; + stroke: ${f.lineColor}; + } + & .marker.cross { + stroke: ${f.lineColor}; + } + + & svg { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + } + + ${g} + + ${a} +`},VPe=(i,a)=>{a!==void 0&&(gY[i]=a)},UPe=HPe;let Cgt="",_gt="",Sgt="";const Agt=i=>Ed(i,h0()),Wg=()=>{Cgt="",Sgt="",_gt=""},ng=i=>{Cgt=Agt(i).replace(/^\s+/g,"")},Yg=()=>Cgt,Xg=i=>{Sgt=Agt(i).replace(/\n\s+/g,` +`)},Qg=()=>Sgt,y2=i=>{_gt=Agt(i)},Jg=()=>_gt,WFt=Object.freeze(Object.defineProperty({__proto__:null,clear:Wg,getAccDescription:Qg,getAccTitle:Yg,getDiagramTitle:Jg,setAccDescription:Xg,setAccTitle:ng,setDiagramTitle:y2},Symbol.toStringTag,{value:"Module"})),GPe=Wt,KPe=s0t,Re=h0,WPe=SFt,YFt=tM,YPe=i=>Ed(i,Re()),XFt=g8,XPe=()=>WFt,pY={},bY=(i,a,f)=>{var g;if(pY[i])throw new Error(`Diagram ${i} already registered.`);pY[i]=a,f&&DNt(i,f),VPe(i,a.styles),(g=a.injectUtils)==null||g.call(a,GPe,KPe,Re,YPe,XFt,XPe(),()=>{})},Lgt=i=>{if(i in pY)return pY[i];throw new QPe(i)};class QPe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const wY=i=>{var w;const{securityLevel:a}=Re();let f=xr("body");if(a==="sandbox"){const b=((w=xr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=xr(b.body)}return f.select(`#${i}`)},QFt={draw:(i,a,f)=>{Wt.debug(`renering svg for syntax error +`);const g=wY(a);g.attr("viewBox","0 0 2412 512"),Kg(g,100,512,!0);const w=g.append("g");w.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),w.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),w.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),w.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),w.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),w.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),w.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),w.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},JPe=QFt,ZPe={db:{},renderer:QFt,parser:{parser:{yy:{}},parse:()=>{}}},JFt="flowchart-elk",tNe={id:JFt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ctn);return{id:JFt,diagram:i}}},ZFt="timeline",eNe={id:ZFt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Stn);return{id:ZFt,diagram:i}}},tBt="mindmap",nNe={id:tBt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ren);return{id:tBt,diagram:i}}},eBt="sankey",rNe={id:eBt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Oen);return{id:eBt,diagram:i}}};let nBt=!1;const Mgt=()=>{nBt||(nBt=!0,bY("error",ZPe,i=>i.toLowerCase().trim()==="error"),bY("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),MNt(TPe,BPe,FPe,SPe,LPe,MPe,DPe,PPe,NPe,tNe,_Pe,CPe,nNe,eNe,APe,jPe,RPe,$Pe,IPe,rNe,OPe))};class rBt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text=nPe(a),this.text+=` +`;const g=h0();try{this.type=KW(a,g)}catch(v){this.type="error",this.detectError=v}const w=Lgt(this.type);Wt.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,g,w,v,b;if(this.detectError)throw this.detectError;(g=(f=this.db).clear)==null||g.call(f);const a=h0();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const iNe=async(i,a={})=>{const f=KW(i,h0());try{Lgt(f)}catch{const w=cDe(f);if(!w)throw new LNt(`Diagram ${f} not found.`);const{id:v,diagram:b}=await w();bY(v,b)}return new rBt(i,a)};let Dgt=[];const sNe=i=>{Dgt.push(i)},aNe=()=>{Dgt.forEach(i=>{i()}),Dgt=[]};var oNe=VNt(Object.keys,Object);const cNe=oNe;var uNe=Object.prototype,lNe=uNe.hasOwnProperty;function iBt(i){if(!ZW(i))return cNe(i);var a=[];for(var f in Object(i))lNe.call(i,f)&&f!="constructor"&&a.push(f);return a}var hNe=g9(Vv,"DataView");const Igt=hNe;var fNe=g9(Vv,"Promise");const Ogt=fNe;var dNe=g9(Vv,"Set");const nM=dNe;var gNe=g9(Vv,"WeakMap");const Pgt=gNe;var sBt="[object Map]",pNe="[object Object]",aBt="[object Promise]",oBt="[object Set]",cBt="[object WeakMap]",uBt="[object DataView]",bNe=d9(Igt),wNe=d9(yF),mNe=d9(Ogt),vNe=d9(nM),yNe=d9(Pgt),v9=f9;(Igt&&v9(new Igt(new ArrayBuffer(1)))!=uBt||yF&&v9(new yF)!=sBt||Ogt&&v9(Ogt.resolve())!=aBt||nM&&v9(new nM)!=oBt||Pgt&&v9(new Pgt)!=cBt)&&(v9=function(i){var a=f9(i),f=a==pNe?i.constructor:void 0,g=f?d9(f):"";if(g)switch(g){case bNe:return uBt;case wNe:return sBt;case mNe:return aBt;case vNe:return oBt;case yNe:return cBt}return a});const rM=v9;var xNe="[object Map]",kNe="[object Set]",ENe=Object.prototype,TNe=ENe.hasOwnProperty;function LF(i){if(i==null)return!0;if(f8(i)&&(s1(i)||typeof i=="string"||typeof i.splice=="function"||WL(i)||eY(i)||KL(i)))return!i.length;var a=rM(i);if(a==xNe||a==kNe)return!i.size;if(ZW(i))return!iBt(i).length;for(var f in i)if(TNe.call(i,f))return!1;return!0}const CNe="graphics-document document";function _Ne(i,a){i.attr("role",CNe),a!==""&&i.attr("aria-roledescription",a)}function SNe(i,a,f,g){if(i.insert!==void 0){if(f){const w=`chart-desc-${g}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${g}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const ANe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function lBt(i){return typeof i>"u"||i===null}function LNe(i){return typeof i=="object"&&i!==null}function MNe(i){return Array.isArray(i)?i:lBt(i)?[]:[i]}function DNe(i,a){var f,g,w,v;if(a)for(v=Object.keys(a),f=0,g=v.length;fE&&(v=" ... ",a=g-E+v.length),f-g>E&&(b=" ...",f=g+E-b.length),{str:v+i.slice(a,f).replace(/\t/g,"→")+b,pos:g-a+v.length}}function Fgt(i,a){return Zg.repeat(" ",a-i.length)+i}function $Ne(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var f=/\r?\n|\r|\0/g,g=[0],w=[],v,b=-1;v=f.exec(i.buffer);)w.push(v.index),g.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=g.length-2);b<0&&(b=g.length-1);var E="",_,S,I=Math.min(i.line+a.linesAfter,w.length).toString().length,B=a.maxLength-(a.indent+I+3);for(_=1;_<=a.linesBefore&&!(b-_<0);_++)S=Ngt(i.buffer,g[b-_],w[b-_],i.position-(g[b]-g[b-_]),B),E=Zg.repeat(" ",a.indent)+Fgt((i.line-_+1).toString(),I)+" | "+S.str+` +`+E;for(S=Ngt(i.buffer,g[b],w[b],i.position,B),E+=Zg.repeat(" ",a.indent)+Fgt((i.line+1).toString(),I)+" | "+S.str+` +`,E+=Zg.repeat("-",a.indent+I+3+S.pos)+`^ +`,_=1;_<=a.linesAfter&&!(b+_>=w.length);_++)S=Ngt(i.buffer,g[b+_],w[b+_],i.position-(g[b]-g[b+_]),B),E+=Zg.repeat(" ",a.indent)+Fgt((i.line+_+1).toString(),I)+" | "+S.str+` +`;return E.replace(/\n$/,"")}var zNe=$Ne,qNe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],HNe=["scalar","sequence","mapping"];function VNe(i){var a={};return i!==null&&Object.keys(i).forEach(function(f){i[f].forEach(function(g){a[String(g)]=f})}),a}function UNe(i,a){if(a=a||{},Object.keys(a).forEach(function(f){if(qNe.indexOf(f)===-1)throw new Mx('Unknown option "'+f+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(f){return f},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=VNe(a.styleAliases||null),HNe.indexOf(this.kind)===-1)throw new Mx('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var rg=UNe;function fBt(i,a){var f=[];return i[a].forEach(function(g){var w=f.length;f.forEach(function(v,b){v.tag===g.tag&&v.kind===g.kind&&v.multi===g.multi&&(w=b)}),f[w]=g}),f}function GNe(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,f;function g(w){w.multi?(i.multi[w.kind].push(w),i.multi.fallback.push(w)):i[w.kind][w.tag]=i.fallback[w.tag]=w}for(a=0,f=arguments.length;a=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),dFe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function gFe(i){return!(i===null||!dFe.test(i)||i[i.length-1]==="_")}function pFe(i){var a,f;return a=i.replace(/_/g,"").toLowerCase(),f=a[0]==="-"?-1:1,"+-".indexOf(a[0])>=0&&(a=a.slice(1)),a===".inf"?f===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:a===".nan"?NaN:f*parseFloat(a,10)}var bFe=/^[-+]?[0-9]+e/;function wFe(i,a){var f;if(isNaN(i))switch(a){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(a){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(a){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zg.isNegativeZero(i))return"-0.0";return f=i.toString(10),bFe.test(f)?f.replace("e",".e"):f}function mFe(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Zg.isNegativeZero(i))}var vFe=new rg("tag:yaml.org,2002:float",{kind:"scalar",resolve:gFe,construct:pFe,predicate:mFe,represent:wFe,defaultStyle:"lowercase"}),dBt=QNe.extend({implicit:[eFe,sFe,fFe,vFe]}),yFe=dBt,gBt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),pBt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function xFe(i){return i===null?!1:gBt.exec(i)!==null||pBt.exec(i)!==null}function kFe(i){var a,f,g,w,v,b,E,_=0,S=null,I,B,F;if(a=gBt.exec(i),a===null&&(a=pBt.exec(i)),a===null)throw new Error("Date resolve error");if(f=+a[1],g=+a[2]-1,w=+a[3],!a[4])return new Date(Date.UTC(f,g,w));if(v=+a[4],b=+a[5],E=+a[6],a[7]){for(_=a[7].slice(0,3);_.length<3;)_+="0";_=+_}return a[9]&&(I=+a[10],B=+(a[11]||0),S=(I*60+B)*6e4,a[9]==="-"&&(S=-S)),F=new Date(Date.UTC(f,g,w,v,b,E,_)),S&&F.setTime(F.getTime()-S),F}function EFe(i){return i.toISOString()}var TFe=new rg("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:xFe,construct:kFe,instanceOf:Date,represent:EFe});function CFe(i){return i==="<<"||i===null}var _Fe=new rg("tag:yaml.org,2002:merge",{kind:"scalar",resolve:CFe}),Rgt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function SFe(i){if(i===null)return!1;var a,f,g=0,w=i.length,v=Rgt;for(f=0;f64)){if(a<0)return!1;g+=6}return g%8===0}function AFe(i){var a,f,g=i.replace(/[\r\n=]/g,""),w=g.length,v=Rgt,b=0,E=[];for(a=0;a>16&255),E.push(b>>8&255),E.push(b&255)),b=b<<6|v.indexOf(g.charAt(a));return f=w%4*6,f===0?(E.push(b>>16&255),E.push(b>>8&255),E.push(b&255)):f===18?(E.push(b>>10&255),E.push(b>>2&255)):f===12&&E.push(b>>4&255),new Uint8Array(E)}function LFe(i){var a="",f=0,g,w,v=i.length,b=Rgt;for(g=0;g>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]),f=(f<<8)+i[g];return w=v%3,w===0?(a+=b[f>>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]):w===2?(a+=b[f>>10&63],a+=b[f>>4&63],a+=b[f<<2&63],a+=b[64]):w===1&&(a+=b[f>>2&63],a+=b[f<<4&63],a+=b[64],a+=b[64]),a}function MFe(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var DFe=new rg("tag:yaml.org,2002:binary",{kind:"scalar",resolve:SFe,construct:AFe,predicate:MFe,represent:LFe}),IFe=Object.prototype.hasOwnProperty,OFe=Object.prototype.toString;function PFe(i){if(i===null)return!0;var a=[],f,g,w,v,b,E=i;for(f=0,g=E.length;f>10)+55296,(i-65536&1023)+56320)}for(var EBt=new Array(256),TBt=new Array(256),sM=0;sM<256;sM++)EBt[sM]=kBt(sM)?1:0,TBt[sM]=kBt(sM);function tBe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||UFe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function CBt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=zNe(f),new Mx(a,f)}function Ks(i,a){throw CBt(i,a)}function yY(i,a){i.onWarning&&i.onWarning.call(null,CBt(i,a))}var _Bt={YAML:function(a,f,g){var w,v,b;a.version!==null&&Ks(a,"duplication of %YAML directive"),g.length!==1&&Ks(a,"YAML directive accepts exactly one argument"),w=/^([0-9]+)\.([0-9]+)$/.exec(g[0]),w===null&&Ks(a,"ill-formed argument of the YAML directive"),v=parseInt(w[1],10),b=parseInt(w[2],10),v!==1&&Ks(a,"unacceptable YAML version of the document"),a.version=g[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&yY(a,"unsupported YAML version of the document")},TAG:function(a,f,g){var w,v;g.length!==2&&Ks(a,"TAG directive accepts exactly two arguments"),w=g[0],v=g[1],vBt.test(w)||Ks(a,"ill-formed tag handle (first argument) of the TAG directive"),p8.call(a.tagMap,w)&&Ks(a,'there is a previously declared suffix for "'+w+'" tag handle'),yBt.test(v)||Ks(a,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{Ks(a,"tag prefix is malformed: "+v)}a.tagMap[w]=v}};function b8(i,a,f,g){var w,v,b,E;if(a1&&(i.result+=Zg.repeat(` +`,a-1))}function eBe(i,a,f){var g,w,v,b,E,_,S,I,B=i.kind,F=i.result,R;if(R=i.input.charCodeAt(i.position),rb(R)||iM(R)||R===35||R===38||R===42||R===33||R===124||R===62||R===39||R===34||R===37||R===64||R===96||(R===63||R===45)&&(w=i.input.charCodeAt(i.position+1),rb(w)||f&&iM(w)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,E=!1;R!==0;){if(R===58){if(w=i.input.charCodeAt(i.position+1),rb(w)||f&&iM(w))break}else if(R===35){if(g=i.input.charCodeAt(i.position-1),rb(g))break}else{if(i.position===i.lineStart&&xY(i)||f&&iM(R))break;if(r4(R))if(_=i.line,S=i.lineStart,I=i.lineIndent,o1(i,!1,-1),i.lineIndent>=a){E=!0,R=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=_,i.lineStart=S,i.lineIndent=I;break}}E&&(b8(i,v,b,!1),zgt(i,i.line-_),v=b=i.position,E=!1),y9(R)||(b=i.position+1),R=i.input.charCodeAt(++i.position)}return b8(i,v,b,!1),i.result?!0:(i.kind=B,i.result=F,!1)}function nBe(i,a){var f,g,w;if(f=i.input.charCodeAt(i.position),f!==39)return!1;for(i.kind="scalar",i.result="",i.position++,g=w=i.position;(f=i.input.charCodeAt(i.position))!==0;)if(f===39)if(b8(i,g,i.position,!0),f=i.input.charCodeAt(++i.position),f===39)g=i.position,i.position++,w=i.position;else return!0;else r4(f)?(b8(i,g,w,!0),zgt(i,o1(i,!1,a)),g=w=i.position):i.position===i.lineStart&&xY(i)?Ks(i,"unexpected end of the document within a single quoted scalar"):(i.position++,w=i.position);Ks(i,"unexpected end of the stream within a single quoted scalar")}function rBe(i,a){var f,g,w,v,b,E;if(E=i.input.charCodeAt(i.position),E!==34)return!1;for(i.kind="scalar",i.result="",i.position++,f=g=i.position;(E=i.input.charCodeAt(i.position))!==0;){if(E===34)return b8(i,f,i.position,!0),i.position++,!0;if(E===92){if(b8(i,f,i.position,!0),E=i.input.charCodeAt(++i.position),r4(E))o1(i,!1,a);else if(E<256&&EBt[E])i.result+=TBt[E],i.position++;else if((b=QFe(E))>0){for(w=b,v=0;w>0;w--)E=i.input.charCodeAt(++i.position),(b=XFe(E))>=0?v=(v<<4)+b:Ks(i,"expected hexadecimal character");i.result+=ZFe(v),i.position++}else Ks(i,"unknown escape sequence");f=g=i.position}else r4(E)?(b8(i,f,g,!0),zgt(i,o1(i,!1,a)),f=g=i.position):i.position===i.lineStart&&xY(i)?Ks(i,"unexpected end of the document within a double quoted scalar"):(i.position++,g=i.position)}Ks(i,"unexpected end of the stream within a double quoted scalar")}function iBe(i,a){var f=!0,g,w,v,b=i.tag,E,_=i.anchor,S,I,B,F,R,q=Object.create(null),X,rt,at,ut;if(ut=i.input.charCodeAt(i.position),ut===91)I=93,R=!1,E=[];else if(ut===123)I=125,R=!0,E={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=E),ut=i.input.charCodeAt(++i.position);ut!==0;){if(o1(i,!0,a),ut=i.input.charCodeAt(i.position),ut===I)return i.position++,i.tag=b,i.anchor=_,i.kind=R?"mapping":"sequence",i.result=E,!0;f?ut===44&&Ks(i,"expected the node content, but found ','"):Ks(i,"missed comma between flow collection entries"),rt=X=at=null,B=F=!1,ut===63&&(S=i.input.charCodeAt(i.position+1),rb(S)&&(B=F=!0,i.position++,o1(i,!0,a))),g=i.line,w=i.lineStart,v=i.position,oM(i,a,mY,!1,!0),rt=i.tag,X=i.result,o1(i,!0,a),ut=i.input.charCodeAt(i.position),(F||i.line===g)&&ut===58&&(B=!0,ut=i.input.charCodeAt(++i.position),o1(i,!0,a),oM(i,a,mY,!1,!0),at=i.result),R?aM(i,E,q,rt,X,at,g,w,v):B?E.push(aM(i,null,q,rt,X,at,g,w,v)):E.push(X),o1(i,!0,a),ut=i.input.charCodeAt(i.position),ut===44?(f=!0,ut=i.input.charCodeAt(++i.position)):f=!1}Ks(i,"unexpected end of the stream within a flow collection")}function sBe(i,a){var f,g,w=jgt,v=!1,b=!1,E=a,_=0,S=!1,I,B;if(B=i.input.charCodeAt(i.position),B===124)g=!1;else if(B===62)g=!0;else return!1;for(i.kind="scalar",i.result="";B!==0;)if(B=i.input.charCodeAt(++i.position),B===43||B===45)jgt===w?w=B===43?mBt:GFe:Ks(i,"repeat of a chomping mode identifier");else if((I=JFe(B))>=0)I===0?Ks(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?Ks(i,"repeat of an indentation width identifier"):(E=a+I-1,b=!0);else break;if(y9(B)){do B=i.input.charCodeAt(++i.position);while(y9(B));if(B===35)do B=i.input.charCodeAt(++i.position);while(!r4(B)&&B!==0)}for(;B!==0;){for($gt(i),i.lineIndent=0,B=i.input.charCodeAt(i.position);(!b||i.lineIndentE&&(E=i.lineIndent),r4(B)){_++;continue}if(i.lineIndenta)&&_!==0)Ks(i,"bad indentation of a sequence entry");else if(i.lineIndenta)&&(rt&&(b=i.line,E=i.lineStart,_=i.position),oM(i,a,vY,!0,w)&&(rt?q=i.result:X=i.result),rt||(aM(i,B,F,R,q,X,b,E,_),R=q=X=null),o1(i,!0,-1),ut=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>a)&&ut!==0)Ks(i,"bad indentation of a mapping entry");else if(i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),B=0,F=i.implicitTypes.length;B"),i.result!==null&&q.kind!==i.kind&&Ks(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+q.kind+'", not "'+i.kind+'"'),q.resolve(i.result,i.tag)?(i.result=q.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):Ks(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||I}function lBe(i){var a=i.position,f,g,w,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(o1(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),f=i.position;b!==0&&!rb(b);)b=i.input.charCodeAt(++i.position);for(g=i.input.slice(f,i.position),w=[],g.length<1&&Ks(i,"directive name must not be less than one character in length");b!==0;){for(;y9(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!r4(b));break}if(r4(b))break;for(f=i.position;b!==0&&!rb(b);)b=i.input.charCodeAt(++i.position);w.push(i.input.slice(f,i.position))}b!==0&&$gt(i),p8.call(_Bt,g)?_Bt[g](i,g,w):yY(i,'unknown document directive "'+g+'"')}if(o1(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,o1(i,!0,-1)):v&&Ks(i,"directives end mark is expected"),oM(i,i.lineIndent-1,vY,!1,!0),o1(i,!0,-1),i.checkLineBreaks&&WFe.test(i.input.slice(a,i.position))&&yY(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&xY(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,o1(i,!0,-1));return}if(i.position"u"&&(f=a,a=null);var g=LBt(i,f);if(typeof a!="function")return g;for(var w=0,v=g.length;wi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(a,f,g)=>"<"+f+g.replace(/="([^"]*)"/g,"='$1'")+">"),yBe=i=>{const{text:a,metadata:f}=mBe(i),{displayMode:g,title:w,config:v={}}=f;return g&&(v.gantt||(v.gantt={}),v.gantt.displayMode=g),{title:w,config:v,text:a}},xBe=i=>{const a=ao.detectInit(i)??{},f=ao.detectDirective(i,"wrap");return Array.isArray(f)?a.wrap=f.some(({type:g})=>{}):(f==null?void 0:f.type)==="wrap"&&(a.wrap=!0),{text:zOe(i),directive:a}};function MBt(i){const a=vBe(i),f=yBe(a),g=xBe(f.text),w=TF(f.config,g.directive);return i=ANe(g.text),{code:i,title:f.title,config:w}}const kBe=5e4,EBe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",TBe="sandbox",CBe="loose",_Be="http://www.w3.org/2000/svg",SBe="http://www.w3.org/1999/xlink",ABe="http://www.w3.org/1999/xhtml",LBe="100%",MBe="100%",DBe="border:0;margin:0;",IBe="margin:0",OBe="allow-top-navigation-by-user-activation allow-popups",PBe='The "iframe" tag is not supported by your browser.',NBe=["foreignobject"],FBe=["dominant-baseline"];function DBt(i){const a=MBt(i);return dY(),xPe(a.config??{}),a}async function BBe(i,a){Mgt(),i=DBt(i).code;try{await qgt(i)}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const IBt=(i,a,f=[])=>` +.${i} ${a} { ${f.join(" !important; ")} !important; }`,RBe=(i,a={})=>{var g;let f="";if(i.themeCSS!==void 0&&(f+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(f+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(f+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!LF(a)){const E=i.htmlLabels||((g=i.flowchart)==null?void 0:g.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const S=a[_];LF(S.styles)||E.forEach(I=>{f+=IBt(S.id,I,S.styles)}),LF(S.textStyles)||(f+=IBt(S.id,"tspan",S.textStyles))}}return f},jBe=(i,a,f,g)=>{const w=RBe(i,f),v=UPe(a,w,i.themeVariables);return Tgt(pPe(`${g}{${v}}`),wPe)},$Be=(i="",a,f)=>{let g=i;return!f&&!a&&(g=g.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),g=CF(g),g=g.replace(/
/g,"
"),g},zBe=(i="",a)=>{var w,v;const f=(v=(w=a==null?void 0:a.viewBox)==null?void 0:w.baseVal)!=null&&v.height?a.viewBox.baseVal.height+"px":MBe,g=btoa(''+i+"");return``},OBt=(i,a,f,g,w)=>{const v=i.append("div");v.attr("id",f),g&&v.attr("style",g);const b=v.append("svg").attr("id",a).attr("width","100%").attr("xmlns",_Be);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function PBt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const qBe=(i,a,f,g)=>{var w,v,b;(w=i.getElementById(a))==null||w.remove(),(v=i.getElementById(f))==null||v.remove(),(b=i.getElementById(g))==null||b.remove()},HBe=async function(i,a,f){var V,Nt,Dt,jt,Ct,Ft;Mgt();const g=DBt(a);a=g.code;const w=h0();Wt.debug(w),a.length>((w==null?void 0:w.maxTextSize)??kBe)&&(a=EBe);const v="#"+i,b="i"+i,E="#"+b,_="d"+i,S="#"+_;let I=xr("body");const B=w.securityLevel===TBe,F=w.securityLevel===CBe,R=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const _t=PBt(xr(f),b);I=xr(_t.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=xr(f);OBt(I,i,_,`font-family: ${R}`,SBe)}else{if(qBe(document,i,_,b),B){const _t=PBt(xr("body"),b);I=xr(_t.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=xr("body");OBt(I,i,_)}let q,X;try{q=await qgt(a,{title:g.title})}catch(_t){q=new rBt("error"),X=_t}const rt=I.select(S).node(),at=q.type,ut=rt.firstChild,pt=ut.firstChild,yt=(Nt=(V=q.renderer).getClasses)==null?void 0:Nt.call(V,a,q),mt=jBe(w,at,yt,v),gt=document.createElement("style");gt.innerHTML=mt,ut.insertBefore(gt,pt);try{await q.renderer.draw(a,i,TFt,q)}catch(_t){throw JPe.draw(a,i,TFt),_t}const ht=I.select(`${S} svg`),bt=(jt=(Dt=q.db).getAccTitle)==null?void 0:jt.call(Dt),Z=(Ft=(Ct=q.db).getAccDescription)==null?void 0:Ft.call(Ct);UBe(at,ht,bt,Z),I.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",ABe);let ft=I.select(S).node().innerHTML;if(Wt.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),ft=$Be(ft,B,B1(w.arrowMarkerAbsolute)),B){const _t=I.select(S+" svg").node();ft=zBe(ft,_t)}else F||(ft=zL.sanitize(ft,{ADD_TAGS:NBe,ADD_ATTR:FBe}));if(aNe(),X)throw X;const Et=xr(B?E:S).node();return Et&&"remove"in Et&&Et.remove(),{svg:ft,bindFunctions:q.db.bindFunctions}};function VBe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),vPe(i),i!=null&&i.theme&&i.theme in _x?i.themeVariables=_x[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=_x.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?mPe(i):_Ft();s0t(a.logLevel),Mgt()}const qgt=(i,a={})=>{const{code:f}=MBt(i);return iNe(f,a)};function UBe(i,a,f,g){_Ne(a,i),SNe(a,f,g,a.attr("id"))}const x9=Object.freeze({render:HBe,parse:BBe,getDiagramFromText:qgt,initialize:VBe,getConfig:h0,setConfig:SFt,getSiteConfig:_Ft,updateSiteConfig:yPe,reset:()=>{dY()},globalReset:()=>{dY(tM)},defaultConfig:tM});s0t(h0().logLevel),dY(h0());const GBe=async()=>{Wt.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(HL).map(async([f,{detector:g,loader:w}])=>{if(w)try{Lgt(f)}catch{try{const{diagram:b,id:E}=await w();bY(E,b,g)}catch(b){throw Wt.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete HL[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Wt.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Wt.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},KBe=(i,a,f)=>{Wt.warn(i),pFt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},NBt=async function(i={querySelector:".mermaid"}){try{await WBe(i)}catch(a){if(pFt(a)&&Wt.error(a.str),x2.parseError&&x2.parseError(a),!i.suppressErrors)throw Wt.error("Use the suppressErrors option to suppress these errors"),a}},WBe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const g=x9.getConfig();Wt.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Wt.debug(`Found ${w.length} diagrams`),(g==null?void 0:g.startOnLoad)!==void 0&&(Wt.debug("Start On Load: "+(g==null?void 0:g.startOnLoad)),x9.updateSiteConfig({startOnLoad:g==null?void 0:g.startOnLoad}));const v=new ao.InitIDGenerator(g.deterministicIds,g.deterministicIDSeed);let b;const E=[];for(const _ of Array.from(w)){Wt.info("Rendering diagram: "+_.id);/*! Check if previously processed */if(_.getAttribute("data-processed"))continue;_.setAttribute("data-processed","true");const S=`mermaid-${v.next()}`;b=_.innerHTML,b=SL(ao.entityDecode(b)).trim().replace(//gi,"
");const I=ao.detectInit(b);I&&Wt.debug("Detected early reinit: ",I);try{const{svg:B,bindFunctions:F}=await jBt(S,b,_);_.innerHTML=B,i&&await i(S),F&&F(_)}catch(B){KBe(B,E,x2.parseError)}}if(E.length>0)throw E[0]},FBt=function(i){x9.initialize(i)},YBe=async function(i,a,f){Wt.warn("mermaid.init is deprecated. Please use run instead."),i&&FBt(i);const g={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?g.querySelector=a:a&&(a instanceof HTMLElement?g.nodes=[a]:g.nodes=a),await NBt(g)},XBe=async(i,{lazyLoad:a=!0}={})=>{MNt(...i),a===!1&&await GBe()},BBt=function(){if(x2.startOnLoad){const{startOnLoad:i}=x9.getConfig();i&&x2.run().catch(a=>Wt.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",BBt,!1)}const QBe=function(i){x2.parseError=i},kY=[];let Hgt=!1;const RBt=async()=>{if(!Hgt){for(Hgt=!0;kY.length>0;){const i=kY.shift();if(i)try{await i()}catch(a){Wt.error("Error executing queue",a)}}Hgt=!1}},JBe=async(i,a)=>new Promise((f,g)=>{const w=()=>new Promise((v,b)=>{x9.parse(i,a).then(E=>{v(E),f(E)},E=>{var _;Wt.error("Error parsing",E),(_=x2.parseError)==null||_.call(x2,E),b(E),g(E)})});kY.push(w),RBt().catch(g)}),jBt=(i,a,f)=>new Promise((g,w)=>{const v=()=>new Promise((b,E)=>{x9.render(i,a,f).then(_=>{b(_),g(_)},_=>{var S;Wt.error("Error parsing",_),(S=x2.parseError)==null||S.call(x2,_),E(_),w(_)})});kY.push(v),RBt().catch(w)}),x2={startOnLoad:!0,mermaidAPI:x9,parse:JBe,render:jBt,init:YBe,run:NBt,registerExternalDiagrams:XBe,initialize:FBt,parseError:void 0,contentLoaded:BBt,setParseErrorHandler:QBe,detectType:KW};var EY=function(){var i=function(fr,An,Pn,Bn){for(Pn=Pn||{},Bn=fr.length;Bn--;Pn[fr[Bn]]=An);return Pn},a=[1,24],f=[1,25],g=[1,26],w=[1,27],v=[1,28],b=[1,63],E=[1,64],_=[1,65],S=[1,66],I=[1,67],B=[1,68],F=[1,69],R=[1,29],q=[1,30],X=[1,31],rt=[1,32],at=[1,33],ut=[1,34],pt=[1,35],yt=[1,36],mt=[1,37],gt=[1,38],ht=[1,39],bt=[1,40],Z=[1,41],ft=[1,42],Y=[1,43],Et=[1,44],V=[1,45],Nt=[1,46],Dt=[1,47],jt=[1,48],Ct=[1,50],Ft=[1,51],_t=[1,52],xt=[1,53],Gt=[1,54],Be=[1,55],Ot=[1,56],vn=[1,57],Pe=[1,58],Ee=[1,59],nn=[1,60],sn=[14,42],me=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Fe=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Qt=[1,82],Ae=[1,83],Se=[1,84],Dn=[1,85],oe=[12,14,42],Pr=[12,14,33,42],we=[12,14,33,42,76,77,79,80],Ri=[12,33],yi=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],da={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(An,Pn,Bn,Te,be,Qe,rn){var yn=Qe.length-1;switch(be){case 3:Te.setDirection("TB");break;case 4:Te.setDirection("BT");break;case 5:Te.setDirection("RL");break;case 6:Te.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Te.setC4Type(Qe[yn-3]);break;case 19:Te.setTitle(Qe[yn].substring(6)),this.$=Qe[yn].substring(6);break;case 20:Te.setAccDescription(Qe[yn].substring(15)),this.$=Qe[yn].substring(15);break;case 21:this.$=Qe[yn].trim(),Te.setTitle(this.$);break;case 22:case 23:this.$=Qe[yn].trim(),Te.setAccDescription(this.$);break;case 28:case 29:Qe[yn].splice(2,0,"ENTERPRISE"),Te.addPersonOrSystemBoundary(...Qe[yn]),this.$=Qe[yn];break;case 30:Te.addPersonOrSystemBoundary(...Qe[yn]),this.$=Qe[yn];break;case 31:Qe[yn].splice(2,0,"CONTAINER"),Te.addContainerBoundary(...Qe[yn]),this.$=Qe[yn];break;case 32:Te.addDeploymentNode("node",...Qe[yn]),this.$=Qe[yn];break;case 33:Te.addDeploymentNode("nodeL",...Qe[yn]),this.$=Qe[yn];break;case 34:Te.addDeploymentNode("nodeR",...Qe[yn]),this.$=Qe[yn];break;case 35:Te.popBoundaryParseStack();break;case 39:Te.addPersonOrSystem("person",...Qe[yn]),this.$=Qe[yn];break;case 40:Te.addPersonOrSystem("external_person",...Qe[yn]),this.$=Qe[yn];break;case 41:Te.addPersonOrSystem("system",...Qe[yn]),this.$=Qe[yn];break;case 42:Te.addPersonOrSystem("system_db",...Qe[yn]),this.$=Qe[yn];break;case 43:Te.addPersonOrSystem("system_queue",...Qe[yn]),this.$=Qe[yn];break;case 44:Te.addPersonOrSystem("external_system",...Qe[yn]),this.$=Qe[yn];break;case 45:Te.addPersonOrSystem("external_system_db",...Qe[yn]),this.$=Qe[yn];break;case 46:Te.addPersonOrSystem("external_system_queue",...Qe[yn]),this.$=Qe[yn];break;case 47:Te.addContainer("container",...Qe[yn]),this.$=Qe[yn];break;case 48:Te.addContainer("container_db",...Qe[yn]),this.$=Qe[yn];break;case 49:Te.addContainer("container_queue",...Qe[yn]),this.$=Qe[yn];break;case 50:Te.addContainer("external_container",...Qe[yn]),this.$=Qe[yn];break;case 51:Te.addContainer("external_container_db",...Qe[yn]),this.$=Qe[yn];break;case 52:Te.addContainer("external_container_queue",...Qe[yn]),this.$=Qe[yn];break;case 53:Te.addComponent("component",...Qe[yn]),this.$=Qe[yn];break;case 54:Te.addComponent("component_db",...Qe[yn]),this.$=Qe[yn];break;case 55:Te.addComponent("component_queue",...Qe[yn]),this.$=Qe[yn];break;case 56:Te.addComponent("external_component",...Qe[yn]),this.$=Qe[yn];break;case 57:Te.addComponent("external_component_db",...Qe[yn]),this.$=Qe[yn];break;case 58:Te.addComponent("external_component_queue",...Qe[yn]),this.$=Qe[yn];break;case 60:Te.addRel("rel",...Qe[yn]),this.$=Qe[yn];break;case 61:Te.addRel("birel",...Qe[yn]),this.$=Qe[yn];break;case 62:Te.addRel("rel_u",...Qe[yn]),this.$=Qe[yn];break;case 63:Te.addRel("rel_d",...Qe[yn]),this.$=Qe[yn];break;case 64:Te.addRel("rel_l",...Qe[yn]),this.$=Qe[yn];break;case 65:Te.addRel("rel_r",...Qe[yn]),this.$=Qe[yn];break;case 66:Te.addRel("rel_b",...Qe[yn]),this.$=Qe[yn];break;case 67:Qe[yn].splice(0,1),Te.addRel("rel",...Qe[yn]),this.$=Qe[yn];break;case 68:Te.updateElStyle("update_el_style",...Qe[yn]),this.$=Qe[yn];break;case 69:Te.updateRelStyle("update_rel_style",...Qe[yn]),this.$=Qe[yn];break;case 70:Te.updateLayoutConfig("update_layout_config",...Qe[yn]),this.$=Qe[yn];break;case 71:this.$=[Qe[yn]];break;case 72:Qe[yn].unshift(Qe[yn-1]),this.$=Qe[yn];break;case 73:case 75:this.$=Qe[yn].trim();break;case 74:let ja={};ja[Qe[yn-1].trim()]=Qe[yn].trim(),this.$=ja;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:_,38:S,39:I,40:B,41:F,43:23,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn},{13:70,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:_,38:S,39:I,40:B,41:F,43:23,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn},{13:71,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:_,38:S,39:I,40:B,41:F,43:23,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn},{13:72,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:_,38:S,39:I,40:B,41:F,43:23,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn},{13:73,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:_,38:S,39:I,40:B,41:F,43:23,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn},{14:[1,74]},i(sn,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:_,38:S,39:I,40:B,41:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn}),i(sn,[2,14]),i(me,[2,16],{12:[1,76]}),i(sn,[2,36],{12:[1,77]}),i(Fe,[2,19]),i(Fe,[2,20]),{25:[1,78]},{27:[1,79]},i(Fe,[2,23]),{35:80,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:86,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:87,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:88,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:89,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:90,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:91,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:92,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:93,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:94,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:95,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:96,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:97,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:98,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:99,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:100,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:101,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:102,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:103,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:104,75:81,76:Qt,77:Ae,79:Se,80:Dn},i(oe,[2,59]),{35:105,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:106,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:107,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:108,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:109,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:110,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:111,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:112,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:113,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:114,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:115,75:81,76:Qt,77:Ae,79:Se,80:Dn},{20:116,29:49,30:61,32:62,34:b,36:E,37:_,38:S,39:I,40:B,41:F,43:23,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn},{12:[1,118],33:[1,117]},{35:119,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:120,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:121,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:122,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:123,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:124,75:81,76:Qt,77:Ae,79:Se,80:Dn},{35:125,75:81,76:Qt,77:Ae,79:Se,80:Dn},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(sn,[2,15]),i(me,[2,17],{21:22,19:130,22:a,23:f,24:g,26:w,28:v}),i(sn,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:g,26:w,28:v,34:b,36:E,37:_,38:S,39:I,40:B,41:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt,51:yt,52:mt,53:gt,54:ht,55:bt,56:Z,57:ft,58:Y,59:Et,60:V,61:Nt,62:Dt,63:jt,64:Ct,65:Ft,66:_t,67:xt,68:Gt,69:Be,70:Ot,71:vn,72:Pe,73:Ee,74:nn}),i(Fe,[2,21]),i(Fe,[2,22]),i(oe,[2,39]),i(Pr,[2,71],{75:81,35:132,76:Qt,77:Ae,79:Se,80:Dn}),i(we,[2,73]),{78:[1,133]},i(we,[2,75]),i(we,[2,76]),i(oe,[2,40]),i(oe,[2,41]),i(oe,[2,42]),i(oe,[2,43]),i(oe,[2,44]),i(oe,[2,45]),i(oe,[2,46]),i(oe,[2,47]),i(oe,[2,48]),i(oe,[2,49]),i(oe,[2,50]),i(oe,[2,51]),i(oe,[2,52]),i(oe,[2,53]),i(oe,[2,54]),i(oe,[2,55]),i(oe,[2,56]),i(oe,[2,57]),i(oe,[2,58]),i(oe,[2,60]),i(oe,[2,61]),i(oe,[2,62]),i(oe,[2,63]),i(oe,[2,64]),i(oe,[2,65]),i(oe,[2,66]),i(oe,[2,67]),i(oe,[2,68]),i(oe,[2,69]),i(oe,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(Ri,[2,28]),i(Ri,[2,29]),i(Ri,[2,30]),i(Ri,[2,31]),i(Ri,[2,32]),i(Ri,[2,33]),i(Ri,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(me,[2,18]),i(sn,[2,38]),i(Pr,[2,72]),i(we,[2,74]),i(oe,[2,24]),i(oe,[2,35]),i(yi,[2,25]),i(yi,[2,26],{12:[1,138]}),i(yi,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(An,Pn){if(Pn.recoverable)this.trace(An);else{var Bn=new Error(An);throw Bn.hash=Pn,Bn}},parse:function(An){var Pn=this,Bn=[0],Te=[],be=[null],Qe=[],rn=this.table,yn="",ja=0,mo=0,vo=2,ma=1,$a=Qe.slice.call(arguments,1),gs=Object.create(this.lexer),Nu={yy:{}};for(var ta in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ta)&&(Nu.yy[ta]=this.yy[ta]);gs.setInput(An,Nu.yy),Nu.yy.lexer=gs,Nu.yy.parser=this,typeof gs.yylloc>"u"&&(gs.yylloc={});var l1=gs.yylloc;Qe.push(l1);var _2=gs.options&&gs.options.ranges;typeof Nu.yy.parseError=="function"?this.parseError=Nu.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ll(){var Xl;return Xl=Te.pop()||gs.lex()||ma,typeof Xl!="number"&&(Xl instanceof Array&&(Te=Xl,Xl=Te.pop()),Xl=Pn.symbols_[Xl]||Xl),Xl}for(var Ac,pc,ka,du,ea={},co,bc,oa,va;;){if(pc=Bn[Bn.length-1],this.defaultActions[pc]?ka=this.defaultActions[pc]:((Ac===null||typeof Ac>"u")&&(Ac=ll()),ka=rn[pc]&&rn[pc][Ac]),typeof ka>"u"||!ka.length||!ka[0]){var na="";va=[];for(co in rn[pc])this.terminals_[co]&&co>vo&&va.push("'"+this.terminals_[co]+"'");gs.showPosition?na="Parse error on line "+(ja+1)+`: +`+gs.showPosition()+` +Expecting `+va.join(", ")+", got '"+(this.terminals_[Ac]||Ac)+"'":na="Parse error on line "+(ja+1)+": Unexpected "+(Ac==ma?"end of input":"'"+(this.terminals_[Ac]||Ac)+"'"),this.parseError(na,{text:gs.match,token:this.terminals_[Ac]||Ac,line:gs.yylineno,loc:l1,expected:va})}if(ka[0]instanceof Array&&ka.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pc+", token: "+Ac);switch(ka[0]){case 1:Bn.push(Ac),be.push(gs.yytext),Qe.push(gs.yylloc),Bn.push(ka[1]),Ac=null,mo=gs.yyleng,yn=gs.yytext,ja=gs.yylineno,l1=gs.yylloc;break;case 2:if(bc=this.productions_[ka[1]][1],ea.$=be[be.length-bc],ea._$={first_line:Qe[Qe.length-(bc||1)].first_line,last_line:Qe[Qe.length-1].last_line,first_column:Qe[Qe.length-(bc||1)].first_column,last_column:Qe[Qe.length-1].last_column},_2&&(ea._$.range=[Qe[Qe.length-(bc||1)].range[0],Qe[Qe.length-1].range[1]]),du=this.performAction.apply(ea,[yn,mo,ja,Nu.yy,ka[1],be,Qe].concat($a)),typeof du<"u")return du;bc&&(Bn=Bn.slice(0,-1*bc*2),be=be.slice(0,-1*bc),Qe=Qe.slice(0,-1*bc)),Bn.push(this.productions_[ka[1]][0]),be.push(ea.$),Qe.push(ea._$),oa=rn[Bn[Bn.length-2]][Bn[Bn.length-1]],Bn.push(oa);break;case 3:return!0}}return!0}},Ss=function(){var fr={EOF:1,parseError:function(Pn,Bn){if(this.yy.parser)this.yy.parser.parseError(Pn,Bn);else throw new Error(Pn)},setInput:function(An,Pn){return this.yy=Pn||this.yy||{},this._input=An,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var An=this._input[0];this.yytext+=An,this.yyleng++,this.offset++,this.match+=An,this.matched+=An;var Pn=An.match(/(?:\r\n?|\n).*/g);return Pn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),An},unput:function(An){var Pn=An.length,Bn=An.split(/(?:\r\n?|\n)/g);this._input=An+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Pn),this.offset-=Pn;var Te=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Bn.length-1&&(this.yylineno-=Bn.length-1);var be=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Bn?(Bn.length===Te.length?this.yylloc.first_column:0)+Te[Te.length-Bn.length].length-Bn[0].length:this.yylloc.first_column-Pn},this.options.ranges&&(this.yylloc.range=[be[0],be[0]+this.yyleng-Pn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(An){this.unput(this.match.slice(An))},pastInput:function(){var An=this.matched.substr(0,this.matched.length-this.match.length);return(An.length>20?"...":"")+An.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var An=this.match;return An.length<20&&(An+=this._input.substr(0,20-An.length)),(An.substr(0,20)+(An.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var An=this.pastInput(),Pn=new Array(An.length+1).join("-");return An+this.upcomingInput()+` +`+Pn+"^"},test_match:function(An,Pn){var Bn,Te,be;if(this.options.backtrack_lexer&&(be={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(be.yylloc.range=this.yylloc.range.slice(0))),Te=An[0].match(/(?:\r\n?|\n).*/g),Te&&(this.yylineno+=Te.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Te?Te[Te.length-1].length-Te[Te.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+An[0].length},this.yytext+=An[0],this.match+=An[0],this.matches=An,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(An[0].length),this.matched+=An[0],Bn=this.performAction.call(this,this.yy,this,Pn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Bn)return Bn;if(this._backtrack){for(var Qe in be)this[Qe]=be[Qe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var An,Pn,Bn,Te;this._more||(this.yytext="",this.match="");for(var be=this._currentRules(),Qe=0;QePn[0].length)){if(Pn=Bn,Te=Qe,this.options.backtrack_lexer){if(An=this.test_match(Bn,be[Qe]),An!==!1)return An;if(this._backtrack){Pn=!1;continue}else return!1}else if(!this.options.flex)break}return Pn?(An=this.test_match(Pn,be[Te]),An!==!1?An:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Pn=this.next();return Pn||this.lex()},begin:function(Pn){this.conditionStack.push(Pn)},popState:function(){var Pn=this.conditionStack.length-1;return Pn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Pn){return Pn=this.conditionStack.length-1-Math.abs(Pn||0),Pn>=0?this.conditionStack[Pn]:"INITIAL"},pushState:function(Pn){this.begin(Pn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Pn,Bn,Te,be){switch(Te){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return fr}();da.lexer=Ss;function Ra(){this.yy={}}return Ra.prototype=da,da.Parser=Ra,new Ra}();EY.parser=EY;const ZBe=EY;let Kv=[],w8=[""],tp="global",Wv="",i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],DF=[],Vgt="",Ugt=!1,TY=4,CY=2;var $Bt;const tRe=function(){return $Bt},eRe=function(i){$Bt=Ed(i,Re())},nRe=function(i,a,f,g,w,v,b,E,_){if(i==null||a===void 0||a===null||f===void 0||f===null||g===void 0||g===null)return;let S={};const I=DF.find(B=>B.from===a&&B.to===f);if(I?S=I:DF.push(S),S.type=i,S.from=a,S.to=f,S.label={text:g},w==null)S.techn={text:""};else if(typeof w=="object"){let[B,F]=Object.entries(w)[0];S[B]={text:F}}else S.techn={text:w};if(v==null)S.descr={text:""};else if(typeof v=="object"){let[B,F]=Object.entries(v)[0];S[B]={text:F}}else S.descr={text:v};if(typeof b=="object"){let[B,F]=Object.entries(b)[0];S[B]=F}else S.sprite=b;if(typeof E=="object"){let[B,F]=Object.entries(E)[0];S[B]=F}else S.tags=E;if(typeof _=="object"){let[B,F]=Object.entries(_)[0];S[B]=F}else S.link=_;S.wrap=m8()},rRe=function(i,a,f,g,w,v,b){if(a===null||f===null)return;let E={};const _=Kv.find(S=>S.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,Kv.push(E)),f==null?E.label={text:""}:E.label={text:f},g==null)E.descr={text:""};else if(typeof g=="object"){let[S,I]=Object.entries(g)[0];E[S]={text:I}}else E.descr={text:g};if(typeof w=="object"){let[S,I]=Object.entries(w)[0];E[S]=I}else E.sprite=w;if(typeof v=="object"){let[S,I]=Object.entries(v)[0];E[S]=I}else E.tags=v;if(typeof b=="object"){let[S,I]=Object.entries(b)[0];E[S]=I}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=tp,E.wrap=m8()},iRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let _={};const S=Kv.find(I=>I.alias===a);if(S&&a===S.alias?_=S:(_.alias=a,Kv.push(_)),f==null?_.label={text:""}:_.label={text:f},g==null)_.techn={text:""};else if(typeof g=="object"){let[I,B]=Object.entries(g)[0];_[I]={text:B}}else _.techn={text:g};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof v=="object"){let[I,B]=Object.entries(v)[0];_[I]=B}else _.sprite=v;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=m8(),_.typeC4Shape={text:i},_.parentBoundary=tp},sRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let _={};const S=Kv.find(I=>I.alias===a);if(S&&a===S.alias?_=S:(_.alias=a,Kv.push(_)),f==null?_.label={text:""}:_.label={text:f},g==null)_.techn={text:""};else if(typeof g=="object"){let[I,B]=Object.entries(g)[0];_[I]={text:B}}else _.techn={text:g};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof v=="object"){let[I,B]=Object.entries(v)[0];_[I]=B}else _.sprite=v;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=m8(),_.typeC4Shape={text:i},_.parentBoundary=tp},aRe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"system"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];v[E]={text:_}}else v.type={text:f};if(typeof g=="object"){let[E,_]=Object.entries(g)[0];v[E]=_}else v.tags=g;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];v[E]=_}else v.link=w;v.parentBoundary=tp,v.wrap=m8(),Wv=tp,tp=i,w8.push(Wv)},oRe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"container"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];v[E]={text:_}}else v.type={text:f};if(typeof g=="object"){let[E,_]=Object.entries(g)[0];v[E]=_}else v.tags=g;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];v[E]=_}else v.link=w;v.parentBoundary=tp,v.wrap=m8(),Wv=tp,tp=i,w8.push(Wv)},cRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let _={};const S=i4.find(I=>I.alias===a);if(S&&a===S.alias?_=S:(_.alias=a,i4.push(_)),f==null?_.label={text:""}:_.label={text:f},g==null)_.type={text:"node"};else if(typeof g=="object"){let[I,B]=Object.entries(g)[0];_[I]={text:B}}else _.type={text:g};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.nodeType=i,_.parentBoundary=tp,_.wrap=m8(),Wv=tp,tp=a,w8.push(Wv)},uRe=function(){tp=Wv,w8.pop(),Wv=w8.pop(),w8.push(Wv)},lRe=function(i,a,f,g,w,v,b,E,_,S,I){let B=Kv.find(F=>F.alias===a);if(!(B===void 0&&(B=i4.find(F=>F.alias===a),B===void 0))){if(f!=null)if(typeof f=="object"){let[F,R]=Object.entries(f)[0];B[F]=R}else B.bgColor=f;if(g!=null)if(typeof g=="object"){let[F,R]=Object.entries(g)[0];B[F]=R}else B.fontColor=g;if(w!=null)if(typeof w=="object"){let[F,R]=Object.entries(w)[0];B[F]=R}else B.borderColor=w;if(v!=null)if(typeof v=="object"){let[F,R]=Object.entries(v)[0];B[F]=R}else B.shadowing=v;if(b!=null)if(typeof b=="object"){let[F,R]=Object.entries(b)[0];B[F]=R}else B.shape=b;if(E!=null)if(typeof E=="object"){let[F,R]=Object.entries(E)[0];B[F]=R}else B.sprite=E;if(_!=null)if(typeof _=="object"){let[F,R]=Object.entries(_)[0];B[F]=R}else B.techn=_;if(S!=null)if(typeof S=="object"){let[F,R]=Object.entries(S)[0];B[F]=R}else B.legendText=S;if(I!=null)if(typeof I=="object"){let[F,R]=Object.entries(I)[0];B[F]=R}else B.legendSprite=I}},hRe=function(i,a,f,g,w,v,b){const E=DF.find(_=>_.from===a&&_.to===f);if(E!==void 0){if(g!=null)if(typeof g=="object"){let[_,S]=Object.entries(g)[0];E[_]=S}else E.textColor=g;if(w!=null)if(typeof w=="object"){let[_,S]=Object.entries(w)[0];E[_]=S}else E.lineColor=w;if(v!=null)if(typeof v=="object"){let[_,S]=Object.entries(v)[0];E[_]=parseInt(S)}else E.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[_,S]=Object.entries(b)[0];E[_]=parseInt(S)}else E.offsetY=parseInt(b)}},fRe=function(i,a,f){let g=TY,w=CY;if(typeof a=="object"){const v=Object.values(a)[0];g=parseInt(v)}else g=parseInt(a);if(typeof f=="object"){const v=Object.values(f)[0];w=parseInt(v)}else w=parseInt(f);g>=1&&(TY=g),w>=1&&(CY=w)},dRe=function(){return TY},gRe=function(){return CY},pRe=function(){return tp},bRe=function(){return Wv},zBt=function(i){return i==null?Kv:Kv.filter(a=>a.parentBoundary===i)},wRe=function(i){return Kv.find(a=>a.alias===i)},mRe=function(i){return Object.keys(zBt(i))},vRe=function(i){return i==null?i4:i4.filter(a=>a.parentBoundary===i)},yRe=function(){return DF},xRe=function(){return Vgt},kRe=function(i){Ugt=i},m8=function(){return Ugt},Ggt={addPersonOrSystem:rRe,addPersonOrSystemBoundary:aRe,addContainer:iRe,addContainerBoundary:oRe,addComponent:sRe,addDeploymentNode:cRe,popBoundaryParseStack:uRe,addRel:nRe,updateElStyle:lRe,updateRelStyle:hRe,updateLayoutConfig:fRe,autoWrap:m8,setWrap:kRe,getC4ShapeArray:zBt,getC4Shape:wRe,getC4ShapeKeys:mRe,getBoundarys:vRe,getCurrentBoundaryParse:pRe,getParentBoundaryParse:bRe,getRels:yRe,getTitle:xRe,getC4Type:tRe,getC4ShapeInRow:dRe,getC4BoundaryInRow:gRe,setAccTitle:ng,getAccTitle:Yg,getAccDescription:Qg,setAccDescription:Xg,getConfig:()=>Re().c4,clear:function(){Kv=[],i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Wv="",tp="global",w8=[""],DF=[],w8=[""],Vgt="",Ugt=!1,TY=4,CY=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Vgt=Ed(i,Re())},setC4Type:eRe},_Y=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const g in a.attrs)f.attr(g,a.attrs[g]);return a.class!==void 0&&f.attr("class",a.class),f},qBt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};_Y(i,f).lower()},ERe=(i,a)=>{const f=a.text.replace(gF," "),g=i.append("text");g.attr("x",a.x),g.attr("y",a.y),g.attr("class","legend"),g.style("text-anchor",a.anchor),a.class!==void 0&&g.attr("class",a.class);const w=g.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),g},TRe=(i,a,f,g)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const v=c8(g);w.attr("xlink:href",v)},CRe=(i,a,f,g)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const v=c8(g);w.attr("xlink:href",`#${v}`)},k9=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),Kgt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),Wgt=function(i,a){return _Y(i,a)},HBt=function(i,a,f,g,w,v){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",g),b.attr("y",w);let E=v.startsWith("data:image/png;base64")?v:c8(v);b.attr("xlink:href",E)},_Re=(i,a,f)=>{const g=i.append("g");let w=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",E=v.lineColor?v.lineColor:"#444444",_=v.offsetX?parseInt(v.offsetX):0,S=v.offsetY?parseInt(v.offsetY):0,I="";if(w===0){let F=g.append("line");F.attr("x1",v.startPoint.x),F.attr("y1",v.startPoint.y),F.attr("x2",v.endPoint.x),F.attr("y2",v.endPoint.y),F.attr("stroke-width","1"),F.attr("stroke",E),F.style("fill","none"),v.type!=="rel_b"&&F.attr("marker-end","url("+I+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&F.attr("marker-start","url("+I+"#arrowend)"),w=-1}else{let F=g.append("path");F.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&F.attr("marker-end","url("+I+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&F.attr("marker-start","url("+I+"#arrowend)")}let B=f.messageFont();Dx(f)(v.label.text,g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+_,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+S,v.label.width,v.label.height,{fill:b},B),v.techn&&v.techn.text!==""&&(B=f.messageFont(),Dx(f)("["+v.techn.text+"]",g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+_,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+f.messageFontSize+5+S,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},B))}},SRe=function(i,a,f){const g=i.append("g");let w=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let _={x:a.x,y:a.y,fill:w,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};Wgt(g,_);let S=f.boundaryFont();S.fontWeight="bold",S.fontSize=S.fontSize+2,S.fontColor=b,Dx(f)(a.label.text,g,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},S),a.type&&a.type.text!==""&&(S=f.boundaryFont(),S.fontColor=b,Dx(f)(a.type.text,g,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},S)),a.descr&&a.descr.text!==""&&(S=f.boundaryFont(),S.fontSize=S.fontSize-2,S.fontColor=b,Dx(f)(a.descr.text,g,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},S))},ARe=function(i,a,f){var B;let g=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const _=k9();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":_.x=a.x,_.y=a.y,_.fill=g,_.width=a.width,_.height=a.height,_.stroke=w,_.rx=2.5,_.ry=2.5,_.attrs={"stroke-width":.5},Wgt(E,_);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let S=BRe(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",v).attr("font-family",S.fontFamily).attr("font-size",S.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":HBt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let I=f[a.typeC4Shape.text+"Font"]();return I.fontWeight="bold",I.fontSize=I.fontSize+2,I.fontColor=v,Dx(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},I),I=f[a.typeC4Shape.text+"Font"](),I.fontColor=v,a.techn&&((B=a.techn)==null?void 0:B.text)!==""?Dx(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},I):a.type&&a.type.text!==""&&Dx(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},I),a.descr&&a.descr.text!==""&&(I=f.personFont(),I.fontColor=v,Dx(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},I)),a.height},LRe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},MRe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},DRe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},IRe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},ORe=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},PRe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},NRe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},FRe=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},BRe=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),Dx=function(){function i(w,v,b,E,_,S,I){const B=v.append("text").attr("x",b+_/2).attr("y",E+S/2+5).style("text-anchor","middle").text(w);g(B,I)}function a(w,v,b,E,_,S,I,B){const{fontSize:F,fontFamily:R,fontWeight:q}=B,X=w.split(ei.lineBreakRegex);for(let rt=0;rt=this.data.widthLimit||g>=this.data.widthLimit||this.nextData.cnt>VBt)&&(f=this.nextData.startx+a.margin+_s.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=g=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",g,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",g,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Xgt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const Xgt=function(i){Td(_s,i),i.fontFamily&&(_s.personFontFamily=_s.systemFontFamily=_s.messageFontFamily=i.fontFamily),i.fontSize&&(_s.personFontSize=_s.systemFontSize=_s.messageFontSize=i.fontSize),i.fontWeight&&(_s.personFontWeight=_s.systemFontWeight=_s.messageFontWeight=i.fontWeight)},IF=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),LY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),RRe=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function Yv(i,a,f,g,w){if(!a[i].width)if(f)a[i].text=gFt(a[i].text,w,g),a[i].textLines=a[i].text.split(ei.lineBreakRegex).length,a[i].width=w,a[i].height=bgt(a[i].text,g);else{let v=a[i].text.split(ei.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const E of v)a[i].width=Math.max(n4(E,g),a[i].width),b=bgt(E,g),a[i].height=a[i].height+b}}const GBt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=_s.c4ShapeMargin-35;let g=a.wrap&&_s.wrap,w=LY(_s);w.fontSize=w.fontSize+2,w.fontWeight="bold";let v=n4(a.label.text,w);Yv("label",a,g,w,v),s4.drawBoundary(i,a,_s)},KBt=function(i,a,f,g){let w=0;for(const v of g){w=0;const b=f[v];let E=IF(_s,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=n4("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=_s.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let _=b.wrap&&_s.wrap,S=_s.width-_s.c4ShapePadding*2,I=IF(_s,b.typeC4Shape.text);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",Yv("label",b,_,I,S),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let R=IF(_s,b.typeC4Shape.text);Yv("type",b,_,R,S),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let R=IF(_s,b.techn.text);Yv("techn",b,_,R,S),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let B=w,F=b.label.width;if(b.descr&&b.descr.text!==""){let R=IF(_s,b.typeC4Shape.text);Yv("descr",b,_,R,S),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,F=Math.max(b.label.width,b.descr.width),B=w-b.descr.textLines*5}F=F+_s.c4ShapePadding,b.width=Math.max(b.width||_s.width,F,_s.width),b.height=Math.max(b.height||_s.height,B,_s.height),b.margin=b.margin||_s.c4ShapeMargin,i.insert(b),s4.drawC4Shape(a,b,_s)}i.bumpLastMargin(_s.c4ShapeMargin)};let Kw=class{constructor(a,f){this.x=a,this.y=f}},WBt=function(i,a){let f=i.x,g=i.y,w=a.x,v=a.y,b=f+i.width/2,E=g+i.height/2,_=Math.abs(f-w),S=Math.abs(g-v),I=S/_,B=i.height/i.width,F=null;return g==v&&fw?F=new Kw(f,E):f==w&&gv&&(F=new Kw(b,g)),f>w&&g=I?F=new Kw(f,E+I*i.width/2):F=new Kw(b-_/S*i.height/2,g+i.height):f=I?F=new Kw(f+i.width,E+I*i.width/2):F=new Kw(b+_/S*i.height/2,g+i.height):fv?B>=I?F=new Kw(f+i.width,E-I*i.width/2):F=new Kw(b+i.height/2*_/S,g):f>w&&g>v&&(B>=I?F=new Kw(f,E-i.width/2*I):F=new Kw(b-i.height/2*_/S,g)),F},jRe=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let g=WBt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=WBt(a,f);return{startPoint:g,endPoint:w}};const $Re=function(i,a,f,g){let w=0;for(let v of a){w=w+1;let b=v.wrap&&_s.wrap,E=RRe(_s);g.db.getC4Type()==="C4Dynamic"&&(v.label.text=w+": "+v.label.text);let S=n4(v.label.text,E);Yv("label",v,b,E,S),v.techn&&v.techn.text!==""&&(S=n4(v.techn.text,E),Yv("techn",v,b,E,S)),v.descr&&v.descr.text!==""&&(S=n4(v.descr.text,E),Yv("descr",v,b,E,S));let I=f(v.from),B=f(v.to),F=jRe(I,B);v.startPoint=F.startPoint,v.endPoint=F.endPoint}s4.drawRels(i,a,_s)};function YBt(i,a,f,g,w){let v=new UBt(w);v.data.widthLimit=f.data.widthLimit/Math.min(Ygt,g.length);for(let[b,E]of g.entries()){let _=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=_,_=E.image.Y+E.image.height);let S=E.wrap&&_s.wrap,I=LY(_s);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",Yv("label",E,S,I,v.data.widthLimit),E.label.Y=_+8,_=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let q=LY(_s);Yv("type",E,S,q,v.data.widthLimit),E.type.Y=_+5,_=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let q=LY(_s);q.fontSize=q.fontSize-2,Yv("descr",E,S,q,v.data.widthLimit),E.descr.Y=_+20,_=E.descr.Y+E.descr.height}if(b==0||b%Ygt===0){let q=f.data.startx+_s.diagramMarginX,X=f.data.stopy+_s.diagramMarginY+_;v.setData(q,q,X,X)}else{let q=v.data.stopx!==v.data.startx?v.data.stopx+_s.diagramMarginX:v.data.startx,X=v.data.starty;v.setData(q,q,X,X)}v.name=E.alias;let B=w.db.getC4ShapeArray(E.alias),F=w.db.getC4ShapeKeys(E.alias);F.length>0&&KBt(v,i,B,F),a=E.alias;let R=w.db.getBoundarys(a);R.length>0&&YBt(i,a,v,R,w),E.alias!=="global"&&GBt(i,E,v),f.data.stopy=Math.max(v.data.stopy+_s.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(v.data.stopx+_s.c4ShapeMargin,f.data.stopx),SY=Math.max(SY,f.data.stopx),AY=Math.max(AY,f.data.stopy)}}const XBt={drawPersonOrSystemArray:KBt,drawBoundary:GBt,setConf:Xgt,draw:function(i,a,f,g){_s=Re().c4;const w=Re().securityLevel;let v;w==="sandbox"&&(v=xr("#i"+a));const b=xr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body");let E=g.db;g.db.setWrap(_s.wrap),VBt=E.getC4ShapeInRow(),Ygt=E.getC4BoundaryInRow(),Wt.debug(`C:${JSON.stringify(_s,null,2)}`);const _=w==="sandbox"?b.select(`[id="${a}"]`):xr(`[id="${a}"]`);s4.insertComputerIcon(_),s4.insertDatabaseIcon(_),s4.insertClockIcon(_);let S=new UBt(g);S.setData(_s.diagramMarginX,_s.diagramMarginX,_s.diagramMarginY,_s.diagramMarginY),S.data.widthLimit=screen.availWidth,SY=_s.diagramMarginX,AY=_s.diagramMarginY;const I=g.db.getTitle();let B=g.db.getBoundarys("");YBt(_,"",S,B,g),s4.insertArrowHead(_),s4.insertArrowEnd(_),s4.insertArrowCrossHead(_),s4.insertArrowFilledHead(_),$Re(_,g.db.getRels(),g.db.getC4Shape,g),S.data.stopx=SY,S.data.stopy=AY;const F=S.data;let q=F.stopy-F.starty+2*_s.diagramMarginY;const rt=F.stopx-F.startx+2*_s.diagramMarginX;I&&_.append("text").text(I).attr("x",(F.stopx-F.startx)/2-4*_s.diagramMarginX).attr("y",F.starty+_s.diagramMarginY),Kg(_,q,rt,_s.useMaxWidth);const at=I?60:0;_.attr("viewBox",F.startx-_s.diagramMarginX+" -"+(_s.diagramMarginY+at)+" "+rt+" "+(q+at)),Wt.debug("models:",F)}},zRe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ZBe,db:Ggt,renderer:XBt,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:a})=>{XBt.setConf(i),Ggt.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var Qgt=function(){var i=function(Ad,ls,Ls,Za){for(Ls=Ls||{},Za=Ad.length;Za--;Ls[Ad[Za]]=ls);return Ls},a=[1,4],f=[1,3],g=[1,5],w=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],E=[1,14],_=[1,15],S=[1,16],I=[1,23],B=[1,25],F=[1,26],R=[1,27],q=[1,49],X=[1,48],rt=[1,29],at=[1,30],ut=[1,31],pt=[1,32],yt=[1,33],mt=[1,44],gt=[1,46],ht=[1,42],bt=[1,47],Z=[1,43],ft=[1,50],Y=[1,45],Et=[1,51],V=[1,52],Nt=[1,34],Dt=[1,35],jt=[1,36],Ct=[1,37],Ft=[1,57],_t=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],xt=[1,61],Gt=[1,60],Be=[1,62],Ot=[8,9,11,73,75],vn=[1,88],Pe=[1,93],Ee=[1,92],nn=[1,89],sn=[1,85],me=[1,91],Fe=[1,87],Qt=[1,94],Ae=[1,90],Se=[1,95],Dn=[1,86],oe=[8,9,10,11,73,75],Pr=[8,9,10,11,44,73,75],we=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Ri=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],yi=[42,58,86,99,102,103,106,108,111,112,113],da=[1,121],Ss=[1,120],Ra=[1,128],fr=[1,142],An=[1,143],Pn=[1,144],Bn=[1,145],Te=[1,130],be=[1,132],Qe=[1,136],rn=[1,137],yn=[1,138],ja=[1,139],mo=[1,140],vo=[1,141],ma=[1,146],$a=[1,147],gs=[1,126],Nu=[1,127],ta=[1,134],l1=[1,129],_2=[1,133],ll=[1,131],Ac=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],pc=[1,149],ka=[8,9,11],du=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ea=[1,169],co=[1,165],bc=[1,166],oa=[1,170],va=[1,167],na=[1,168],Xl=[75,113,116],Hc=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Zw=[10,103],mh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],_d=[1,235],b0=[1,233],Sd=[1,237],w0=[1,231],ag=[1,232],Yi=[1,234],cn=[1,236],Dr=[1,238],Si=[1,255],wc=[8,9,11,103],Fc=[8,9,10,11,58,81,102,103,106,107,108,109],vh={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(ls,Ls,Za,_i,gu,Le,ry){var $e=Le.length-1;switch(gu){case 2:this.$=[];break;case 3:(!Array.isArray(Le[$e])||Le[$e].length>0)&&Le[$e-1].push(Le[$e]),this.$=Le[$e-1];break;case 4:case 176:this.$=Le[$e];break;case 11:_i.setDirection("TB"),this.$="TB";break;case 12:_i.setDirection(Le[$e-1]),this.$=Le[$e-1];break;case 27:this.$=Le[$e-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=_i.addSubGraph(Le[$e-6],Le[$e-1],Le[$e-4]);break;case 34:this.$=_i.addSubGraph(Le[$e-3],Le[$e-1],Le[$e-3]);break;case 35:this.$=_i.addSubGraph(void 0,Le[$e-1],void 0);break;case 37:this.$=Le[$e].trim(),_i.setAccTitle(this.$);break;case 38:case 39:this.$=Le[$e].trim(),_i.setAccDescription(this.$);break;case 43:_i.addLink(Le[$e-2].stmt,Le[$e],Le[$e-1]),this.$={stmt:Le[$e],nodes:Le[$e].concat(Le[$e-2].nodes)};break;case 44:_i.addLink(Le[$e-3].stmt,Le[$e-1],Le[$e-2]),this.$={stmt:Le[$e-1],nodes:Le[$e-1].concat(Le[$e-3].nodes)};break;case 45:this.$={stmt:Le[$e-1],nodes:Le[$e-1]};break;case 46:this.$={stmt:Le[$e],nodes:Le[$e]};break;case 47:this.$=[Le[$e]];break;case 48:this.$=Le[$e-4].concat(Le[$e]);break;case 49:this.$=Le[$e];break;case 50:this.$=Le[$e-2],_i.setClass(Le[$e-2],Le[$e]);break;case 51:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"square");break;case 52:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"doublecircle");break;case 53:this.$=Le[$e-5],_i.addVertex(Le[$e-5],Le[$e-2],"circle");break;case 54:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"ellipse");break;case 55:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"stadium");break;case 56:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"subroutine");break;case 57:this.$=Le[$e-7],_i.addVertex(Le[$e-7],Le[$e-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Le[$e-5],Le[$e-3]]]));break;case 58:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"cylinder");break;case 59:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"round");break;case 60:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"diamond");break;case 61:this.$=Le[$e-5],_i.addVertex(Le[$e-5],Le[$e-2],"hexagon");break;case 62:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"odd");break;case 63:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"trapezoid");break;case 64:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"inv_trapezoid");break;case 65:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"lean_right");break;case 66:this.$=Le[$e-3],_i.addVertex(Le[$e-3],Le[$e-1],"lean_left");break;case 67:this.$=Le[$e],_i.addVertex(Le[$e]);break;case 68:Le[$e-1].text=Le[$e],this.$=Le[$e-1];break;case 69:case 70:Le[$e-2].text=Le[$e-1],this.$=Le[$e-2];break;case 71:this.$=Le[$e];break;case 72:var h1=_i.destructLink(Le[$e],Le[$e-2]);this.$={type:h1.type,stroke:h1.stroke,length:h1.length,text:Le[$e-1]};break;case 73:this.$={text:Le[$e],type:"text"};break;case 74:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 75:this.$={text:Le[$e],type:"string"};break;case 76:this.$={text:Le[$e],type:"markdown"};break;case 77:var h1=_i.destructLink(Le[$e]);this.$={type:h1.type,stroke:h1.stroke,length:h1.length};break;case 78:this.$=Le[$e-1];break;case 79:this.$={text:Le[$e],type:"text"};break;case 80:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 81:this.$={text:Le[$e],type:"string"};break;case 82:case 97:this.$={text:Le[$e],type:"markdown"};break;case 94:this.$={text:Le[$e],type:"text"};break;case 95:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 96:this.$={text:Le[$e],type:"text"};break;case 98:this.$=Le[$e-4],_i.addClass(Le[$e-2],Le[$e]);break;case 99:this.$=Le[$e-4],_i.setClass(Le[$e-2],Le[$e]);break;case 100:case 108:this.$=Le[$e-1],_i.setClickEvent(Le[$e-1],Le[$e]);break;case 101:case 109:this.$=Le[$e-3],_i.setClickEvent(Le[$e-3],Le[$e-2]),_i.setTooltip(Le[$e-3],Le[$e]);break;case 102:this.$=Le[$e-2],_i.setClickEvent(Le[$e-2],Le[$e-1],Le[$e]);break;case 103:this.$=Le[$e-4],_i.setClickEvent(Le[$e-4],Le[$e-3],Le[$e-2]),_i.setTooltip(Le[$e-4],Le[$e]);break;case 104:this.$=Le[$e-2],_i.setLink(Le[$e-2],Le[$e]);break;case 105:this.$=Le[$e-4],_i.setLink(Le[$e-4],Le[$e-2]),_i.setTooltip(Le[$e-4],Le[$e]);break;case 106:this.$=Le[$e-4],_i.setLink(Le[$e-4],Le[$e-2],Le[$e]);break;case 107:this.$=Le[$e-6],_i.setLink(Le[$e-6],Le[$e-4],Le[$e]),_i.setTooltip(Le[$e-6],Le[$e-2]);break;case 110:this.$=Le[$e-1],_i.setLink(Le[$e-1],Le[$e]);break;case 111:this.$=Le[$e-3],_i.setLink(Le[$e-3],Le[$e-2]),_i.setTooltip(Le[$e-3],Le[$e]);break;case 112:this.$=Le[$e-3],_i.setLink(Le[$e-3],Le[$e-2],Le[$e]);break;case 113:this.$=Le[$e-5],_i.setLink(Le[$e-5],Le[$e-4],Le[$e]),_i.setTooltip(Le[$e-5],Le[$e-2]);break;case 114:this.$=Le[$e-4],_i.addVertex(Le[$e-2],void 0,void 0,Le[$e]);break;case 115:this.$=Le[$e-4],_i.updateLink([Le[$e-2]],Le[$e]);break;case 116:this.$=Le[$e-4],_i.updateLink(Le[$e-2],Le[$e]);break;case 117:this.$=Le[$e-8],_i.updateLinkInterpolate([Le[$e-6]],Le[$e-2]),_i.updateLink([Le[$e-6]],Le[$e]);break;case 118:this.$=Le[$e-8],_i.updateLinkInterpolate(Le[$e-6],Le[$e-2]),_i.updateLink(Le[$e-6],Le[$e]);break;case 119:this.$=Le[$e-6],_i.updateLinkInterpolate([Le[$e-4]],Le[$e]);break;case 120:this.$=Le[$e-6],_i.updateLinkInterpolate(Le[$e-4],Le[$e]);break;case 121:case 123:this.$=[Le[$e]];break;case 122:case 124:Le[$e-2].push(Le[$e]),this.$=Le[$e-2];break;case 126:this.$=Le[$e-1]+Le[$e];break;case 174:this.$=Le[$e];break;case 175:this.$=Le[$e-1]+""+Le[$e];break;case 177:this.$=Le[$e-1]+""+Le[$e];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:f,12:g},{1:[3]},i(w,v,{5:6}),{4:7,9:a,10:f,12:g},{4:8,9:a,10:f,12:g},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:E,10:_,11:S,20:17,22:18,23:19,24:20,25:21,26:22,27:I,33:24,34:B,36:F,38:R,40:28,41:38,42:q,43:39,45:40,58:X,81:rt,82:at,83:ut,84:pt,85:yt,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V,118:Nt,119:Dt,120:jt,121:Ct},i(w,[2,9]),i(w,[2,10]),i(w,[2,11]),{8:[1,54],9:[1,55],10:Ft,15:53,18:56},i(_t,[2,3]),i(_t,[2,4]),i(_t,[2,5]),i(_t,[2,6]),i(_t,[2,7]),i(_t,[2,8]),{8:xt,9:Gt,11:Be,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:xt,9:Gt,11:Be,21:66},{8:xt,9:Gt,11:Be,21:67},{8:xt,9:Gt,11:Be,21:68},{8:xt,9:Gt,11:Be,21:69},{8:xt,9:Gt,11:Be,21:70},{8:xt,9:Gt,10:[1,71],11:Be,21:72},i(_t,[2,36]),{35:[1,73]},{37:[1,74]},i(_t,[2,39]),i(Ot,[2,46],{18:75,10:Ft}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:vn,42:Pe,58:Ee,77:[1,83],86:nn,92:[1,80],94:[1,81],98:82,102:sn,103:me,106:Fe,108:Qt,111:Ae,112:Se,113:Dn,117:84},i(_t,[2,178]),i(_t,[2,179]),i(_t,[2,180]),i(_t,[2,181]),i(oe,[2,47]),i(oe,[2,49],{44:[1,96]}),i(Pr,[2,67],{110:109,29:[1,97],42:q,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:X,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,111:Y,112:Et,113:V}),i(we,[2,174]),i(we,[2,135]),i(we,[2,136]),i(we,[2,137]),i(we,[2,138]),i(we,[2,139]),i(we,[2,140]),i(we,[2,141]),i(we,[2,142]),i(we,[2,143]),i(we,[2,144]),i(we,[2,145]),i(w,[2,12]),i(w,[2,18]),i(w,[2,19]),{9:[1,110]},i(Ri,[2,26],{18:111,10:Ft}),i(_t,[2,27]),{40:112,41:38,42:q,43:39,45:40,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},i(_t,[2,40]),i(_t,[2,41]),i(_t,[2,42]),i(yi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:da,116:Ss},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(_t,[2,28]),i(_t,[2,29]),i(_t,[2,30]),i(_t,[2,31]),i(_t,[2,32]),{10:Ra,12:fr,14:An,27:Pn,28:122,32:Bn,42:Te,58:be,73:Qe,77:[1,124],78:[1,125],80:135,81:rn,82:yn,83:ja,84:mo,85:vo,86:ma,87:$a,88:123,102:gs,106:Nu,108:ta,111:l1,112:_2,113:ll},i(Ac,v,{5:148}),i(_t,[2,37]),i(_t,[2,38]),i(Ot,[2,45],{42:pc}),{42:q,45:150,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},{99:[1,151],100:152,102:[1,153]},{42:q,45:154,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},{42:q,45:155,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},i(ka,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(ka,[2,108],{117:160,10:[1,159],14:vn,42:Pe,58:Ee,86:nn,102:sn,103:me,106:Fe,108:Qt,111:Ae,112:Se,113:Dn}),i(ka,[2,110],{10:[1,161]}),i(du,[2,176]),i(du,[2,163]),i(du,[2,164]),i(du,[2,165]),i(du,[2,166]),i(du,[2,167]),i(du,[2,168]),i(du,[2,169]),i(du,[2,170]),i(du,[2,171]),i(du,[2,172]),i(du,[2,173]),{42:q,45:162,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},{30:163,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:171,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:173,48:[1,172],65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:174,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:175,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:176,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{106:[1,177]},{30:178,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:179,63:[1,180],65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:181,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:182,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{30:183,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},i(we,[2,175]),i(w,[2,20]),i(Ri,[2,25]),i(Ot,[2,43],{18:184,10:Ft}),i(yi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{75:[1,188],76:189,113:da,116:Ss},i(Xl,[2,73]),i(Xl,[2,75]),i(Xl,[2,76]),i(Xl,[2,161]),i(Xl,[2,162]),{8:xt,9:Gt,10:Ra,11:Be,12:fr,14:An,21:191,27:Pn,29:[1,190],32:Bn,42:Te,58:be,73:Qe,80:135,81:rn,82:yn,83:ja,84:mo,85:vo,86:ma,87:$a,88:192,102:gs,106:Nu,108:ta,111:l1,112:_2,113:ll},i(Hc,[2,94]),i(Hc,[2,96]),i(Hc,[2,97]),i(Hc,[2,150]),i(Hc,[2,151]),i(Hc,[2,152]),i(Hc,[2,153]),i(Hc,[2,154]),i(Hc,[2,155]),i(Hc,[2,156]),i(Hc,[2,157]),i(Hc,[2,158]),i(Hc,[2,159]),i(Hc,[2,160]),i(Hc,[2,83]),i(Hc,[2,84]),i(Hc,[2,85]),i(Hc,[2,86]),i(Hc,[2,87]),i(Hc,[2,88]),i(Hc,[2,89]),i(Hc,[2,90]),i(Hc,[2,91]),i(Hc,[2,92]),i(Hc,[2,93]),{6:11,7:12,8:b,9:E,10:_,11:S,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,193],33:24,34:B,36:F,38:R,40:28,41:38,42:q,43:39,45:40,58:X,81:rt,82:at,83:ut,84:pt,85:yt,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V,118:Nt,119:Dt,120:jt,121:Ct},{10:Ft,18:194},{10:[1,195],42:q,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:109,111:Y,112:Et,113:V},{10:[1,196]},{10:[1,197],103:[1,198]},i(Zw,[2,121]),{10:[1,199],42:q,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:109,111:Y,112:Et,113:V},{10:[1,200],42:q,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:109,111:Y,112:Et,113:V},{77:[1,201]},i(ka,[2,102],{10:[1,202]}),i(ka,[2,104],{10:[1,203]}),{77:[1,204]},i(du,[2,177]),{77:[1,205],95:[1,206]},i(oe,[2,50],{110:109,42:q,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,111:Y,112:Et,113:V}),{31:[1,207],65:ea,79:208,113:oa,114:va,115:na},i(mh,[2,79]),i(mh,[2,81]),i(mh,[2,82]),i(mh,[2,146]),i(mh,[2,147]),i(mh,[2,148]),i(mh,[2,149]),{47:[1,209],65:ea,79:208,113:oa,114:va,115:na},{30:210,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{49:[1,211],65:ea,79:208,113:oa,114:va,115:na},{51:[1,212],65:ea,79:208,113:oa,114:va,115:na},{53:[1,213],65:ea,79:208,113:oa,114:va,115:na},{55:[1,214],65:ea,79:208,113:oa,114:va,115:na},{58:[1,215]},{62:[1,216],65:ea,79:208,113:oa,114:va,115:na},{64:[1,217],65:ea,79:208,113:oa,114:va,115:na},{30:218,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},{31:[1,219],65:ea,79:208,113:oa,114:va,115:na},{65:ea,67:[1,220],69:[1,221],79:208,113:oa,114:va,115:na},{65:ea,67:[1,223],69:[1,222],79:208,113:oa,114:va,115:na},i(Ot,[2,44],{42:pc}),i(yi,[2,70]),i(yi,[2,69]),{60:[1,224],65:ea,79:208,113:oa,114:va,115:na},i(yi,[2,72]),i(Xl,[2,74]),{30:225,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},i(Ac,v,{5:226}),i(Hc,[2,95]),i(_t,[2,35]),{41:227,42:q,43:39,45:40,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},{10:_d,58:b0,81:Sd,89:228,102:w0,104:229,105:230,106:ag,107:Yi,108:cn,109:Dr},{10:_d,58:b0,81:Sd,89:239,101:[1,240],102:w0,104:229,105:230,106:ag,107:Yi,108:cn,109:Dr},{10:_d,58:b0,81:Sd,89:241,101:[1,242],102:w0,104:229,105:230,106:ag,107:Yi,108:cn,109:Dr},{102:[1,243]},{10:_d,58:b0,81:Sd,89:244,102:w0,104:229,105:230,106:ag,107:Yi,108:cn,109:Dr},{42:q,45:245,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V},i(ka,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(ka,[2,109]),i(ka,[2,111],{10:[1,249]}),i(ka,[2,112]),i(Pr,[2,51]),i(mh,[2,80]),i(Pr,[2,52]),{49:[1,250],65:ea,79:208,113:oa,114:va,115:na},i(Pr,[2,59]),i(Pr,[2,54]),i(Pr,[2,55]),i(Pr,[2,56]),{106:[1,251]},i(Pr,[2,58]),i(Pr,[2,60]),{64:[1,252],65:ea,79:208,113:oa,114:va,115:na},i(Pr,[2,62]),i(Pr,[2,63]),i(Pr,[2,65]),i(Pr,[2,64]),i(Pr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ea,79:208,113:oa,114:va,115:na},{6:11,7:12,8:b,9:E,10:_,11:S,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,254],33:24,34:B,36:F,38:R,40:28,41:38,42:q,43:39,45:40,58:X,81:rt,82:at,83:ut,84:pt,85:yt,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V,118:Nt,119:Dt,120:jt,121:Ct},i(oe,[2,48]),i(ka,[2,114],{103:Si}),i(wc,[2,123],{105:256,10:_d,58:b0,81:Sd,102:w0,106:ag,107:Yi,108:cn,109:Dr}),i(Fc,[2,125]),i(Fc,[2,127]),i(Fc,[2,128]),i(Fc,[2,129]),i(Fc,[2,130]),i(Fc,[2,131]),i(Fc,[2,132]),i(Fc,[2,133]),i(Fc,[2,134]),i(ka,[2,115],{103:Si}),{10:[1,257]},i(ka,[2,116],{103:Si}),{10:[1,258]},i(Zw,[2,122]),i(ka,[2,98],{103:Si}),i(ka,[2,99],{110:109,42:q,58:X,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,111:Y,112:Et,113:V}),i(ka,[2,103]),i(ka,[2,105],{10:[1,259]}),i(ka,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:xt,9:Gt,11:Be,21:264},i(_t,[2,34]),{10:_d,58:b0,81:Sd,102:w0,104:265,105:230,106:ag,107:Yi,108:cn,109:Dr},i(Fc,[2,126]),{14:vn,42:Pe,58:Ee,86:nn,98:266,102:sn,103:me,106:Fe,108:Qt,111:Ae,112:Se,113:Dn,117:84},{14:vn,42:Pe,58:Ee,86:nn,98:267,102:sn,103:me,106:Fe,108:Qt,111:Ae,112:Se,113:Dn,117:84},{95:[1,268]},i(ka,[2,113]),i(Pr,[2,53]),{30:269,65:ea,77:co,78:bc,79:164,113:oa,114:va,115:na},i(Pr,[2,61]),i(Ac,v,{5:270}),i(wc,[2,124],{105:256,10:_d,58:b0,81:Sd,102:w0,106:ag,107:Yi,108:cn,109:Dr}),i(ka,[2,119],{117:160,10:[1,271],14:vn,42:Pe,58:Ee,86:nn,102:sn,103:me,106:Fe,108:Qt,111:Ae,112:Se,113:Dn}),i(ka,[2,120],{117:160,10:[1,272],14:vn,42:Pe,58:Ee,86:nn,102:sn,103:me,106:Fe,108:Qt,111:Ae,112:Se,113:Dn}),i(ka,[2,107]),{31:[1,273],65:ea,79:208,113:oa,114:va,115:na},{6:11,7:12,8:b,9:E,10:_,11:S,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,274],33:24,34:B,36:F,38:R,40:28,41:38,42:q,43:39,45:40,58:X,81:rt,82:at,83:ut,84:pt,85:yt,86:mt,99:gt,102:ht,103:bt,106:Z,108:ft,110:41,111:Y,112:Et,113:V,118:Nt,119:Dt,120:jt,121:Ct},{10:_d,58:b0,81:Sd,89:275,102:w0,104:229,105:230,106:ag,107:Yi,108:cn,109:Dr},{10:_d,58:b0,81:Sd,89:276,102:w0,104:229,105:230,106:ag,107:Yi,108:cn,109:Dr},i(Pr,[2,57]),i(_t,[2,33]),i(ka,[2,117],{103:Si}),i(ka,[2,118],{103:Si})],defaultActions:{},parseError:function(ls,Ls){if(Ls.recoverable)this.trace(ls);else{var Za=new Error(ls);throw Za.hash=Ls,Za}},parse:function(ls){var Ls=this,Za=[0],_i=[],gu=[null],Le=[],ry=this.table,$e="",h1=0,rp=0,iy=2,S8=1,f4=Le.slice.call(arguments,1),Ql=Object.create(this.lexer),og={yy:{}};for(var S2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,S2)&&(og.yy[S2]=this.yy[S2]);Ql.setInput(ls,og.yy),og.yy.lexer=Ql,og.yy.parser=this,typeof Ql.yylloc>"u"&&(Ql.yylloc={});var A8=Ql.yylloc;Le.push(A8);var A2=Ql.options&&Ql.options.ranges;typeof og.yy.parseError=="function"?this.parseError=og.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d4(){var ip;return ip=_i.pop()||Ql.lex()||S8,typeof ip!="number"&&(ip instanceof Array&&(_i=ip,ip=_i.pop()),ip=Ls.symbols_[ip]||ip),ip}for(var q1,Ld,Md,L8,tm={},Hx,cb,Vx,g4;;){if(Ld=Za[Za.length-1],this.defaultActions[Ld]?Md=this.defaultActions[Ld]:((q1===null||typeof q1>"u")&&(q1=d4()),Md=ry[Ld]&&ry[Ld][q1]),typeof Md>"u"||!Md.length||!Md[0]){var sy="";g4=[];for(Hx in ry[Ld])this.terminals_[Hx]&&Hx>iy&&g4.push("'"+this.terminals_[Hx]+"'");Ql.showPosition?sy="Parse error on line "+(h1+1)+`: +`+Ql.showPosition()+` +Expecting `+g4.join(", ")+", got '"+(this.terminals_[q1]||q1)+"'":sy="Parse error on line "+(h1+1)+": Unexpected "+(q1==S8?"end of input":"'"+(this.terminals_[q1]||q1)+"'"),this.parseError(sy,{text:Ql.match,token:this.terminals_[q1]||q1,line:Ql.yylineno,loc:A8,expected:g4})}if(Md[0]instanceof Array&&Md.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ld+", token: "+q1);switch(Md[0]){case 1:Za.push(q1),gu.push(Ql.yytext),Le.push(Ql.yylloc),Za.push(Md[1]),q1=null,rp=Ql.yyleng,$e=Ql.yytext,h1=Ql.yylineno,A8=Ql.yylloc;break;case 2:if(cb=this.productions_[Md[1]][1],tm.$=gu[gu.length-cb],tm._$={first_line:Le[Le.length-(cb||1)].first_line,last_line:Le[Le.length-1].last_line,first_column:Le[Le.length-(cb||1)].first_column,last_column:Le[Le.length-1].last_column},A2&&(tm._$.range=[Le[Le.length-(cb||1)].range[0],Le[Le.length-1].range[1]]),L8=this.performAction.apply(tm,[$e,rp,h1,og.yy,Md[1],gu,Le].concat(f4)),typeof L8<"u")return L8;cb&&(Za=Za.slice(0,-1*cb*2),gu=gu.slice(0,-1*cb),Le=Le.slice(0,-1*cb)),Za.push(this.productions_[Md[1]][0]),gu.push(tm.$),Le.push(tm._$),Vx=ry[Za[Za.length-2]][Za[Za.length-1]],Za.push(Vx);break;case 3:return!0}}return!0}},Qc=function(){var Ad={EOF:1,parseError:function(Ls,Za){if(this.yy.parser)this.yy.parser.parseError(Ls,Za);else throw new Error(Ls)},setInput:function(ls,Ls){return this.yy=Ls||this.yy||{},this._input=ls,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ls=this._input[0];this.yytext+=ls,this.yyleng++,this.offset++,this.match+=ls,this.matched+=ls;var Ls=ls.match(/(?:\r\n?|\n).*/g);return Ls?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ls},unput:function(ls){var Ls=ls.length,Za=ls.split(/(?:\r\n?|\n)/g);this._input=ls+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ls),this.offset-=Ls;var _i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Za.length-1&&(this.yylineno-=Za.length-1);var gu=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Za?(Za.length===_i.length?this.yylloc.first_column:0)+_i[_i.length-Za.length].length-Za[0].length:this.yylloc.first_column-Ls},this.options.ranges&&(this.yylloc.range=[gu[0],gu[0]+this.yyleng-Ls]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ls){this.unput(this.match.slice(ls))},pastInput:function(){var ls=this.matched.substr(0,this.matched.length-this.match.length);return(ls.length>20?"...":"")+ls.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ls=this.match;return ls.length<20&&(ls+=this._input.substr(0,20-ls.length)),(ls.substr(0,20)+(ls.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ls=this.pastInput(),Ls=new Array(ls.length+1).join("-");return ls+this.upcomingInput()+` +`+Ls+"^"},test_match:function(ls,Ls){var Za,_i,gu;if(this.options.backtrack_lexer&&(gu={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(gu.yylloc.range=this.yylloc.range.slice(0))),_i=ls[0].match(/(?:\r\n?|\n).*/g),_i&&(this.yylineno+=_i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_i?_i[_i.length-1].length-_i[_i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ls[0].length},this.yytext+=ls[0],this.match+=ls[0],this.matches=ls,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ls[0].length),this.matched+=ls[0],Za=this.performAction.call(this,this.yy,this,Ls,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Za)return Za;if(this._backtrack){for(var Le in gu)this[Le]=gu[Le];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ls,Ls,Za,_i;this._more||(this.yytext="",this.match="");for(var gu=this._currentRules(),Le=0;LeLs[0].length)){if(Ls=Za,_i=Le,this.options.backtrack_lexer){if(ls=this.test_match(Za,gu[Le]),ls!==!1)return ls;if(this._backtrack){Ls=!1;continue}else return!1}else if(!this.options.flex)break}return Ls?(ls=this.test_match(Ls,gu[_i]),ls!==!1?ls:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ls=this.next();return Ls||this.lex()},begin:function(Ls){this.conditionStack.push(Ls)},popState:function(){var Ls=this.conditionStack.length-1;return Ls>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ls){return Ls=this.conditionStack.length-1-Math.abs(Ls||0),Ls>=0?this.conditionStack[Ls]:"INITIAL"},pushState:function(Ls){this.begin(Ls)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ls,Za,_i,gu){switch(_i){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Ls.lex.firstGraph()&&this.begin("dir"),12;case 30:return Ls.lex.firstGraph()&&this.begin("dir"),12;case 31:return Ls.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return Ad}();vh.lexer=Qc;function Wh(){this.yy={}}return Wh.prototype=vh,vh.Parser=Wh,new Wh}();Qgt.parser=Qgt;const Jgt=Qgt,qRe="flowchart-";let QBt=0,cM=Re(),Rl={},Xv=[],uM={},Ix=[],MY={},DY={},IY=0,Zgt=!0,Ww,OY,PY=[];const NY=i=>ei.sanitizeText(i,cM),OF=function(i){const a=Object.keys(Rl);for(const f of a)if(Rl[f].id===i)return Rl[f].domId;return i},JBt=function(i,a,f,g,w,v,b={}){let E,_=i;_!==void 0&&_.trim().length!==0&&(Rl[_]===void 0&&(Rl[_]={id:_,labelType:"text",domId:qRe+_+"-"+QBt,styles:[],classes:[]}),QBt++,a!==void 0?(cM=Re(),E=NY(a.text.trim()),Rl[_].labelType=a.type,E[0]==='"'&&E[E.length-1]==='"'&&(E=E.substring(1,E.length-1)),Rl[_].text=E):Rl[_].text===void 0&&(Rl[_].text=i),f!==void 0&&(Rl[_].type=f),g!=null&&g.forEach(function(S){Rl[_].styles.push(S)}),w!=null&&w.forEach(function(S){Rl[_].classes.push(S)}),v!==void 0&&(Rl[_].dir=v),Rl[_].props===void 0?Rl[_].props=b:b!==void 0&&Object.assign(Rl[_].props,b))},ZBt=function(i,a,f){const v={start:i,end:a,type:void 0,text:"",labelType:"text"};Wt.info("abc78 Got edge...",v);const b=f.text;if(b!==void 0&&(v.text=NY(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),f!==void 0&&(v.type=f.type,v.stroke=f.stroke,v.length=f.length),(v==null?void 0:v.length)>10&&(v.length=10),Xv.length<(cM.maxEdges??500))Wt.info("abc78 pushing edge..."),Xv.push(v);else throw new Error(`Edge limit exceeded. ${Xv.length} edges found, but the limit is ${cM.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},tRt=function(i,a,f){Wt.info("addLink (abc78)",i,a,f);let g,w;for(g=0;g=Xv.length)throw new Error(`The index ${f} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${Xv.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);f==="default"?Xv.defaultStyle=a:(ao.isSubstringInArray("fill",a)===-1&&a.push("fill:none"),Xv[f].style=a)})},rRt=function(i,a){i.split(",").forEach(function(f){uM[f]===void 0&&(uM[f]={id:f,styles:[],textStyles:[]}),a!=null&&a.forEach(function(g){if(g.match("color")){const w=g.replace("fill","bgFill").replace("color","fill");uM[f].textStyles.push(w)}uM[f].styles.push(g)})})},iRt=function(i){Ww=i,Ww.match(/.*/)&&(Ww="LR"),Ww.match(/.*v/)&&(Ww="TB"),Ww==="TD"&&(Ww="TB")},FY=function(i,a){i.split(",").forEach(function(f){let g=f;Rl[g]!==void 0&&Rl[g].classes.push(a),MY[g]!==void 0&&MY[g].classes.push(a)})},HRe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(DY[OY==="gen-1"?OF(f):f]=NY(a))})},VRe=function(i,a,f){let g=OF(i);if(Re().securityLevel!=="loose"||a===void 0)return;let w=[];if(typeof f=="string"){w=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),xr(this).classed("hover",!1)})};PY.push(dRt);const gRt=function(i="gen-1"){Rl={},uM={},Xv=[],PY=[dRt],Ix=[],MY={},IY=0,DY={},Zgt=!0,OY=i,cM=Re(),Wg()},pRt=i=>{OY=i||"gen-2"},bRt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},wRt=function(i,a,f){let g=i.text.trim(),w=f.text;i===f&&f.text.match(/\s/)&&(g=void 0);function v(I){const B={boolean:{},number:{},string:{}},F=[];let R;return{nodeList:I.filter(function(X){const rt=typeof X;return X.stmt&&X.stmt==="dir"?(R=X.value,!1):X.trim()===""?!1:rt in B?B[rt].hasOwnProperty(X)?!1:B[rt][X]=!0:F.includes(X)?!1:F.push(X)}),dir:R}}let b=[];const{nodeList:E,dir:_}=v(b.concat.apply(b,a));if(b=E,OY==="gen-1")for(let I=0;I2e3)return;if(mRt[PF]=a,Ix[a].id===i)return{result:!0,count:0};let g=0,w=1;for(;g=0){const b=vRt(i,v);if(b.result)return{result:!0,count:w+b.count};w=w+b.count}g=g+1}return{result:!1,count:w}},yRt=function(i){return mRt[i]},xRt=function(){PF=-1,Ix.length>0&&vRt("none",Ix.length-1)},kRt=function(){return Ix},ERt=()=>Zgt?(Zgt=!1,!0):!1,GRe=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let g="normal";return a.includes("=")&&(g="thick"),a.includes(".")&&(g="dotted"),{type:f,stroke:g}},KRe=(i,a)=>{const f=a.length;let g=0;for(let w=0;w{const a=i.trim();let f=a.slice(0,-1),g="arrow_open";switch(a.slice(-1)){case"x":g="arrow_cross",a[0]==="x"&&(g="double_"+g,f=f.slice(1));break;case">":g="arrow_point",a[0]==="<"&&(g="double_"+g,f=f.slice(1));break;case"o":g="arrow_circle",a[0]==="o"&&(g="double_"+g,f=f.slice(1));break}let w="normal",v=f.length-1;f[0]==="="&&(w="thick"),f[0]==="~"&&(w="invisible");let b=KRe(".",f);return b&&(w="dotted",v=b),{type:g,stroke:w,length:v}},TRt=(i,a)=>{const f=WRe(i);let g;if(a){if(g=GRe(a),g.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(g.type==="arrow_open")g.type=f.type;else{if(g.type!==f.type)return{type:"INVALID",stroke:"INVALID"};g.type="double_"+g.type}return g.type==="double_arrow"&&(g.type="double_arrow_point"),g.length=f.length,g}return f},CRt=(i,a)=>{let f=!1;return i.forEach(g=>{g.nodes.indexOf(a)>=0&&(f=!0)}),f},_Rt=(i,a)=>{const f=[];return i.nodes.forEach((g,w)=>{CRt(a,g)||f.push(i.nodes[w])}),{nodes:f}},SRt={firstGraph:ERt},E9={defaultConfig:()=>YFt.flowchart,setAccTitle:ng,getAccTitle:Yg,getAccDescription:Qg,setAccDescription:Xg,addVertex:JBt,lookUpDomId:OF,addLink:tRt,updateLinkInterpolate:eRt,updateLink:nRt,addClass:rRt,setDirection:iRt,setClass:FY,setTooltip:HRe,getTooltip:aRt,setClickEvent:oRt,setLink:sRt,bindFunctions:cRt,getDirection:uRt,getVertices:lRt,getEdges:hRt,getClasses:fRt,clear:gRt,setGen:pRt,defaultStyle:bRt,addSubGraph:wRt,getDepthFirstPos:yRt,indexNodes:xRt,getSubGraphs:kRt,destructLink:TRt,lex:SRt,exists:CRt,makeUniq:_Rt,setDiagramTitle:y2,getDiagramTitle:Jg},YRe=Object.freeze(Object.defineProperty({__proto__:null,addClass:rRt,addLink:tRt,addSingleLink:ZBt,addSubGraph:wRt,addVertex:JBt,bindFunctions:cRt,clear:gRt,default:E9,defaultStyle:bRt,destructLink:TRt,firstGraph:ERt,getClasses:fRt,getDepthFirstPos:yRt,getDirection:uRt,getEdges:hRt,getSubGraphs:kRt,getTooltip:aRt,getVertices:lRt,indexNodes:xRt,lex:SRt,lookUpDomId:OF,setClass:FY,setClickEvent:oRt,setDirection:iRt,setGen:pRt,setLink:sRt,updateLink:nRt,updateLinkInterpolate:eRt},Symbol.toStringTag,{value:"Module"}));var XRe="[object Symbol]";function T9(i){return typeof i=="symbol"||e4(i)&&f9(i)==XRe}function lM(i,a){for(var f=-1,g=i==null?0:i.length,w=Array(g);++f-1}function k2(i){return f8(i)?nFt(i):iBt(i)}var gje=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,pje=/^\w*$/;function tpt(i,a){if(s1(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||T9(i)?!0:pje.test(i)||!gje.test(i)||a!=null&&i in Object(a)}var bje=500;function wje(i){var a=GL(i,function(g){return f.size===bje&&f.clear(),g}),f=a.cache;return a}var mje=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vje=/\\(\\)?/g,yje=wje(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(mje,function(f,g,w,v){a.push(w?v.replace(vje,"$1"):g||f)}),a});const xje=yje;function NRt(i){return i==null?"":MRt(i)}function RY(i,a){return s1(i)?i:tpt(i,a)?[i]:xje(NRt(i))}var kje=1/0;function NF(i){if(typeof i=="string"||T9(i))return i;var a=i+"";return a=="0"&&1/i==-kje?"-0":a}function jY(i,a){a=RY(a,i);for(var f=0,g=a.length;i!=null&&f0&&f(E)?a>1?$Y(E,a-1,f,g,w):ept(w,E):g||(w[w.length]=E)}return w}function hM(i){var a=i==null?0:i.length;return a?$Y(i,1):[]}function Cje(i){return aFt(sFt(i,void 0,hM),i+"")}function _je(i,a,f,g){var w=-1,v=i==null?0:i.length;for(g&&v&&(f=i[++w]);++wE))return!1;var S=v.get(i),I=v.get(a);if(S&&I)return S==a&&I==i;var B=-1,F=!0,R=f&tze?new BF:void 0;for(v.set(i,a),v.set(a,i);++B2?a[2]:void 0;for(w&&EF(a[0],a[1],w)&&(g=1);++f-1?w[v?a[b]:b]:void 0}}var Hze=Math.max;function Vze(i,a,f){var g=i==null?0:i.length;if(!g)return-1;var w=f==null?0:cje(f);return w<0&&(w=Hze(g+w,0)),PRt(i,v8(a),w)}var Uze=qze(Vze);const upt=Uze;function ojt(i,a){var f=-1,g=f8(i)?Array(i.length):[];return qY(i,function(w,v,b){g[++f]=a(w,v,b)}),g}function c1(i,a){var f=s1(i)?lM:ojt;return f(i,v8(a))}function Gze(i,a){return i==null?i:ugt(i,cpt(a),b9)}function Kze(i,a){return i&&opt(i,cpt(a))}function Wze(i,a){return i>a}var Yze=Object.prototype,Xze=Yze.hasOwnProperty;function Qze(i,a){return i!=null&&Xze.call(i,a)}function oo(i,a){return i!=null&&rjt(i,a,Qze)}function Jze(i,a){return lM(a,function(f){return i[f]})}function Px(i){return i==null?[]:Jze(i,k2(i))}function xf(i){return i===void 0}function cjt(i,a){return ia||v&&b&&_&&!E&&!S||g&&b&&_||!f&&_||!w)return 1;if(!g&&!v&&!S&&i=E)return _;var S=f[g];return _*(S=="desc"?-1:1)}}return i.index-a.index}function iqe(i,a,f){a.length?a=lM(a,function(v){return s1(v)?function(b){return jY(b,v.length===1?v[0]:v)}:v}):a=[w9];var g=-1;a=lM(a,tY(v8));var w=ojt(i,function(v,b,E){var _=lM(a,function(S){return S(v)});return{criteria:_,index:++g,value:v}});return eqe(w,function(v,b){return rqe(v,b,f)})}function sqe(i,a){return tqe(i,a,function(f,g){return ijt(i,g)})}var aqe=Cje(function(i,a){return i==null?{}:sqe(i,a)});const jF=aqe;var oqe=Math.ceil,cqe=Math.max;function uqe(i,a,f,g){for(var w=-1,v=cqe(oqe((a-i)/(f||1)),0),b=Array(v);v--;)b[g?v:++w]=i,i+=f;return b}function lqe(i){return function(a,f,g){return g&&typeof g!="number"&&EF(a,f,g)&&(f=g=void 0),a=BY(a),f===void 0?(f=a,a=0):f=BY(f),g=g===void 0?a1&&EF(i,a[0],a[1])?a=[]:f>2&&EF(a[0],a[1],a[2])&&(a=[a[0]]),iqe(i,$Y(a,1),[])});const zF=dqe;var gqe=1/0,pqe=nM&&1/ipt(new nM([,-0]))[1]==gqe?function(i){return new nM(i)}:uje;const bqe=pqe;var wqe=200;function mqe(i,a,f){var g=-1,w=dje,v=i.length,b=!0,E=[],_=E;if(f)b=!1,w=$ze;else if(v>=wqe){var S=a?null:bqe(i);if(S)return ipt(S);b=!1,w=YRt,_=new BF}else _=a?[]:E;t:for(;++g1?w.setNode(v,f):w.setNode(v)}),this}setNode(a,f){return oo(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=S9,this._children[a]={},this._children[S9][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return oo(this._nodes,a)}removeNode(a){var f=this;if(oo(this._nodes,a)){var g=function(w){f.removeEdge(f._edgeObjs[w])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],pr(this.children(a),function(w){f.setParent(w)}),delete this._children[a]),pr(k2(this._in[a]),g),delete this._in[a],delete this._preds[a],pr(k2(this._out[a]),g),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(xf(f))f=S9;else{f+="";for(var g=f;!xf(g);g=this.parent(g))if(g===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==S9)return f}}children(a){if(xf(a)&&(a=S9),this._isCompound){var f=this._children[a];if(f)return k2(f)}else{if(a===S9)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return k2(f)}successors(a){var f=this._sucs[a];if(f)return k2(f)}neighbors(a){var f=this.predecessors(a);if(f)return yqe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var g=this;pr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),pr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,g.edge(b))});var w={};function v(b){var E=g.parent(b);return E===void 0||f.hasNode(E)?(w[b]=E,E):E in w?w[E]:v(E)}return this._isCompound&&pr(f.nodes(),function(b){f.setParent(b,v(b))}),f}setDefaultEdgeLabel(a){return VL(a)||(a=XL(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return Px(this._edgeObjs)}setPath(a,f){var g=this,w=arguments;return $F(a,function(v,b){return w.length>1?g.setEdge(v,b,f):g.setEdge(v,b),b}),this}setEdge(){var a,f,g,w,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,g=b.name,arguments.length===2&&(w=arguments[1],v=!0)):(a=b,f=arguments[1],g=arguments[3],arguments.length>2&&(w=arguments[2],v=!0)),a=""+a,f=""+f,xf(g)||(g=""+g);var E=qF(this._isDirected,a,f,g);if(oo(this._edgeLabels,E))return v&&(this._edgeLabels[E]=w),this;if(!xf(g)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=v?w:this._defaultEdgeLabelFn(a,f,g);var _=Cqe(this._isDirected,a,f,g);return a=_.v,f=_.w,Object.freeze(_),this._edgeObjs[E]=_,ljt(this._preds[f],a),ljt(this._sucs[a],f),this._in[f][E]=_,this._out[a][E]=_,this._edgeCount++,this}edge(a,f,g){var w=arguments.length===1?fpt(this._isDirected,arguments[0]):qF(this._isDirected,a,f,g);return this._edgeLabels[w]}hasEdge(a,f,g){var w=arguments.length===1?fpt(this._isDirected,arguments[0]):qF(this._isDirected,a,f,g);return oo(this._edgeLabels,w)}removeEdge(a,f,g){var w=arguments.length===1?fpt(this._isDirected,arguments[0]):qF(this._isDirected,a,f,g),v=this._edgeObjs[w];return v&&(a=v.v,f=v.w,delete this._edgeLabels[w],delete this._edgeObjs[w],hjt(this._preds[f],a),hjt(this._sucs[a],f),delete this._in[f][w],delete this._out[a][w],this._edgeCount--),this}inEdges(a,f){var g=this._in[a];if(g){var w=Px(g);return f?Ox(w,function(v){return v.v===f}):w}}outEdges(a,f){var g=this._out[a];if(g){var w=Px(g);return f?Ox(w,function(v){return v.w===f}):w}}nodeEdges(a,f){var g=this.inEdges(a,f);if(g)return g.concat(this.outEdges(a,f))}}R1.prototype._nodeCount=0,R1.prototype._edgeCount=0;function ljt(i,a){i[a]?i[a]++:i[a]=1}function hjt(i,a){--i[a]||delete i[a]}function qF(i,a,f,g){var w=""+a,v=""+f;if(!i&&w>v){var b=w;w=v,v=b}return w+ujt+v+ujt+(xf(g)?Tqe:g)}function Cqe(i,a,f,g){var w=""+a,v=""+f;if(!i&&w>v){var b=w;w=v,v=b}var E={v:w,w:v};return g&&(E.name=g),E}function fpt(i,a){return qF(i,a.v,a.w,a.name)}class _qe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return fjt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&fjt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,g=f._prev;g!==f;)a.push(JSON.stringify(g,Sqe)),g=g._prev;return"["+a.join(", ")+"]"}}function fjt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function Sqe(i,a){if(i!=="_next"&&i!=="_prev")return a}var Aqe=XL(1);function Lqe(i,a){if(i.nodeCount()<=1)return[];var f=Dqe(i,a||Aqe),g=Mqe(f.graph,f.buckets,f.zeroIdx);return hM(c1(g,function(w){return i.outEdges(w.v,w.w)}))}function Mqe(i,a,f){for(var g=[],w=a[a.length-1],v=a[0],b;i.nodeCount();){for(;b=v.dequeue();)dpt(i,a,f,b);for(;b=w.dequeue();)dpt(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){g=g.concat(dpt(i,a,f,b,!0));break}}}return g}function dpt(i,a,f,g,w){var v=w?[]:void 0;return pr(i.inEdges(g.v),function(b){var E=i.edge(b),_=i.node(b.v);w&&v.push({v:b.v,w:b.w}),_.out-=E,gpt(a,f,_)}),pr(i.outEdges(g.v),function(b){var E=i.edge(b),_=b.w,S=i.node(_);S.in-=E,gpt(a,f,S)}),i.removeNode(g.v),v}function Dqe(i,a){var f=new R1,g=0,w=0;pr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),pr(i.edges(),function(E){var _=f.edge(E.v,E.w)||0,S=a(E),I=_+S;f.setEdge(E.v,E.w,I),w=Math.max(w,f.node(E.v).out+=S),g=Math.max(g,f.node(E.w).in+=S)});var v=_9(w+g+3).map(function(){return new _qe}),b=g+1;return pr(f.nodes(),function(E){gpt(v,b,f.node(E))}),{graph:f,buckets:v,zeroIdx:b}}function gpt(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function Iqe(i){var a=i.graph().acyclicer==="greedy"?Lqe(i,f(i)):Oqe(i);pr(a,function(g){var w=i.edge(g);i.removeEdge(g),w.forwardName=g.name,w.reversed=!0,i.setEdge(g.w,g.v,w,UY("rev"))});function f(g){return function(w){return g.edge(w).weight}}}function Oqe(i){var a=[],f={},g={};function w(v){oo(g,v)||(g[v]=!0,f[v]=!0,pr(i.outEdges(v),function(b){oo(f,b.w)?a.push(b):w(b.w)}),delete f[v])}return pr(i.nodes(),w),a}function Pqe(i){pr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var g=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,g)}})}function dM(i,a,f,g){var w;do w=UY(g);while(i.hasNode(w));return f.dummy=a,i.setNode(w,f),w}function Nqe(i){var a=new R1().setGraph(i.graph());return pr(i.nodes(),function(f){a.setNode(f,i.node(f))}),pr(i.edges(),function(f){var g=a.edge(f.v,f.w)||{weight:0,minlen:1},w=i.edge(f);a.setEdge(f.v,f.w,{weight:g.weight+w.weight,minlen:Math.max(g.minlen,w.minlen)})}),a}function djt(i){var a=new R1({multigraph:i.isMultigraph()}).setGraph(i.graph());return pr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),pr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function gjt(i,a){var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2;if(!w&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var _,S;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),_=E*w/v,S=E):(w<0&&(b=-b),_=b,S=b*v/w),{x:f+_,y:g+S}}function GY(i){var a=c1(_9(bjt(i)+1),function(){return[]});return pr(i.nodes(),function(f){var g=i.node(f),w=g.rank;xf(w)||(a[w][g.order]=f)}),a}function Fqe(i){var a=RF(c1(i.nodes(),function(f){return i.node(f).rank}));pr(i.nodes(),function(f){var g=i.node(f);oo(g,"rank")&&(g.rank-=a)})}function Bqe(i){var a=RF(c1(i.nodes(),function(v){return i.node(v).rank})),f=[];pr(i.nodes(),function(v){var b=i.node(v).rank-a;f[b]||(f[b]=[]),f[b].push(v)});var g=0,w=i.graph().nodeRankFactor;pr(f,function(v,b){xf(v)&&b%w!==0?--g:g&&pr(v,function(E){i.node(E).rank+=g})})}function pjt(i,a,f,g){var w={width:0,height:0};return arguments.length>=4&&(w.rank=f,w.order=g),dM(i,"border",w,a)}function bjt(i){return C9(c1(i.nodes(),function(a){var f=i.node(a).rank;if(!xf(f))return f}))}function Rqe(i,a){var f={lhs:[],rhs:[]};return pr(i,function(g){a(g)?f.lhs.push(g):f.rhs.push(g)}),f}function jqe(i,a){var f=sjt();try{return a()}finally{console.log(i+" time: "+(sjt()-f)+"ms")}}function $qe(i,a){return a()}function zqe(i){function a(f){var g=i.children(f),w=i.node(f);if(g.length&&pr(g,a),oo(w,"minRank")){w.borderLeft=[],w.borderRight=[];for(var v=w.minRank,b=w.maxRank+1;vb.lim&&(E=b,_=!0);var S=Ox(a.edges(),function(I){return _===Ajt(i,i.node(I.v),E)&&_!==Ajt(i,i.node(I.w),E)});return hpt(S,function(I){return HF(a,I)})}function Sjt(i,a,f,g){var w=f.v,v=f.w;i.removeEdge(w,v),i.setEdge(g.v,g.w,{}),vpt(i),mpt(i,a),nHe(i,a)}function nHe(i,a){var f=upt(i.nodes(),function(w){return!a.node(w).parent}),g=tHe(i,f);g=g.slice(1),pr(g,function(w){var v=i.node(w).parent,b=a.edge(w,v),E=!1;b||(b=a.edge(v,w),E=!0),a.node(w).rank=a.node(v).rank+(E?b.minlen:-b.minlen)})}function rHe(i,a,f){return i.hasEdge(a,f)}function Ajt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function iHe(i){switch(i.graph().ranker){case"network-simplex":Ljt(i);break;case"tight-tree":aHe(i);break;case"longest-path":sHe(i);break;default:Ljt(i)}}var sHe=wpt;function aHe(i){wpt(i),yjt(i)}function Ljt(i){A9(i)}function oHe(i){var a=dM(i,"root",{},"_root"),f=cHe(i),g=C9(Px(f))-1,w=2*g+1;i.graph().nestingRoot=a,pr(i.edges(),function(b){i.edge(b).minlen*=w});var v=uHe(i)+1;pr(i.children(),function(b){Mjt(i,a,w,v,g,f,b)}),i.graph().nodeRankFactor=w}function Mjt(i,a,f,g,w,v,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var _=pjt(i,"_bt"),S=pjt(i,"_bb"),I=i.node(b);i.setParent(_,b),I.borderTop=_,i.setParent(S,b),I.borderBottom=S,pr(E,function(B){Mjt(i,a,f,g,w,v,B);var F=i.node(B),R=F.borderTop?F.borderTop:B,q=F.borderBottom?F.borderBottom:B,X=F.borderTop?g:2*g,rt=R!==q?1:w-v[b]+1;i.setEdge(_,R,{weight:X,minlen:rt,nestingEdge:!0}),i.setEdge(q,S,{weight:X,minlen:rt,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,_,{weight:0,minlen:w+v[b]})}function cHe(i){var a={};function f(g,w){var v=i.children(g);v&&v.length&&pr(v,function(b){f(b,w+1)}),a[g]=w}return pr(i.children(),function(g){f(g,1)}),a}function uHe(i){return $F(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function lHe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,pr(i.edges(),function(f){var g=i.edge(f);g.nestingEdge&&i.removeEdge(f)})}function hHe(i,a,f){var g={},w;pr(f,function(v){for(var b=i.parent(v),E,_;b;){if(E=i.parent(b),E?(_=g[E],g[E]=b):(_=w,w=b),_&&_!==b){a.setEdge(_,b);return}b=E}})}function fHe(i,a,f){var g=dHe(i),w=new R1({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(function(v){return i.node(v)});return pr(i.nodes(),function(v){var b=i.node(v),E=i.parent(v);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(w.setNode(v),w.setParent(v,E||g),pr(i[f](v),function(_){var S=_.v===v?_.w:_.v,I=w.edge(S,v),B=xf(I)?0:I.weight;w.setEdge(S,v,{weight:i.edge(_).weight+B})}),oo(b,"minRank")&&w.setNode(v,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),w}function dHe(i){for(var a;i.hasNode(a=UY("_root")););return a}function gHe(i,a){for(var f=0,g=1;g0;)I%2&&(B+=E[I+1]),I=I-1>>1,E[I]+=S.weight;_+=S.weight*B})),_}function bHe(i){var a={},f=Ox(i.nodes(),function(E){return!i.children(E).length}),g=C9(c1(f,function(E){return i.node(E).rank})),w=c1(_9(g+1),function(){return[]});function v(E){if(!oo(a,E)){a[E]=!0;var _=i.node(E);w[_.rank].push(E),pr(i.successors(E),v)}}var b=zF(f,function(E){return i.node(E).rank});return pr(b,v),w}function wHe(i,a){return c1(a,function(f){var g=i.inEdges(f);if(g.length){var w=$F(g,function(v,b){var E=i.edge(b),_=i.node(b.v);return{sum:v.sum+E.weight*_.order,weight:v.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:w.sum/w.weight,weight:w.weight}}else return{v:f}})}function mHe(i,a){var f={};pr(i,function(w,v){var b=f[w.v]={indegree:0,in:[],out:[],vs:[w.v],i:v};xf(w.barycenter)||(b.barycenter=w.barycenter,b.weight=w.weight)}),pr(a.edges(),function(w){var v=f[w.v],b=f[w.w];!xf(v)&&!xf(b)&&(b.indegree++,v.out.push(f[w.w]))});var g=Ox(f,function(w){return!w.indegree});return vHe(g)}function vHe(i){var a=[];function f(v){return function(b){b.merged||(xf(b.barycenter)||xf(v.barycenter)||b.barycenter>=v.barycenter)&&yHe(v,b)}}function g(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var w=i.pop();a.push(w),pr(w.in.reverse(),f(w)),pr(w.out,g(w))}return c1(Ox(a,function(v){return!v.merged}),function(v){return jF(v,["vs","i","barycenter","weight"])})}function yHe(i,a){var f=0,g=0;i.weight&&(f+=i.barycenter*i.weight,g+=i.weight),a.weight&&(f+=a.barycenter*a.weight,g+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/g,i.weight=g,i.i=Math.min(a.i,i.i),a.merged=!0}function xHe(i,a){var f=Rqe(i,function(I){return oo(I,"barycenter")}),g=f.lhs,w=zF(f.rhs,function(I){return-I.i}),v=[],b=0,E=0,_=0;g.sort(kHe(!!a)),_=Djt(v,w,_),pr(g,function(I){_+=I.vs.length,v.push(I.vs),b+=I.barycenter*I.weight,E+=I.weight,_=Djt(v,w,_)});var S={vs:hM(v)};return E&&(S.barycenter=b/E,S.weight=E),S}function Djt(i,a,f){for(var g;a.length&&(g=HY(a)).i<=f;)a.pop(),i.push(g.vs),f++;return f}function kHe(i){return function(a,f){return a.barycenterf.barycenter?1:i?f.i-a.i:a.i-f.i}}function Ijt(i,a,f,g){var w=i.children(a),v=i.node(a),b=v?v.borderLeft:void 0,E=v?v.borderRight:void 0,_={};b&&(w=Ox(w,function(q){return q!==b&&q!==E}));var S=wHe(i,w);pr(S,function(q){if(i.children(q.v).length){var X=Ijt(i,q.v,f,g);_[q.v]=X,oo(X,"barycenter")&&THe(q,X)}});var I=mHe(S,f);EHe(I,_);var B=xHe(I,g);if(b&&(B.vs=hM([b,B.vs,E]),i.predecessors(b).length)){var F=i.node(i.predecessors(b)[0]),R=i.node(i.predecessors(E)[0]);oo(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+F.order+R.order)/(B.weight+2),B.weight+=2}return B}function EHe(i,a){pr(i,function(f){f.vs=hM(f.vs.map(function(g){return a[g]?a[g].vs:g}))})}function THe(i,a){xf(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function CHe(i){var a=bjt(i),f=Ojt(i,_9(1,a+1),"inEdges"),g=Ojt(i,_9(a-1,-1,-1),"outEdges"),w=bHe(i);Pjt(i,w);for(var v=Number.POSITIVE_INFINITY,b,E=0,_=0;_<4;++E,++_){_He(E%2?f:g,E%4>=2),w=GY(i);var S=gHe(i,w);Sb||E>a[_].lim));for(S=_,_=g;(_=i.parent(_))!==S;)v.push(_);return{path:w.concat(v.reverse()),lca:S}}function LHe(i){var a={},f=0;function g(w){var v=f;pr(i.children(w),g),a[w]={low:v,lim:f++}}return pr(i.children(),g),a}function MHe(i,a){var f={};function g(w,v){var b=0,E=0,_=w.length,S=HY(v);return pr(v,function(I,B){var F=IHe(i,I),R=F?i.node(F).order:_;(F||I===S)&&(pr(v.slice(E,B+1),function(q){pr(i.predecessors(q),function(X){var rt=i.node(X),at=rt.order;(atS)&&Njt(f,F,I)})})}function w(v,b){var E=-1,_,S=0;return pr(b,function(I,B){if(i.node(I).dummy==="border"){var F=i.predecessors(I);F.length&&(_=i.node(F[0]).order,g(b,S,B,E,_),S=B,E=_)}g(b,S,b.length,_,v.length)}),b}return $F(a,w),f}function IHe(i,a){if(i.node(a).dummy)return upt(i.predecessors(a),function(f){return i.node(f).dummy})}function Njt(i,a,f){if(a>f){var g=a;a=f,f=g}var w=i[a];w||(i[a]=w={}),w[f]=!0}function OHe(i,a,f){if(a>f){var g=a;a=f,f=g}return oo(i[a],f)}function PHe(i,a,f,g){var w={},v={},b={};return pr(a,function(E){pr(E,function(_,S){w[_]=_,v[_]=_,b[_]=S})}),pr(a,function(E){var _=-1;pr(E,function(S){var I=g(S);if(I.length){I=zF(I,function(X){return b[X]});for(var B=(I.length-1)/2,F=Math.floor(B),R=Math.ceil(B);F<=R;++F){var q=I[F];v[S]===S&&_0}function o4(i,a,f){var g=i.x,w=i.y,v=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;a.forEach(function(q){b=Math.min(b,q.x),E=Math.min(E,q.y)});for(var _=g-i.width/2-b,S=w-i.height/2-E,I=0;I1&&v.sort(function(q,X){var rt=q.x-f.x,at=q.y-f.y,ut=Math.sqrt(rt*rt+at*at),pt=X.x-f.x,yt=X.y-f.y,mt=Math.sqrt(pt*pt+yt*yt);return utMath.abs(w)*E?(v<0&&(E=-E),_=v===0?0:E*w/v,S=E):(w<0&&(b=-b),_=b,S=w===0?0:b*v/w),{x:f+_,y:g+S}}var Dpt={rect:BVe,ellipse:RVe,circle:jVe,diamond:$Ve};function FVe(i){Dpt=i}function BVe(i,a,f){var g=i.insert("rect",":first-child").attr("rx",f.rx).attr("ry",f.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return f.intersect=function(w){return Mpt(f,w)},g}function RVe(i,a,f){var g=a.width/2,w=a.height/2,v=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",g).attr("ry",w);return f.intersect=function(b){return zjt(f,g,w,b)},v}function jVe(i,a,f){var g=Math.max(a.width,a.height)/2,w=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",g);return f.intersect=function(v){return PVe(f,g,v)},w}function $Ve(i,a,f){var g=a.width*Math.SQRT2/2,w=a.height*Math.SQRT2/2,v=[{x:0,y:-w},{x:-g,y:0},{x:0,y:w},{x:g,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(E){return E.x+","+E.y}).join(" "));return f.intersect=function(E){return o4(f,v,E)},b}function zVe(){var i=function(a,f){VVe(f);var g=VF(a,"output"),w=VF(g,"clusters"),v=VF(g,"edgePaths"),b=Spt(VF(g,"edgeLabels"),f),E=Lpt(VF(g,"nodes"),f,Dpt);gM(f),OVe(E,f),IVe(b,f),Apt(v,f,Ept);var _=_pt(w,f);DVe(_,f),UVe(f)};return i.createNodes=function(a){return arguments.length?(MVe(a),i):Lpt},i.createClusters=function(a){return arguments.length?(kVe(a),i):_pt},i.createEdgeLabels=function(a){return arguments.length?(EVe(a),i):Spt},i.createEdgePaths=function(a){return arguments.length?(TVe(a),i):Apt},i.shapes=function(a){return arguments.length?(FVe(a),i):Dpt},i.arrows=function(a){return arguments.length?(pVe(a),i):Ept},i}var qVe={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},HVe={arrowhead:"normal",curve:Vg};function VVe(i){i.nodes().forEach(function(a){var f=i.node(a);!oo(f,"label")&&!i.children(a).length&&(f.label=a),oo(f,"paddingX")&&fM(f,{paddingLeft:f.paddingX,paddingRight:f.paddingX}),oo(f,"paddingY")&&fM(f,{paddingTop:f.paddingY,paddingBottom:f.paddingY}),oo(f,"padding")&&fM(f,{paddingLeft:f.padding,paddingRight:f.padding,paddingTop:f.padding,paddingBottom:f.padding}),fM(f,qVe),pr(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(g){f[g]=Number(f[g])}),oo(f,"width")&&(f._prevWidth=f.width),oo(f,"height")&&(f._prevHeight=f.height)}),i.edges().forEach(function(a){var f=i.edge(a);oo(f,"label")||(f.label=""),fM(f,HVe)})}function UVe(i){pr(i.nodes(),function(a){var f=i.node(a);oo(f,"_prevWidth")?f.width=f._prevWidth:delete f.width,oo(f,"_prevHeight")?f.height=f._prevHeight:delete f.height,delete f._prevWidth,delete f._prevHeight})}function VF(i,a){var f=i.select("g."+a);return f.empty()&&(f=i.append("g").attr("class",a)),f}function Hjt(i,a,f){const g=a.width,w=a.height,v=(g+w)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],E=Nx(i,v,v,b);return f.intersect=function(_){return o4(f,b,_)},E}function Vjt(i,a,f){const w=a.height,v=w/4,b=a.width+2*v,E=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-w/2},{x:b-v,y:-w},{x:v,y:-w},{x:0,y:-w/2}],_=Nx(i,b,w,E);return f.intersect=function(S){return o4(f,E,S)},_}function Ujt(i,a,f){const g=a.width,w=a.height,v=[{x:-w/2,y:0},{x:g,y:0},{x:g,y:-w},{x:-w/2,y:-w},{x:0,y:-w/2}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Gjt(i,a,f){const g=a.width,w=a.height,v=[{x:-2*w/6,y:0},{x:g-w/6,y:0},{x:g+2*w/6,y:-w},{x:w/6,y:-w}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Kjt(i,a,f){const g=a.width,w=a.height,v=[{x:2*w/6,y:0},{x:g+w/6,y:0},{x:g-2*w/6,y:-w},{x:-w/6,y:-w}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Wjt(i,a,f){const g=a.width,w=a.height,v=[{x:-2*w/6,y:0},{x:g+2*w/6,y:0},{x:g-w/6,y:-w},{x:w/6,y:-w}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Yjt(i,a,f){const g=a.width,w=a.height,v=[{x:w/6,y:0},{x:g-w/6,y:0},{x:g+2*w/6,y:-w},{x:-2*w/6,y:-w}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Xjt(i,a,f){const g=a.width,w=a.height,v=[{x:0,y:0},{x:g+w/2,y:0},{x:g,y:-w/2},{x:g+w/2,y:-w},{x:0,y:-w}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Qjt(i,a,f){const g=a.height,w=a.width+g/4,v=i.insert("rect",":first-child").attr("rx",g/2).attr("ry",g/2).attr("x",-w/2).attr("y",-g/2).attr("width",w).attr("height",g);return f.intersect=function(b){return Mpt(f,b)},v}function Jjt(i,a,f){const g=a.width,w=a.height,v=[{x:0,y:0},{x:g,y:0},{x:g,y:-w},{x:0,y:-w},{x:0,y:0},{x:-8,y:0},{x:g+8,y:0},{x:g+8,y:-w},{x:-8,y:-w},{x:-8,y:0}],b=Nx(i,g,w,v);return f.intersect=function(E){return o4(f,v,E)},b}function Zjt(i,a,f){const g=a.width,w=g/2,v=w/(2.5+g/50),b=a.height+v,E="M 0,"+v+" a "+w+","+v+" 0,0,0 "+g+" 0 a "+w+","+v+" 0,0,0 "+-g+" 0 l 0,"+b+" a "+w+","+v+" 0,0,0 "+g+" 0 l 0,"+-b,_=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",E).attr("transform","translate("+-g/2+","+-(b/2+v)+")");return f.intersect=function(S){const I=Mpt(f,S),B=I.x-f.x;if(w!=0&&(Math.abs(B)f.height/2-v)){let F=v*v*(1-B*B/(w*w));F!=0&&(F=Math.sqrt(F)),F=v-F,S.y-f.y>0&&(F=-F),I.y+=F}return I},_}function GVe(i){i.shapes().question=Hjt,i.shapes().hexagon=Vjt,i.shapes().stadium=Qjt,i.shapes().subroutine=Jjt,i.shapes().cylinder=Zjt,i.shapes().rect_left_inv_arrow=Ujt,i.shapes().lean_right=Gjt,i.shapes().lean_left=Kjt,i.shapes().trapezoid=Wjt,i.shapes().inv_trapezoid=Yjt,i.shapes().rect_right_inv_arrow=Xjt}function KVe(i){i({question:Hjt}),i({hexagon:Vjt}),i({stadium:Qjt}),i({subroutine:Jjt}),i({cylinder:Zjt}),i({rect_left_inv_arrow:Ujt}),i({lean_right:Gjt}),i({lean_left:Kjt}),i({trapezoid:Wjt}),i({inv_trapezoid:Yjt}),i({rect_right_inv_arrow:Xjt})}function Nx(i,a,f,g){return i.insert("polygon",":first-child").attr("points",g.map(function(w){return w.x+","+w.y}).join(" ")).attr("transform","translate("+-a/2+","+f/2+")")}const WVe={addToRender:GVe,addToRenderV2:KVe},t$t={},YVe=function(i){const a=Object.keys(i);for(const f of a)t$t[f]=i[f]},e$t=function(i,a,f,g,w,v){const b=g?g.select(`[id="${f}"]`):xr(`[id="${f}"]`),E=w||document;Object.keys(i).forEach(function(S){const I=i[S];let B="default";I.classes.length>0&&(B=I.classes.join(" "));const F=Uw(I.styles);let R=I.text!==void 0?I.text:I.id,q;if(B1(Re().flowchart.htmlLabels)){const at={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,ut=>``)};q=Tpt(b,at).node(),q.parentNode.removeChild(q)}else{const at=E.createElementNS("http://www.w3.org/2000/svg","text");at.setAttribute("style",F.labelStyle.replace("color:","fill:"));const ut=R.split(ei.lineBreakRegex);for(const pt of ut){const yt=E.createElementNS("http://www.w3.org/2000/svg","tspan");yt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),yt.setAttribute("dy","1em"),yt.setAttribute("x","1"),yt.textContent=pt,at.appendChild(yt)}q=at}let X=0,rt="";switch(I.type){case"round":X=5,rt="rect";break;case"square":rt="rect";break;case"diamond":rt="question";break;case"hexagon":rt="hexagon";break;case"odd":rt="rect_left_inv_arrow";break;case"lean_right":rt="lean_right";break;case"lean_left":rt="lean_left";break;case"trapezoid":rt="trapezoid";break;case"inv_trapezoid":rt="inv_trapezoid";break;case"odd_right":rt="rect_left_inv_arrow";break;case"circle":rt="circle";break;case"ellipse":rt="ellipse";break;case"stadium":rt="stadium";break;case"subroutine":rt="subroutine";break;case"cylinder":rt="cylinder";break;case"group":rt="rect";break;default:rt="rect"}Wt.warn("Adding node",I.id,I.domId),a.setNode(v.db.lookUpDomId(I.id),{labelType:"svg",labelStyle:F.labelStyle,shape:rt,label:q,rx:X,ry:X,class:B,style:F.style,id:v.db.lookUpDomId(I.id)})})},n$t=function(i,a,f){let g=0,w,v;if(i.defaultStyle!==void 0){const b=Uw(i.defaultStyle);w=b.style,v=b.labelStyle}i.forEach(function(b){g++;const E="L-"+b.start+"-"+b.end,_="LS-"+b.start,S="LE-"+b.end,I={};b.type==="arrow_open"?I.arrowhead="none":I.arrowhead="normal";let B="",F="";if(b.style!==void 0){const R=Uw(b.style);B=R.style,F=R.labelStyle}else switch(b.stroke){case"normal":B="fill:none",w!==void 0&&(B=w),v!==void 0&&(F=v);break;case"dotted":B="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":B=" stroke-width: 3.5px;fill:none";break}I.style=B,I.labelStyle=F,b.interpolate!==void 0?I.curve=Vw(b.interpolate,Vg):i.defaultInterpolate!==void 0?I.curve=Vw(i.defaultInterpolate,Vg):I.curve=Vw(t$t.curve,Vg),b.text===void 0?b.style!==void 0&&(I.arrowheadStyle="fill: #333"):(I.arrowheadStyle="fill: #333",I.labelpos="c",B1(Re().flowchart.htmlLabels)?(I.labelType="html",I.label=`${b.text.replace(/fa[blrs]?:fa-[\w-]+/g,R=>``)}`):(I.labelType="text",I.label=b.text.replace(ei.lineBreakRegex,` +`),b.style===void 0&&(I.style=I.style||"stroke: #333; stroke-width: 1.5px;fill:none"),I.labelStyle=I.labelStyle.replace("color:","fill:"))),I.id=E,I.class=_+" "+S,I.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),I,g)})},XVe={setConf:YVe,addVertices:e$t,addEdges:n$t,getClasses:function(i,a){return Wt.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,g){Wt.info("Drawing flowchart");const{securityLevel:w,flowchart:v}=Re();let b;w==="sandbox"&&(b=xr("#i"+a));const E=xr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?b.nodes()[0].contentDocument:document;let S=g.db.getDirection();S===void 0&&(S="TD");const I=v.nodeSpacing||50,B=v.rankSpacing||50,F=new R1({multigraph:!0,compound:!0}).setGraph({rankdir:S,nodesep:I,ranksep:B,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let R;const q=g.db.getSubGraphs();for(let gt=q.length-1;gt>=0;gt--)R=q[gt],g.db.addVertex(R.id,R.title,"group",void 0,R.classes);const X=g.db.getVertices();Wt.warn("Get vertices",X);const rt=g.db.getEdges();let at=0;for(at=q.length-1;at>=0;at--){R=q[at],SOt("cluster").append("text");for(let gt=0;gt{a.forEach(w=>{tUe[w](i,f,g)})},tUe={extension:(i,a,f)=>{Wt.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionStart").attr("class","marker composition "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},r$t=ZVe;function eUe(i,a){a&&i.attr("style",a)}function nUe(i){const a=xr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),g=i.label,w=i.isNode?"nodeLabel":"edgeLabel";return f.html('"+g+""),eUe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const ib=(i,a,f,g)=>{let w=i||"";if(typeof w=="object"&&(w=w[0]),B1(Re().flowchart.htmlLabels)){w=w.replace(/\\n|\n/g,"
"),Wt.info("vertexText"+w);const v={isNode:g,label:CF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return nUe(v)}else{const v=document.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),f?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),v.appendChild(_)}return v}},rUe={};function iUe(i,a){const f=a||rUe,g=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return i$t(i,g,w)}function i$t(i,a,f){if(sUe(i)){if("value"in i)return i.type==="html"&&!f?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return s$t(i.children,a,f)}return Array.isArray(i)?s$t(i,a,f):""}function s$t(i,a,f){const g=[];let w=-1;for(;++ww?0:w+a:a=a>w?w:a,f=f>0?f:0,g.length<1e4)b=Array.from(g),b.unshift(a,f),i.splice(...b);else for(f&&i.splice(a,f);v0?(c4(i,i.length,0,a),i):a}const a$t={}.hasOwnProperty;function aUe(i){const a={};let f=-1;for(;++fb))return;const ht=a.events.length;let bt=ht,Z,ft;for(;bt--;)if(a.events[bt][0]==="exit"&&a.events[bt][1].type==="chunkFlow"){if(Z){ft=a.events[bt][1].end;break}Z=!0}for(at(g),gt=ht;gtpt;){const mt=f[yt];a.containerState=mt[1],mt[0].exit.call(a,i)}f.length=pt}function ut(){w.write([null]),v=void 0,w=void 0,a.containerState._closeFlow=void 0}}function vUe(i,a,f){return Cl(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function c$t(i){if(i===null||sb(i)||gUe(i))return 1;if(dUe(i))return 2}function Ppt(i,a,f){const g=[];let w=-1;for(;++w1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const B=Object.assign({},i[g][1].end),F=Object.assign({},i[f][1].start);u$t(B,-_),u$t(F,_),b={type:_>1?"strongSequence":"emphasisSequence",start:B,end:Object.assign({},i[g][1].end)},E={type:_>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:F},v={type:_>1?"strongText":"emphasisText",start:Object.assign({},i[g][1].end),end:Object.assign({},i[f][1].start)},w={type:_>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[g][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),S=[],i[g][1].end.offset-i[g][1].start.offset&&(S=Yw(S,[["enter",i[g][1],a],["exit",i[g][1],a]])),S=Yw(S,[["enter",w,a],["enter",b,a],["exit",b,a],["enter",v,a]]),S=Yw(S,Ppt(a.parser.constructs.insideSpan.null,i.slice(g+1,f),a)),S=Yw(S,[["exit",v,a],["enter",E,a],["exit",E,a],["exit",w,a]]),i[f][1].end.offset-i[f][1].start.offset?(I=2,S=Yw(S,[["enter",i[f][1],a],["exit",i[f][1],a]])):I=0,c4(i,g-1,f-g+3,S),f=g+S.length-I-2;break}}for(f=-1;++f0&&fu(gt)?Cl(i,ut,"linePrefix",v+1)(gt):ut(gt)}function ut(gt){return gt===null||Ba(gt)?i.check(g$t,X,yt)(gt):(i.enter("codeFlowValue"),pt(gt))}function pt(gt){return gt===null||Ba(gt)?(i.exit("codeFlowValue"),ut(gt)):(i.consume(gt),pt)}function yt(gt){return i.exit("codeFenced"),a(gt)}function mt(gt,ht,bt){let Z=0;return ft;function ft(Dt){return gt.enter("lineEnding"),gt.consume(Dt),gt.exit("lineEnding"),Y}function Y(Dt){return gt.enter("codeFencedFence"),fu(Dt)?Cl(gt,Et,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Dt):Et(Dt)}function Et(Dt){return Dt===E?(gt.enter("codeFencedFenceSequence"),V(Dt)):bt(Dt)}function V(Dt){return Dt===E?(Z++,gt.consume(Dt),V):Z>=b?(gt.exit("codeFencedFenceSequence"),fu(Dt)?Cl(gt,Nt,"whitespace")(Dt):Nt(Dt)):bt(Dt)}function Nt(Dt){return Dt===null||Ba(Dt)?(gt.exit("codeFencedFence"),ht(Dt)):bt(Dt)}}}function DUe(i,a,f){const g=this;return w;function w(b){return b===null?f(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return g.parser.lazy[g.now().line]?f(b):a(b)}}const Bpt={name:"codeIndented",tokenize:OUe},IUe={tokenize:PUe,partial:!0};function OUe(i,a,f){const g=this;return w;function w(S){return i.enter("codeIndented"),Cl(i,v,"linePrefix",4+1)(S)}function v(S){const I=g.events[g.events.length-1];return I&&I[1].type==="linePrefix"&&I[2].sliceSerialize(I[1],!0).length>=4?b(S):f(S)}function b(S){return S===null?_(S):Ba(S)?i.attempt(IUe,b,_)(S):(i.enter("codeFlowValue"),E(S))}function E(S){return S===null||Ba(S)?(i.exit("codeFlowValue"),b(S)):(i.consume(S),E)}function _(S){return i.exit("codeIndented"),a(S)}}function PUe(i,a,f){const g=this;return w;function w(b){return g.parser.lazy[g.now().line]?f(b):Ba(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),w):Cl(i,v,"linePrefix",4+1)(b)}function v(b){const E=g.events[g.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):Ba(b)?w(b):f(b)}}const NUe={name:"codeText",tokenize:RUe,resolve:FUe,previous:BUe};function FUe(i){let a=i.length-4,f=3,g,w;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(g=f;++g=4?a(b):i.interrupt(g.parser.constructs.flow,f,a)(b)}}function w$t(i,a,f,g,w,v,b,E,_){const S=_||Number.POSITIVE_INFINITY;let I=0;return B;function B(at){return at===60?(i.enter(g),i.enter(w),i.enter(v),i.consume(at),i.exit(v),F):at===null||at===32||at===41||Ipt(at)?f(at):(i.enter(g),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),X(at))}function F(at){return at===62?(i.enter(v),i.consume(at),i.exit(v),i.exit(w),i.exit(g),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),R(at))}function R(at){return at===62?(i.exit("chunkString"),i.exit(E),F(at)):at===null||at===60||Ba(at)?f(at):(i.consume(at),at===92?q:R)}function q(at){return at===60||at===62||at===92?(i.consume(at),R):R(at)}function X(at){return!I&&(at===null||at===41||sb(at))?(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(g),a(at)):I999||R===null||R===91||R===93&&!_||R===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs?f(R):R===93?(i.exit(v),i.enter(w),i.consume(R),i.exit(w),i.exit(g),a):Ba(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),I):(i.enter("chunkString",{contentType:"string"}),B(R))}function B(R){return R===null||R===91||R===93||Ba(R)||E++>999?(i.exit("chunkString"),I(R)):(i.consume(R),_||(_=!fu(R)),R===92?F:B)}function F(R){return R===91||R===92||R===93?(i.consume(R),E++,B):B(R)}}function v$t(i,a,f,g,w,v){let b;return E;function E(F){return F===34||F===39||F===40?(i.enter(g),i.enter(w),i.consume(F),i.exit(w),b=F===40?41:F,_):f(F)}function _(F){return F===b?(i.enter(w),i.consume(F),i.exit(w),i.exit(g),a):(i.enter(v),S(F))}function S(F){return F===b?(i.exit(v),_(b)):F===null?f(F):Ba(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),Cl(i,S,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),I(F))}function I(F){return F===b||F===null||Ba(F)?(i.exit("chunkString"),S(F)):(i.consume(F),F===92?B:I)}function B(F){return F===b||F===92?(i.consume(F),I):I(F)}}function UF(i,a){let f;return g;function g(w){return Ba(w)?(i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),f=!0,g):fu(w)?Cl(i,g,f?"linePrefix":"lineSuffix")(w):a(w)}}function pM(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const UUe={name:"definition",tokenize:KUe},GUe={tokenize:WUe,partial:!0};function KUe(i,a,f){const g=this;let w;return v;function v(R){return i.enter("definition"),b(R)}function b(R){return m$t.call(g,i,E,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(R)}function E(R){return w=pM(g.sliceSerialize(g.events[g.events.length-1][1]).slice(1,-1)),R===58?(i.enter("definitionMarker"),i.consume(R),i.exit("definitionMarker"),_):f(R)}function _(R){return sb(R)?UF(i,S)(R):S(R)}function S(R){return w$t(i,I,f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(R)}function I(R){return i.attempt(GUe,B,B)(R)}function B(R){return fu(R)?Cl(i,F,"whitespace")(R):F(R)}function F(R){return R===null||Ba(R)?(i.exit("definition"),g.parser.defined.push(w),a(R)):f(R)}}function WUe(i,a,f){return g;function g(E){return sb(E)?UF(i,w)(E):f(E)}function w(E){return v$t(i,v,f,"definitionTitle","definitionTitleMarker","definitionTitleString")(E)}function v(E){return fu(E)?Cl(i,b,"whitespace")(E):b(E)}function b(E){return E===null||Ba(E)?a(E):f(E)}}const YUe={name:"hardBreakEscape",tokenize:XUe};function XUe(i,a,f){return g;function g(v){return i.enter("hardBreakEscape"),i.consume(v),w}function w(v){return Ba(v)?(i.exit("hardBreakEscape"),a(v)):f(v)}}const QUe={name:"headingAtx",tokenize:ZUe,resolve:JUe};function JUe(i,a){let f=i.length-2,g=3,w,v;return i[g][1].type==="whitespace"&&(g+=2),f-2>g&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(g===f-1||f-4>g&&i[f-2][1].type==="whitespace")&&(f-=g+1===f?2:4),f>g&&(w={type:"atxHeadingText",start:i[g][1].start,end:i[f][1].end},v={type:"chunkText",start:i[g][1].start,end:i[f][1].end,contentType:"text"},c4(i,g,f-g+1,[["enter",w,a],["enter",v,a],["exit",v,a],["exit",w,a]])),i}function ZUe(i,a,f){let g=0;return w;function w(I){return i.enter("atxHeading"),v(I)}function v(I){return i.enter("atxHeadingSequence"),b(I)}function b(I){return I===35&&g++<6?(i.consume(I),b):I===null||sb(I)?(i.exit("atxHeadingSequence"),E(I)):f(I)}function E(I){return I===35?(i.enter("atxHeadingSequence"),_(I)):I===null||Ba(I)?(i.exit("atxHeading"),a(I)):fu(I)?Cl(i,E,"whitespace")(I):(i.enter("atxHeadingText"),S(I))}function _(I){return I===35?(i.consume(I),_):(i.exit("atxHeadingSequence"),E(I))}function S(I){return I===null||I===35||sb(I)?(i.exit("atxHeadingText"),E(I)):(i.consume(I),S)}}const tGe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],y$t=["pre","script","style","textarea"],eGe={name:"htmlFlow",tokenize:sGe,resolveTo:iGe,concrete:!0},nGe={tokenize:oGe,partial:!0},rGe={tokenize:aGe,partial:!0};function iGe(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function sGe(i,a,f){const g=this;let w,v,b,E,_;return S;function S(Ot){return I(Ot)}function I(Ot){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ot),B}function B(Ot){return Ot===33?(i.consume(Ot),F):Ot===47?(i.consume(Ot),v=!0,X):Ot===63?(i.consume(Ot),w=3,g.interrupt?a:xt):u4(Ot)?(i.consume(Ot),b=String.fromCharCode(Ot),rt):f(Ot)}function F(Ot){return Ot===45?(i.consume(Ot),w=2,R):Ot===91?(i.consume(Ot),w=5,E=0,q):u4(Ot)?(i.consume(Ot),w=4,g.interrupt?a:xt):f(Ot)}function R(Ot){return Ot===45?(i.consume(Ot),g.interrupt?a:xt):f(Ot)}function q(Ot){const vn="CDATA[";return Ot===vn.charCodeAt(E++)?(i.consume(Ot),E===vn.length?g.interrupt?a:Et:q):f(Ot)}function X(Ot){return u4(Ot)?(i.consume(Ot),b=String.fromCharCode(Ot),rt):f(Ot)}function rt(Ot){if(Ot===null||Ot===47||Ot===62||sb(Ot)){const vn=Ot===47,Pe=b.toLowerCase();return!vn&&!v&&y$t.includes(Pe)?(w=1,g.interrupt?a(Ot):Et(Ot)):tGe.includes(b.toLowerCase())?(w=6,vn?(i.consume(Ot),at):g.interrupt?a(Ot):Et(Ot)):(w=7,g.interrupt&&!g.parser.lazy[g.now().line]?f(Ot):v?ut(Ot):pt(Ot))}return Ot===45||Jv(Ot)?(i.consume(Ot),b+=String.fromCharCode(Ot),rt):f(Ot)}function at(Ot){return Ot===62?(i.consume(Ot),g.interrupt?a:Et):f(Ot)}function ut(Ot){return fu(Ot)?(i.consume(Ot),ut):ft(Ot)}function pt(Ot){return Ot===47?(i.consume(Ot),ft):Ot===58||Ot===95||u4(Ot)?(i.consume(Ot),yt):fu(Ot)?(i.consume(Ot),pt):ft(Ot)}function yt(Ot){return Ot===45||Ot===46||Ot===58||Ot===95||Jv(Ot)?(i.consume(Ot),yt):mt(Ot)}function mt(Ot){return Ot===61?(i.consume(Ot),gt):fu(Ot)?(i.consume(Ot),mt):pt(Ot)}function gt(Ot){return Ot===null||Ot===60||Ot===61||Ot===62||Ot===96?f(Ot):Ot===34||Ot===39?(i.consume(Ot),_=Ot,ht):fu(Ot)?(i.consume(Ot),gt):bt(Ot)}function ht(Ot){return Ot===_?(i.consume(Ot),_=null,Z):Ot===null||Ba(Ot)?f(Ot):(i.consume(Ot),ht)}function bt(Ot){return Ot===null||Ot===34||Ot===39||Ot===47||Ot===60||Ot===61||Ot===62||Ot===96||sb(Ot)?mt(Ot):(i.consume(Ot),bt)}function Z(Ot){return Ot===47||Ot===62||fu(Ot)?pt(Ot):f(Ot)}function ft(Ot){return Ot===62?(i.consume(Ot),Y):f(Ot)}function Y(Ot){return Ot===null||Ba(Ot)?Et(Ot):fu(Ot)?(i.consume(Ot),Y):f(Ot)}function Et(Ot){return Ot===45&&w===2?(i.consume(Ot),jt):Ot===60&&w===1?(i.consume(Ot),Ct):Ot===62&&w===4?(i.consume(Ot),Gt):Ot===63&&w===3?(i.consume(Ot),xt):Ot===93&&w===5?(i.consume(Ot),_t):Ba(Ot)&&(w===6||w===7)?(i.exit("htmlFlowData"),i.check(nGe,Be,V)(Ot)):Ot===null||Ba(Ot)?(i.exit("htmlFlowData"),V(Ot)):(i.consume(Ot),Et)}function V(Ot){return i.check(rGe,Nt,Be)(Ot)}function Nt(Ot){return i.enter("lineEnding"),i.consume(Ot),i.exit("lineEnding"),Dt}function Dt(Ot){return Ot===null||Ba(Ot)?V(Ot):(i.enter("htmlFlowData"),Et(Ot))}function jt(Ot){return Ot===45?(i.consume(Ot),xt):Et(Ot)}function Ct(Ot){return Ot===47?(i.consume(Ot),b="",Ft):Et(Ot)}function Ft(Ot){if(Ot===62){const vn=b.toLowerCase();return y$t.includes(vn)?(i.consume(Ot),Gt):Et(Ot)}return u4(Ot)&&b.length<8?(i.consume(Ot),b+=String.fromCharCode(Ot),Ft):Et(Ot)}function _t(Ot){return Ot===93?(i.consume(Ot),xt):Et(Ot)}function xt(Ot){return Ot===62?(i.consume(Ot),Gt):Ot===45&&w===2?(i.consume(Ot),xt):Et(Ot)}function Gt(Ot){return Ot===null||Ba(Ot)?(i.exit("htmlFlowData"),Be(Ot)):(i.consume(Ot),Gt)}function Be(Ot){return i.exit("htmlFlow"),a(Ot)}}function aGe(i,a,f){const g=this;return w;function w(b){return Ba(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):f(b)}function v(b){return g.parser.lazy[g.now().line]?f(b):a(b)}}function oGe(i,a,f){return g;function g(w){return i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),i.attempt(KY,a,f)}}const cGe={name:"htmlText",tokenize:uGe};function uGe(i,a,f){const g=this;let w,v,b;return E;function E(xt){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(xt),_}function _(xt){return xt===33?(i.consume(xt),S):xt===47?(i.consume(xt),mt):xt===63?(i.consume(xt),pt):u4(xt)?(i.consume(xt),bt):f(xt)}function S(xt){return xt===45?(i.consume(xt),I):xt===91?(i.consume(xt),v=0,q):u4(xt)?(i.consume(xt),ut):f(xt)}function I(xt){return xt===45?(i.consume(xt),R):f(xt)}function B(xt){return xt===null?f(xt):xt===45?(i.consume(xt),F):Ba(xt)?(b=B,Ct(xt)):(i.consume(xt),B)}function F(xt){return xt===45?(i.consume(xt),R):B(xt)}function R(xt){return xt===62?jt(xt):xt===45?F(xt):B(xt)}function q(xt){const Gt="CDATA[";return xt===Gt.charCodeAt(v++)?(i.consume(xt),v===Gt.length?X:q):f(xt)}function X(xt){return xt===null?f(xt):xt===93?(i.consume(xt),rt):Ba(xt)?(b=X,Ct(xt)):(i.consume(xt),X)}function rt(xt){return xt===93?(i.consume(xt),at):X(xt)}function at(xt){return xt===62?jt(xt):xt===93?(i.consume(xt),at):X(xt)}function ut(xt){return xt===null||xt===62?jt(xt):Ba(xt)?(b=ut,Ct(xt)):(i.consume(xt),ut)}function pt(xt){return xt===null?f(xt):xt===63?(i.consume(xt),yt):Ba(xt)?(b=pt,Ct(xt)):(i.consume(xt),pt)}function yt(xt){return xt===62?jt(xt):pt(xt)}function mt(xt){return u4(xt)?(i.consume(xt),gt):f(xt)}function gt(xt){return xt===45||Jv(xt)?(i.consume(xt),gt):ht(xt)}function ht(xt){return Ba(xt)?(b=ht,Ct(xt)):fu(xt)?(i.consume(xt),ht):jt(xt)}function bt(xt){return xt===45||Jv(xt)?(i.consume(xt),bt):xt===47||xt===62||sb(xt)?Z(xt):f(xt)}function Z(xt){return xt===47?(i.consume(xt),jt):xt===58||xt===95||u4(xt)?(i.consume(xt),ft):Ba(xt)?(b=Z,Ct(xt)):fu(xt)?(i.consume(xt),Z):jt(xt)}function ft(xt){return xt===45||xt===46||xt===58||xt===95||Jv(xt)?(i.consume(xt),ft):Y(xt)}function Y(xt){return xt===61?(i.consume(xt),Et):Ba(xt)?(b=Y,Ct(xt)):fu(xt)?(i.consume(xt),Y):Z(xt)}function Et(xt){return xt===null||xt===60||xt===61||xt===62||xt===96?f(xt):xt===34||xt===39?(i.consume(xt),w=xt,V):Ba(xt)?(b=Et,Ct(xt)):fu(xt)?(i.consume(xt),Et):(i.consume(xt),Nt)}function V(xt){return xt===w?(i.consume(xt),w=void 0,Dt):xt===null?f(xt):Ba(xt)?(b=V,Ct(xt)):(i.consume(xt),V)}function Nt(xt){return xt===null||xt===34||xt===39||xt===60||xt===61||xt===96?f(xt):xt===47||xt===62||sb(xt)?Z(xt):(i.consume(xt),Nt)}function Dt(xt){return xt===47||xt===62||sb(xt)?Z(xt):f(xt)}function jt(xt){return xt===62?(i.consume(xt),i.exit("htmlTextData"),i.exit("htmlText"),a):f(xt)}function Ct(xt){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(xt),i.exit("lineEnding"),Ft}function Ft(xt){return fu(xt)?Cl(i,_t,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(xt):_t(xt)}function _t(xt){return i.enter("htmlTextData"),b(xt)}}const Rpt={name:"labelEnd",tokenize:pGe,resolveTo:gGe,resolveAll:dGe},lGe={tokenize:bGe},hGe={tokenize:wGe},fGe={tokenize:mGe};function dGe(i){let a=-1;for(;++a=3&&(S===null||Ba(S))?(i.exit("thematicBreak"),a(S)):f(S)}function _(S){return S===w?(i.consume(S),g++,_):(i.exit("thematicBreakSequence"),fu(S)?Cl(i,E,"whitespace")(S):E(S))}}const ab={name:"list",tokenize:SGe,continuation:{tokenize:AGe},exit:MGe},CGe={tokenize:DGe,partial:!0},_Ge={tokenize:LGe,partial:!0};function SGe(i,a,f){const g=this,w=g.events[g.events.length-1];let v=w&&w[1].type==="linePrefix"?w[2].sliceSerialize(w[1],!0).length:0,b=0;return E;function E(R){const q=g.containerState.type||(R===42||R===43||R===45?"listUnordered":"listOrdered");if(q==="listUnordered"?!g.containerState.marker||R===g.containerState.marker:Opt(R)){if(g.containerState.type||(g.containerState.type=q,i.enter(q,{_container:!0})),q==="listUnordered")return i.enter("listItemPrefix"),R===42||R===45?i.check(WY,f,S)(R):S(R);if(!g.interrupt||R===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),_(R)}return f(R)}function _(R){return Opt(R)&&++b<10?(i.consume(R),_):(!g.interrupt||b<2)&&(g.containerState.marker?R===g.containerState.marker:R===41||R===46)?(i.exit("listItemValue"),S(R)):f(R)}function S(R){return i.enter("listItemMarker"),i.consume(R),i.exit("listItemMarker"),g.containerState.marker=g.containerState.marker||R,i.check(KY,g.interrupt?f:I,i.attempt(CGe,F,B))}function I(R){return g.containerState.initialBlankLine=!0,v++,F(R)}function B(R){return fu(R)?(i.enter("listItemPrefixWhitespace"),i.consume(R),i.exit("listItemPrefixWhitespace"),F):f(R)}function F(R){return g.containerState.size=v+g.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(R)}}function AGe(i,a,f){const g=this;return g.containerState._closeFlow=void 0,i.check(KY,w,v);function w(E){return g.containerState.furtherBlankLines=g.containerState.furtherBlankLines||g.containerState.initialBlankLine,Cl(i,a,"listItemIndent",g.containerState.size+1)(E)}function v(E){return g.containerState.furtherBlankLines||!fu(E)?(g.containerState.furtherBlankLines=void 0,g.containerState.initialBlankLine=void 0,b(E)):(g.containerState.furtherBlankLines=void 0,g.containerState.initialBlankLine=void 0,i.attempt(_Ge,a,b)(E))}function b(E){return g.containerState._closeFlow=!0,g.interrupt=void 0,Cl(i,i.attempt(ab,a,f),"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E)}}function LGe(i,a,f){const g=this;return Cl(i,w,"listItemIndent",g.containerState.size+1);function w(v){const b=g.events[g.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===g.containerState.size?a(v):f(v)}}function MGe(i){i.exit(this.containerState.type)}function DGe(i,a,f){const g=this;return Cl(i,w,"listItemPrefixWhitespace",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function w(v){const b=g.events[g.events.length-1];return!fu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?a(v):f(v)}}const x$t={name:"setextUnderline",tokenize:OGe,resolveTo:IGe};function IGe(i,a){let f=i.length,g,w,v;for(;f--;)if(i[f][0]==="enter"){if(i[f][1].type==="content"){g=f;break}i[f][1].type==="paragraph"&&(w=f)}else i[f][1].type==="content"&&i.splice(f,1),!v&&i[f][1].type==="definition"&&(v=f);const b={type:"setextHeading",start:Object.assign({},i[w][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[w][1].type="setextHeadingText",v?(i.splice(w,0,["enter",b,a]),i.splice(v+1,0,["exit",i[g][1],a]),i[g][1].end=Object.assign({},i[v][1].end)):i[g][1]=b,i.push(["exit",b,a]),i}function OGe(i,a,f){const g=this;let w;return v;function v(S){let I=g.events.length,B;for(;I--;)if(g.events[I][1].type!=="lineEnding"&&g.events[I][1].type!=="linePrefix"&&g.events[I][1].type!=="content"){B=g.events[I][1].type==="paragraph";break}return!g.parser.lazy[g.now().line]&&(g.interrupt||B)?(i.enter("setextHeadingLine"),w=S,b(S)):f(S)}function b(S){return i.enter("setextHeadingLineSequence"),E(S)}function E(S){return S===w?(i.consume(S),E):(i.exit("setextHeadingLineSequence"),fu(S)?Cl(i,_,"lineSuffix")(S):_(S))}function _(S){return S===null||Ba(S)?(i.exit("setextHeadingLine"),a(S)):f(S)}}const PGe={tokenize:NGe};function NGe(i){const a=this,f=i.attempt(KY,g,i.attempt(this.parser.constructs.flowInitial,w,Cl(i,i.attempt(this.parser.constructs.flow,w,i.attempt($Ue,w)),"linePrefix")));return f;function g(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),a.currentConstruct=void 0,f}function w(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),a.currentConstruct=void 0,f}}const FGe={resolveAll:E$t()},BGe=k$t("string"),RGe=k$t("text");function k$t(i){return{tokenize:a,resolveAll:E$t(i==="text"?jGe:void 0)};function a(f){const g=this,w=this.parser.constructs[i],v=f.attempt(w,b,E);return b;function b(I){return S(I)?v(I):E(I)}function E(I){if(I===null){f.consume(I);return}return f.enter("data"),f.consume(I),_}function _(I){return S(I)?(f.exit("data"),v(I)):(f.consume(I),_)}function S(I){if(I===null)return!0;const B=w[I];let F=-1;if(B)for(;++F-1){const E=b[0];typeof E=="string"?b[0]=E.slice(g):b.shift()}v>0&&b.push(i[w].slice(0,v))}return b}function qGe(i,a){let f=-1;const g=[];let w;for(;++f13&&f<32||f>126&&f<160||f>55295&&f<57344||f>64975&&f<65008||(f&65535)===65535||(f&65535)===65534||f>1114111?"�":String.fromCharCode(f)}const KGe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function WGe(i){return i.replace(KGe,YGe)}function YGe(i,a,f){if(a)return a;if(f.charCodeAt(0)===35){const w=f.charCodeAt(1),v=w===120||w===88;return C$t(f.slice(v?2:1),v?16:10)}return Fpt(f)||i}function YY(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?_$t(i.position):"start"in i||"end"in i?_$t(i):"line"in i||"column"in i?$pt(i):""}function $pt(i){return S$t(i&&i.line)+":"+S$t(i&&i.column)}function _$t(i){return $pt(i&&i.start)+"-"+$pt(i&&i.end)}function S$t(i){return i&&typeof i=="number"?i:1}const A$t={}.hasOwnProperty,L$t=function(i,a,f){return typeof a!="string"&&(f=a,a=void 0),XGe(f)(GGe(VGe(f).document().write(UGe()(i,a,!0))))};function XGe(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:E(da),autolinkProtocol:Y,autolinkEmail:Y,atxHeading:E(Pr),blockQuote:E(Qt),characterEscape:Y,characterReference:Y,codeFenced:E(Ae),codeFencedFenceInfo:_,codeFencedFenceMeta:_,codeIndented:E(Ae,_),codeText:E(Se,_),codeTextData:Y,data:Y,codeFlowValue:Y,definition:E(Dn),definitionDestinationString:_,definitionLabelString:_,definitionTitleString:_,emphasis:E(oe),hardBreakEscape:E(we),hardBreakTrailing:E(we),htmlFlow:E(Ri,_),htmlFlowData:Y,htmlText:E(Ri,_),htmlTextData:Y,image:E(yi),label:_,link:E(da),listItem:E(Ra),listItemValue:q,listOrdered:E(Ss,R),listUnordered:E(Ss),paragraph:E(fr),reference:Pe,referenceString:_,resourceDestinationString:_,resourceTitleString:_,setextHeading:E(Pr),strong:E(An),thematicBreak:E(Bn)},exit:{atxHeading:I(),atxHeadingSequence:ht,autolink:I(),autolinkEmail:Fe,autolinkProtocol:me,blockQuote:I(),characterEscapeValue:Et,characterReferenceMarkerHexadecimal:nn,characterReferenceMarkerNumeric:nn,characterReferenceValue:sn,codeFenced:I(ut),codeFencedFence:at,codeFencedFenceInfo:X,codeFencedFenceMeta:rt,codeFlowValue:Et,codeIndented:I(pt),codeText:I(Ct),codeTextData:Et,data:Et,definition:I(),definitionDestinationString:gt,definitionLabelString:yt,definitionTitleString:mt,emphasis:I(),hardBreakEscape:I(Nt),hardBreakTrailing:I(Nt),htmlFlow:I(Dt),htmlFlowData:Et,htmlText:I(jt),htmlTextData:Et,image:I(_t),label:Gt,labelText:xt,lineEnding:V,link:I(Ft),listItem:I(),listOrdered:I(),listUnordered:I(),paragraph:I(),referenceString:Ee,resourceDestinationString:Be,resourceTitleString:Ot,resource:vn,setextHeading:I(ft),setextHeadingLineSequence:Z,setextHeadingText:bt,strong:I(),thematicBreak:I()}};M$t(a,(i||{}).mdastExtensions||[]);const f={};return g;function g(Te){let be={type:"root",children:[]};const Qe={stack:[be],tokenStack:[],config:a,enter:S,exit:B,buffer:_,resume:F,setData:v,getData:b},rn=[];let yn=-1;for(;++yn0){const ja=Qe.tokenStack[Qe.tokenStack.length-1];(ja[1]||D$t).call(Qe,void 0,ja[0])}for(be.position={start:x8(Te.length>0?Te[0][1].start:{line:1,column:1,offset:0}),end:x8(Te.length>0?Te[Te.length-2][1].end:{line:1,column:1,offset:0})},yn=-1;++yn{I!==0&&(w++,g.push([])),S.split(" ").forEach(B=>{B&&g[w].push({content:B,type:E})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(_=>{v(_,b.type)})}return f.forEach(b=>{b.type==="paragraph"&&b.children.forEach(E=>{v(E)})}),g}function tKe(i){const{children:a}=L$t(i);function f(g){return g.type==="text"?g.value.replace(/\n/g,"
"):g.type==="strong"?`${g.children.map(f).join("")}`:g.type==="emphasis"?`${g.children.map(f).join("")}`:g.type==="paragraph"?`

${g.children.map(f).join("")}

`:`Unsupported markdown: ${g.type}`}return a.map(f).join("")}function eKe(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(a=>a.segment):[...i]}function nKe(i,a){const f=eKe(a.content);return I$t(i,[],f,a.type)}function I$t(i,a,f,g){if(f.length===0)return[{content:a.join(""),type:g},{content:"",type:g}];const[w,...v]=f,b=[...a,w];return i([{content:b.join(""),type:g}])?I$t(i,b,v,g):(a.length===0&&w&&(a.push(w),f.shift()),[{content:a.join(""),type:g},{content:f.join(""),type:g}])}function rKe(i,a){if(i.some(({content:f})=>f.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return zpt(i,a)}function zpt(i,a,f=[],g=[]){if(i.length===0)return g.length>0&&f.push(g),f.length>0?f:[];let w="";i[0].content===" "&&(w=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...g];if(w!==""&&b.push({content:w,type:"normal"}),b.push(v),a(b))return zpt(i,a,f,b);if(g.length>0)f.push(g),i.unshift(v);else if(v.content){const[E,_]=nKe(a,v);f.push([E]),_.content&&i.unshift(_)}return zpt(i,a,f)}function iKe(i,a){a&&i.attr("style",a)}function sKe(i,a,f,g,w=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),E=a.label,_=a.isNode?"nodeLabel":"edgeLabel";b.html(` + "+E+""),iKe(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let S=b.node().getBoundingClientRect();return S.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),S=b.node().getBoundingClientRect()),v.style("width",S.width),v.style("height",S.height),v.node()}function qpt(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function aKe(i,a,f){const g=i.append("text"),w=qpt(g,1,a);Hpt(w,f);const v=w.node().getComputedTextLength();return g.remove(),v}function oKe(i,a,f){var b;const g=i.append("text"),w=qpt(g,1,a);Hpt(w,[{content:f,type:"normal"}]);const v=(b=w.node())==null?void 0:b.getBoundingClientRect();return v&&g.remove(),v}function cKe(i,a,f,g=!1){const v=a.append("g"),b=v.insert("rect").attr("class","background"),E=v.append("text").attr("y","-10.1");let _=0;for(const S of f){const I=F=>aKe(v,1.1,F)<=i,B=I(S)?[S]:rKe(S,I);for(const F of B){const R=qpt(E,_,1.1);Hpt(R,F),_++}}if(g){const S=E.node().getBBox(),I=2;return b.attr("x",-I).attr("y",-I).attr("width",S.width+2*I).attr("height",S.height+2*I),v.node()}else return E.node()}function Hpt(i,a){i.text(""),a.forEach((f,g)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");g===0?w.text(f.content):w.text(" "+f.content)})}const XY=(i,a="",{style:f="",isTitle:g=!1,classes:w="",useHtmlLabels:v=!0,isNode:b=!0,width:E=200,addSvgBackground:_=!1}={})=>{if(Wt.info("createText",a,f,g,w,v,b,_),v){const S=tKe(a),I={isNode:b,label:CF(S).replace(/fa[blrs]?:fa-[\w-]+/g,F=>``),labelStyle:f.replace("fill:","color:")};return sKe(i,I,E,w,_)}else{const S=ZGe(a);return cKe(E,i,S,_)}},f0=async(i,a,f,g)=>{let w;const v=a.useHtmlLabels||B1(Re().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let _;a.labelText===void 0?_="":_=typeof a.labelText=="string"?a.labelText:a.labelText[0];const S=E.node();let I;a.labelType==="markdown"?I=XY(E,Ed(CF(_),Re()),{useHtmlLabels:v,width:a.width||Re().flowchart.wrappingWidth,classes:"markdown-node-label"}):I=S.appendChild(ib(Ed(CF(_),Re()),a.labelStyle,!1,g));let B=I.getBBox();const F=a.padding/2;if(B1(Re().flowchart.htmlLabels)){const R=I.children[0],q=xr(I),X=R.getElementsByTagName("img");if(X){const rt=_.replace(/]*>/g,"").trim()==="";await Promise.all([...X].map(at=>new Promise(ut=>{function pt(){if(at.style.display="flex",at.style.flexDirection="column",rt){const yt=Re().fontSize?Re().fontSize:window.getComputedStyle(document.body).fontSize,mt=5,gt=parseInt(yt,10)*mt+"px";at.style.minWidth=gt,at.style.maxWidth=gt}else at.style.width="100%";ut(at)}setTimeout(()=>{at.complete&&pt()}),at.addEventListener("error",pt),at.addEventListener("load",pt)})))}B=R.getBoundingClientRect(),q.attr("width",B.width),q.attr("height",B.height)}return v?E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"):E.attr("transform","translate(0, "+-B.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:B,halfPadding:F,label:E}},kf=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function Bx(i,a,f,g){return i.insert("polygon",":first-child").attr("points",g.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let sc={},Zv={},O$t={};const uKe=()=>{Zv={},O$t={},sc={}},QY=(i,a)=>(Wt.trace("In isDecendant",a," ",i," = ",Zv[a].includes(i)),!!Zv[a].includes(i)),lKe=(i,a)=>(Wt.info("Decendants of ",a," is ",Zv[a]),Wt.info("Edge is ",i),i.v===a||i.w===a?!1:Zv[a]?Zv[a].includes(i.v)||QY(i.v,a)||QY(i.w,a)||Zv[a].includes(i.w):(Wt.debug("Tilt, ",a,",not in decendants"),!1)),P$t=(i,a,f,g)=>{Wt.warn("Copying children of ",i,"root",g,"data",a.node(i),g);const w=a.children(i)||[];i!==g&&w.push(i),Wt.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(v=>{if(a.children(v).length>0)P$t(v,a,f,g);else{const b=a.node(v);Wt.info("cp ",v," to ",g," with parent ",i),f.setNode(v,b),g!==a.parent(v)&&(Wt.warn("Setting parent",v,a.parent(v)),f.setParent(v,a.parent(v))),i!==g&&v!==i?(Wt.debug("Setting parent",v,i),f.setParent(v,i)):(Wt.info("In copy ",i,"root",g,"data",a.node(i),g),Wt.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==g,"node!==clusterId",v!==i));const E=a.edges(v);Wt.debug("Copying Edges",E),E.forEach(_=>{Wt.info("Edge",_);const S=a.edge(_.v,_.w,_.name);Wt.info("Edge data",S,g);try{lKe(_,g)?(Wt.info("Copying as ",_.v,_.w,S,_.name),f.setEdge(_.v,_.w,S,_.name),Wt.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Wt.info("Skipping copy of edge ",_.v,"-->",_.w," rootId: ",g," clusterId:",i)}catch(I){Wt.error(I)}})}Wt.debug("Removing node",v),a.removeNode(v)})},N$t=(i,a)=>{const f=a.children(i);let g=[...f];for(const w of f)O$t[w]=i,g=[...g,...N$t(w,a)];return g},GF=(i,a)=>{Wt.trace("Searching",i);const f=a.children(i);if(Wt.trace("Searching children of id ",i,f),f.length<1)return Wt.trace("This is a valid node",i),i;for(const g of f){const w=GF(g,a);if(w)return Wt.trace("Found replacement for",i," => ",w),w}},JY=i=>!sc[i]||!sc[i].externalConnections?i:sc[i]?sc[i].id:i,hKe=(i,a)=>{if(!i||a>10){Wt.debug("Opting out, no graph ");return}else Wt.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Wt.warn("Cluster identified",f," Replacement id in edges: ",GF(f,i)),Zv[f]=N$t(f,i),sc[f]={id:GF(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const g=i.children(f),w=i.edges();g.length>0?(Wt.debug("Cluster identified",f,Zv),w.forEach(v=>{if(v.v!==f&&v.w!==f){const b=QY(v.v,f),E=QY(v.w,f);b^E&&(Wt.warn("Edge: ",v," leaves cluster ",f),Wt.warn("Decendants of XXX ",f,": ",Zv[f]),sc[f].externalConnections=!0)}})):Wt.debug("Not a cluster ",f,Zv)}),i.edges().forEach(function(f){const g=i.edge(f);Wt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Wt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,v=f.w;if(Wt.warn("Fix XXX",sc,"ids:",f.v,f.w,"Translating: ",sc[f.v]," --- ",sc[f.w]),sc[f.v]&&sc[f.w]&&sc[f.v]===sc[f.w]){Wt.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Wt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=JY(f.v),v=JY(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:g.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(g),_=structuredClone(g);E.label="",E.arrowTypeEnd="none",_.label="",E.fromCluster=f.v,_.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,v,_,f.name+"-cyclic-special")}else(sc[f.v]||sc[f.w])&&(Wt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=JY(f.v),v=JY(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v&&(g.fromCluster=f.v),v!==f.w&&(g.toCluster=f.w),Wt.warn("Fix Replacing with XXX",w,v,f.name),i.setEdge(w,v,g,f.name))}),Wt.warn("Adjusted Graph",Fx(i)),F$t(i,0),Wt.trace(sc)},F$t=(i,a)=>{if(Wt.warn("extractor - ",a,Fx(i),i.children("D")),a>10){Wt.error("Bailing out");return}let f=i.nodes(),g=!1;for(const w of f){const v=i.children(w);g=g||v.length>0}if(!g){Wt.debug("Done, no node has children",i.nodes());return}Wt.debug("Nodes = ",f,a);for(const w of f)if(Wt.debug("Extracting node",w,sc,sc[w]&&!sc[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!sc[w])Wt.debug("Not a cluster",w,a);else if(!sc[w].externalConnections&&i.children(w)&&i.children(w).length>0){Wt.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";sc[w]&&sc[w].clusterData&&sc[w].clusterData.dir&&(b=sc[w].clusterData.dir,Wt.warn("Fixing dir",sc[w].clusterData.dir,b));const E=new R1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Wt.warn("Old graph before copy",Fx(i)),P$t(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:sc[w].clusterData,labelText:sc[w].labelText,graph:E}),Wt.warn("New graph after copy node: (",w,")",Fx(E)),Wt.debug("Old graph after copy",Fx(i))}else Wt.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!sc[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Wt.debug(sc);f=i.nodes(),Wt.warn("New list of nodes",f);for(const w of f){const v=i.node(w);Wt.warn(" Now next level",w,v),v.clusterNode&&F$t(v.graph,a+1)}},B$t=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(g=>{const w=i.children(g),v=B$t(i,w);f=[...f,...v]}),f},fKe=i=>B$t(i,i.children());function dKe(i,a){return i.intersect(a)}function R$t(i,a,f,g){var w=i.x,v=i.y,b=w-g.x,E=v-g.y,_=Math.sqrt(a*a*E*E+f*f*b*b),S=Math.abs(a*f*b/_);g.x0}function bKe(i,a,f){var g=i.x,w=i.y,v=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(q){b=Math.min(b,q.x),E=Math.min(E,q.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var _=g-i.width/2-b,S=w-i.height/2-E,I=0;I1&&v.sort(function(q,X){var rt=q.x-f.x,at=q.y-f.y,ut=Math.sqrt(rt*rt+at*at),pt=X.x-f.x,yt=X.y-f.y,mt=Math.sqrt(pt*pt+yt*yt);return ut{var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2,_,S;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),_=v===0?0:E*w/v,S=E):(w<0&&(b=-b),_=b,S=w===0?0:b*v/w),{x:f+_,y:g+S}},Gh={node:dKe,circle:gKe,ellipse:R$t,polygon:bKe,rect:KF},wKe=async(i,a)=>{a.useHtmlLabels||Re().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:g,bbox:w,halfPadding:v}=await f0(i,a,"node "+a.classes,!0);Wt.info("Classes = ",a.classes);const b=g.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-v).attr("y",-w.height/2-v).attr("width",w.width+a.padding).attr("height",w.height+a.padding),kf(a,b),a.intersect=function(E){return Gh.rect(a,E)},g},$$t=i=>i?" "+i:"",E2=(i,a)=>`${a||"node default"}${$$t(i.classes)} ${$$t(i.class)}`,z$t=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=w+v,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Wt.info("Question main (Circle)");const _=Bx(f,b,b,E);return _.attr("style",a.style),kf(a,_),a.intersect=function(S){return Wt.warn("Intersect called"),Gh.polygon(a,E,S)},f},mKe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=28,w=[{x:0,y:g/2},{x:g/2,y:0},{x:0,y:-g/2},{x:-g/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return Gh.circle(a,14,b)},f},vKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=4,v=g.height+a.padding,b=v/w,E=g.width+2*b+a.padding,_=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],S=Bx(f,E,v,_);return S.attr("style",a.style),kf(a,S),a.intersect=function(I){return Gh.polygon(a,_,I)},f},yKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-v/2,y:0},{x:w,y:0},{x:w,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return Bx(f,w,v,b).attr("style",a.style),a.width=w+v,a.height=v,a.intersect=function(_){return Gh.polygon(a,b,_)},f},xKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:v/6,y:-v}],E=Bx(f,w,v,b);return E.attr("style",a.style),kf(a,E),a.intersect=function(_){return Gh.polygon(a,b,_)},f},kKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:2*v/6,y:0},{x:w+v/6,y:0},{x:w-2*v/6,y:-v},{x:-v/6,y:-v}],E=Bx(f,w,v,b);return E.attr("style",a.style),kf(a,E),a.intersect=function(_){return Gh.polygon(a,b,_)},f},EKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w+2*v/6,y:0},{x:w-v/6,y:-v},{x:v/6,y:-v}],E=Bx(f,w,v,b);return E.attr("style",a.style),kf(a,E),a.intersect=function(_){return Gh.polygon(a,b,_)},f},TKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:-2*v/6,y:-v}],E=Bx(f,w,v,b);return E.attr("style",a.style),kf(a,E),a.intersect=function(_){return Gh.polygon(a,b,_)},f},CKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w+v/2,y:0},{x:w,y:-v/2},{x:w+v/2,y:-v},{x:0,y:-v}],E=Bx(f,w,v,b);return E.attr("style",a.style),kf(a,E),a.intersect=function(_){return Gh.polygon(a,b,_)},f},_Ke=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=w/2,b=v/(2.5+w/50),E=g.height+b+a.padding,_="M 0,"+b+" a "+v+","+b+" 0,0,0 "+w+" 0 a "+v+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+v+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,S=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",_).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return kf(a,S),a.intersect=function(I){const B=Gh.rect(a,I),F=B.x-a.x;if(v!=0&&(Math.abs(F)a.height/2-b)){let R=b*b*(1-F*F/(v*v));R!=0&&(R=Math.sqrt(R)),R=b-R,I.y-a.y>0&&(R=-R),B.y+=R}return B},f},SKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await f0(i,a,"node "+a.classes+" "+a.class,!0),v=f.insert("rect",":first-child"),b=g.width+a.padding,E=g.height+a.padding;if(v.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",-g.width/2-w).attr("y",-g.height/2-w).attr("width",b).attr("height",E),a.props){const _=new Set(Object.keys(a.props));a.props.borders&&(q$t(v,a.props.borders,b,E),_.delete("borders")),_.forEach(S=>{Wt.warn(`Unknown node property ${S}`)})}return kf(a,v),a.intersect=function(_){return Gh.rect(a,_)},f},AKe=async(i,a)=>{const{shapeSvg:f}=await f0(i,a,"label",!0);Wt.trace("Classes = ",a.class);const g=f.insert("rect",":first-child"),w=0,v=0;if(g.attr("width",w).attr("height",v),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(q$t(g,a.props.borders,w,v),b.delete("borders")),b.forEach(E=>{Wt.warn(`Unknown node property ${E}`)})}return kf(a,g),a.intersect=function(b){return Gh.rect(a,b)},f};function q$t(i,a,f,g){const w=[],v=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Wt.debug("add top border"),v(f)):b(f),a.includes("r")?(Wt.debug("add right border"),v(g)):b(g),a.includes("b")?(Wt.debug("add bottom border"),v(f)):b(f),a.includes("l")?(Wt.debug("add left border"),v(g)):b(g),i.attr("stroke-dasharray",w.join(" "))}const LKe=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const g=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=g.insert("rect",":first-child"),v=g.insert("line"),b=g.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let _="";typeof E=="object"?_=E[0]:_=E,Wt.info("Label text abc79",_,E,typeof E=="object");const S=b.node().appendChild(ib(_,a.labelStyle,!0,!0));let I={width:0,height:0};if(B1(Re().flowchart.htmlLabels)){const X=S.children[0],rt=xr(S);I=X.getBoundingClientRect(),rt.attr("width",I.width),rt.attr("height",I.height)}Wt.info("Text 2",E);const B=E.slice(1,E.length);let F=S.getBBox();const R=b.node().appendChild(ib(B.join?B.join("
"):B,a.labelStyle,!0,!0));if(B1(Re().flowchart.htmlLabels)){const X=R.children[0],rt=xr(R);I=X.getBoundingClientRect(),rt.attr("width",I.width),rt.attr("height",I.height)}const q=a.padding/2;return xr(R).attr("transform","translate( "+(I.width>F.width?0:(F.width-I.width)/2)+", "+(F.height+q+5)+")"),xr(S).attr("transform","translate( "+(I.width{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.height+a.padding,v=g.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-v/2).attr("y",-w/2).attr("width",v).attr("height",w);return kf(a,b),a.intersect=function(E){return Gh.rect(a,E)},f},DKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await f0(i,a,E2(a,void 0),!0),v=f.insert("circle",":first-child");return v.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Wt.info("Circle main"),kf(a,v),a.intersect=function(b){return Wt.info("Circle intersect",a,g.width/2+w,b),Gh.circle(a,g.width/2+w,b)},f},IKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await f0(i,a,E2(a,void 0),!0),v=5,b=f.insert("g",":first-child"),E=b.insert("circle"),_=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w+v).attr("width",g.width+a.padding+v*2).attr("height",g.height+a.padding+v*2),_.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Wt.info("DoubleCircle main"),kf(a,E),a.intersect=function(S){return Wt.info("DoubleCircle intersect",a,g.width/2+w+v,S),Gh.circle(a,g.width/2+w+v,S)},f},OKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await f0(i,a,E2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],E=Bx(f,w,v,b);return E.attr("style",a.style),kf(a,E),a.intersect=function(_){return Gh.polygon(a,b,_)},f},PKe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child");return g.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),kf(a,g),a.intersect=function(w){return Gh.circle(a,7,w)},f},H$t=(i,a,f)=>{const g=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,v=10;f==="LR"&&(w=10,v=70);const b=g.append("rect").attr("x",-1*w/2).attr("y",-1*v/2).attr("width",w).attr("height",v).attr("class","fork-join");return kf(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return Gh.rect(a,E)},g},V$t={rhombus:z$t,question:z$t,rect:SKe,labelRect:AKe,rectWithTitle:LKe,choice:mKe,circle:DKe,doublecircle:IKe,stadium:MKe,hexagon:vKe,rect_left_inv_arrow:yKe,lean_right:xKe,lean_left:kKe,trapezoid:EKe,inv_trapezoid:TKe,rect_right_inv_arrow:CKe,cylinder:_Ke,start:PKe,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),g.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),kf(a,w),a.intersect=function(v){return Gh.circle(a,7,v)},f},note:wKe,subroutine:OKe,fork:H$t,join:H$t,class_box:(i,a)=>{const f=a.padding/2,g=4,w=8;let v;a.classes?v="node "+a.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),_=b.insert("line"),S=b.insert("line");let I=0,B=g;const F=b.insert("g").attr("class","label");let R=0;const q=a.classData.annotations&&a.classData.annotations[0],X=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",rt=F.node().appendChild(ib(X,a.labelStyle,!0,!0));let at=rt.getBBox();if(B1(Re().flowchart.htmlLabels)){const bt=rt.children[0],Z=xr(rt);at=bt.getBoundingClientRect(),Z.attr("width",at.width),Z.attr("height",at.height)}a.classData.annotations[0]&&(B+=at.height+g,I+=at.width);let ut=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Re().flowchart.htmlLabels?ut+="<"+a.classData.type+">":ut+="<"+a.classData.type+">");const pt=F.node().appendChild(ib(ut,a.labelStyle,!0,!0));xr(pt).attr("class","classTitle");let yt=pt.getBBox();if(B1(Re().flowchart.htmlLabels)){const bt=pt.children[0],Z=xr(pt);yt=bt.getBoundingClientRect(),Z.attr("width",yt.width),Z.attr("height",yt.height)}B+=yt.height+g,yt.width>I&&(I=yt.width);const mt=[];a.classData.members.forEach(bt=>{const Z=bt.getDisplayDetails();let ft=Z.displayText;Re().flowchart.htmlLabels&&(ft=ft.replace(//g,">"));const Y=F.node().appendChild(ib(ft,Z.cssStyle?Z.cssStyle:a.labelStyle,!0,!0));let Et=Y.getBBox();if(B1(Re().flowchart.htmlLabels)){const V=Y.children[0],Nt=xr(Y);Et=V.getBoundingClientRect(),Nt.attr("width",Et.width),Nt.attr("height",Et.height)}Et.width>I&&(I=Et.width),B+=Et.height+g,mt.push(Y)}),B+=w;const gt=[];if(a.classData.methods.forEach(bt=>{const Z=bt.getDisplayDetails();let ft=Z.displayText;Re().flowchart.htmlLabels&&(ft=ft.replace(//g,">"));const Y=F.node().appendChild(ib(ft,Z.cssStyle?Z.cssStyle:a.labelStyle,!0,!0));let Et=Y.getBBox();if(B1(Re().flowchart.htmlLabels)){const V=Y.children[0],Nt=xr(Y);Et=V.getBoundingClientRect(),Nt.attr("width",Et.width),Nt.attr("height",Et.height)}Et.width>I&&(I=Et.width),B+=Et.height+g,gt.push(Y)}),B+=w,q){let bt=(I-at.width)/2;xr(rt).attr("transform","translate( "+(-1*I/2+bt)+", "+-1*B/2+")"),R=at.height+g}let ht=(I-yt.width)/2;return xr(pt).attr("transform","translate( "+(-1*I/2+ht)+", "+(-1*B/2+R)+")"),R+=yt.height+g,_.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,mt.forEach(bt=>{xr(bt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R+w/2)+")");const Z=bt==null?void 0:bt.getBBox();R+=((Z==null?void 0:Z.height)??0)+g}),R+=w,S.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,gt.forEach(bt=>{xr(bt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R)+")");const Z=bt==null?void 0:bt.getBBox();R+=((Z==null?void 0:Z.height)??0)+g}),E.attr("style",a.style).attr("class","outer title-state").attr("x",-I/2-f).attr("y",-(B/2)-f).attr("width",I+a.padding).attr("height",B+a.padding),kf(a,E),a.intersect=function(bt){return Gh.rect(a,bt)},b}};let bM={};const U$t=async(i,a,f)=>{let g,w;if(a.link){let v;Re().securityLevel==="sandbox"?v="_top":a.linkTarget&&(v=a.linkTarget||"_blank"),g=i.insert("svg:a").attr("xlink:href",a.link).attr("target",v),w=await V$t[a.shape](g,a,f)}else w=await V$t[a.shape](i,a,f),g=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),bM[a.id]=g,a.haveCallback&&bM[a.id].attr("class",bM[a.id].attr("class")+" clickable"),g},NKe=(i,a)=>{bM[a.id]=i},FKe=()=>{bM={}},G$t=i=>{const a=bM[i.id];Wt.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,g=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+g-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),g},BKe={rect:(i,a)=>{Wt.info("Creating subgraph rect for ",a.id,a);const f=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),g=f.insert("rect",":first-child"),w=B1(Re().flowchart.htmlLabels),v=f.insert("g").attr("class","cluster-label"),b=a.labelType==="markdown"?XY(v,a.labelText,{style:a.labelStyle,useHtmlLabels:w}):v.node().appendChild(ib(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(B1(Re().flowchart.htmlLabels)){const F=b.children[0],R=xr(b);E=F.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}const _=0*a.padding,S=_/2,I=a.width<=E.width+_?E.width+_:a.width;a.width<=E.width+_?a.diff=(E.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Wt.trace("Data ",a,JSON.stringify(a)),g.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-I/2).attr("y",a.y-a.height/2-S).attr("width",I).attr("height",a.height+_),w?v.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2)+")"):v.attr("transform","translate("+a.x+", "+(a.y-a.height/2)+")");const B=g.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(F){return KF(a,F)},f},roundedWithTitle:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),g=f.insert("rect",":first-child"),w=f.insert("g").attr("class","cluster-label"),v=f.append("rect"),b=w.node().appendChild(ib(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(B1(Re().flowchart.htmlLabels)){const F=b.children[0],R=xr(b);E=F.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}E=b.getBBox();const _=0*a.padding,S=_/2,I=a.width<=E.width+a.padding?E.width+a.padding:a.width;a.width<=E.width+a.padding?a.diff=(E.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,g.attr("class","outer").attr("x",a.x-I/2-S).attr("y",a.y-a.height/2-S).attr("width",I+_).attr("height",a.height+_),v.attr("class","inner").attr("x",a.x-I/2-S).attr("y",a.y-a.height/2-S+E.height-1).attr("width",I+_).attr("height",a.height+_-E.height-3),w.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2-a.padding/3+(B1(Re().flowchart.htmlLabels)?5:3))+")");const B=g.node().getBBox();return a.height=B.height,a.intersect=function(F){return KF(a,F)},f},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2-v).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return KF(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("class","divider").attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return KF(a,E)},f}};let K$t={};const RKe=(i,a)=>{Wt.trace("Inserting cluster");const f=a.shape||"rect";K$t[a.id]=BKe[f](i,a)},jKe=()=>{K$t={}},k8={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function ZY(i,a){if(i===void 0||a===void 0)return{angle:0,deltaX:0,deltaY:0};i=tX(i),a=tX(a);const[f,g]=[i.x,i.y],[w,v]=[a.x,a.y],b=w-f,E=v-g;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const tX=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,W$t=i=>({x:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(k8,i.arrowTypeStart)){const{angle:v,deltaX:b}=ZY(g[0],g[1]);w=k8[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(k8,i.arrowTypeEnd)){const{angle:v,deltaX:b}=ZY(g[g.length-1],g[g.length-2]);w=k8[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return tX(a).x+w},y:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(k8,i.arrowTypeStart)){const{angle:v,deltaY:b}=ZY(g[0],g[1]);w=k8[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(k8,i.arrowTypeEnd)){const{angle:v,deltaY:b}=ZY(g[g.length-1],g[g.length-2]);w=k8[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return tX(a).y+w}}),Y$t=(i,a,f,g,w)=>{a.arrowTypeStart&&X$t(i,"start",a.arrowTypeStart,f,g,w),a.arrowTypeEnd&&X$t(i,"end",a.arrowTypeEnd,f,g,w)},$Ke={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},X$t=(i,a,f,g,w,v)=>{const b=$Ke[f];if(!b){Wt.warn(`Unknown arrow type: ${f}`);return}const E=a==="start"?"Start":"End";i.attr(`marker-${a}`,`url(${g}#${w}_${v}-${b}${E})`)};let eX={},d0={};const zKe=()=>{eX={},d0={}},Q$t=(i,a)=>{const f=B1(Re().flowchart.htmlLabels),g=a.labelType==="markdown"?XY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):ib(a.label,a.labelStyle);Wt.info("abc82",a,a.labelType);const w=i.insert("g").attr("class","edgeLabel"),v=w.insert("g").attr("class","label");v.node().appendChild(g);let b=g.getBBox();if(f){const _=g.children[0],S=xr(g);b=_.getBoundingClientRect(),S.attr("width",b.width),S.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),eX[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const _=ib(a.startLabelLeft,a.labelStyle),S=i.insert("g").attr("class","edgeTerminals"),I=S.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),d0[a.id]||(d0[a.id]={}),d0[a.id].startLeft=S,nX(E,a.startLabelLeft)}if(a.startLabelRight){const _=ib(a.startLabelRight,a.labelStyle),S=i.insert("g").attr("class","edgeTerminals"),I=S.insert("g").attr("class","inner");E=S.node().appendChild(_),I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),d0[a.id]||(d0[a.id]={}),d0[a.id].startRight=S,nX(E,a.startLabelRight)}if(a.endLabelLeft){const _=ib(a.endLabelLeft,a.labelStyle),S=i.insert("g").attr("class","edgeTerminals"),I=S.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),S.node().appendChild(_),d0[a.id]||(d0[a.id]={}),d0[a.id].endLeft=S,nX(E,a.endLabelLeft)}if(a.endLabelRight){const _=ib(a.endLabelRight,a.labelStyle),S=i.insert("g").attr("class","edgeTerminals"),I=S.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),S.node().appendChild(_),d0[a.id]||(d0[a.id]={}),d0[a.id].endRight=S,nX(E,a.endLabelRight)}return g};function nX(i,a){Re().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const qKe=(i,a)=>{Wt.info("Moving label abc78 ",i.id,i.label,eX[i.id]);let f=a.updatedPath?a.updatedPath:a.originalPath;if(i.label){const g=eX[i.id];let w=i.x,v=i.y;if(f){const b=ao.calcLabelPosition(f);Wt.info("Moving label "+i.label+" from (",w,",",v,") to (",b.x,",",b.y,") abc78"),a.updatedPath&&(w=b.x,v=b.y)}g.attr("transform","translate("+w+", "+v+")")}if(i.startLabelLeft){const g=d0[i.id].startLeft;let w=i.x,v=i.y;if(f){const b=ao.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);w=b.x,v=b.y}g.attr("transform","translate("+w+", "+v+")")}if(i.startLabelRight){const g=d0[i.id].startRight;let w=i.x,v=i.y;if(f){const b=ao.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);w=b.x,v=b.y}g.attr("transform","translate("+w+", "+v+")")}if(i.endLabelLeft){const g=d0[i.id].endLeft;let w=i.x,v=i.y;if(f){const b=ao.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);w=b.x,v=b.y}g.attr("transform","translate("+w+", "+v+")")}if(i.endLabelRight){const g=d0[i.id].endRight;let w=i.x,v=i.y;if(f){const b=ao.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);w=b.x,v=b.y}g.attr("transform","translate("+w+", "+v+")")}},HKe=(i,a)=>{const f=i.x,g=i.y,w=Math.abs(a.x-f),v=Math.abs(a.y-g),b=i.width/2,E=i.height/2;return w>=b||v>=E},VKe=(i,a,f)=>{Wt.warn(`intersection calc abc89: + outsidePoint: ${JSON.stringify(a)} + insidePoint : ${JSON.stringify(f)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const g=i.x,w=i.y,v=Math.abs(g-f.x),b=i.width/2;let E=f.xMath.abs(g-a.x)*_){let B=f.y{Wt.warn("abc88 cutPathAtIntersect",i,a);let f=[],g=i[0],w=!1;return i.forEach(v=>{if(Wt.info("abc88 checking point",v,a),!HKe(a,v)&&!w){const b=VKe(a,g,v);Wt.warn("abc88 inside",v,g,b),Wt.warn("abc88 intersection",b);let E=!1;f.forEach(_=>{E=E||_.x===b.x&&_.y===b.y}),f.some(_=>_.x===b.x&&_.y===b.y)?Wt.warn("abc88 no intersect",b,f):f.push(b),w=!0}else Wt.warn("abc88 outside",v,g),g=v,w||f.push(v)}),Wt.warn("abc88 returning points",f),f},UKe=function(i,a,f,g,w,v,b){let E=f.points,_=!1;const S=v.node(a.v);var I=v.node(a.w);Wt.info("abc88 InsertEdge: ",f),I.intersect&&S.intersect&&(E=E.slice(1,f.points.length-1),E.unshift(S.intersect(E[0])),Wt.info("Last point",E[E.length-1],I,I.intersect(E[E.length-1])),E.push(I.intersect(E[E.length-1]))),f.toCluster&&(Wt.info("to cluster abc88",g[f.toCluster]),E=J$t(f.points,g[f.toCluster].node),_=!0),f.fromCluster&&(Wt.info("from cluster abc88",g[f.fromCluster]),E=J$t(E.reverse(),g[f.fromCluster].node).reverse(),_=!0);const B=E.filter(yt=>!Number.isNaN(yt.y));let F=lF;f.curve&&(w==="graph"||w==="flowchart")&&(F=f.curve);const{x:R,y:q}=W$t(f),X=Cx().x(R).y(q).curve(F);let rt;switch(f.thickness){case"normal":rt="edge-thickness-normal";break;case"thick":rt="edge-thickness-thick";break;case"invisible":rt="edge-thickness-thick";break;default:rt=""}switch(f.pattern){case"solid":rt+=" edge-pattern-solid";break;case"dotted":rt+=" edge-pattern-dotted";break;case"dashed":rt+=" edge-pattern-dashed";break}const at=i.append("path").attr("d",X(B)).attr("id",f.id).attr("class"," "+rt+(f.classes?" "+f.classes:"")).attr("style",f.style);let ut="";(Re().flowchart.arrowMarkerAbsolute||Re().state.arrowMarkerAbsolute)&&(ut=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,ut=ut.replace(/\(/g,"\\("),ut=ut.replace(/\)/g,"\\)")),Wt.info("arrowTypeStart",f.arrowTypeStart),Wt.info("arrowTypeEnd",f.arrowTypeEnd),Y$t(at,f,ut,b,w);let pt={};return _&&(pt.updatedPath=E),pt.originalPath=f.points,pt},Z$t=async(i,a,f,g,w)=>{Wt.info("Graph in recursive render: XXX",Fx(a),w);const v=a.graph().rankdir;Wt.trace("Dir in recursive render - dir:",v);const b=i.insert("g").attr("class","root");a.nodes()?Wt.info("Recursive render XXX",a.nodes()):Wt.info("No nodes found for",a),a.edges().length>0&&Wt.trace("Recursive edges",a.edge(a.edges()[0]));const E=b.insert("g").attr("class","clusters"),_=b.insert("g").attr("class","edgePaths"),S=b.insert("g").attr("class","edgeLabels"),I=b.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(F){const R=a.node(F);if(w!==void 0){const q=JSON.parse(JSON.stringify(w.clusterData));Wt.info("Setting data for cluster XXX (",F,") ",q,w),a.setNode(w.id,q),a.parent(F)||(Wt.trace("Setting parent",F,w.id),a.setParent(F,w.id,q))}if(Wt.info("(Insert) Node XXX"+F+": "+JSON.stringify(a.node(F))),R&&R.clusterNode){Wt.info("Cluster identified",F,R.width,a.node(F));const q=await Z$t(I,R.graph,f,g,a.node(F)),X=q.elem;kf(R,X),R.diff=q.diff||0,Wt.info("Node bounds (abc123)",F,R,R.width,R.x,R.y),NKe(X,R),Wt.warn("Recursive render complete ",X,R)}else a.children(F).length>0?(Wt.info("Cluster - the non recursive path XXX",F,R.id,R,a),Wt.info(GF(R.id,a)),sc[R.id]={id:GF(R.id,a),node:R}):(Wt.info("Node - the non recursive path",F,R.id,R),await U$t(I,a.node(F),v))})),a.edges().forEach(function(F){const R=a.edge(F.v,F.w,F.name);Wt.info("Edge "+F.v+" -> "+F.w+": "+JSON.stringify(F)),Wt.info("Edge "+F.v+" -> "+F.w+": ",F," ",JSON.stringify(a.edge(F))),Wt.info("Fix",sc,"ids:",F.v,F.w,"Translateing: ",sc[F.v],sc[F.w]),Q$t(S,R)}),a.edges().forEach(function(F){Wt.info("Edge "+F.v+" -> "+F.w+": "+JSON.stringify(F))}),Wt.info("#############################################"),Wt.info("### Layout ###"),Wt.info("#############################################"),Wt.info(a),gM(a),Wt.info("Graph after layout:",Fx(a));let B=0;return fKe(a).forEach(function(F){const R=a.node(F);Wt.info("Position "+F+": "+JSON.stringify(a.node(F))),Wt.info("Position "+F+": ("+R.x,","+R.y,") width: ",R.width," height: ",R.height),R&&R.clusterNode?G$t(R):a.children(F).length>0?(RKe(E,R),sc[R.id].node=R):G$t(R)}),a.edges().forEach(function(F){const R=a.edge(F);Wt.info("Edge "+F.v+" -> "+F.w+": "+JSON.stringify(R),R);const q=UKe(_,F,R,sc,f,a,g);qKe(R,q)}),a.nodes().forEach(function(F){const R=a.node(F);Wt.info(F,R.type,R.diff),R.type==="group"&&(B=R.diff)}),{elem:b,diff:B}},Vpt=async(i,a,f,g,w)=>{r$t(i,f,g,w),FKe(),zKe(),jKe(),uKe(),Wt.warn("Graph at first:",JSON.stringify(Fx(a))),hKe(a),Wt.warn("Graph after:",JSON.stringify(Fx(a))),await Z$t(i,a,g,w)},tzt={},GKe=function(i){const a=Object.keys(i);for(const f of a)tzt[f]=i[f]},ezt=function(i,a,f,g,w,v){const b=g.select(`[id="${f}"]`);Object.keys(i).forEach(function(_){const S=i[_];let I="default";S.classes.length>0&&(I=S.classes.join(" ")),I=I+" flowchart-label";const B=Uw(S.styles);let F=S.text!==void 0?S.text:S.id,R;if(Wt.info("vertex",S,S.labelType),S.labelType==="markdown")Wt.info("vertex",S,S.labelType);else if(B1(Re().flowchart.htmlLabels)){const rt={label:F.replace(/fa[blrs]?:fa-[\w-]+/g,at=>``)};R=Tpt(b,rt).node(),R.parentNode.removeChild(R)}else{const rt=w.createElementNS("http://www.w3.org/2000/svg","text");rt.setAttribute("style",B.labelStyle.replace("color:","fill:"));const at=F.split(ei.lineBreakRegex);for(const ut of at){const pt=w.createElementNS("http://www.w3.org/2000/svg","tspan");pt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),pt.setAttribute("dy","1em"),pt.setAttribute("x","1"),pt.textContent=ut,rt.appendChild(pt)}R=rt}let q=0,X="";switch(S.type){case"round":q=5,X="rect";break;case"square":X="rect";break;case"diamond":X="question";break;case"hexagon":X="hexagon";break;case"odd":X="rect_left_inv_arrow";break;case"lean_right":X="lean_right";break;case"lean_left":X="lean_left";break;case"trapezoid":X="trapezoid";break;case"inv_trapezoid":X="inv_trapezoid";break;case"odd_right":X="rect_left_inv_arrow";break;case"circle":X="circle";break;case"ellipse":X="ellipse";break;case"stadium":X="stadium";break;case"subroutine":X="subroutine";break;case"cylinder":X="cylinder";break;case"group":X="rect";break;case"doublecircle":X="doublecircle";break;default:X="rect"}a.setNode(S.id,{labelStyle:B.labelStyle,shape:X,labelText:F,labelType:S.labelType,rx:q,ry:q,class:I,style:B.style,id:S.id,link:S.link,linkTarget:S.linkTarget,tooltip:v.db.getTooltip(S.id)||"",domId:v.db.lookUpDomId(S.id),haveCallback:S.haveCallback,width:S.type==="group"?500:void 0,dir:S.dir,type:S.type,props:S.props,padding:Re().flowchart.padding}),Wt.info("setNode",{labelStyle:B.labelStyle,labelType:S.labelType,shape:X,labelText:F,rx:q,ry:q,class:I,style:B.style,id:S.id,domId:v.db.lookUpDomId(S.id),width:S.type==="group"?500:void 0,type:S.type,dir:S.dir,props:S.props,padding:Re().flowchart.padding})})},nzt=function(i,a,f){Wt.info("abc78 edges = ",i);let g=0,w={},v,b;if(i.defaultStyle!==void 0){const E=Uw(i.defaultStyle);v=E.style,b=E.labelStyle}i.forEach(function(E){g++;const _="L-"+E.start+"-"+E.end;w[_]===void 0?(w[_]=0,Wt.info("abc78 new entry",_,w[_])):(w[_]++,Wt.info("abc78 new entry",_,w[_]));let S=_+"-"+w[_];Wt.info("abc78 new link id to be used is",_,S,w[_]);const I="LS-"+E.start,B="LE-"+E.end,F={style:"",labelStyle:""};switch(F.minlen=E.length||1,E.type==="arrow_open"?F.arrowhead="none":F.arrowhead="normal",F.arrowTypeStart="arrow_open",F.arrowTypeEnd="arrow_open",E.type){case"double_arrow_cross":F.arrowTypeStart="arrow_cross";case"arrow_cross":F.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":F.arrowTypeStart="arrow_point";case"arrow_point":F.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":F.arrowTypeStart="arrow_circle";case"arrow_circle":F.arrowTypeEnd="arrow_circle";break}let R="",q="";switch(E.stroke){case"normal":R="fill:none;",v!==void 0&&(R=v),b!==void 0&&(q=b),F.thickness="normal",F.pattern="solid";break;case"dotted":F.thickness="normal",F.pattern="dotted",F.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":F.thickness="thick",F.pattern="solid",F.style="stroke-width: 3.5px;fill:none;";break;case"invisible":F.thickness="invisible",F.pattern="solid",F.style="stroke-width: 0;fill:none;";break}if(E.style!==void 0){const X=Uw(E.style);R=X.style,q=X.labelStyle}F.style=F.style+=R,F.labelStyle=F.labelStyle+=q,E.interpolate!==void 0?F.curve=Vw(E.interpolate,Vg):i.defaultInterpolate!==void 0?F.curve=Vw(i.defaultInterpolate,Vg):F.curve=Vw(tzt.curve,Vg),E.text===void 0?E.style!==void 0&&(F.arrowheadStyle="fill: #333"):(F.arrowheadStyle="fill: #333",F.labelpos="c"),F.labelType=E.labelType,F.label=E.text.replace(ei.lineBreakRegex,` +`),E.style===void 0&&(F.style=F.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),F.labelStyle=F.labelStyle.replace("color:","fill:"),F.id=S,F.classes="flowchart-link "+I+" "+B,a.setEdge(E.start,E.end,F,g)})},Upt={setConf:GKe,addVertices:ezt,addEdges:nzt,getClasses:function(i,a){return a.db.getClasses()},draw:async function(i,a,f,g){Wt.info("Drawing flowchart");let w=g.db.getDirection();w===void 0&&(w="TD");const{securityLevel:v,flowchart:b}=Re(),E=b.nodeSpacing||50,_=b.rankSpacing||50;let S;v==="sandbox"&&(S=xr("#i"+a));const I=xr(v==="sandbox"?S.nodes()[0].contentDocument.body:"body"),B=v==="sandbox"?S.nodes()[0].contentDocument:document,F=new R1({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:E,ranksep:_,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let R;const q=g.db.getSubGraphs();Wt.info("Subgraphs - ",q);for(let mt=q.length-1;mt>=0;mt--)R=q[mt],Wt.info("Subgraph - ",R),g.db.addVertex(R.id,{text:R.title,type:R.labelType},"group",void 0,R.classes,R.dir);const X=g.db.getVertices(),rt=g.db.getEdges();Wt.info("Edges",rt);let at=0;for(at=q.length-1;at>=0;at--){R=q[at],SOt("cluster").append("text");for(let mt=0;mt{const f=KMe,g=f(i,"r"),w=f(i,"g"),v=f(i,"b");return qL(g,w,v,a)},rzt=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${KKe(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,WKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Jgt,db:E9,renderer:Upt,styles:rzt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,XVe.setConf(i.flowchart),E9.clear(),E9.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),YKe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Jgt,db:E9,renderer:Upt,styles:rzt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,WPe({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),Upt.setConf(i.flowchart),E9.clear(),E9.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var Gpt=function(){var i=function(bt,Z,ft,Y){for(ft=ft||{},Y=bt.length;Y--;ft[bt[Y]]=Z);return ft},a=[6,8,10,20,22,24,26,27,28],f=[1,10],g=[1,11],w=[1,12],v=[1,13],b=[1,14],E=[1,15],_=[1,21],S=[1,22],I=[1,23],B=[1,24],F=[1,25],R=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],q=[1,34],X=[27,28,46,47],rt=[41,42,43,44,45],at=[17,34],ut=[1,54],pt=[1,53],yt=[17,34,36,38],mt={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(Z,ft,Y,Et,V,Nt,Dt){var jt=Nt.length-1;switch(V){case 1:break;case 2:this.$=[];break;case 3:Nt[jt-1].push(Nt[jt]),this.$=Nt[jt-1];break;case 4:case 5:this.$=Nt[jt];break;case 6:case 7:this.$=[];break;case 8:Et.addEntity(Nt[jt-4]),Et.addEntity(Nt[jt-2]),Et.addRelationship(Nt[jt-4],Nt[jt],Nt[jt-2],Nt[jt-3]);break;case 9:Et.addEntity(Nt[jt-3]),Et.addAttributes(Nt[jt-3],Nt[jt-1]);break;case 10:Et.addEntity(Nt[jt-2]);break;case 11:Et.addEntity(Nt[jt]);break;case 12:Et.addEntity(Nt[jt-6],Nt[jt-4]),Et.addAttributes(Nt[jt-6],Nt[jt-1]);break;case 13:Et.addEntity(Nt[jt-5],Nt[jt-3]);break;case 14:Et.addEntity(Nt[jt-3],Nt[jt-1]);break;case 15:case 16:this.$=Nt[jt].trim(),Et.setAccTitle(this.$);break;case 17:case 18:this.$=Nt[jt].trim(),Et.setAccDescription(this.$);break;case 19:case 43:this.$=Nt[jt];break;case 20:case 41:case 42:this.$=Nt[jt].replace(/"/g,"");break;case 21:case 29:this.$=[Nt[jt]];break;case 22:Nt[jt].push(Nt[jt-1]),this.$=Nt[jt];break;case 23:this.$={attributeType:Nt[jt-1],attributeName:Nt[jt]};break;case 24:this.$={attributeType:Nt[jt-2],attributeName:Nt[jt-1],attributeKeyTypeList:Nt[jt]};break;case 25:this.$={attributeType:Nt[jt-2],attributeName:Nt[jt-1],attributeComment:Nt[jt]};break;case 26:this.$={attributeType:Nt[jt-3],attributeName:Nt[jt-2],attributeKeyTypeList:Nt[jt-1],attributeComment:Nt[jt]};break;case 27:case 28:case 31:this.$=Nt[jt];break;case 30:Nt[jt-2].push(Nt[jt]),this.$=Nt[jt-2];break;case 32:this.$=Nt[jt].replace(/"/g,"");break;case 33:this.$={cardA:Nt[jt],relType:Nt[jt-1],cardB:Nt[jt-2]};break;case 34:this.$=Et.Cardinality.ZERO_OR_ONE;break;case 35:this.$=Et.Cardinality.ZERO_OR_MORE;break;case 36:this.$=Et.Cardinality.ONE_OR_MORE;break;case 37:this.$=Et.Cardinality.ONLY_ONE;break;case 38:this.$=Et.Cardinality.MD_PARENT;break;case 39:this.$=Et.Identification.NON_IDENTIFYING;break;case 40:this.$=Et.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:f,22:g,24:w,26:v,27:b,28:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:f,22:g,24:w,26:v,27:b,28:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:_,42:S,43:I,44:B,45:F}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(R,[2,19]),i(R,[2,20]),i(a,[2,4]),{11:29,27:b,28:E},{16:30,17:[1,31],29:32,30:33,34:q},{11:35,27:b,28:E},{40:36,46:[1,37],47:[1,38]},i(X,[2,34]),i(X,[2,35]),i(X,[2,36]),i(X,[2,37]),i(X,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:q},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:_,42:S,43:I,44:B,45:F},i(rt,[2,39]),i(rt,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(at,[2,23],{32:50,33:51,35:52,37:ut,38:pt}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(at,[2,24],{33:56,36:[1,57],38:pt}),i(at,[2,25]),i(yt,[2,29]),i(at,[2,32]),i(yt,[2,31]),{16:58,17:[1,59],29:32,30:33,34:q},i(at,[2,26]),{35:60,37:ut},{17:[1,61]},i(a,[2,13]),i(yt,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(Z,ft){if(ft.recoverable)this.trace(Z);else{var Y=new Error(Z);throw Y.hash=ft,Y}},parse:function(Z){var ft=this,Y=[0],Et=[],V=[null],Nt=[],Dt=this.table,jt="",Ct=0,Ft=0,_t=2,xt=1,Gt=Nt.slice.call(arguments,1),Be=Object.create(this.lexer),Ot={yy:{}};for(var vn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,vn)&&(Ot.yy[vn]=this.yy[vn]);Be.setInput(Z,Ot.yy),Ot.yy.lexer=Be,Ot.yy.parser=this,typeof Be.yylloc>"u"&&(Be.yylloc={});var Pe=Be.yylloc;Nt.push(Pe);var Ee=Be.options&&Be.options.ranges;typeof Ot.yy.parseError=="function"?this.parseError=Ot.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function nn(){var Ri;return Ri=Et.pop()||Be.lex()||xt,typeof Ri!="number"&&(Ri instanceof Array&&(Et=Ri,Ri=Et.pop()),Ri=ft.symbols_[Ri]||Ri),Ri}for(var sn,me,Fe,Qt,Ae={},Se,Dn,oe,Pr;;){if(me=Y[Y.length-1],this.defaultActions[me]?Fe=this.defaultActions[me]:((sn===null||typeof sn>"u")&&(sn=nn()),Fe=Dt[me]&&Dt[me][sn]),typeof Fe>"u"||!Fe.length||!Fe[0]){var we="";Pr=[];for(Se in Dt[me])this.terminals_[Se]&&Se>_t&&Pr.push("'"+this.terminals_[Se]+"'");Be.showPosition?we="Parse error on line "+(Ct+1)+`: +`+Be.showPosition()+` +Expecting `+Pr.join(", ")+", got '"+(this.terminals_[sn]||sn)+"'":we="Parse error on line "+(Ct+1)+": Unexpected "+(sn==xt?"end of input":"'"+(this.terminals_[sn]||sn)+"'"),this.parseError(we,{text:Be.match,token:this.terminals_[sn]||sn,line:Be.yylineno,loc:Pe,expected:Pr})}if(Fe[0]instanceof Array&&Fe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+me+", token: "+sn);switch(Fe[0]){case 1:Y.push(sn),V.push(Be.yytext),Nt.push(Be.yylloc),Y.push(Fe[1]),sn=null,Ft=Be.yyleng,jt=Be.yytext,Ct=Be.yylineno,Pe=Be.yylloc;break;case 2:if(Dn=this.productions_[Fe[1]][1],Ae.$=V[V.length-Dn],Ae._$={first_line:Nt[Nt.length-(Dn||1)].first_line,last_line:Nt[Nt.length-1].last_line,first_column:Nt[Nt.length-(Dn||1)].first_column,last_column:Nt[Nt.length-1].last_column},Ee&&(Ae._$.range=[Nt[Nt.length-(Dn||1)].range[0],Nt[Nt.length-1].range[1]]),Qt=this.performAction.apply(Ae,[jt,Ft,Ct,Ot.yy,Fe[1],V,Nt].concat(Gt)),typeof Qt<"u")return Qt;Dn&&(Y=Y.slice(0,-1*Dn*2),V=V.slice(0,-1*Dn),Nt=Nt.slice(0,-1*Dn)),Y.push(this.productions_[Fe[1]][0]),V.push(Ae.$),Nt.push(Ae._$),oe=Dt[Y[Y.length-2]][Y[Y.length-1]],Y.push(oe);break;case 3:return!0}}return!0}},gt=function(){var bt={EOF:1,parseError:function(ft,Y){if(this.yy.parser)this.yy.parser.parseError(ft,Y);else throw new Error(ft)},setInput:function(Z,ft){return this.yy=ft||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var ft=Z.match(/(?:\r\n?|\n).*/g);return ft?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},unput:function(Z){var ft=Z.length,Y=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ft),this.offset-=ft;var Et=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Y.length-1&&(this.yylineno-=Y.length-1);var V=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Y?(Y.length===Et.length?this.yylloc.first_column:0)+Et[Et.length-Y.length].length-Y[0].length:this.yylloc.first_column-ft},this.options.ranges&&(this.yylloc.range=[V[0],V[0]+this.yyleng-ft]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Z){this.unput(this.match.slice(Z))},pastInput:function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Z=this.pastInput(),ft=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+` +`+ft+"^"},test_match:function(Z,ft){var Y,Et,V;if(this.options.backtrack_lexer&&(V={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(V.yylloc.range=this.yylloc.range.slice(0))),Et=Z[0].match(/(?:\r\n?|\n).*/g),Et&&(this.yylineno+=Et.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Et?Et[Et.length-1].length-Et[Et.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],Y=this.performAction.call(this,this.yy,this,ft,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Y)return Y;if(this._backtrack){for(var Nt in V)this[Nt]=V[Nt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,ft,Y,Et;this._more||(this.yytext="",this.match="");for(var V=this._currentRules(),Nt=0;Ntft[0].length)){if(ft=Y,Et=Nt,this.options.backtrack_lexer){if(Z=this.test_match(Y,V[Nt]),Z!==!1)return Z;if(this._backtrack){ft=!1;continue}else return!1}else if(!this.options.flex)break}return ft?(Z=this.test_match(ft,V[Et]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ft=this.next();return ft||this.lex()},begin:function(ft){this.conditionStack.push(ft)},popState:function(){var ft=this.conditionStack.length-1;return ft>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ft){return ft=this.conditionStack.length-1-Math.abs(ft||0),ft>=0?this.conditionStack[ft]:"INITIAL"},pushState:function(ft){this.begin(ft)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ft,Y,Et,V){switch(Et){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return Y.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return Y.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return bt}();mt.lexer=gt;function ht(){this.yy={}}return ht.prototype=mt,mt.Parser=ht,new ht}();Gpt.parser=Gpt;const XKe=Gpt;let E8={},Kpt=[];const QKe={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},JKe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},izt=function(i,a=void 0){return E8[i]===void 0?(E8[i]={attributes:[],alias:a},Wt.info("Added new entity :",i)):E8[i]&&!E8[i].alias&&a&&(E8[i].alias=a,Wt.info(`Add alias '${a}' to entity '${i}'`)),E8[i]},ZKe={Cardinality:QKe,Identification:JKe,getConfig:()=>Re().er,addEntity:izt,addAttributes:function(i,a){let f=izt(i),g;for(g=a.length-1;g>=0;g--)f.attributes.push(a[g]),Wt.debug("Added attribute ",a[g].attributeName)},getEntities:()=>E8,addRelationship:function(i,a,f,g){let w={entityA:i,roleA:a,entityB:f,relSpec:g};Kpt.push(w),Wt.debug("Added new relationship :",w)},getRelationships:()=>Kpt,clear:function(){E8={},Kpt=[],Wg()},setAccTitle:ng,getAccTitle:Yg,setAccDescription:Xg,getAccDescription:Qg,setDiagramTitle:y2,getDiagramTitle:Jg},ty={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},ey={ERMarkers:ty,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",ty.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",ty.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",ty.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",ty.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ty.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ty.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",ty.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",ty.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",ty.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",ty.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},tWe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function eWe(i){return typeof i=="string"&&tWe.test(i)}const g0=[];for(let i=0;i<256;++i)g0.push((i+256).toString(16).slice(1));function nWe(i,a=0){return(g0[i[a+0]]+g0[i[a+1]]+g0[i[a+2]]+g0[i[a+3]]+"-"+g0[i[a+4]]+g0[i[a+5]]+"-"+g0[i[a+6]]+g0[i[a+7]]+"-"+g0[i[a+8]]+g0[i[a+9]]+"-"+g0[i[a+10]]+g0[i[a+11]]+g0[i[a+12]]+g0[i[a+13]]+g0[i[a+14]]+g0[i[a+15]]).toLowerCase()}function rWe(i){if(!eWe(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function iWe(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f>>32-a}function uWe(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E>>0;F=B,B=I,I=Wpt(S,30)>>>0,S=_,_=X}f[0]=f[0]+_>>>0,f[1]=f[1]+S>>>0,f[2]=f[2]+I>>>0,f[3]=f[3]+B>>>0,f[4]=f[4]+F>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const lWe=oWe("v5",80,uWe),hWe=/[^\dA-Za-z](\W)*/g;let j1={},WF=new Map;const fWe=function(i){const a=Object.keys(i);for(const f of a)j1[f]=i[f]},dWe=(i,a,f)=>{const g=j1.entityPadding/3,w=j1.entityPadding/3,v=j1.fontSize*.85,b=a.node().getBBox(),E=[];let _=!1,S=!1,I=0,B=0,F=0,R=0,q=b.height+g*2,X=1;f.forEach(pt=>{pt.attributeKeyTypeList!==void 0&&pt.attributeKeyTypeList.length>0&&(_=!0),pt.attributeComment!==void 0&&(S=!0)}),f.forEach(pt=>{const yt=`${a.node().id}-attr-${X}`;let mt=0;const gt=pF(pt.attributeType),ht=i.append("text").classed("er entityLabel",!0).attr("id",`${yt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(gt),bt=i.append("text").classed("er entityLabel",!0).attr("id",`${yt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(pt.attributeName),Z={};Z.tn=ht,Z.nn=bt;const ft=ht.node().getBBox(),Y=bt.node().getBBox();if(I=Math.max(I,ft.width),B=Math.max(B,Y.width),mt=Math.max(ft.height,Y.height),_){const Et=pt.attributeKeyTypeList!==void 0?pt.attributeKeyTypeList.join(","):"",V=i.append("text").classed("er entityLabel",!0).attr("id",`${yt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(Et);Z.kn=V;const Nt=V.node().getBBox();F=Math.max(F,Nt.width),mt=Math.max(mt,Nt.height)}if(S){const Et=i.append("text").classed("er entityLabel",!0).attr("id",`${yt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(pt.attributeComment||"");Z.cn=Et;const V=Et.node().getBBox();R=Math.max(R,V.width),mt=Math.max(mt,V.height)}Z.height=mt,E.push(Z),q+=mt+g*2,X+=1});let rt=4;_&&(rt+=2),S&&(rt+=2);const at=I+B+F+R,ut={width:Math.max(j1.minEntityWidth,Math.max(b.width+j1.entityPadding*2,at+w*rt)),height:f.length>0?q:Math.max(j1.minEntityHeight,b.height+j1.entityPadding*2)};if(f.length>0){const pt=Math.max(0,(ut.width-at-w*rt)/(rt/2));a.attr("transform","translate("+ut.width/2+","+(g+b.height/2)+")");let yt=b.height+g*2,mt="attributeBoxOdd";E.forEach(gt=>{const ht=yt+g+gt.height/2;gt.tn.attr("transform","translate("+w+","+ht+")");const bt=i.insert("rect","#"+gt.tn.node().id).classed(`er ${mt}`,!0).attr("x",0).attr("y",yt).attr("width",I+w*2+pt).attr("height",gt.height+g*2),Z=parseFloat(bt.attr("x"))+parseFloat(bt.attr("width"));gt.nn.attr("transform","translate("+(Z+w)+","+ht+")");const ft=i.insert("rect","#"+gt.nn.node().id).classed(`er ${mt}`,!0).attr("x",Z).attr("y",yt).attr("width",B+w*2+pt).attr("height",gt.height+g*2);let Y=parseFloat(ft.attr("x"))+parseFloat(ft.attr("width"));if(_){gt.kn.attr("transform","translate("+(Y+w)+","+ht+")");const Et=i.insert("rect","#"+gt.kn.node().id).classed(`er ${mt}`,!0).attr("x",Y).attr("y",yt).attr("width",F+w*2+pt).attr("height",gt.height+g*2);Y=parseFloat(Et.attr("x"))+parseFloat(Et.attr("width"))}S&&(gt.cn.attr("transform","translate("+(Y+w)+","+ht+")"),i.insert("rect","#"+gt.cn.node().id).classed(`er ${mt}`,"true").attr("x",Y).attr("y",yt).attr("width",R+w*2+pt).attr("height",gt.height+g*2)),yt+=gt.height+g*2,mt=mt==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else ut.height=Math.max(j1.minEntityHeight,q),a.attr("transform","translate("+ut.width/2+","+ut.height/2+")");return ut},gWe=function(i,a,f){const g=Object.keys(a);let w;return g.forEach(function(v){const b=yWe(v,"entity");WF.set(v,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const _="text-"+b,S=E.append("text").classed("er entityLabel",!0).attr("id",_).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Re().fontFamily).style("font-size",j1.fontSize+"px").text(a[v].alias??v),{width:I,height:B}=dWe(E,S,a[v].attributes),R=E.insert("rect","#"+_).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",I).attr("height",B).node().getBBox();f.setNode(b,{width:R.width,height:R.height,shape:"rect",id:b})}),w},pWe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},szt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},bWe=function(i,a){return i.forEach(function(f){a.setEdge(WF.get(f.entityA),WF.get(f.entityB),{relationship:f},szt(f))}),i};let azt=0;const wWe=function(i,a,f,g,w){azt++;const v=f.edge(WF.get(a.entityA),WF.get(a.entityB),szt(a)),b=Cx().x(function(q){return q.x}).y(function(q){return q.y}).curve(lF),E=i.insert("path","#"+g).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",j1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let _="";switch(j1.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+_+"#"+ey.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+_+"#"+ey.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+_+"#"+ey.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+_+"#"+ey.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+_+"#"+ey.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+_+"#"+ey.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+_+"#"+ey.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+_+"#"+ey.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+_+"#"+ey.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+_+"#"+ey.ERMarkers.MD_PARENT_START+")");break}const S=E.node().getTotalLength(),I=E.node().getPointAtLength(S*.5),B="rel"+azt,R=i.append("text").classed("er relationshipLabel",!0).attr("id",B).attr("x",I.x).attr("y",I.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Re().fontFamily).style("font-size",j1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+B).classed("er relationshipLabelBox",!0).attr("x",I.x-R.width/2).attr("y",I.y-R.height/2).attr("width",R.width).attr("height",R.height)},mWe=function(i,a,f,g){j1=Re().er,Wt.info("Drawing ER diagram");const w=Re().securityLevel;let v;w==="sandbox"&&(v=xr("#i"+a));const E=xr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);ey.insertMarkers(E,j1);let _;_=new R1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:j1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const S=gWe(E,g.db.getEntities(),_),I=bWe(g.db.getRelationships(),_);gM(_),pWe(E,_),I.forEach(function(X){wWe(E,X,_,S,g)});const B=j1.diagramPadding;ao.insertTitle(E,"entityTitleText",j1.titleTopMargin,g.db.getDiagramTitle());const F=E.node().getBBox(),R=F.width+B*2,q=F.height+B*2;Kg(E,q,R,j1.useMaxWidth),E.attr("viewBox",`${F.x-B} ${F.y-B} ${R} ${q}`)},vWe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function yWe(i="",a=""){const f=i.replace(hWe,"");return`${ozt(a)}${ozt(f)}${lWe(i,vWe)}`}function ozt(i=""){return i.length>0?`${i}-`:""}const xWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:XKe,db:ZKe,renderer:{setConf:fWe,draw:mWe},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var Ypt=function(){var i=function(mt,gt,ht,bt){for(ht=ht||{},bt=mt.length;bt--;ht[mt[bt]]=gt);return ht},a=[1,3],f=[1,6],g=[1,4],w=[1,5],v=[2,5],b=[1,12],E=[5,7,13,19,21,23,24,26,28,31,37,40,47],_=[7,13,19,21,23,24,26,28,31,37,40],S=[7,12,13,19,21,23,24,26,28,31,37,40],I=[7,13,47],B=[1,42],F=[1,41],R=[7,13,29,32,35,38,47],q=[1,55],X=[1,56],rt=[1,57],at=[7,13,32,35,42,47],ut={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(gt,ht,bt,Z,ft,Y,Et){var V=Y.length-1;switch(ft){case 2:return Y[V];case 3:return Y[V-1];case 4:return Z.setDirection(Y[V-3]),Y[V-1];case 6:Z.setOptions(Y[V-1]),this.$=Y[V];break;case 7:Y[V-1]+=Y[V],this.$=Y[V-1];break;case 9:this.$=[];break;case 10:Y[V-1].push(Y[V]),this.$=Y[V-1];break;case 11:this.$=Y[V-1];break;case 16:this.$=Y[V].trim(),Z.setAccTitle(this.$);break;case 17:case 18:this.$=Y[V].trim(),Z.setAccDescription(this.$);break;case 19:Z.addSection(Y[V].substr(8)),this.$=Y[V].substr(8);break;case 21:Z.checkout(Y[V]);break;case 22:Z.branch(Y[V]);break;case 23:Z.branch(Y[V-2],Y[V]);break;case 24:Z.cherryPick(Y[V],"",void 0);break;case 25:Z.cherryPick(Y[V-2],"",void 0,Y[V]);break;case 26:Z.cherryPick(Y[V-2],"",Y[V]);break;case 27:Z.cherryPick(Y[V-4],"",Y[V],Y[V-2]);break;case 28:Z.cherryPick(Y[V-4],"",Y[V-2],Y[V]);break;case 29:Z.cherryPick(Y[V],"",Y[V-2]);break;case 30:Z.cherryPick(Y[V],"","");break;case 31:Z.cherryPick(Y[V-2],"","");break;case 32:Z.cherryPick(Y[V-4],"","",Y[V-2]);break;case 33:Z.cherryPick(Y[V-4],"","",Y[V]);break;case 34:Z.cherryPick(Y[V-2],"",Y[V-4],Y[V]);break;case 35:Z.cherryPick(Y[V-2],"","",Y[V]);break;case 36:Z.merge(Y[V],"","","");break;case 37:Z.merge(Y[V-2],Y[V],"","");break;case 38:Z.merge(Y[V-2],"",Y[V],"");break;case 39:Z.merge(Y[V-2],"","",Y[V]);break;case 40:Z.merge(Y[V-4],Y[V],"",Y[V-2]);break;case 41:Z.merge(Y[V-4],"",Y[V],Y[V-2]);break;case 42:Z.merge(Y[V-4],"",Y[V-2],Y[V]);break;case 43:Z.merge(Y[V-4],Y[V-2],Y[V],"");break;case 44:Z.merge(Y[V-4],Y[V-2],"",Y[V]);break;case 45:Z.merge(Y[V-4],Y[V],Y[V-2],"");break;case 46:Z.merge(Y[V-6],Y[V-4],Y[V-2],Y[V]);break;case 47:Z.merge(Y[V-6],Y[V],Y[V-4],Y[V-2]);break;case 48:Z.merge(Y[V-6],Y[V-4],Y[V],Y[V-2]);break;case 49:Z.merge(Y[V-6],Y[V-2],Y[V-4],Y[V]);break;case 50:Z.merge(Y[V-6],Y[V],Y[V-2],Y[V-4]);break;case 51:Z.merge(Y[V-6],Y[V-2],Y[V],Y[V-4]);break;case 52:Z.commit(Y[V]);break;case 53:Z.commit("","",Z.commitType.NORMAL,Y[V]);break;case 54:Z.commit("","",Y[V],"");break;case 55:Z.commit("","",Y[V],Y[V-2]);break;case 56:Z.commit("","",Y[V-2],Y[V]);break;case 57:Z.commit("",Y[V],Z.commitType.NORMAL,"");break;case 58:Z.commit("",Y[V-2],Z.commitType.NORMAL,Y[V]);break;case 59:Z.commit("",Y[V],Z.commitType.NORMAL,Y[V-2]);break;case 60:Z.commit("",Y[V-2],Y[V],"");break;case 61:Z.commit("",Y[V],Y[V-2],"");break;case 62:Z.commit("",Y[V-4],Y[V-2],Y[V]);break;case 63:Z.commit("",Y[V-4],Y[V],Y[V-2]);break;case 64:Z.commit("",Y[V-2],Y[V-4],Y[V]);break;case 65:Z.commit("",Y[V],Y[V-4],Y[V-2]);break;case 66:Z.commit("",Y[V],Y[V-2],Y[V-4]);break;case 67:Z.commit("",Y[V-2],Y[V],Y[V-4]);break;case 68:Z.commit(Y[V],"",Z.commitType.NORMAL,"");break;case 69:Z.commit(Y[V],"",Z.commitType.NORMAL,Y[V-2]);break;case 70:Z.commit(Y[V-2],"",Z.commitType.NORMAL,Y[V]);break;case 71:Z.commit(Y[V-2],"",Y[V],"");break;case 72:Z.commit(Y[V],"",Y[V-2],"");break;case 73:Z.commit(Y[V],Y[V-2],Z.commitType.NORMAL,"");break;case 74:Z.commit(Y[V-2],Y[V],Z.commitType.NORMAL,"");break;case 75:Z.commit(Y[V-4],"",Y[V-2],Y[V]);break;case 76:Z.commit(Y[V-4],"",Y[V],Y[V-2]);break;case 77:Z.commit(Y[V-2],"",Y[V-4],Y[V]);break;case 78:Z.commit(Y[V],"",Y[V-4],Y[V-2]);break;case 79:Z.commit(Y[V],"",Y[V-2],Y[V-4]);break;case 80:Z.commit(Y[V-2],"",Y[V],Y[V-4]);break;case 81:Z.commit(Y[V-4],Y[V],Y[V-2],"");break;case 82:Z.commit(Y[V-4],Y[V-2],Y[V],"");break;case 83:Z.commit(Y[V-2],Y[V],Y[V-4],"");break;case 84:Z.commit(Y[V],Y[V-2],Y[V-4],"");break;case 85:Z.commit(Y[V],Y[V-4],Y[V-2],"");break;case 86:Z.commit(Y[V-2],Y[V-4],Y[V],"");break;case 87:Z.commit(Y[V-4],Y[V],Z.commitType.NORMAL,Y[V-2]);break;case 88:Z.commit(Y[V-4],Y[V-2],Z.commitType.NORMAL,Y[V]);break;case 89:Z.commit(Y[V-2],Y[V],Z.commitType.NORMAL,Y[V-4]);break;case 90:Z.commit(Y[V],Y[V-2],Z.commitType.NORMAL,Y[V-4]);break;case 91:Z.commit(Y[V],Y[V-4],Z.commitType.NORMAL,Y[V-2]);break;case 92:Z.commit(Y[V-2],Y[V-4],Z.commitType.NORMAL,Y[V]);break;case 93:Z.commit(Y[V-6],Y[V-4],Y[V-2],Y[V]);break;case 94:Z.commit(Y[V-6],Y[V-4],Y[V],Y[V-2]);break;case 95:Z.commit(Y[V-6],Y[V-2],Y[V-4],Y[V]);break;case 96:Z.commit(Y[V-6],Y[V],Y[V-4],Y[V-2]);break;case 97:Z.commit(Y[V-6],Y[V-2],Y[V],Y[V-4]);break;case 98:Z.commit(Y[V-6],Y[V],Y[V-2],Y[V-4]);break;case 99:Z.commit(Y[V-4],Y[V-6],Y[V-2],Y[V]);break;case 100:Z.commit(Y[V-4],Y[V-6],Y[V],Y[V-2]);break;case 101:Z.commit(Y[V-2],Y[V-6],Y[V-4],Y[V]);break;case 102:Z.commit(Y[V],Y[V-6],Y[V-4],Y[V-2]);break;case 103:Z.commit(Y[V-2],Y[V-6],Y[V],Y[V-4]);break;case 104:Z.commit(Y[V],Y[V-6],Y[V-2],Y[V-4]);break;case 105:Z.commit(Y[V],Y[V-4],Y[V-2],Y[V-6]);break;case 106:Z.commit(Y[V-2],Y[V-4],Y[V],Y[V-6]);break;case 107:Z.commit(Y[V],Y[V-2],Y[V-4],Y[V-6]);break;case 108:Z.commit(Y[V-2],Y[V],Y[V-4],Y[V-6]);break;case 109:Z.commit(Y[V-4],Y[V-2],Y[V],Y[V-6]);break;case 110:Z.commit(Y[V-4],Y[V],Y[V-2],Y[V-6]);break;case 111:Z.commit(Y[V-2],Y[V-4],Y[V-6],Y[V]);break;case 112:Z.commit(Y[V],Y[V-4],Y[V-6],Y[V-2]);break;case 113:Z.commit(Y[V-2],Y[V],Y[V-6],Y[V-4]);break;case 114:Z.commit(Y[V],Y[V-2],Y[V-6],Y[V-4]);break;case 115:Z.commit(Y[V-4],Y[V-2],Y[V-6],Y[V]);break;case 116:Z.commit(Y[V-4],Y[V],Y[V-6],Y[V-2]);break;case 117:this.$="";break;case 118:this.$=Y[V];break;case 119:this.$=Z.commitType.NORMAL;break;case 120:this.$=Z.commitType.REVERSE;break;case 121:this.$=Z.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:f,13:g,47:w},{1:[3]},{3:7,4:2,5:a,7:f,13:g,47:w},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(E,[2,124]),i(E,[2,125]),i(E,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(_,[2,9],{11:16,12:[1,17]}),i(S,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(S,[2,7]),{1:[2,3]},{7:[1,36]},i(_,[2,10]),{4:37,7:f,13:g,47:w},i(_,[2,12]),i(I,[2,13]),i(I,[2,14]),i(I,[2,15]),{20:[1,38]},{22:[1,39]},i(I,[2,18]),i(I,[2,19]),i(I,[2,20]),{27:40,33:B,46:F},i(I,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:B,46:F},{32:[1,50],35:[1,51]},{27:52,33:B,46:F},{1:[2,4]},i(_,[2,11]),i(I,[2,16]),i(I,[2,17]),i(I,[2,21]),i(R,[2,122]),i(R,[2,123]),i(I,[2,52]),{33:[1,53]},{39:54,43:q,44:X,45:rt},{33:[1,58]},{33:[1,59]},i(I,[2,118]),i(I,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(I,[2,22],{29:[1,66]}),i(I,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(I,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(at,[2,119]),i(at,[2,120]),i(at,[2,121]),i(I,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(I,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:q,44:X,45:rt},{33:[1,81]},i(I,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:q,44:X,45:rt},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:q,44:X,45:rt},{33:[1,95]},{33:[1,96]},{39:97,43:q,44:X,45:rt},{33:[1,98]},i(I,[2,37],{35:[1,100],38:[1,99]}),i(I,[2,38],{32:[1,102],35:[1,101]}),i(I,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(I,[2,23]),i(I,[2,55],{32:[1,110],42:[1,111]}),i(I,[2,59],{38:[1,112],42:[1,113]}),i(I,[2,69],{32:[1,115],38:[1,114]}),i(I,[2,56],{32:[1,116],42:[1,117]}),i(I,[2,61],{35:[1,118],42:[1,119]}),i(I,[2,72],{32:[1,121],35:[1,120]}),i(I,[2,58],{38:[1,122],42:[1,123]}),i(I,[2,60],{35:[1,124],42:[1,125]}),i(I,[2,73],{35:[1,127],38:[1,126]}),i(I,[2,70],{32:[1,129],38:[1,128]}),i(I,[2,71],{32:[1,131],35:[1,130]}),i(I,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:q,44:X,45:rt},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:q,44:X,45:rt},i(I,[2,25],{35:[1,140]}),i(I,[2,26],{34:[1,141]}),i(I,[2,31],{34:[1,142]}),i(I,[2,29],{34:[1,143]}),i(I,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:q,44:X,45:rt},{33:[1,148]},{39:149,43:q,44:X,45:rt},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:q,44:X,45:rt},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:q,44:X,45:rt},{33:[1,162]},{39:163,43:q,44:X,45:rt},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:q,44:X,45:rt},{33:[1,168]},i(I,[2,43],{35:[1,169]}),i(I,[2,44],{38:[1,170]}),i(I,[2,42],{32:[1,171]}),i(I,[2,45],{35:[1,172]}),i(I,[2,40],{38:[1,173]}),i(I,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(I,[2,66],{42:[1,181]}),i(I,[2,79],{32:[1,182]}),i(I,[2,67],{42:[1,183]}),i(I,[2,90],{38:[1,184]}),i(I,[2,80],{32:[1,185]}),i(I,[2,89],{38:[1,186]}),i(I,[2,65],{42:[1,187]}),i(I,[2,78],{32:[1,188]}),i(I,[2,64],{42:[1,189]}),i(I,[2,84],{35:[1,190]}),i(I,[2,77],{32:[1,191]}),i(I,[2,83],{35:[1,192]}),i(I,[2,63],{42:[1,193]}),i(I,[2,91],{38:[1,194]}),i(I,[2,62],{42:[1,195]}),i(I,[2,85],{35:[1,196]}),i(I,[2,86],{35:[1,197]}),i(I,[2,92],{38:[1,198]}),i(I,[2,76],{32:[1,199]}),i(I,[2,87],{38:[1,200]}),i(I,[2,75],{32:[1,201]}),i(I,[2,81],{35:[1,202]}),i(I,[2,82],{35:[1,203]}),i(I,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:q,44:X,45:rt},{33:[1,207]},{33:[1,208]},{39:209,43:q,44:X,45:rt},{33:[1,210]},i(I,[2,27]),i(I,[2,32]),i(I,[2,28]),i(I,[2,33]),i(I,[2,34]),i(I,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:q,44:X,45:rt},{33:[1,215]},{39:216,43:q,44:X,45:rt},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:q,44:X,45:rt},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:q,44:X,45:rt},{33:[1,229]},{39:230,43:q,44:X,45:rt},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:q,44:X,45:rt},i(I,[2,46]),i(I,[2,48]),i(I,[2,47]),i(I,[2,49]),i(I,[2,51]),i(I,[2,50]),i(I,[2,107]),i(I,[2,108]),i(I,[2,105]),i(I,[2,106]),i(I,[2,110]),i(I,[2,109]),i(I,[2,114]),i(I,[2,113]),i(I,[2,112]),i(I,[2,111]),i(I,[2,116]),i(I,[2,115]),i(I,[2,104]),i(I,[2,103]),i(I,[2,102]),i(I,[2,101]),i(I,[2,99]),i(I,[2,100]),i(I,[2,98]),i(I,[2,97]),i(I,[2,96]),i(I,[2,95]),i(I,[2,93]),i(I,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(gt,ht){if(ht.recoverable)this.trace(gt);else{var bt=new Error(gt);throw bt.hash=ht,bt}},parse:function(gt){var ht=this,bt=[0],Z=[],ft=[null],Y=[],Et=this.table,V="",Nt=0,Dt=0,jt=2,Ct=1,Ft=Y.slice.call(arguments,1),_t=Object.create(this.lexer),xt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(xt.yy[Gt]=this.yy[Gt]);_t.setInput(gt,xt.yy),xt.yy.lexer=_t,xt.yy.parser=this,typeof _t.yylloc>"u"&&(_t.yylloc={});var Be=_t.yylloc;Y.push(Be);var Ot=_t.options&&_t.options.ranges;typeof xt.yy.parseError=="function"?this.parseError=xt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function vn(){var oe;return oe=Z.pop()||_t.lex()||Ct,typeof oe!="number"&&(oe instanceof Array&&(Z=oe,oe=Z.pop()),oe=ht.symbols_[oe]||oe),oe}for(var Pe,Ee,nn,sn,me={},Fe,Qt,Ae,Se;;){if(Ee=bt[bt.length-1],this.defaultActions[Ee]?nn=this.defaultActions[Ee]:((Pe===null||typeof Pe>"u")&&(Pe=vn()),nn=Et[Ee]&&Et[Ee][Pe]),typeof nn>"u"||!nn.length||!nn[0]){var Dn="";Se=[];for(Fe in Et[Ee])this.terminals_[Fe]&&Fe>jt&&Se.push("'"+this.terminals_[Fe]+"'");_t.showPosition?Dn="Parse error on line "+(Nt+1)+`: +`+_t.showPosition()+` +Expecting `+Se.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":Dn="Parse error on line "+(Nt+1)+": Unexpected "+(Pe==Ct?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(Dn,{text:_t.match,token:this.terminals_[Pe]||Pe,line:_t.yylineno,loc:Be,expected:Se})}if(nn[0]instanceof Array&&nn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ee+", token: "+Pe);switch(nn[0]){case 1:bt.push(Pe),ft.push(_t.yytext),Y.push(_t.yylloc),bt.push(nn[1]),Pe=null,Dt=_t.yyleng,V=_t.yytext,Nt=_t.yylineno,Be=_t.yylloc;break;case 2:if(Qt=this.productions_[nn[1]][1],me.$=ft[ft.length-Qt],me._$={first_line:Y[Y.length-(Qt||1)].first_line,last_line:Y[Y.length-1].last_line,first_column:Y[Y.length-(Qt||1)].first_column,last_column:Y[Y.length-1].last_column},Ot&&(me._$.range=[Y[Y.length-(Qt||1)].range[0],Y[Y.length-1].range[1]]),sn=this.performAction.apply(me,[V,Dt,Nt,xt.yy,nn[1],ft,Y].concat(Ft)),typeof sn<"u")return sn;Qt&&(bt=bt.slice(0,-1*Qt*2),ft=ft.slice(0,-1*Qt),Y=Y.slice(0,-1*Qt)),bt.push(this.productions_[nn[1]][0]),ft.push(me.$),Y.push(me._$),Ae=Et[bt[bt.length-2]][bt[bt.length-1]],bt.push(Ae);break;case 3:return!0}}return!0}},pt=function(){var mt={EOF:1,parseError:function(ht,bt){if(this.yy.parser)this.yy.parser.parseError(ht,bt);else throw new Error(ht)},setInput:function(gt,ht){return this.yy=ht||this.yy||{},this._input=gt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var gt=this._input[0];this.yytext+=gt,this.yyleng++,this.offset++,this.match+=gt,this.matched+=gt;var ht=gt.match(/(?:\r\n?|\n).*/g);return ht?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),gt},unput:function(gt){var ht=gt.length,bt=gt.split(/(?:\r\n?|\n)/g);this._input=gt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ht),this.offset-=ht;var Z=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),bt.length-1&&(this.yylineno-=bt.length-1);var ft=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:bt?(bt.length===Z.length?this.yylloc.first_column:0)+Z[Z.length-bt.length].length-bt[0].length:this.yylloc.first_column-ht},this.options.ranges&&(this.yylloc.range=[ft[0],ft[0]+this.yyleng-ht]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(gt){this.unput(this.match.slice(gt))},pastInput:function(){var gt=this.matched.substr(0,this.matched.length-this.match.length);return(gt.length>20?"...":"")+gt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var gt=this.match;return gt.length<20&&(gt+=this._input.substr(0,20-gt.length)),(gt.substr(0,20)+(gt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var gt=this.pastInput(),ht=new Array(gt.length+1).join("-");return gt+this.upcomingInput()+` +`+ht+"^"},test_match:function(gt,ht){var bt,Z,ft;if(this.options.backtrack_lexer&&(ft={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ft.yylloc.range=this.yylloc.range.slice(0))),Z=gt[0].match(/(?:\r\n?|\n).*/g),Z&&(this.yylineno+=Z.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Z?Z[Z.length-1].length-Z[Z.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+gt[0].length},this.yytext+=gt[0],this.match+=gt[0],this.matches=gt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(gt[0].length),this.matched+=gt[0],bt=this.performAction.call(this,this.yy,this,ht,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),bt)return bt;if(this._backtrack){for(var Y in ft)this[Y]=ft[Y];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var gt,ht,bt,Z;this._more||(this.yytext="",this.match="");for(var ft=this._currentRules(),Y=0;Yht[0].length)){if(ht=bt,Z=Y,this.options.backtrack_lexer){if(gt=this.test_match(bt,ft[Y]),gt!==!1)return gt;if(this._backtrack){ht=!1;continue}else return!1}else if(!this.options.flex)break}return ht?(gt=this.test_match(ht,ft[Z]),gt!==!1?gt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ht=this.next();return ht||this.lex()},begin:function(ht){this.conditionStack.push(ht)},popState:function(){var ht=this.conditionStack.length-1;return ht>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ht){return ht=this.conditionStack.length-1-Math.abs(ht||0),ht>=0?this.conditionStack[ht]:"INITIAL"},pushState:function(ht){this.begin(ht)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ht,bt,Z,ft){switch(Z){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return mt}();ut.lexer=pt;function yt(){this.yy={}}return yt.prototype=ut,ut.Parser=yt,new yt}();Ypt.parser=Ypt;const kWe=Ypt;let rX=Re().gitGraph.mainBranchName,EWe=Re().gitGraph.mainBranchOrder,$1={},ep=null,YF={};YF[rX]={name:rX,order:EWe};let u1={};u1[rX]=ep;let Cd=rX,czt="LR",L9=0;function Xpt(){return dFt({length:7})}function TWe(i,a){const f=Object.create(null);return i.reduce((g,w)=>{const v=a(w);return f[v]||(f[v]=!0,g.push(w)),g},[])}const CWe=function(i){czt=i};let uzt={};const _We=function(i){Wt.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{uzt=JSON.parse(i)}catch(a){Wt.error("error while parsing gitGraph options",a.message)}},SWe=function(){return uzt},AWe=function(i,a,f,g){Wt.debug("Entering commit:",i,a,f,g),a=ei.sanitizeText(a,Re()),i=ei.sanitizeText(i,Re()),g=ei.sanitizeText(g,Re());const w={id:a||L9+"-"+Xpt(),message:i,seq:L9++,type:f||wM.NORMAL,tag:g||"",parents:ep==null?[]:[ep.id],branch:Cd};ep=w,$1[w.id]=w,u1[Cd]=w.id,Wt.debug("in pushCommit "+w.id)},LWe=function(i,a){if(i=ei.sanitizeText(i,Re()),u1[i]===void 0)u1[i]=ep!=null?ep.id:null,YF[i]={name:i,order:a?parseInt(a,10):null},lzt(i),Wt.debug("in createBranch");else{let f=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw f.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},f}},MWe=function(i,a,f,g){i=ei.sanitizeText(i,Re()),a=ei.sanitizeText(a,Re());const w=$1[u1[Cd]],v=$1[u1[i]];if(Cd===i){let E=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(w===void 0||!w){let E=new Error('Incorrect usage of "merge". Current branch ('+Cd+")has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},E}else if(u1[i]===void 0){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},E}else if(v===void 0||!v){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},E}else if(w===v){let E=new Error('Incorrect usage of "merge". Both branches have same head');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(a&&$1[a]!==void 0){let E=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw E.hash={text:"merge "+i+a+f+g,token:"merge "+i+a+f+g,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+f+" "+g]},E}const b={id:a||L9+"-"+Xpt(),message:"merged branch "+i+" into "+Cd,seq:L9++,parents:[ep==null?null:ep.id,u1[i]],branch:Cd,type:wM.MERGE,customType:f,customId:!!a,tag:g||""};ep=b,$1[b.id]=b,u1[Cd]=b.id,Wt.debug(u1),Wt.debug("in mergeBranch")},DWe=function(i,a,f,g){if(Wt.debug("Entering cherryPick:",i,a,f),i=ei.sanitizeText(i,Re()),a=ei.sanitizeText(a,Re()),f=ei.sanitizeText(f,Re()),g=ei.sanitizeText(g,Re()),!i||$1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let w=$1[i],v=w.branch;if(g&&!(Array.isArray(w.parents)&&w.parents.includes(g)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(w.type===wM.MERGE&&!g)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||$1[a]===void 0){if(v===Cd){let _=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw _.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},_}const b=$1[u1[Cd]];if(b===void 0||!b){let _=new Error('Incorrect usage of "cherry-pick". Current branch ('+Cd+")has no commits");throw _.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},_}const E={id:L9+"-"+Xpt(),message:"cherry-picked "+w+" into "+Cd,seq:L9++,parents:[ep==null?null:ep.id,w.id],branch:Cd,type:wM.CHERRY_PICK,tag:f??`cherry-pick:${w.id}${w.type===wM.MERGE?`|parent:${g}`:""}`};ep=E,$1[E.id]=E,u1[Cd]=E.id,Wt.debug(u1),Wt.debug("in cherryPick")}},lzt=function(i){if(i=ei.sanitizeText(i,Re()),u1[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{Cd=i;const a=u1[Cd];ep=$1[a]}};function hzt(i,a,f){const g=i.indexOf(a);g===-1?i.push(f):i.splice(g,1,f)}function fzt(i){const a=i.reduce((w,v)=>w.seq>v.seq?w:v,i[0]);let f="";i.forEach(function(w){w===a?f+=" *":f+=" |"});const g=[f,a.id,a.seq];for(let w in u1)u1[w]===a.id&&g.push(w);if(Wt.debug(g.join(" ")),a.parents&&a.parents.length==2){const w=$1[a.parents[0]];hzt(i,a,w),i.push($1[a.parents[1]])}else{if(a.parents.length==0)return;{const w=$1[a.parents];hzt(i,a,w)}}i=TWe(i,w=>w.id),fzt(i)}const IWe=function(){Wt.debug($1);const i=dzt()[0];fzt([i])},OWe=function(){$1={},ep=null;let i=Re().gitGraph.mainBranchName,a=Re().gitGraph.mainBranchOrder;u1={},u1[i]=null,YF={},YF[i]={name:i,order:a},Cd=i,L9=0,Wg()},PWe=function(){return Object.values(YF).map((a,f)=>a.order!==null?a:{...a,order:parseFloat(`0.${f}`,10)}).sort((a,f)=>a.order-f.order).map(({name:a})=>({name:a}))},NWe=function(){return u1},FWe=function(){return $1},dzt=function(){const i=Object.keys($1).map(function(a){return $1[a]});return i.forEach(function(a){Wt.debug(a.id)}),i.sort((a,f)=>a.seq-f.seq),i},BWe=function(){return Cd},RWe=function(){return czt},jWe=function(){return ep},wM={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},$We={getConfig:()=>Re().gitGraph,setDirection:CWe,setOptions:_We,getOptions:SWe,commit:AWe,branch:LWe,merge:MWe,cherryPick:DWe,checkout:lzt,prettyPrint:IWe,clear:OWe,getBranchesAsObjArray:PWe,getBranches:NWe,getCommits:FWe,getCommitsArray:dzt,getCurrentBranch:BWe,getDirection:RWe,getHead:jWe,setAccTitle:ng,getAccTitle:Yg,getAccDescription:Qg,setAccDescription:Xg,setDiagramTitle:y2,getDiagramTitle:Jg,commitType:wM};let XF={};const T2={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},M9=8;let Ef={},QF={},iX=[],JF=0,p0="LR";const zWe=()=>{Ef={},QF={},XF={},JF=0,iX=[],p0="LR"},gzt=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let f=[];typeof i=="string"?f=i.split(/\\n|\n|/gi):Array.isArray(i)?f=i:f=[];for(const g of f){const w=document.createElementNS("http://www.w3.org/2000/svg","tspan");w.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),w.setAttribute("dy","1em"),w.setAttribute("x","0"),w.setAttribute("class","row"),w.textContent=g.trim(),a.appendChild(w)}return a},pzt=(i,a,f)=>{const g=Re().gitGraph,w=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;p0==="TB"&&(b=30),Object.keys(a).sort((S,I)=>a[S].seq-a[I].seq).forEach(S=>{const I=a[S],B=p0==="TB"?b+10:Ef[I.branch].pos,F=p0==="TB"?Ef[I.branch].pos:b+10;if(f){let R,q=I.customType!==void 0&&I.customType!==""?I.customType:I.type;switch(q){case T2.NORMAL:R="commit-normal";break;case T2.REVERSE:R="commit-reverse";break;case T2.HIGHLIGHT:R="commit-highlight";break;case T2.MERGE:R="commit-merge";break;case T2.CHERRY_PICK:R="commit-cherry-pick";break;default:R="commit-normal"}if(q===T2.HIGHLIGHT){const X=w.append("rect");X.attr("x",F-10),X.attr("y",B-10),X.attr("height",20),X.attr("width",20),X.attr("class",`commit ${I.id} commit-highlight${Ef[I.branch].index%M9} ${R}-outer`),w.append("rect").attr("x",F-6).attr("y",B-6).attr("height",12).attr("width",12).attr("class",`commit ${I.id} commit${Ef[I.branch].index%M9} ${R}-inner`)}else if(q===T2.CHERRY_PICK)w.append("circle").attr("cx",F).attr("cy",B).attr("r",10).attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",F-3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",F+3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",F+3).attr("y1",B+1).attr("x2",F).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",F-3).attr("y1",B+1).attr("x2",F).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`);else{const X=w.append("circle");if(X.attr("cx",F),X.attr("cy",B),X.attr("r",I.type===T2.MERGE?9:10),X.attr("class",`commit ${I.id} commit${Ef[I.branch].index%M9}`),q===T2.MERGE){const rt=w.append("circle");rt.attr("cx",F),rt.attr("cy",B),rt.attr("r",6),rt.attr("class",`commit ${R} ${I.id} commit${Ef[I.branch].index%M9}`)}q===T2.REVERSE&&w.append("path").attr("d",`M ${F-5},${B-5}L${F+5},${B+5}M${F-5},${B+5}L${F+5},${B-5}`).attr("class",`commit ${R} ${I.id} commit${Ef[I.branch].index%M9}`)}}if(p0==="TB"?QF[I.id]={x:F,y:b+10}:QF[I.id]={x:b+10,y:B},f){if(I.type!==T2.CHERRY_PICK&&(I.customId&&I.type===T2.MERGE||I.type!==T2.MERGE)&&g.showCommitLabel){const X=v.append("g"),rt=X.insert("rect").attr("class","commit-label-bkg"),at=X.append("text").attr("x",b).attr("y",B+25).attr("class","commit-label").text(I.id);let ut=at.node().getBBox();if(rt.attr("x",b+10-ut.width/2-2).attr("y",B+13.5).attr("width",ut.width+2*2).attr("height",ut.height+2*2),p0==="TB"&&(rt.attr("x",F-(ut.width+4*4+5)).attr("y",B-12),at.attr("x",F-(ut.width+4*4)).attr("y",B+ut.height-12)),p0!=="TB"&&at.attr("x",b+10-ut.width/2),g.rotateCommitLabel)if(p0==="TB")at.attr("transform","rotate(-45, "+F+", "+B+")"),rt.attr("transform","rotate(-45, "+F+", "+B+")");else{let pt=-7.5-(ut.width+10)/25*9.5,yt=10+ut.width/25*8.5;X.attr("transform","translate("+pt+", "+yt+") rotate(-45, "+b+", "+B+")")}}if(I.tag){const X=v.insert("polygon"),rt=v.append("circle"),at=v.append("text").attr("y",B-16).attr("class","tag-label").text(I.tag);let ut=at.node().getBBox();at.attr("x",b+10-ut.width/2);const pt=ut.height/2,yt=B-19.2;X.attr("class","tag-label-bkg").attr("points",` + ${b-ut.width/2-4/2},${yt+2} + ${b-ut.width/2-4/2},${yt-2} + ${b+10-ut.width/2-4},${yt-pt-2} + ${b+10+ut.width/2+4},${yt-pt-2} + ${b+10+ut.width/2+4},${yt+pt+2} + ${b+10-ut.width/2-4},${yt+pt+2}`),rt.attr("cx",b-ut.width/2+4/2).attr("cy",yt).attr("r",1.5).attr("class","tag-hole"),p0==="TB"&&(X.attr("class","tag-label-bkg").attr("points",` + ${F},${b+2} + ${F},${b-2} + ${F+10},${b-pt-2} + ${F+10+ut.width+4},${b-pt-2} + ${F+10+ut.width+4},${b+pt+2} + ${F+10},${b+pt+2}`).attr("transform","translate(12,12) rotate(45, "+F+","+b+")"),rt.attr("cx",F+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+F+","+b+")"),at.attr("x",F+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+F+","+b+")"))}}b+=50,b>JF&&(JF=b)})},qWe=(i,a,f,g,w)=>{const b=(p0==="TB"?f.xS.branch===b,_=S=>S.seq>i.seq&&S.seq_(S)&&E(S))},ZF=(i,a,f=0)=>{const g=i+Math.abs(i-a)/2;if(f>5)return g;if(iX.every(b=>Math.abs(b-g)>=10))return iX.push(g),g;const v=Math.abs(i-a);return ZF(i,a-v/5,f+1)},HWe=(i,a,f,g)=>{const w=QF[a.id],v=QF[f.id],b=qWe(a,f,w,v,g);let E="",_="",S=0,I=0,B=Ef[f.branch].index,F;if(b){E="A 10 10, 0, 0, 0,",_="A 10 10, 0, 0, 1,",S=10,I=10;const R=w.yv.x&&(E="A 20 20, 0, 0, 0,",_="A 20 20, 0, 0, 1,",S=20,I=20,B=Ef[a.branch].index,F=`M ${w.x} ${w.y} L ${w.x} ${v.y-S} ${_} ${w.x-I} ${v.y} L ${v.x} ${v.y}`),w.x===v.x&&(B=Ef[a.branch].index,F=`M ${w.x} ${w.y} L ${w.x+S} ${w.y} ${E} ${w.x+I} ${v.y+S} L ${v.x} ${v.y}`)):(w.yv.y&&(E="A 20 20, 0, 0, 0,",S=20,I=20,B=Ef[a.branch].index,F=`M ${w.x} ${w.y} L ${v.x-S} ${w.y} ${E} ${v.x} ${w.y-I} L ${v.x} ${v.y}`),w.y===v.y&&(B=Ef[a.branch].index,F=`M ${w.x} ${w.y} L ${w.x} ${v.y-S} ${E} ${w.x+I} ${v.y} L ${v.x} ${v.y}`));i.append("path").attr("d",F).attr("class","arrow arrow"+B%M9)},VWe=(i,a)=>{const f=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(g=>{const w=a[g];w.parents&&w.parents.length>0&&w.parents.forEach(v=>{HWe(f,a[v],w,a)})})},UWe=(i,a)=>{const f=Re().gitGraph,g=i.append("g");a.forEach((w,v)=>{const b=v%M9,E=Ef[w.name].pos,_=g.append("line");_.attr("x1",0),_.attr("y1",E),_.attr("x2",JF),_.attr("y2",E),_.attr("class","branch branch"+b),p0==="TB"&&(_.attr("y1",30),_.attr("x1",E),_.attr("y2",JF),_.attr("x2",E)),iX.push(E);let S=w.name;const I=gzt(S),B=g.insert("rect"),R=g.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);R.node().appendChild(I);let q=I.getBBox();B.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-q.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-q.height/2+8).attr("width",q.width+18).attr("height",q.height+4),R.attr("transform","translate("+(-q.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(E-q.height/2-1)+")"),p0==="TB"&&(B.attr("x",E-q.width/2-10).attr("y",0),R.attr("transform","translate("+(E-q.width/2-5)+", 0)")),p0!=="TB"&&B.attr("transform","translate(-19, "+(E-q.height/2)+")")})},GWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:kWe,db:$We,renderer:{draw:function(i,a,f,g){zWe();const w=Re(),v=w.gitGraph;Wt.debug("in gitgraph renderer",i+` +`,"id:",a,f),XF=g.db.getCommits();const b=g.db.getBranchesAsObjArray();p0=g.db.getDirection();const E=xr(`[id="${a}"]`);let _=0;b.forEach((S,I)=>{const B=gzt(S.name),F=E.append("g"),R=F.insert("g").attr("class","branchLabel"),q=R.insert("g").attr("class","label branch-label");q.node().appendChild(B);let X=B.getBBox();Ef[S.name]={pos:_,index:I},_+=50+(v.rotateCommitLabel?40:0)+(p0==="TB"?X.width/2:0),q.remove(),R.remove(),F.remove()}),pzt(E,XF,!1),v.showBranches&&UWe(E,b),VWe(E,XF),pzt(E,XF,!0),ao.insertTitle(E,"gitTitleText",v.titleTopMargin,g.db.getDiagramTitle()),XFt(void 0,E,v.diagramPadding,v.useMaxWidth??w.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(a=>` + .branch-label${a} { fill: ${i["gitBranchLabel"+a]}; } + .commit${a} { stroke: ${i["git"+a]}; fill: ${i["git"+a]}; } + .commit-highlight${a} { stroke: ${i["gitInv"+a]}; fill: ${i["gitInv"+a]}; } + .label${a} { fill: ${i["git"+a]}; } + .arrow${a} { stroke: ${i["git"+a]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var Qpt=function(){var i=function(Y,Et,V,Nt){for(V=V||{},Nt=Y.length;Nt--;V[Y[Nt]]=Et);return V},a=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],f=[1,25],g=[1,26],w=[1,27],v=[1,28],b=[1,29],E=[1,30],_=[1,31],S=[1,9],I=[1,10],B=[1,11],F=[1,12],R=[1,13],q=[1,14],X=[1,15],rt=[1,16],at=[1,18],ut=[1,19],pt=[1,20],yt=[1,21],mt=[1,22],gt=[1,24],ht=[1,32],bt={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(Et,V,Nt,Dt,jt,Ct,Ft){var _t=Ct.length-1;switch(jt){case 1:return Ct[_t-1];case 2:this.$=[];break;case 3:Ct[_t-1].push(Ct[_t]),this.$=Ct[_t-1];break;case 4:case 5:this.$=Ct[_t];break;case 6:case 7:this.$=[];break;case 8:Dt.setWeekday("monday");break;case 9:Dt.setWeekday("tuesday");break;case 10:Dt.setWeekday("wednesday");break;case 11:Dt.setWeekday("thursday");break;case 12:Dt.setWeekday("friday");break;case 13:Dt.setWeekday("saturday");break;case 14:Dt.setWeekday("sunday");break;case 15:Dt.setDateFormat(Ct[_t].substr(11)),this.$=Ct[_t].substr(11);break;case 16:Dt.enableInclusiveEndDates(),this.$=Ct[_t].substr(18);break;case 17:Dt.TopAxis(),this.$=Ct[_t].substr(8);break;case 18:Dt.setAxisFormat(Ct[_t].substr(11)),this.$=Ct[_t].substr(11);break;case 19:Dt.setTickInterval(Ct[_t].substr(13)),this.$=Ct[_t].substr(13);break;case 20:Dt.setExcludes(Ct[_t].substr(9)),this.$=Ct[_t].substr(9);break;case 21:Dt.setIncludes(Ct[_t].substr(9)),this.$=Ct[_t].substr(9);break;case 22:Dt.setTodayMarker(Ct[_t].substr(12)),this.$=Ct[_t].substr(12);break;case 24:Dt.setDiagramTitle(Ct[_t].substr(6)),this.$=Ct[_t].substr(6);break;case 25:this.$=Ct[_t].trim(),Dt.setAccTitle(this.$);break;case 26:case 27:this.$=Ct[_t].trim(),Dt.setAccDescription(this.$);break;case 28:Dt.addSection(Ct[_t].substr(8)),this.$=Ct[_t].substr(8);break;case 30:Dt.addTask(Ct[_t-1],Ct[_t]),this.$="task";break;case 31:this.$=Ct[_t-1],Dt.setClickEvent(Ct[_t-1],Ct[_t],null);break;case 32:this.$=Ct[_t-2],Dt.setClickEvent(Ct[_t-2],Ct[_t-1],Ct[_t]);break;case 33:this.$=Ct[_t-2],Dt.setClickEvent(Ct[_t-2],Ct[_t-1],null),Dt.setLink(Ct[_t-2],Ct[_t]);break;case 34:this.$=Ct[_t-3],Dt.setClickEvent(Ct[_t-3],Ct[_t-2],Ct[_t-1]),Dt.setLink(Ct[_t-3],Ct[_t]);break;case 35:this.$=Ct[_t-2],Dt.setClickEvent(Ct[_t-2],Ct[_t],null),Dt.setLink(Ct[_t-2],Ct[_t-1]);break;case 36:this.$=Ct[_t-3],Dt.setClickEvent(Ct[_t-3],Ct[_t-1],Ct[_t]),Dt.setLink(Ct[_t-3],Ct[_t-2]);break;case 37:this.$=Ct[_t-1],Dt.setLink(Ct[_t-1],Ct[_t]);break;case 38:case 44:this.$=Ct[_t-1]+" "+Ct[_t];break;case 39:case 40:case 42:this.$=Ct[_t-2]+" "+Ct[_t-1]+" "+Ct[_t];break;case 41:case 43:this.$=Ct[_t-3]+" "+Ct[_t-2]+" "+Ct[_t-1]+" "+Ct[_t];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:f,13:g,14:w,15:v,16:b,17:E,18:_,19:S,20:I,21:B,22:F,23:R,24:q,25:X,26:rt,27:at,28:ut,30:pt,32:yt,33:mt,34:23,35:gt,37:ht},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:f,13:g,14:w,15:v,16:b,17:E,18:_,19:S,20:I,21:B,22:F,23:R,24:q,25:X,26:rt,27:at,28:ut,30:pt,32:yt,33:mt,34:23,35:gt,37:ht},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(Et,V){if(V.recoverable)this.trace(Et);else{var Nt=new Error(Et);throw Nt.hash=V,Nt}},parse:function(Et){var V=this,Nt=[0],Dt=[],jt=[null],Ct=[],Ft=this.table,_t="",xt=0,Gt=0,Be=2,Ot=1,vn=Ct.slice.call(arguments,1),Pe=Object.create(this.lexer),Ee={yy:{}};for(var nn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,nn)&&(Ee.yy[nn]=this.yy[nn]);Pe.setInput(Et,Ee.yy),Ee.yy.lexer=Pe,Ee.yy.parser=this,typeof Pe.yylloc>"u"&&(Pe.yylloc={});var sn=Pe.yylloc;Ct.push(sn);var me=Pe.options&&Pe.options.ranges;typeof Ee.yy.parseError=="function"?this.parseError=Ee.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var Ss;return Ss=Dt.pop()||Pe.lex()||Ot,typeof Ss!="number"&&(Ss instanceof Array&&(Dt=Ss,Ss=Dt.pop()),Ss=V.symbols_[Ss]||Ss),Ss}for(var Qt,Ae,Se,Dn,oe={},Pr,we,Ri,yi;;){if(Ae=Nt[Nt.length-1],this.defaultActions[Ae]?Se=this.defaultActions[Ae]:((Qt===null||typeof Qt>"u")&&(Qt=Fe()),Se=Ft[Ae]&&Ft[Ae][Qt]),typeof Se>"u"||!Se.length||!Se[0]){var da="";yi=[];for(Pr in Ft[Ae])this.terminals_[Pr]&&Pr>Be&&yi.push("'"+this.terminals_[Pr]+"'");Pe.showPosition?da="Parse error on line "+(xt+1)+`: +`+Pe.showPosition()+` +Expecting `+yi.join(", ")+", got '"+(this.terminals_[Qt]||Qt)+"'":da="Parse error on line "+(xt+1)+": Unexpected "+(Qt==Ot?"end of input":"'"+(this.terminals_[Qt]||Qt)+"'"),this.parseError(da,{text:Pe.match,token:this.terminals_[Qt]||Qt,line:Pe.yylineno,loc:sn,expected:yi})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ae+", token: "+Qt);switch(Se[0]){case 1:Nt.push(Qt),jt.push(Pe.yytext),Ct.push(Pe.yylloc),Nt.push(Se[1]),Qt=null,Gt=Pe.yyleng,_t=Pe.yytext,xt=Pe.yylineno,sn=Pe.yylloc;break;case 2:if(we=this.productions_[Se[1]][1],oe.$=jt[jt.length-we],oe._$={first_line:Ct[Ct.length-(we||1)].first_line,last_line:Ct[Ct.length-1].last_line,first_column:Ct[Ct.length-(we||1)].first_column,last_column:Ct[Ct.length-1].last_column},me&&(oe._$.range=[Ct[Ct.length-(we||1)].range[0],Ct[Ct.length-1].range[1]]),Dn=this.performAction.apply(oe,[_t,Gt,xt,Ee.yy,Se[1],jt,Ct].concat(vn)),typeof Dn<"u")return Dn;we&&(Nt=Nt.slice(0,-1*we*2),jt=jt.slice(0,-1*we),Ct=Ct.slice(0,-1*we)),Nt.push(this.productions_[Se[1]][0]),jt.push(oe.$),Ct.push(oe._$),Ri=Ft[Nt[Nt.length-2]][Nt[Nt.length-1]],Nt.push(Ri);break;case 3:return!0}}return!0}},Z=function(){var Y={EOF:1,parseError:function(V,Nt){if(this.yy.parser)this.yy.parser.parseError(V,Nt);else throw new Error(V)},setInput:function(Et,V){return this.yy=V||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var V=Et.match(/(?:\r\n?|\n).*/g);return V?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var V=Et.length,Nt=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-V),this.offset-=V;var Dt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Nt.length-1&&(this.yylineno-=Nt.length-1);var jt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Nt?(Nt.length===Dt.length?this.yylloc.first_column:0)+Dt[Dt.length-Nt.length].length-Nt[0].length:this.yylloc.first_column-V},this.options.ranges&&(this.yylloc.range=[jt[0],jt[0]+this.yyleng-V]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),V=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+V+"^"},test_match:function(Et,V){var Nt,Dt,jt;if(this.options.backtrack_lexer&&(jt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(jt.yylloc.range=this.yylloc.range.slice(0))),Dt=Et[0].match(/(?:\r\n?|\n).*/g),Dt&&(this.yylineno+=Dt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Dt?Dt[Dt.length-1].length-Dt[Dt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Et[0].length),this.matched+=Et[0],Nt=this.performAction.call(this,this.yy,this,V,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Nt)return Nt;if(this._backtrack){for(var Ct in jt)this[Ct]=jt[Ct];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,V,Nt,Dt;this._more||(this.yytext="",this.match="");for(var jt=this._currentRules(),Ct=0;CtV[0].length)){if(V=Nt,Dt=Ct,this.options.backtrack_lexer){if(Et=this.test_match(Nt,jt[Ct]),Et!==!1)return Et;if(this._backtrack){V=!1;continue}else return!1}else if(!this.options.flex)break}return V?(Et=this.test_match(V,jt[Dt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var V=this.next();return V||this.lex()},begin:function(V){this.conditionStack.push(V)},popState:function(){var V=this.conditionStack.length-1;return V>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(V){return V=this.conditionStack.length-1-Math.abs(V||0),V>=0?this.conditionStack[V]:"INITIAL"},pushState:function(V){this.begin(V)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(V,Nt,Dt,jt){switch(Dt){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:break;case 15:this.begin("href");break;case 16:this.popState();break;case 17:return 40;case 18:this.begin("callbackname");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callbackargs");break;case 21:return 38;case 22:this.popState();break;case 23:return 39;case 24:this.begin("click");break;case 25:this.popState();break;case 26:return 37;case 27:return 4;case 28:return 19;case 29:return 20;case 30:return 21;case 31:return 22;case 32:return 23;case 33:return 25;case 34:return 24;case 35:return 26;case 36:return 12;case 37:return 13;case 38:return 14;case 39:return 15;case 40:return 16;case 41:return 17;case 42:return 18;case 43:return"date";case 44:return 27;case 45:return"accDescription";case 46:return 33;case 47:return 35;case 48:return 36;case 49:return":";case 50:return 6;case 51:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[22,23],inclusive:!1},callbackname:{rules:[19,20,21],inclusive:!1},href:{rules:[16,17],inclusive:!1},click:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,18,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return Y}();bt.lexer=Z;function ft(){this.yy={}}return ft.prototype=bt,bt.Parser=ft,new ft}();Qpt.parser=Qpt;const KWe=Qpt;var bzt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(X0,function(){var f="day";return function(g,w,v){var b=function(S){return S.add(4-S.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(S){if(!this.$utils().u(S))return this.add(7*(S-this.isoWeek()),f);var I,B,F,R,q=b(this),X=(I=this.isoWeekYear(),B=this.$u,F=(B?v.utc:v)().year(I).startOf("year"),R=4-F.isoWeekday(),F.isoWeekday()>4&&(R+=7),F.add(R,f));return q.diff(X,"week")+1},E.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var _=E.startOf;E.startOf=function(S,I){var B=this.$utils(),F=!!B.u(I)||I;return B.p(S)==="isoweek"?F?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):_.bind(this)(S,I)}}})})(bzt);var WWe=bzt.exports;const YWe=JT(WWe);var wzt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(X0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},g=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},_=function(X){return(X=+X)+(X>68?1900:2e3)},S=function(X){return function(rt){this[X]=+rt}},I=[/[+-]\d\d:?(\d\d)?|Z/,function(X){(this.zone||(this.zone={})).offset=function(rt){if(!rt||rt==="Z")return 0;var at=rt.match(/([+-]|\d\d)/g),ut=60*at[1]+(+at[2]||0);return ut===0?0:at[0]==="+"?-ut:ut}(X)}],B=function(X){var rt=E[X];return rt&&(rt.indexOf?rt:rt.s.concat(rt.f))},F=function(X,rt){var at,ut=E.meridiem;if(ut){for(var pt=1;pt<=24;pt+=1)if(X.indexOf(ut(pt,0,rt))>-1){at=pt>12;break}}else at=X===(rt?"pm":"PM");return at},R={A:[b,function(X){this.afternoon=F(X,!1)}],a:[b,function(X){this.afternoon=F(X,!0)}],S:[/\d/,function(X){this.milliseconds=100*+X}],SS:[w,function(X){this.milliseconds=10*+X}],SSS:[/\d{3}/,function(X){this.milliseconds=+X}],s:[v,S("seconds")],ss:[v,S("seconds")],m:[v,S("minutes")],mm:[v,S("minutes")],H:[v,S("hours")],h:[v,S("hours")],HH:[v,S("hours")],hh:[v,S("hours")],D:[v,S("day")],DD:[w,S("day")],Do:[b,function(X){var rt=E.ordinal,at=X.match(/\d+/);if(this.day=at[0],rt)for(var ut=1;ut<=31;ut+=1)rt(ut).replace(/\[|\]/g,"")===X&&(this.day=ut)}],M:[v,S("month")],MM:[w,S("month")],MMM:[b,function(X){var rt=B("months"),at=(B("monthsShort")||rt.map(function(ut){return ut.slice(0,3)})).indexOf(X)+1;if(at<1)throw new Error;this.month=at%12||at}],MMMM:[b,function(X){var rt=B("months").indexOf(X)+1;if(rt<1)throw new Error;this.month=rt%12||rt}],Y:[/[+-]?\d+/,S("year")],YY:[w,function(X){this.year=_(X)}],YYYY:[/\d{4}/,S("year")],Z:I,ZZ:I};function q(X){var rt,at;rt=X,at=E&&E.formats;for(var ut=(X=rt.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Z,ft,Y){var Et=Y&&Y.toUpperCase();return ft||at[Y]||f[Y]||at[Et].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(V,Nt,Dt){return Nt||Dt.slice(1)})})).match(g),pt=ut.length,yt=0;yt-1)return new Date((Ct==="X"?1e3:1)*jt);var _t=q(Ct)(jt),xt=_t.year,Gt=_t.month,Be=_t.day,Ot=_t.hours,vn=_t.minutes,Pe=_t.seconds,Ee=_t.milliseconds,nn=_t.zone,sn=new Date,me=Be||(xt||Gt?1:sn.getDate()),Fe=xt||sn.getFullYear(),Qt=0;xt&&!Gt||(Qt=Gt>0?Gt-1:sn.getMonth());var Ae=Ot||0,Se=vn||0,Dn=Pe||0,oe=Ee||0;return nn?new Date(Date.UTC(Fe,Qt,me,Ae,Se,Dn,oe+60*nn.offset*1e3)):Ft?new Date(Date.UTC(Fe,Qt,me,Ae,Se,Dn,oe)):new Date(Fe,Qt,me,Ae,Se,Dn,oe)}catch{return new Date("")}}(mt,bt,gt),this.init(),Et&&Et!==!0&&(this.$L=this.locale(Et).$L),Y&&mt!=this.format(bt)&&(this.$d=new Date("")),E={}}else if(bt instanceof Array)for(var V=bt.length,Nt=1;Nt<=V;Nt+=1){ht[1]=bt[Nt-1];var Dt=at.apply(this,ht);if(Dt.isValid()){this.$d=Dt.$d,this.$L=Dt.$L,this.init();break}Nt===V&&(this.$d=new Date(""))}else pt.call(this,yt)}}})})(wzt);var XWe=wzt.exports;const QWe=JT(XWe);var mzt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(X0,function(){return function(f,g){var w=g.prototype,v=w.format;w.format=function(b){var E=this,_=this.$locale();if(!this.isValid())return v.bind(this)(b);var S=this.$utils(),I=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(B){switch(B){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return _.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return _.ordinal(E.week(),"W");case"w":case"ww":return S.s(E.week(),B==="w"?1:2,"0");case"W":case"WW":return S.s(E.isoWeek(),B==="W"?1:2,"0");case"k":case"kk":return S.s(String(E.$H===0?24:E.$H),B==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return B}});return v.bind(this)(I)}}})})(mzt);var JWe=mzt.exports;const ZWe=JT(JWe);Q0.extend(YWe),Q0.extend(QWe),Q0.extend(ZWe);let l4="",Jpt="",Zpt,tbt="",tB=[],eB=[],ebt={},nbt=[],sX=[],mM="",rbt="";const vzt=["active","done","crit","milestone"];let ibt=[],nB=!1,sbt=!1,abt="sunday",obt=0;const tYe=function(){nbt=[],sX=[],mM="",ibt=[],aX=0,ubt=void 0,oX=void 0,z1=[],l4="",Jpt="",rbt="",Zpt=void 0,tbt="",tB=[],eB=[],nB=!1,sbt=!1,obt=0,ebt={},Wg(),abt="sunday"},eYe=function(i){Jpt=i},nYe=function(){return Jpt},rYe=function(i){Zpt=i},iYe=function(){return Zpt},sYe=function(i){tbt=i},aYe=function(){return tbt},oYe=function(i){l4=i},cYe=function(){nB=!0},uYe=function(){return nB},lYe=function(){sbt=!0},hYe=function(){return sbt},fYe=function(i){rbt=i},dYe=function(){return rbt},gYe=function(){return l4},pYe=function(i){tB=i.toLowerCase().split(/[\s,]+/)},bYe=function(){return tB},wYe=function(i){eB=i.toLowerCase().split(/[\s,]+/)},mYe=function(){return eB},vYe=function(){return ebt},yYe=function(i){mM=i,nbt.push(i)},xYe=function(){return nbt},kYe=function(){let i=Czt();const a=10;let f=0;for(;!i&&f=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},EYe=function(i){abt=i},TYe=function(){return abt},xzt=function(i,a,f,g){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=Q0(i.startTime):w=Q0(i.startTime,a,!0),w=w.add(1,"d");let v;i.endTime instanceof Date?v=Q0(i.endTime):v=Q0(i.endTime,a,!0);const[b,E]=CYe(w,v,a,f,g);i.endTime=b.toDate(),i.renderEndTime=E},CYe=function(i,a,f,g,w){let v=!1,b=null;for(;i<=a;)v||(b=a.toDate()),v=yzt(i,f,g,w),v&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},cbt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let _=yM(E);_!==void 0&&(b?_.endTime>b.endTime&&(b=_):b=_)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let v=Q0(f,a.trim(),!0);if(v.isValid())return v.toDate();{Wt.debug("Invalid date:"+f),Wt.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},kzt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},Ezt=function(i,a,f,g=!1){f=f.trim();let w=Q0(f,a.trim(),!0);if(w.isValid())return g&&(w=w.add(1,"d")),w.toDate();let v=Q0(i);const[b,E]=kzt(f);if(!Number.isNaN(b)){const _=v.add(b,E);_.isValid()&&(v=_)}return v.toDate()};let aX=0;const vM=function(i){return i===void 0?(aX=aX+1,"task"+aX):i},_Ye=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Azt(g,w,vzt);for(let b=0;b{window.open(f,"_self")}),ebt[g]=f)}),_zt(i,"clickable")},_zt=function(i,a){i.split(",").forEach(function(f){let g=yM(f);g!==void 0&&g.classes.push(a)})},DYe=function(i,a,f){if(Re().securityLevel!=="loose"||a===void 0)return;let g=[];if(typeof f=="string"){g=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v{ao.runFunc(a,...g)})},Szt=function(i,a){ibt.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},IYe={getConfig:()=>Re().gantt,clear:tYe,setDateFormat:oYe,getDateFormat:gYe,enableInclusiveEndDates:cYe,endDatesAreInclusive:uYe,enableTopAxis:lYe,topAxisEnabled:hYe,setAxisFormat:eYe,getAxisFormat:nYe,setTickInterval:rYe,getTickInterval:iYe,setTodayMarker:sYe,getTodayMarker:aYe,setAccTitle:ng,getAccTitle:Yg,setDiagramTitle:y2,getDiagramTitle:Jg,setDisplayMode:fYe,getDisplayMode:dYe,setAccDescription:Xg,getAccDescription:Qg,addSection:yYe,getSections:xYe,getTasks:kYe,addTask:AYe,findTaskById:yM,addTaskOrg:LYe,setIncludes:pYe,getIncludes:bYe,setExcludes:wYe,getExcludes:mYe,setClickEvent:function(i,a,f){i.split(",").forEach(function(g){DYe(g,a,f)}),_zt(i,"clickable")},setLink:MYe,getLinks:vYe,bindFunctions:function(i){ibt.forEach(function(a){a(i)})},parseDuration:kzt,isInvalidDate:yzt,setWeekday:EYe,getWeekday:TYe};function Azt(i,a,f){let g=!0;for(;g;)g=!1,f.forEach(function(w){const v="^\\s*"+w+"\\s*$",b=new RegExp(v);i[0].match(b)&&(a[w]=!0,i.shift(1),g=!0)})}const OYe=function(){Wt.debug("Something is calling, setConf, remove the call")},Lzt={monday:iF,tuesday:xPt,wednesday:kPt,thursday:o9,friday:EPt,saturday:TPt,sunday:rF},PYe=(i,a)=>{let f=[...i].map(()=>-1/0),g=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),w=0;for(const v of g)for(let b=0;b=f[b]){f[b]=v.endTime,v.order=b+a,b>w&&(w=b);break}return w};let Rx;const NYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:KWe,db:IYe,renderer:{setConf:OYe,draw:function(i,a,f,g){const w=Re().gantt,v=Re().securityLevel;let b;v==="sandbox"&&(b=xr("#i"+a));const E=xr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=v==="sandbox"?b.nodes()[0].contentDocument:document,S=_.getElementById(a);Rx=S.parentElement.offsetWidth,Rx===void 0&&(Rx=1200),w.useWidth!==void 0&&(Rx=w.useWidth);const I=g.db.getTasks();let B=[];for(const bt of I)B.push(bt.type);B=ht(B);const F={};let R=2*w.topPadding;if(g.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const bt={};for(const ft of I)bt[ft.section]===void 0?bt[ft.section]=[ft]:bt[ft.section].push(ft);let Z=0;for(const ft of Object.keys(bt)){const Y=PYe(bt[ft],Z)+1;Z+=Y,R+=Y*(w.barHeight+w.barGap),F[ft]=Y}}else{R+=I.length*(w.barHeight+w.barGap);for(const bt of B)F[bt]=I.filter(Z=>Z.type===bt).length}S.setAttribute("viewBox","0 0 "+Rx+" "+R);const q=E.select(`[id="${a}"]`),X=OLe().domain([p9e(I,function(bt){return bt.startTime}),g9e(I,function(bt){return bt.endTime})]).rangeRound([0,Rx-w.leftPadding-w.rightPadding]);function rt(bt,Z){const ft=bt.startTime,Y=Z.startTime;let Et=0;return ft>Y?Et=1:ftxt.order))].map(xt=>bt.find(Gt=>Gt.order===xt));q.append("g").selectAll("rect").data(jt).enter().append("rect").attr("x",0).attr("y",function(xt,Gt){return Gt=xt.order,Gt*Z+ft-2}).attr("width",function(){return Nt-w.rightPadding/2}).attr("height",Z).attr("class",function(xt){for(const[Gt,Be]of B.entries())if(xt.type===Be)return"section section"+Gt%w.numberSectionStyles;return"section section0"});const Ct=q.append("g").selectAll("rect").data(bt).enter(),Ft=g.db.getLinks();if(Ct.append("rect").attr("id",function(xt){return xt.id}).attr("rx",3).attr("ry",3).attr("x",function(xt){return xt.milestone?X(xt.startTime)+Y+.5*(X(xt.endTime)-X(xt.startTime))-.5*Et:X(xt.startTime)+Y}).attr("y",function(xt,Gt){return Gt=xt.order,Gt*Z+ft}).attr("width",function(xt){return xt.milestone?Et:X(xt.renderEndTime||xt.endTime)-X(xt.startTime)}).attr("height",Et).attr("transform-origin",function(xt,Gt){return Gt=xt.order,(X(xt.startTime)+Y+.5*(X(xt.endTime)-X(xt.startTime))).toString()+"px "+(Gt*Z+ft+.5*Et).toString()+"px"}).attr("class",function(xt){const Gt="task";let Be="";xt.classes.length>0&&(Be=xt.classes.join(" "));let Ot=0;for(const[Pe,Ee]of B.entries())xt.type===Ee&&(Ot=Pe%w.numberSectionStyles);let vn="";return xt.active?xt.crit?vn+=" activeCrit":vn=" active":xt.done?xt.crit?vn=" doneCrit":vn=" done":xt.crit&&(vn+=" crit"),vn.length===0&&(vn=" task"),xt.milestone&&(vn=" milestone "+vn),vn+=Ot,vn+=" "+Be,Gt+vn}),Ct.append("text").attr("id",function(xt){return xt.id+"-text"}).text(function(xt){return xt.task}).attr("font-size",w.fontSize).attr("x",function(xt){let Gt=X(xt.startTime),Be=X(xt.renderEndTime||xt.endTime);xt.milestone&&(Gt+=.5*(X(xt.endTime)-X(xt.startTime))-.5*Et),xt.milestone&&(Be=Gt+Et);const Ot=this.getBBox().width;return Ot>Be-Gt?Be+Ot+1.5*w.leftPadding>Nt?Gt+Y-5:Be+Y+5:(Be-Gt)/2+Gt+Y}).attr("y",function(xt,Gt){return Gt=xt.order,Gt*Z+w.barHeight/2+(w.fontSize/2-2)+ft}).attr("text-height",Et).attr("class",function(xt){const Gt=X(xt.startTime);let Be=X(xt.endTime);xt.milestone&&(Be=Gt+Et);const Ot=this.getBBox().width;let vn="";xt.classes.length>0&&(vn=xt.classes.join(" "));let Pe=0;for(const[nn,sn]of B.entries())xt.type===sn&&(Pe=nn%w.numberSectionStyles);let Ee="";return xt.active&&(xt.crit?Ee="activeCritText"+Pe:Ee="activeText"+Pe),xt.done?xt.crit?Ee=Ee+" doneCritText"+Pe:Ee=Ee+" doneText"+Pe:xt.crit&&(Ee=Ee+" critText"+Pe),xt.milestone&&(Ee+=" milestoneText"),Ot>Be-Gt?Be+Ot+1.5*w.leftPadding>Nt?vn+" taskTextOutsideLeft taskTextOutside"+Pe+" "+Ee:vn+" taskTextOutsideRight taskTextOutside"+Pe+" "+Ee+" width-"+Ot:vn+" taskText taskText"+Pe+" "+Ee+" width-"+Ot}),Re().securityLevel==="sandbox"){let xt;xt=xr("#i"+a);const Gt=xt.nodes()[0].contentDocument;Ct.filter(function(Be){return Ft[Be.id]!==void 0}).each(function(Be){var Ot=Gt.querySelector("#"+Be.id),vn=Gt.querySelector("#"+Be.id+"-text");const Pe=Ot.parentNode;var Ee=Gt.createElement("a");Ee.setAttribute("xlink:href",Ft[Be.id]),Ee.setAttribute("target","_top"),Pe.appendChild(Ee),Ee.appendChild(Ot),Ee.appendChild(vn)})}}function pt(bt,Z,ft,Y,Et,V,Nt,Dt){if(Nt.length===0&&Dt.length===0)return;let jt,Ct;for(const{startTime:Ot,endTime:vn}of V)(jt===void 0||OtCt)&&(Ct=vn);if(!jt||!Ct)return;if(Q0(Ct).diff(Q0(jt),"year")>5){Wt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Ft=g.db.getDateFormat(),_t=[];let xt=null,Gt=Q0(jt);for(;Gt.valueOf()<=Ct;)g.db.isInvalidDate(Gt,Ft,Nt,Dt)?xt?xt.end=Gt:xt={start:Gt,end:Gt}:xt&&(_t.push(xt),xt=null),Gt=Gt.add(1,"d");q.append("g").selectAll("rect").data(_t).enter().append("rect").attr("id",function(Ot){return"exclude-"+Ot.start.format("YYYY-MM-DD")}).attr("x",function(Ot){return X(Ot.start)+ft}).attr("y",w.gridLineStartPadding).attr("width",function(Ot){const vn=Ot.end.add(1,"day");return X(vn)-X(Ot.start)}).attr("height",Et-Z-w.gridLineStartPadding).attr("transform-origin",function(Ot,vn){return(X(Ot.start)+ft+.5*(X(Ot.end)-X(Ot.start))).toString()+"px "+(vn*bt+.5*Et).toString()+"px"}).attr("class","exclude-range")}function yt(bt,Z,ft,Y){let Et=T9e(X).tickSize(-Y+Z+w.gridLineStartPadding).tickFormat(_W(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const Nt=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(g.db.getTickInterval()||w.tickInterval);if(Nt!==null){const Dt=Nt[1],jt=Nt[2],Ct=g.db.getWeekday()||w.weekday;switch(jt){case"millisecond":Et.ticks(NL.every(Dt));break;case"second":Et.ticks(u8.every(Dt));break;case"minute":Et.ticks(eF.every(Dt));break;case"hour":Et.ticks(nF.every(Dt));break;case"day":Et.ticks(s9.every(Dt));break;case"week":Et.ticks(Lzt[Ct].every(Dt));break;case"month":Et.ticks(sF.every(Dt));break}}if(q.append("g").attr("class","grid").attr("transform","translate("+bt+", "+(Y-50)+")").call(Et).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),g.db.topAxisEnabled()||w.topAxis){let Dt=E9e(X).tickSize(-Y+Z+w.gridLineStartPadding).tickFormat(_W(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(Nt!==null){const jt=Nt[1],Ct=Nt[2],Ft=g.db.getWeekday()||w.weekday;switch(Ct){case"millisecond":Dt.ticks(NL.every(jt));break;case"second":Dt.ticks(u8.every(jt));break;case"minute":Dt.ticks(eF.every(jt));break;case"hour":Dt.ticks(nF.every(jt));break;case"day":Dt.ticks(s9.every(jt));break;case"week":Dt.ticks(Lzt[Ft].every(jt));break;case"month":Dt.ticks(sF.every(jt));break}}q.append("g").attr("class","grid").attr("transform","translate("+bt+", "+Z+")").call(Dt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function mt(bt,Z){let ft=0;const Y=Object.keys(F).map(Et=>[Et,F[Et]]);q.append("g").selectAll("text").data(Y).enter().append(function(Et){const V=Et[0].split(ei.lineBreakRegex),Nt=-(V.length-1)/2,Dt=_.createElementNS("http://www.w3.org/2000/svg","text");Dt.setAttribute("dy",Nt+"em");for(const[jt,Ct]of V.entries()){const Ft=_.createElementNS("http://www.w3.org/2000/svg","tspan");Ft.setAttribute("alignment-baseline","central"),Ft.setAttribute("x","10"),jt>0&&Ft.setAttribute("dy","1em"),Ft.textContent=Ct,Dt.appendChild(Ft)}return Dt}).attr("x",10).attr("y",function(Et,V){if(V>0)for(let Nt=0;Nt` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.titleColor||i.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`}},Symbol.toStringTag,{value:"Module"}));var lbt=function(){var i=function(v,b,E,_){for(E=E||{},_=v.length;_--;E[v[_]]=b);return E},a=[6,9,10],f={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,E,_,S,I,B,F){switch(B.length-1,I){case 1:return S;case 4:break;case 6:S.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,E){if(E.recoverable)this.trace(b);else{var _=new Error(b);throw _.hash=E,_}},parse:function(b){var E=this,_=[0],S=[],I=[null],B=[],F=this.table,R="",q=0,X=0,rt=2,at=1,ut=B.slice.call(arguments,1),pt=Object.create(this.lexer),yt={yy:{}};for(var mt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mt)&&(yt.yy[mt]=this.yy[mt]);pt.setInput(b,yt.yy),yt.yy.lexer=pt,yt.yy.parser=this,typeof pt.yylloc>"u"&&(pt.yylloc={});var gt=pt.yylloc;B.push(gt);var ht=pt.options&&pt.options.ranges;typeof yt.yy.parseError=="function"?this.parseError=yt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function bt(){var _t;return _t=S.pop()||pt.lex()||at,typeof _t!="number"&&(_t instanceof Array&&(S=_t,_t=S.pop()),_t=E.symbols_[_t]||_t),_t}for(var Z,ft,Y,Et,V={},Nt,Dt,jt,Ct;;){if(ft=_[_.length-1],this.defaultActions[ft]?Y=this.defaultActions[ft]:((Z===null||typeof Z>"u")&&(Z=bt()),Y=F[ft]&&F[ft][Z]),typeof Y>"u"||!Y.length||!Y[0]){var Ft="";Ct=[];for(Nt in F[ft])this.terminals_[Nt]&&Nt>rt&&Ct.push("'"+this.terminals_[Nt]+"'");pt.showPosition?Ft="Parse error on line "+(q+1)+`: +`+pt.showPosition()+` +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":Ft="Parse error on line "+(q+1)+": Unexpected "+(Z==at?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(Ft,{text:pt.match,token:this.terminals_[Z]||Z,line:pt.yylineno,loc:gt,expected:Ct})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ft+", token: "+Z);switch(Y[0]){case 1:_.push(Z),I.push(pt.yytext),B.push(pt.yylloc),_.push(Y[1]),Z=null,X=pt.yyleng,R=pt.yytext,q=pt.yylineno,gt=pt.yylloc;break;case 2:if(Dt=this.productions_[Y[1]][1],V.$=I[I.length-Dt],V._$={first_line:B[B.length-(Dt||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(Dt||1)].first_column,last_column:B[B.length-1].last_column},ht&&(V._$.range=[B[B.length-(Dt||1)].range[0],B[B.length-1].range[1]]),Et=this.performAction.apply(V,[R,X,q,yt.yy,Y[1],I,B].concat(ut)),typeof Et<"u")return Et;Dt&&(_=_.slice(0,-1*Dt*2),I=I.slice(0,-1*Dt),B=B.slice(0,-1*Dt)),_.push(this.productions_[Y[1]][0]),I.push(V.$),B.push(V._$),jt=F[_[_.length-2]][_[_.length-1]],_.push(jt);break;case 3:return!0}}return!0}},g=function(){var v={EOF:1,parseError:function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},setInput:function(b,E){return this.yy=E||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var E=b.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var E=b.length,_=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var S=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===S.length?this.yylloc.first_column:0)+S[S.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),E=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+E+"^"},test_match:function(b,E){var _,S,I;if(this.options.backtrack_lexer&&(I={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(I.yylloc.range=this.yylloc.range.slice(0))),S=b[0].match(/(?:\r\n?|\n).*/g),S&&(this.yylineno+=S.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:S?S[S.length-1].length-S[S.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var B in I)this[B]=I[B];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,E,_,S;this._more||(this.yytext="",this.match="");for(var I=this._currentRules(),B=0;BE[0].length)){if(E=_,S=B,this.options.backtrack_lexer){if(b=this.test_match(_,I[B]),b!==!1)return b;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(b=this.test_match(E,I[S]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var E=this.next();return E||this.lex()},begin:function(E){this.conditionStack.push(E)},popState:function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},pushState:function(E){this.begin(E)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(E,_,S,I){switch(S){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();f.lexer=g;function w(){this.yy={}}return w.prototype=f,f.Parser=w,new w}();lbt.parser=lbt;const FYe=lbt,Mzt={info:!1};let hbt=Mzt.info;const BYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:FYe,db:{clear:()=>{hbt=Mzt.info},setInfo:i=>{hbt=i},getInfo:()=>hbt},renderer:{draw:(i,a,f)=>{Wt.debug(`rendering info diagram +`+i);const g=wY(a);Kg(g,100,400,!0),g.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${f}`)}}}},Symbol.toStringTag,{value:"Module"}));var fbt=function(){var i=function(pt,yt,mt,gt){for(mt=mt||{},gt=pt.length;gt--;mt[pt[gt]]=yt);return mt},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],E=[1,5,10,12,14,16,18,19,20,21,22],_=[20,21,22],S=[2,7],I=[1,12],B=[1,13],F=[1,14],R=[1,15],q=[1,16],X=[1,17],rt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(yt,mt,gt,ht,bt,Z,ft){var Y=Z.length-1;switch(bt){case 3:ht.setShowData(!0);break;case 6:this.$=Z[Y-1];break;case 8:ht.addSection(Z[Y-1],ht.cleanupValue(Z[Y]));break;case 9:this.$=Z[Y].trim(),ht.setDiagramTitle(this.$);break;case 10:this.$=Z[Y].trim(),ht.setAccTitle(this.$);break;case 11:case 12:this.$=Z[Y].trim(),ht.setAccDescription(this.$);break;case 13:ht.addSection(Z[Y].substr(8)),this.$=Z[Y].substr(8);break}},table:[{3:1,4:2,5:a,20:f,21:g,22:w},{1:[3]},{3:7,4:2,5:a,20:f,21:g,22:w},i(v,b,{6:8,7:[1,9]}),i(E,[2,14]),i(E,[2,15]),i(E,[2,16]),{1:[2,1]},i(_,S,{8:10,9:11,1:[2,2],10:I,12:B,14:F,16:R,18:q,19:X}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:f,21:g,22:w},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(_,[2,12]),i(_,[2,13]),i(_,S,{8:10,9:11,1:[2,3],10:I,12:B,14:F,16:R,18:q,19:X}),i(v,[2,6]),i(_,[2,8]),i(_,[2,9]),i(_,[2,10]),i(_,[2,11])],defaultActions:{7:[2,1]},parseError:function(yt,mt){if(mt.recoverable)this.trace(yt);else{var gt=new Error(yt);throw gt.hash=mt,gt}},parse:function(yt){var mt=this,gt=[0],ht=[],bt=[null],Z=[],ft=this.table,Y="",Et=0,V=0,Nt=2,Dt=1,jt=Z.slice.call(arguments,1),Ct=Object.create(this.lexer),Ft={yy:{}};for(var _t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_t)&&(Ft.yy[_t]=this.yy[_t]);Ct.setInput(yt,Ft.yy),Ft.yy.lexer=Ct,Ft.yy.parser=this,typeof Ct.yylloc>"u"&&(Ct.yylloc={});var xt=Ct.yylloc;Z.push(xt);var Gt=Ct.options&&Ct.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var Se;return Se=ht.pop()||Ct.lex()||Dt,typeof Se!="number"&&(Se instanceof Array&&(ht=Se,Se=ht.pop()),Se=mt.symbols_[Se]||Se),Se}for(var Ot,vn,Pe,Ee,nn={},sn,me,Fe,Qt;;){if(vn=gt[gt.length-1],this.defaultActions[vn]?Pe=this.defaultActions[vn]:((Ot===null||typeof Ot>"u")&&(Ot=Be()),Pe=ft[vn]&&ft[vn][Ot]),typeof Pe>"u"||!Pe.length||!Pe[0]){var Ae="";Qt=[];for(sn in ft[vn])this.terminals_[sn]&&sn>Nt&&Qt.push("'"+this.terminals_[sn]+"'");Ct.showPosition?Ae="Parse error on line "+(Et+1)+`: +`+Ct.showPosition()+` +Expecting `+Qt.join(", ")+", got '"+(this.terminals_[Ot]||Ot)+"'":Ae="Parse error on line "+(Et+1)+": Unexpected "+(Ot==Dt?"end of input":"'"+(this.terminals_[Ot]||Ot)+"'"),this.parseError(Ae,{text:Ct.match,token:this.terminals_[Ot]||Ot,line:Ct.yylineno,loc:xt,expected:Qt})}if(Pe[0]instanceof Array&&Pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+vn+", token: "+Ot);switch(Pe[0]){case 1:gt.push(Ot),bt.push(Ct.yytext),Z.push(Ct.yylloc),gt.push(Pe[1]),Ot=null,V=Ct.yyleng,Y=Ct.yytext,Et=Ct.yylineno,xt=Ct.yylloc;break;case 2:if(me=this.productions_[Pe[1]][1],nn.$=bt[bt.length-me],nn._$={first_line:Z[Z.length-(me||1)].first_line,last_line:Z[Z.length-1].last_line,first_column:Z[Z.length-(me||1)].first_column,last_column:Z[Z.length-1].last_column},Gt&&(nn._$.range=[Z[Z.length-(me||1)].range[0],Z[Z.length-1].range[1]]),Ee=this.performAction.apply(nn,[Y,V,Et,Ft.yy,Pe[1],bt,Z].concat(jt)),typeof Ee<"u")return Ee;me&&(gt=gt.slice(0,-1*me*2),bt=bt.slice(0,-1*me),Z=Z.slice(0,-1*me)),gt.push(this.productions_[Pe[1]][0]),bt.push(nn.$),Z.push(nn._$),Fe=ft[gt[gt.length-2]][gt[gt.length-1]],gt.push(Fe);break;case 3:return!0}}return!0}},at=function(){var pt={EOF:1,parseError:function(mt,gt){if(this.yy.parser)this.yy.parser.parseError(mt,gt);else throw new Error(mt)},setInput:function(yt,mt){return this.yy=mt||this.yy||{},this._input=yt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var yt=this._input[0];this.yytext+=yt,this.yyleng++,this.offset++,this.match+=yt,this.matched+=yt;var mt=yt.match(/(?:\r\n?|\n).*/g);return mt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),yt},unput:function(yt){var mt=yt.length,gt=yt.split(/(?:\r\n?|\n)/g);this._input=yt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-mt),this.offset-=mt;var ht=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),gt.length-1&&(this.yylineno-=gt.length-1);var bt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:gt?(gt.length===ht.length?this.yylloc.first_column:0)+ht[ht.length-gt.length].length-gt[0].length:this.yylloc.first_column-mt},this.options.ranges&&(this.yylloc.range=[bt[0],bt[0]+this.yyleng-mt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(yt){this.unput(this.match.slice(yt))},pastInput:function(){var yt=this.matched.substr(0,this.matched.length-this.match.length);return(yt.length>20?"...":"")+yt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var yt=this.match;return yt.length<20&&(yt+=this._input.substr(0,20-yt.length)),(yt.substr(0,20)+(yt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var yt=this.pastInput(),mt=new Array(yt.length+1).join("-");return yt+this.upcomingInput()+` +`+mt+"^"},test_match:function(yt,mt){var gt,ht,bt;if(this.options.backtrack_lexer&&(bt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(bt.yylloc.range=this.yylloc.range.slice(0))),ht=yt[0].match(/(?:\r\n?|\n).*/g),ht&&(this.yylineno+=ht.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ht?ht[ht.length-1].length-ht[ht.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+yt[0].length},this.yytext+=yt[0],this.match+=yt[0],this.matches=yt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(yt[0].length),this.matched+=yt[0],gt=this.performAction.call(this,this.yy,this,mt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),gt)return gt;if(this._backtrack){for(var Z in bt)this[Z]=bt[Z];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var yt,mt,gt,ht;this._more||(this.yytext="",this.match="");for(var bt=this._currentRules(),Z=0;Zmt[0].length)){if(mt=gt,ht=Z,this.options.backtrack_lexer){if(yt=this.test_match(gt,bt[Z]),yt!==!1)return yt;if(this._backtrack){mt=!1;continue}else return!1}else if(!this.options.flex)break}return mt?(yt=this.test_match(mt,bt[ht]),yt!==!1?yt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var mt=this.next();return mt||this.lex()},begin:function(mt){this.conditionStack.push(mt)},popState:function(){var mt=this.conditionStack.length-1;return mt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(mt){return mt=this.conditionStack.length-1-Math.abs(mt||0),mt>=0?this.conditionStack[mt]:"INITIAL"},pushState:function(mt){this.begin(mt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(mt,gt,ht,bt){switch(ht){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return pt}();rt.lexer=at;function ut(){this.yy={}}return ut.prototype=rt,rt.Parser=ut,new ut}();fbt.parser=fbt;const RYe=fbt,Dzt=yf.pie,cX={sections:{},showData:!1,config:Dzt};let uX=cX.sections,dbt=cX.showData;const jYe=structuredClone(Dzt),$Ye={getConfig:()=>structuredClone(jYe),clear:()=>{uX=structuredClone(cX.sections),dbt=cX.showData,Wg()},setDiagramTitle:y2,getDiagramTitle:Jg,setAccTitle:ng,getAccTitle:Yg,setAccDescription:Xg,getAccDescription:Qg,addSection:(i,a)=>{i=Ed(i,Re()),uX[i]===void 0&&(uX[i]=a,Wt.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>uX,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{dbt=i},getShowData:()=>dbt},zYe=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,qYe=i=>{const a=Object.entries(i).map(g=>({label:g[0],value:g[1]})).sort((g,w)=>w.value-g.value);return WLe().value(g=>g.value)(a)},HYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:RYe,db:$Ye,renderer:{draw:(i,a,f,g)=>{Wt.debug(`rendering pie chart +`+i);const w=g.db,v=Re(),b=TF(w.getConfig(),v.pie),E=40,_=18,S=4,I=450,B=I,F=wY(a),R=F.append("g"),q=w.getSections();R.attr("transform","translate("+B/2+","+I/2+")");const{themeVariables:X}=v;let[rt]=QL(X.pieOuterStrokeWidth);rt??(rt=2);const at=b.textPosition,ut=Math.min(B,I)/2-E,pt=jL().innerRadius(0).outerRadius(ut),yt=jL().innerRadius(ut*at).outerRadius(ut*at);R.append("circle").attr("cx",0).attr("cy",0).attr("r",ut+rt/2).attr("class","pieOuterCircle");const mt=qYe(q),gt=[X.pie1,X.pie2,X.pie3,X.pie4,X.pie5,X.pie6,X.pie7,X.pie8,X.pie9,X.pie10,X.pie11,X.pie12],ht=TW(gt);R.selectAll("mySlices").data(mt).enter().append("path").attr("d",pt).attr("fill",Et=>ht(Et.data.label)).attr("class","pieCircle");let bt=0;Object.keys(q).forEach(Et=>{bt+=q[Et]}),R.selectAll("mySlices").data(mt).enter().append("text").text(Et=>(Et.data.value/bt*100).toFixed(0)+"%").attr("transform",Et=>"translate("+yt.centroid(Et)+")").style("text-anchor","middle").attr("class","slice"),R.append("text").text(w.getDiagramTitle()).attr("x",0).attr("y",-(I-50)/2).attr("class","pieTitleText");const Z=R.selectAll(".legend").data(ht.domain()).enter().append("g").attr("class","legend").attr("transform",(Et,V)=>{const Nt=_+S,Dt=Nt*ht.domain().length/2,jt=12*_,Ct=V*Nt-Dt;return"translate("+jt+","+Ct+")"});Z.append("rect").attr("width",_).attr("height",_).style("fill",ht).style("stroke",ht),Z.data(mt).append("text").attr("x",_+S).attr("y",_-S).text(Et=>{const{label:V,value:Nt}=Et.data;return w.getShowData()?`${V} [${Nt}]`:V});const ft=Math.max(...Z.selectAll("text").nodes().map(Et=>(Et==null?void 0:Et.getBoundingClientRect().width)??0)),Y=B+E+_+S+ft;F.attr("viewBox",`0 0 ${Y} ${I}`),Kg(F,I,Y,b.useMaxWidth)}},styles:zYe}},Symbol.toStringTag,{value:"Module"}));var gbt=function(){var i=function(Pe,Ee,nn,sn){for(nn=nn||{},sn=Pe.length;sn--;nn[Pe[sn]]=Ee);return nn},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],E=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],_=[32,33,34],S=[2,7],I=[1,13],B=[1,17],F=[1,18],R=[1,19],q=[1,20],X=[1,21],rt=[1,22],at=[1,23],ut=[1,24],pt=[1,25],yt=[1,26],mt=[1,27],gt=[1,30],ht=[1,31],bt=[1,32],Z=[1,33],ft=[1,34],Y=[1,35],Et=[1,36],V=[1,37],Nt=[1,38],Dt=[1,39],jt=[1,40],Ct=[1,41],Ft=[1,42],_t=[1,57],xt=[1,58],Gt=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Be={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(Ee,nn,sn,me,Fe,Qt,Ae){var Se=Qt.length-1;switch(Fe){case 12:this.$=Qt[Se].trim(),me.setDiagramTitle(this.$);break;case 13:this.$=Qt[Se].trim(),me.setAccTitle(this.$);break;case 14:case 15:this.$=Qt[Se].trim(),me.setAccDescription(this.$);break;case 16:me.addSection(Qt[Se].substr(8)),this.$=Qt[Se].substr(8);break;case 17:me.addPoint(Qt[Se-3],Qt[Se-1],Qt[Se]);break;case 18:me.setXAxisLeftText(Qt[Se-2]),me.setXAxisRightText(Qt[Se]);break;case 19:Qt[Se-1].text+=" ⟶ ",me.setXAxisLeftText(Qt[Se-1]);break;case 20:me.setXAxisLeftText(Qt[Se]);break;case 21:me.setYAxisBottomText(Qt[Se-2]),me.setYAxisTopText(Qt[Se]);break;case 22:Qt[Se-1].text+=" ⟶ ",me.setYAxisBottomText(Qt[Se-1]);break;case 23:me.setYAxisBottomText(Qt[Se]);break;case 24:me.setQuadrant1Text(Qt[Se]);break;case 25:me.setQuadrant2Text(Qt[Se]);break;case 26:me.setQuadrant3Text(Qt[Se]);break;case 27:me.setQuadrant4Text(Qt[Se]);break;case 31:this.$={text:Qt[Se],type:"text"};break;case 32:this.$={text:Qt[Se-1].text+""+Qt[Se],type:Qt[Se-1].type};break;case 33:this.$={text:Qt[Se],type:"text"};break;case 34:this.$={text:Qt[Se],type:"markdown"};break;case 35:this.$=Qt[Se];break;case 36:this.$=Qt[Se-1]+""+Qt[Se];break}},table:[{3:1,4:2,5:a,6:f,32:g,33:w,34:v},{1:[3]},{3:8,4:2,5:a,6:f,32:g,33:w,34:v},{3:9,4:2,5:a,6:f,32:g,33:w,34:v},i(b,[2,4],{7:10}),i(E,[2,28]),i(E,[2,29]),i(E,[2,30]),{1:[2,1]},{1:[2,2]},i(_,S,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:I,13:B,15:F,17:R,19:q,20:X,25:rt,27:at,28:ut,29:pt,30:yt,31:mt,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft}),i(b,[2,5]),{4:43,32:g,33:w,34:v},i(_,S,{10:14,11:15,12:16,21:28,35:29,9:44,5:I,13:B,15:F,17:R,19:q,20:X,25:rt,27:at,28:ut,29:pt,30:yt,31:mt,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft}),i(_,[2,9]),i(_,[2,10]),i(_,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(_,[2,15]),i(_,[2,16]),{21:48,35:29,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft},{21:49,35:29,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft},{21:50,35:29,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft},{21:51,35:29,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft},{21:52,35:29,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft},{21:53,35:29,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft},{5:_t,22:[1,54],35:56,36:55,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt},i(Gt,[2,31]),i(Gt,[2,33]),i(Gt,[2,34]),i(Gt,[2,37]),i(Gt,[2,38]),i(Gt,[2,39]),i(Gt,[2,40]),i(Gt,[2,41]),i(Gt,[2,42]),i(Gt,[2,43]),i(Gt,[2,44]),i(Gt,[2,45]),i(Gt,[2,46]),i(Gt,[2,47]),i(b,[2,6]),i(_,[2,8]),i(_,[2,12]),i(_,[2,13]),i(_,[2,14]),i(_,[2,20],{36:55,35:56,5:_t,26:[1,59],40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,23],{36:55,35:56,5:_t,26:[1,60],40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,24],{36:55,35:56,5:_t,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,25],{36:55,35:56,5:_t,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,26],{36:55,35:56,5:_t,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,27],{36:55,35:56,5:_t,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),{23:[1,61]},i(Gt,[2,32]),i(Gt,[2,48]),i(Gt,[2,49]),i(Gt,[2,50]),i(_,[2,19],{35:29,21:62,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft}),i(_,[2,22],{35:29,21:63,37:gt,38:ht,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft}),{24:[1,64]},i(_,[2,18],{36:55,35:56,5:_t,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,21],{36:55,35:56,5:_t,40:bt,41:Z,42:ft,43:Y,44:Et,45:V,46:Nt,47:Dt,48:jt,49:Ct,50:Ft,51:xt}),i(_,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Ee,nn){if(nn.recoverable)this.trace(Ee);else{var sn=new Error(Ee);throw sn.hash=nn,sn}},parse:function(Ee){var nn=this,sn=[0],me=[],Fe=[null],Qt=[],Ae=this.table,Se="",Dn=0,oe=0,Pr=2,we=1,Ri=Qt.slice.call(arguments,1),yi=Object.create(this.lexer),da={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(da.yy[Ss]=this.yy[Ss]);yi.setInput(Ee,da.yy),da.yy.lexer=yi,da.yy.parser=this,typeof yi.yylloc>"u"&&(yi.yylloc={});var Ra=yi.yylloc;Qt.push(Ra);var fr=yi.options&&yi.options.ranges;typeof da.yy.parseError=="function"?this.parseError=da.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function An(){var ma;return ma=me.pop()||yi.lex()||we,typeof ma!="number"&&(ma instanceof Array&&(me=ma,ma=me.pop()),ma=nn.symbols_[ma]||ma),ma}for(var Pn,Bn,Te,be,Qe={},rn,yn,ja,mo;;){if(Bn=sn[sn.length-1],this.defaultActions[Bn]?Te=this.defaultActions[Bn]:((Pn===null||typeof Pn>"u")&&(Pn=An()),Te=Ae[Bn]&&Ae[Bn][Pn]),typeof Te>"u"||!Te.length||!Te[0]){var vo="";mo=[];for(rn in Ae[Bn])this.terminals_[rn]&&rn>Pr&&mo.push("'"+this.terminals_[rn]+"'");yi.showPosition?vo="Parse error on line "+(Dn+1)+`: +`+yi.showPosition()+` +Expecting `+mo.join(", ")+", got '"+(this.terminals_[Pn]||Pn)+"'":vo="Parse error on line "+(Dn+1)+": Unexpected "+(Pn==we?"end of input":"'"+(this.terminals_[Pn]||Pn)+"'"),this.parseError(vo,{text:yi.match,token:this.terminals_[Pn]||Pn,line:yi.yylineno,loc:Ra,expected:mo})}if(Te[0]instanceof Array&&Te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bn+", token: "+Pn);switch(Te[0]){case 1:sn.push(Pn),Fe.push(yi.yytext),Qt.push(yi.yylloc),sn.push(Te[1]),Pn=null,oe=yi.yyleng,Se=yi.yytext,Dn=yi.yylineno,Ra=yi.yylloc;break;case 2:if(yn=this.productions_[Te[1]][1],Qe.$=Fe[Fe.length-yn],Qe._$={first_line:Qt[Qt.length-(yn||1)].first_line,last_line:Qt[Qt.length-1].last_line,first_column:Qt[Qt.length-(yn||1)].first_column,last_column:Qt[Qt.length-1].last_column},fr&&(Qe._$.range=[Qt[Qt.length-(yn||1)].range[0],Qt[Qt.length-1].range[1]]),be=this.performAction.apply(Qe,[Se,oe,Dn,da.yy,Te[1],Fe,Qt].concat(Ri)),typeof be<"u")return be;yn&&(sn=sn.slice(0,-1*yn*2),Fe=Fe.slice(0,-1*yn),Qt=Qt.slice(0,-1*yn)),sn.push(this.productions_[Te[1]][0]),Fe.push(Qe.$),Qt.push(Qe._$),ja=Ae[sn[sn.length-2]][sn[sn.length-1]],sn.push(ja);break;case 3:return!0}}return!0}},Ot=function(){var Pe={EOF:1,parseError:function(nn,sn){if(this.yy.parser)this.yy.parser.parseError(nn,sn);else throw new Error(nn)},setInput:function(Ee,nn){return this.yy=nn||this.yy||{},this._input=Ee,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Ee=this._input[0];this.yytext+=Ee,this.yyleng++,this.offset++,this.match+=Ee,this.matched+=Ee;var nn=Ee.match(/(?:\r\n?|\n).*/g);return nn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ee},unput:function(Ee){var nn=Ee.length,sn=Ee.split(/(?:\r\n?|\n)/g);this._input=Ee+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-nn),this.offset-=nn;var me=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),sn.length-1&&(this.yylineno-=sn.length-1);var Fe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:sn?(sn.length===me.length?this.yylloc.first_column:0)+me[me.length-sn.length].length-sn[0].length:this.yylloc.first_column-nn},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-nn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Ee){this.unput(this.match.slice(Ee))},pastInput:function(){var Ee=this.matched.substr(0,this.matched.length-this.match.length);return(Ee.length>20?"...":"")+Ee.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Ee=this.match;return Ee.length<20&&(Ee+=this._input.substr(0,20-Ee.length)),(Ee.substr(0,20)+(Ee.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Ee=this.pastInput(),nn=new Array(Ee.length+1).join("-");return Ee+this.upcomingInput()+` +`+nn+"^"},test_match:function(Ee,nn){var sn,me,Fe;if(this.options.backtrack_lexer&&(Fe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Fe.yylloc.range=this.yylloc.range.slice(0))),me=Ee[0].match(/(?:\r\n?|\n).*/g),me&&(this.yylineno+=me.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:me?me[me.length-1].length-me[me.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ee[0].length},this.yytext+=Ee[0],this.match+=Ee[0],this.matches=Ee,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ee[0].length),this.matched+=Ee[0],sn=this.performAction.call(this,this.yy,this,nn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),sn)return sn;if(this._backtrack){for(var Qt in Fe)this[Qt]=Fe[Qt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ee,nn,sn,me;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),Qt=0;Qtnn[0].length)){if(nn=sn,me=Qt,this.options.backtrack_lexer){if(Ee=this.test_match(sn,Fe[Qt]),Ee!==!1)return Ee;if(this._backtrack){nn=!1;continue}else return!1}else if(!this.options.flex)break}return nn?(Ee=this.test_match(nn,Fe[me]),Ee!==!1?Ee:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var nn=this.next();return nn||this.lex()},begin:function(nn){this.conditionStack.push(nn)},popState:function(){var nn=this.conditionStack.length-1;return nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(nn){return nn=this.conditionStack.length-1-Math.abs(nn||0),nn>=0?this.conditionStack[nn]:"INITIAL"},pushState:function(nn){this.begin(nn)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(nn,sn,me,Fe){switch(me){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Pe}();Be.lexer=Ot;function vn(){this.yy={}}return vn.prototype=Be,Be.Parser=vn,new vn}();gbt.parser=gbt;const VYe=gbt,np=sgt();class UYe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,g,w,v,b,E,_,S,I,B,F,R,q,X,rt,at,ut;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=yf.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=yf.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((g=yf.quadrantChart)==null?void 0:g.titlePadding)||10,titleFontSize:((w=yf.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((v=yf.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=yf.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=yf.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((_=yf.quadrantChart)==null?void 0:_.xAxisLabelFontSize)||16,yAxisLabelFontSize:((S=yf.quadrantChart)==null?void 0:S.yAxisLabelFontSize)||16,quadrantLabelFontSize:((I=yf.quadrantChart)==null?void 0:I.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=yf.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((F=yf.quadrantChart)==null?void 0:F.pointTextPadding)||5,pointLabelFontSize:((R=yf.quadrantChart)==null?void 0:R.pointLabelFontSize)||12,pointRadius:((q=yf.quadrantChart)==null?void 0:q.pointRadius)||5,xAxisPosition:((X=yf.quadrantChart)==null?void 0:X.xAxisPosition)||"top",yAxisPosition:((rt=yf.quadrantChart)==null?void 0:rt.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((at=yf.quadrantChart)==null?void 0:at.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((ut=yf.quadrantChart)==null?void 0:ut.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:np.quadrant1Fill,quadrant2Fill:np.quadrant2Fill,quadrant3Fill:np.quadrant3Fill,quadrant4Fill:np.quadrant4Fill,quadrant1TextFill:np.quadrant1TextFill,quadrant2TextFill:np.quadrant2TextFill,quadrant3TextFill:np.quadrant3TextFill,quadrant4TextFill:np.quadrant4TextFill,quadrantPointFill:np.quadrantPointFill,quadrantPointTextFill:np.quadrantPointTextFill,quadrantXAxisTextFill:np.quadrantXAxisTextFill,quadrantYAxisTextFill:np.quadrantYAxisTextFill,quadrantTitleFill:np.quadrantTitleFill,quadrantInternalBorderStrokeFill:np.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:np.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Wt.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Wt.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Wt.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,g,w){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?v:0,bottom:a==="bottom"&&f?v:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,_={left:this.config.yAxisPosition==="left"&&g?E:0,right:this.config.yAxisPosition==="right"&&g?E:0},S=this.config.titleFontSize+this.config.titlePadding*2,I={top:w?S:0},B=this.config.quadrantPadding+_.left,F=this.config.quadrantPadding+b.top+I.top,R=this.config.chartWidth-this.config.quadrantPadding*2-_.left-_.right,q=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-I.top,X=R/2,rt=q/2;return{xAxisSpace:b,yAxisSpace:_,titleSpace:I,quadrantSpace:{quadrantLeft:B,quadrantTop:F,quadrantWidth:R,quadrantHalfWidth:X,quadrantHeight:q,quadrantHalfHeight:rt}}}getAxisLabels(a,f,g,w){const{quadrantSpace:v,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:_,quadrantLeft:S,quadrantHalfWidth:I,quadrantTop:B,quadrantWidth:F}=v,R=!!this.data.xAxisRightText,q=!!this.data.yAxisTopText,X=[];return this.data.xAxisLeftText&&f&&X.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:S+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&X.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:S+I+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&g&&X.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+S+F+this.config.quadrantPadding,y:B+_-(q?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&g&&X.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+S+F+this.config.quadrantPadding,y:B+E-(q?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:q?"center":"left",horizontalPos:"top",rotation:-90}),X}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:g,quadrantLeft:w,quadrantHalfWidth:v,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b,width:v,height:g,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:v,height:g,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant4Fill}];for(const _ of E)_.text.x=_.x+_.width/2,this.data.points.length===0?(_.text.y=_.y+_.height/2,_.text.horizontalPos="middle"):(_.text.y=_.y+this.config.quadrantTextTopPadding,_.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:g,quadrantLeft:w,quadrantTop:v,quadrantWidth:b}=f,E=PL().domain([0,1]).range([w,b+w]),_=PL().domain([0,1]).range([g+v,v]);return this.data.points.map(I=>({x:E(I.x),y:_(I.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:I.text,fill:this.themeConfig.quadrantPointTextFill,x:E(I.x),y:_(I.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:g}=a,{quadrantHalfHeight:w,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:_,quadrantWidth:S}=g;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_,x2:b+S+f,y2:_},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+S,y1:_+f,x2:b+S,y2:_+v-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_+v,x2:b+S+f,y2:_+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:_+f,x2:b,y2:_+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:_+f,x2:b+E,y2:_+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:_+w,x2:b+S-f,y2:_+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),g=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(w,a,f,g);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(w,a,f,v),borderLines:this.getBorders(v),title:this.getTitle(g)}}}const GYe=Re();function jx(i){return Ed(i.trim(),GYe)}const ig=new UYe;function KYe(i){ig.setData({quadrant1Text:jx(i.text)})}function WYe(i){ig.setData({quadrant2Text:jx(i.text)})}function YYe(i){ig.setData({quadrant3Text:jx(i.text)})}function XYe(i){ig.setData({quadrant4Text:jx(i.text)})}function QYe(i){ig.setData({xAxisLeftText:jx(i.text)})}function JYe(i){ig.setData({xAxisRightText:jx(i.text)})}function ZYe(i){ig.setData({yAxisTopText:jx(i.text)})}function tXe(i){ig.setData({yAxisBottomText:jx(i.text)})}function eXe(i,a,f){ig.addPoints([{x:a,y:f,text:jx(i.text)}])}function nXe(i){ig.setConfig({chartWidth:i})}function rXe(i){ig.setConfig({chartHeight:i})}function iXe(){const i=Re(),{themeVariables:a,quadrantChart:f}=i;return f&&ig.setConfig(f),ig.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),ig.setData({titleText:Jg()}),ig.build()}const sXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:VYe,db:{setWidth:nXe,setHeight:rXe,setQuadrant1Text:KYe,setQuadrant2Text:WYe,setQuadrant3Text:YYe,setQuadrant4Text:XYe,setXAxisLeftText:QYe,setXAxisRightText:JYe,setYAxisTopText:ZYe,setYAxisBottomText:tXe,addPoint:eXe,getQuadrantData:iXe,clear:function(){ig.clear(),Wg()},setAccTitle:ng,getAccTitle:Yg,setDiagramTitle:y2,getDiagramTitle:Jg,getAccDescription:Qg,setAccDescription:Xg},renderer:{draw:(i,a,f,g)=>{var bt,Z,ft;function w(Y){return Y==="top"?"hanging":"middle"}function v(Y){return Y==="left"?"start":"middle"}function b(Y){return`translate(${Y.x}, ${Y.y}) rotate(${Y.rotation||0})`}const E=Re();Wt.debug(`Rendering quadrant chart +`+i);const _=E.securityLevel;let S;_==="sandbox"&&(S=xr("#i"+a));const B=xr(_==="sandbox"?S.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),F=B.append("g").attr("class","main"),R=((bt=E.quadrantChart)==null?void 0:bt.chartWidth)||500,q=((Z=E.quadrantChart)==null?void 0:Z.chartHeight)||500;Kg(B,q,R,((ft=E.quadrantChart)==null?void 0:ft.useMaxWidth)||!0),B.attr("viewBox","0 0 "+R+" "+q),g.db.setHeight(q),g.db.setWidth(R);const X=g.db.getQuadrantData(),rt=F.append("g").attr("class","quadrants"),at=F.append("g").attr("class","border"),ut=F.append("g").attr("class","data-points"),pt=F.append("g").attr("class","labels"),yt=F.append("g").attr("class","title");X.title&&yt.append("text").attr("x",0).attr("y",0).attr("fill",X.title.fill).attr("font-size",X.title.fontSize).attr("dominant-baseline",w(X.title.horizontalPos)).attr("text-anchor",v(X.title.verticalPos)).attr("transform",b(X.title)).text(X.title.text),X.borderLines&&at.selectAll("line").data(X.borderLines).enter().append("line").attr("x1",Y=>Y.x1).attr("y1",Y=>Y.y1).attr("x2",Y=>Y.x2).attr("y2",Y=>Y.y2).style("stroke",Y=>Y.strokeFill).style("stroke-width",Y=>Y.strokeWidth);const mt=rt.selectAll("g.quadrant").data(X.quadrants).enter().append("g").attr("class","quadrant");mt.append("rect").attr("x",Y=>Y.x).attr("y",Y=>Y.y).attr("width",Y=>Y.width).attr("height",Y=>Y.height).attr("fill",Y=>Y.fill),mt.append("text").attr("x",0).attr("y",0).attr("fill",Y=>Y.text.fill).attr("font-size",Y=>Y.text.fontSize).attr("dominant-baseline",Y=>w(Y.text.horizontalPos)).attr("text-anchor",Y=>v(Y.text.verticalPos)).attr("transform",Y=>b(Y.text)).text(Y=>Y.text.text),pt.selectAll("g.label").data(X.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(Y=>Y.text).attr("fill",Y=>Y.fill).attr("font-size",Y=>Y.fontSize).attr("dominant-baseline",Y=>w(Y.horizontalPos)).attr("text-anchor",Y=>v(Y.verticalPos)).attr("transform",Y=>b(Y));const ht=ut.selectAll("g.data-point").data(X.points).enter().append("g").attr("class","data-point");ht.append("circle").attr("cx",Y=>Y.x).attr("cy",Y=>Y.y).attr("r",Y=>Y.radius).attr("fill",Y=>Y.fill),ht.append("text").attr("x",0).attr("y",0).text(Y=>Y.text.text).attr("fill",Y=>Y.text.fill).attr("font-size",Y=>Y.text.fontSize).attr("dominant-baseline",Y=>w(Y.text.horizontalPos)).attr("text-anchor",Y=>v(Y.text.verticalPos)).attr("transform",Y=>b(Y.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var pbt=function(){var i=function(Dt,jt,Ct,Ft){for(Ct=Ct||{},Ft=Dt.length;Ft--;Ct[Dt[Ft]]=jt);return Ct},a=[1,10,12,14,16,18,19,21,23],f=[2,6],g=[1,3],w=[1,5],v=[1,6],b=[1,7],E=[1,5,10,12,14,16,18,19,21,23,34,35,36],_=[1,25],S=[1,26],I=[1,28],B=[1,29],F=[1,30],R=[1,31],q=[1,32],X=[1,33],rt=[1,34],at=[1,35],ut=[1,36],pt=[1,37],yt=[1,43],mt=[1,42],gt=[1,47],ht=[1,50],bt=[1,10,12,14,16,18,19,21,23,34,35,36],Z=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],ft=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],Y=[1,64],Et={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(jt,Ct,Ft,_t,xt,Gt,Be){var Ot=Gt.length-1;switch(xt){case 5:_t.setOrientation(Gt[Ot]);break;case 9:_t.setDiagramTitle(Gt[Ot].text.trim());break;case 12:_t.setLineData({text:"",type:"text"},Gt[Ot]);break;case 13:_t.setLineData(Gt[Ot-1],Gt[Ot]);break;case 14:_t.setBarData({text:"",type:"text"},Gt[Ot]);break;case 15:_t.setBarData(Gt[Ot-1],Gt[Ot]);break;case 16:this.$=Gt[Ot].trim(),_t.setAccTitle(this.$);break;case 17:case 18:this.$=Gt[Ot].trim(),_t.setAccDescription(this.$);break;case 19:this.$=Gt[Ot-1];break;case 20:this.$=[Number(Gt[Ot-2]),...Gt[Ot]];break;case 21:this.$=[Number(Gt[Ot])];break;case 22:_t.setXAxisTitle(Gt[Ot]);break;case 23:_t.setXAxisTitle(Gt[Ot-1]);break;case 24:_t.setXAxisTitle({type:"text",text:""});break;case 25:_t.setXAxisBand(Gt[Ot]);break;case 26:_t.setXAxisRangeData(Number(Gt[Ot-2]),Number(Gt[Ot]));break;case 27:this.$=Gt[Ot-1];break;case 28:this.$=[Gt[Ot-2],...Gt[Ot]];break;case 29:this.$=[Gt[Ot]];break;case 30:_t.setYAxisTitle(Gt[Ot]);break;case 31:_t.setYAxisTitle(Gt[Ot-1]);break;case 32:_t.setYAxisTitle({type:"text",text:""});break;case 33:_t.setYAxisRangeData(Number(Gt[Ot-2]),Number(Gt[Ot]));break;case 37:this.$={text:Gt[Ot],type:"text"};break;case 38:this.$={text:Gt[Ot],type:"text"};break;case 39:this.$={text:Gt[Ot],type:"markdown"};break;case 40:this.$=Gt[Ot];break;case 41:this.$=Gt[Ot-1]+""+Gt[Ot];break}},table:[i(a,f,{3:1,4:2,7:4,5:g,34:w,35:v,36:b}),{1:[3]},i(a,f,{4:2,7:4,3:8,5:g,34:w,35:v,36:b}),i(a,f,{4:2,7:4,6:9,3:10,5:g,8:[1,11],34:w,35:v,36:b}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},i(E,[2,34]),i(E,[2,35]),i(E,[2,36]),{1:[2,1]},i(a,f,{4:2,7:4,3:21,5:g,34:w,35:v,36:b}),{1:[2,3]},i(E,[2,5]),i(a,[2,7],{4:22,34:w,35:v,36:b}),{11:23,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},{11:39,13:38,24:yt,27:mt,29:40,30:41,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},{11:45,15:44,27:gt,33:46,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},{11:49,17:48,24:ht,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},{11:52,17:51,24:ht,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},{20:[1,53]},{22:[1,54]},i(bt,[2,18]),{1:[2,2]},i(bt,[2,8]),i(bt,[2,9]),i(Z,[2,37],{40:55,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt}),i(Z,[2,38]),i(Z,[2,39]),i(ft,[2,40]),i(ft,[2,42]),i(ft,[2,43]),i(ft,[2,44]),i(ft,[2,45]),i(ft,[2,46]),i(ft,[2,47]),i(ft,[2,48]),i(ft,[2,49]),i(ft,[2,50]),i(ft,[2,51]),i(bt,[2,10]),i(bt,[2,22],{30:41,29:56,24:yt,27:mt}),i(bt,[2,24]),i(bt,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},i(bt,[2,11]),i(bt,[2,30],{33:60,27:gt}),i(bt,[2,32]),{31:[1,61]},i(bt,[2,12]),{17:62,24:ht},{25:63,27:Y},i(bt,[2,14]),{17:65,24:ht},i(bt,[2,16]),i(bt,[2,17]),i(ft,[2,41]),i(bt,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(bt,[2,31]),{27:[1,69]},i(bt,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(bt,[2,15]),i(bt,[2,26]),i(bt,[2,27]),{11:59,32:72,37:24,38:_,39:S,40:27,41:I,42:B,43:F,44:R,45:q,46:X,47:rt,48:at,49:ut,50:pt},i(bt,[2,33]),i(bt,[2,19]),{25:73,27:Y},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(jt,Ct){if(Ct.recoverable)this.trace(jt);else{var Ft=new Error(jt);throw Ft.hash=Ct,Ft}},parse:function(jt){var Ct=this,Ft=[0],_t=[],xt=[null],Gt=[],Be=this.table,Ot="",vn=0,Pe=0,Ee=2,nn=1,sn=Gt.slice.call(arguments,1),me=Object.create(this.lexer),Fe={yy:{}};for(var Qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qt)&&(Fe.yy[Qt]=this.yy[Qt]);me.setInput(jt,Fe.yy),Fe.yy.lexer=me,Fe.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var Ae=me.yylloc;Gt.push(Ae);var Se=me.options&&me.options.ranges;typeof Fe.yy.parseError=="function"?this.parseError=Fe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Dn(){var Pn;return Pn=_t.pop()||me.lex()||nn,typeof Pn!="number"&&(Pn instanceof Array&&(_t=Pn,Pn=_t.pop()),Pn=Ct.symbols_[Pn]||Pn),Pn}for(var oe,Pr,we,Ri,yi={},da,Ss,Ra,fr;;){if(Pr=Ft[Ft.length-1],this.defaultActions[Pr]?we=this.defaultActions[Pr]:((oe===null||typeof oe>"u")&&(oe=Dn()),we=Be[Pr]&&Be[Pr][oe]),typeof we>"u"||!we.length||!we[0]){var An="";fr=[];for(da in Be[Pr])this.terminals_[da]&&da>Ee&&fr.push("'"+this.terminals_[da]+"'");me.showPosition?An="Parse error on line "+(vn+1)+`: +`+me.showPosition()+` +Expecting `+fr.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":An="Parse error on line "+(vn+1)+": Unexpected "+(oe==nn?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(An,{text:me.match,token:this.terminals_[oe]||oe,line:me.yylineno,loc:Ae,expected:fr})}if(we[0]instanceof Array&&we.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pr+", token: "+oe);switch(we[0]){case 1:Ft.push(oe),xt.push(me.yytext),Gt.push(me.yylloc),Ft.push(we[1]),oe=null,Pe=me.yyleng,Ot=me.yytext,vn=me.yylineno,Ae=me.yylloc;break;case 2:if(Ss=this.productions_[we[1]][1],yi.$=xt[xt.length-Ss],yi._$={first_line:Gt[Gt.length-(Ss||1)].first_line,last_line:Gt[Gt.length-1].last_line,first_column:Gt[Gt.length-(Ss||1)].first_column,last_column:Gt[Gt.length-1].last_column},Se&&(yi._$.range=[Gt[Gt.length-(Ss||1)].range[0],Gt[Gt.length-1].range[1]]),Ri=this.performAction.apply(yi,[Ot,Pe,vn,Fe.yy,we[1],xt,Gt].concat(sn)),typeof Ri<"u")return Ri;Ss&&(Ft=Ft.slice(0,-1*Ss*2),xt=xt.slice(0,-1*Ss),Gt=Gt.slice(0,-1*Ss)),Ft.push(this.productions_[we[1]][0]),xt.push(yi.$),Gt.push(yi._$),Ra=Be[Ft[Ft.length-2]][Ft[Ft.length-1]],Ft.push(Ra);break;case 3:return!0}}return!0}},V=function(){var Dt={EOF:1,parseError:function(Ct,Ft){if(this.yy.parser)this.yy.parser.parseError(Ct,Ft);else throw new Error(Ct)},setInput:function(jt,Ct){return this.yy=Ct||this.yy||{},this._input=jt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var jt=this._input[0];this.yytext+=jt,this.yyleng++,this.offset++,this.match+=jt,this.matched+=jt;var Ct=jt.match(/(?:\r\n?|\n).*/g);return Ct?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),jt},unput:function(jt){var Ct=jt.length,Ft=jt.split(/(?:\r\n?|\n)/g);this._input=jt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ct),this.offset-=Ct;var _t=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ft.length-1&&(this.yylineno-=Ft.length-1);var xt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ft?(Ft.length===_t.length?this.yylloc.first_column:0)+_t[_t.length-Ft.length].length-Ft[0].length:this.yylloc.first_column-Ct},this.options.ranges&&(this.yylloc.range=[xt[0],xt[0]+this.yyleng-Ct]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(jt){this.unput(this.match.slice(jt))},pastInput:function(){var jt=this.matched.substr(0,this.matched.length-this.match.length);return(jt.length>20?"...":"")+jt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var jt=this.match;return jt.length<20&&(jt+=this._input.substr(0,20-jt.length)),(jt.substr(0,20)+(jt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var jt=this.pastInput(),Ct=new Array(jt.length+1).join("-");return jt+this.upcomingInput()+` +`+Ct+"^"},test_match:function(jt,Ct){var Ft,_t,xt;if(this.options.backtrack_lexer&&(xt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(xt.yylloc.range=this.yylloc.range.slice(0))),_t=jt[0].match(/(?:\r\n?|\n).*/g),_t&&(this.yylineno+=_t.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_t?_t[_t.length-1].length-_t[_t.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+jt[0].length},this.yytext+=jt[0],this.match+=jt[0],this.matches=jt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(jt[0].length),this.matched+=jt[0],Ft=this.performAction.call(this,this.yy,this,Ct,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ft)return Ft;if(this._backtrack){for(var Gt in xt)this[Gt]=xt[Gt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var jt,Ct,Ft,_t;this._more||(this.yytext="",this.match="");for(var xt=this._currentRules(),Gt=0;GtCt[0].length)){if(Ct=Ft,_t=Gt,this.options.backtrack_lexer){if(jt=this.test_match(Ft,xt[Gt]),jt!==!1)return jt;if(this._backtrack){Ct=!1;continue}else return!1}else if(!this.options.flex)break}return Ct?(jt=this.test_match(Ct,xt[_t]),jt!==!1?jt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ct=this.next();return Ct||this.lex()},begin:function(Ct){this.conditionStack.push(Ct)},popState:function(){var Ct=this.conditionStack.length-1;return Ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},pushState:function(Ct){this.begin(Ct)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ct,Ft,_t,xt){switch(_t){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Dt}();Et.lexer=V;function Nt(){this.yy={}}return Nt.prototype=Et,Et.Parser=Nt,new Nt}();pbt.parser=pbt;const aXe=pbt;function Izt(i){return i.type==="bar"}function Ozt(i){return i.type==="band"}function rB(i){return i.type==="linear"}class Pzt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*f,height:f};const g={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const v of a){const b=oKe(w,1,v),E=b?b.width:v.length*f,_=b?b.height:f;g.width=Math.max(g.width,E),g.height=Math.max(g.height,_)}return w.remove(),g}}const Nzt=.7,Fzt=.2;class Bzt{constructor(a,f,g,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=g,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Nzt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Nzt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Fzt*a.width;this.outerPadding=Math.min(g.width/2,w);const v=g.height+this.axisConfig.labelPadding*2;this.labelTextHeight=g.height,v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Fzt*a.height;this.outerPadding=Math.min(g.height/2,w);const v=g.width+this.axisConfig.labelPadding*2;v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${f},${this.getScaleValue(g)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(g)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f} L ${this.getScaleValue(g)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(g)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class oXe extends Bzt{constructor(a,f,g,w,v){super(a,w,v,f),this.categories=g,this.scale=F0t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=F0t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Wt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class cXe extends Bzt{constructor(a,f,g,w,v){super(a,w,v,f),this.domain=g,this.scale=PL().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=PL().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function Rzt(i,a,f,g){const w=new Pzt(g);return Ozt(i)?new oXe(a,f,i.categories,i.title,w):new cXe(a,f,[i.min,i.max],i.title,w)}class uXe{constructor(a,f,g,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=g,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),g=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=g&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=g,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function lXe(i,a,f,g){const w=new Pzt(g);return new uXe(w,i,a,f)}class hXe{constructor(a,f,g,w,v){this.plotData=a,this.xAxis=f,this.yAxis=g,this.orientation=w,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(g=>[this.xAxis.getScaleValue(g[0]),this.yAxis.getScaleValue(g[1])]);let f;return this.orientation==="horizontal"?f=Cx().y(g=>g[0]).x(g=>g[1])(a):f=Cx().x(g=>g[0]).y(g=>g[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class fXe{constructor(a,f,g,w,v,b){this.barData=a,this.boundingRect=f,this.xAxis=g,this.yAxis=w,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),f=.05,g=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=g/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-w,height:g,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-w,y:v[1],width:g,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class dXe{constructor(a,f,g){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=g,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,g]of this.chartData.plots.entries())switch(g.type){case"line":{const w=new hXe(g,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new fXe(g,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function gXe(i,a,f){return new dXe(i,a,f)}class pXe{constructor(a,f,g,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:lXe(a,f,g,w),plot:gXe(a,f,g),xAxis:Rzt(f.xAxis,a.xAxis,{titleColor:g.xAxisTitleColor,labelColor:g.xAxisLabelColor,tickColor:g.xAxisTickColor,axisLineColor:g.xAxisLineColor},w),yAxis:Rzt(f.yAxis,a.yAxis,{titleColor:g.yAxisTitleColor,labelColor:g.yAxisLabelColor,tickColor:g.yAxisTickColor,axisLineColor:g.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:v,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),g=E.width,a-=E.width,a>0&&(v+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:g,y:w}),this.componentStore.xAxis.setRange([g,g+v]),this.componentStore.xAxis.setBoundingBoxXY({x:g,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(_=>Izt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),_=this.componentStore.plot.calculateSpace({width:b,height:E});a-=_.width,f-=_.height,_=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),g=_.height,f-=_.height,this.componentStore.xAxis.setAxisPosition("left"),_=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=_.width,w=_.width,this.componentStore.yAxis.setAxisPosition("top"),_=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=_.height,v=g+_.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:v}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:g}),this.componentStore.xAxis.setRange([v,v+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(S=>Izt(S))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class bXe{static build(a,f,g,w){return new pXe(a,f,g,w).getDrawableElement()}}let iB=0,jzt,sB=zzt(),aB=$zt(),Pu=qzt(),bbt=aB.plotColorPalette.split(",").map(i=>i.trim()),lX=!1,wbt=!1;function $zt(){const i=sgt(),a=h0();return TF(i.xyChart,a.themeVariables.xyChart)}function zzt(){const i=h0();return TF(yf.xyChart,i.xyChart)}function qzt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function mbt(i){const a=h0();return Ed(i.trim(),a)}function wXe(i){jzt=i}function mXe(i){i==="horizontal"?sB.chartOrientation="horizontal":sB.chartOrientation="vertical"}function vXe(i){Pu.xAxis.title=mbt(i.text)}function Hzt(i,a){Pu.xAxis={type:"linear",title:Pu.xAxis.title,min:i,max:a},lX=!0}function yXe(i){Pu.xAxis={type:"band",title:Pu.xAxis.title,categories:i.map(a=>mbt(a.text))},lX=!0}function xXe(i){Pu.yAxis.title=mbt(i.text)}function kXe(i,a){Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:i,max:a},wbt=!0}function EXe(i){const a=Math.min(...i),f=Math.max(...i),g=rB(Pu.yAxis)?Pu.yAxis.min:1/0,w=rB(Pu.yAxis)?Pu.yAxis.max:-1/0;Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:Math.min(g,a),max:Math.max(w,f)}}function Vzt(i){let a=[];if(i.length===0)return a;if(!lX){const f=rB(Pu.xAxis)?Pu.xAxis.min:1/0,g=rB(Pu.xAxis)?Pu.xAxis.max:-1/0;Hzt(Math.min(f,1),Math.max(g,i.length))}if(wbt||EXe(i),Ozt(Pu.xAxis)&&(a=Pu.xAxis.categories.map((f,g)=>[f,i[g]])),rB(Pu.xAxis)){const f=Pu.xAxis.min,g=Pu.xAxis.max,w=(g-f+1)/i.length,v=[];for(let b=f;b<=g;b+=w)v.push(`${b}`);a=v.map((b,E)=>[b,i[E]])}return a}function Uzt(i){return bbt[i===0?0:i%bbt.length]}function TXe(i,a){const f=Vzt(a);Pu.plots.push({type:"line",strokeFill:Uzt(iB),strokeWidth:2,data:f}),iB++}function CXe(i,a){const f=Vzt(a);Pu.plots.push({type:"bar",fill:Uzt(iB),data:f}),iB++}function _Xe(){if(Pu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Pu.title=Jg(),bXe.build(sB,Pu,aB,jzt)}function SXe(){return aB}function AXe(){return sB}const LXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:aXe,db:{getDrawableElem:_Xe,clear:function(){Wg(),iB=0,sB=zzt(),Pu=qzt(),aB=$zt(),bbt=aB.plotColorPalette.split(",").map(i=>i.trim()),lX=!1,wbt=!1},setAccTitle:ng,getAccTitle:Yg,setDiagramTitle:y2,getDiagramTitle:Jg,getAccDescription:Qg,setAccDescription:Xg,setOrientation:mXe,setXAxisTitle:vXe,setXAxisRangeData:Hzt,setXAxisBand:yXe,setYAxisTitle:xXe,setYAxisRangeData:kXe,setLineData:TXe,setBarData:CXe,setTmpSVGG:wXe,getChartThemeConfig:SXe,getChartConfig:AXe},renderer:{draw:(i,a,f,g)=>{const w=g.db,v=w.getChartThemeConfig(),b=w.getChartConfig();function E(rt){return rt==="top"?"text-before-edge":"middle"}function _(rt){return rt==="left"?"start":rt==="right"?"end":"middle"}function S(rt){return`translate(${rt.x}, ${rt.y}) rotate(${rt.rotation||0})`}Wt.debug(`Rendering xychart chart +`+i);const I=wY(a),B=I.append("g").attr("class","main"),F=B.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Kg(I,b.height,b.width,!0),I.attr("viewBox",`0 0 ${b.width} ${b.height}`),F.attr("fill",v.backgroundColor),w.setTmpSVGG(I.append("g").attr("class","mermaid-tmp-group"));const R=w.getDrawableElem(),q={};function X(rt){let at=B,ut="";for(const[pt]of rt.entries()){let yt=B;pt>0&&q[ut]&&(yt=q[ut]),ut+=rt[pt],at=q[ut],at||(at=q[ut]=yt.append("g").attr("class",rt[pt]))}return at}for(const rt of R){if(rt.data.length===0)continue;const at=X(rt.groupTexts);switch(rt.type){case"rect":at.selectAll("rect").data(rt.data).enter().append("rect").attr("x",ut=>ut.x).attr("y",ut=>ut.y).attr("width",ut=>ut.width).attr("height",ut=>ut.height).attr("fill",ut=>ut.fill).attr("stroke",ut=>ut.strokeFill).attr("stroke-width",ut=>ut.strokeWidth);break;case"text":at.selectAll("text").data(rt.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",ut=>ut.fill).attr("font-size",ut=>ut.fontSize).attr("dominant-baseline",ut=>E(ut.verticalPos)).attr("text-anchor",ut=>_(ut.horizontalPos)).attr("transform",ut=>S(ut)).text(ut=>ut.text);break;case"path":at.selectAll("path").data(rt.data).enter().append("path").attr("d",ut=>ut.path).attr("fill",ut=>ut.fill?ut.fill:"none").attr("stroke",ut=>ut.strokeFill).attr("stroke-width",ut=>ut.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var vbt=function(){var i=function(Pe,Ee,nn,sn){for(nn=nn||{},sn=Pe.length;sn--;nn[Pe[sn]]=Ee);return nn},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],E=[2,7],_=[1,22],S=[1,23],I=[1,24],B=[1,25],F=[1,26],R=[1,27],q=[1,20],X=[1,28],rt=[1,29],at=[62,63],ut=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pt=[1,47],yt=[1,48],mt=[1,49],gt=[1,50],ht=[1,51],bt=[1,52],Z=[1,53],ft=[53,54],Y=[1,64],Et=[1,60],V=[1,61],Nt=[1,62],Dt=[1,63],jt=[1,65],Ct=[1,69],Ft=[1,70],_t=[1,67],xt=[1,68],Gt=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Be={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(Ee,nn,sn,me,Fe,Qt,Ae){var Se=Qt.length-1;switch(Fe){case 4:this.$=Qt[Se].trim(),me.setAccTitle(this.$);break;case 5:case 6:this.$=Qt[Se].trim(),me.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:me.addRequirement(Qt[Se-3],Qt[Se-4]);break;case 14:me.setNewReqId(Qt[Se-2]);break;case 15:me.setNewReqText(Qt[Se-2]);break;case 16:me.setNewReqRisk(Qt[Se-2]);break;case 17:me.setNewReqVerifyMethod(Qt[Se-2]);break;case 20:this.$=me.RequirementType.REQUIREMENT;break;case 21:this.$=me.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=me.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=me.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=me.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=me.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=me.RiskLevel.LOW_RISK;break;case 27:this.$=me.RiskLevel.MED_RISK;break;case 28:this.$=me.RiskLevel.HIGH_RISK;break;case 29:this.$=me.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=me.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=me.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=me.VerifyType.VERIFY_TEST;break;case 33:me.addElement(Qt[Se-3]);break;case 34:me.setNewElementType(Qt[Se-2]);break;case 35:me.setNewElementDocRef(Qt[Se-2]);break;case 38:me.addRelationship(Qt[Se-2],Qt[Se],Qt[Se-4]);break;case 39:me.addRelationship(Qt[Se-2],Qt[Se-4],Qt[Se]);break;case 40:this.$=me.Relationships.CONTAINS;break;case 41:this.$=me.Relationships.COPIES;break;case 42:this.$=me.Relationships.DERIVES;break;case 43:this.$=me.Relationships.SATISFIES;break;case 44:this.$=me.Relationships.VERIFIES;break;case 45:this.$=me.Relationships.REFINES;break;case 46:this.$=me.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:f,11:g,13:w},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:f,11:g,13:w},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:a,9:f,11:g,13:w},{1:[2,2]},{4:17,5:b,7:13,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:S,33:I,34:B,35:F,36:R,44:q,62:X,63:rt},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:S,33:I,34:B,35:F,36:R,44:q,62:X,63:rt},{4:17,5:b,7:32,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:S,33:I,34:B,35:F,36:R,44:q,62:X,63:rt},{4:17,5:b,7:33,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:S,33:I,34:B,35:F,36:R,44:q,62:X,63:rt},{4:17,5:b,7:34,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:S,33:I,34:B,35:F,36:R,44:q,62:X,63:rt},{4:17,5:b,7:35,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:S,33:I,34:B,35:F,36:R,44:q,62:X,63:rt},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(at,[2,20]),i(at,[2,21]),i(at,[2,22]),i(at,[2,23]),i(at,[2,24]),i(at,[2,25]),i(ut,[2,49]),i(ut,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pt,56:yt,57:mt,58:gt,59:ht,60:bt,61:Z},{52:54,55:pt,56:yt,57:mt,58:gt,59:ht,60:bt,61:Z},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(ft,[2,40]),i(ft,[2,41]),i(ft,[2,42]),i(ft,[2,43]),i(ft,[2,44]),i(ft,[2,45]),i(ft,[2,46]),{54:[1,58]},{5:Y,20:59,21:Et,24:V,26:Nt,28:Dt,30:jt},{5:Ct,30:Ft,46:66,47:_t,49:xt},{23:71,62:X,63:rt},{23:72,62:X,63:rt},i(Gt,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:Y,20:77,21:Et,24:V,26:Nt,28:Dt,30:jt},i(Gt,[2,19]),i(Gt,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ct,30:Ft,46:80,47:_t,49:xt},i(Gt,[2,37]),i(Gt,[2,38]),i(Gt,[2,39]),{23:81,62:X,63:rt},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Gt,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Gt,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:Y,20:106,21:Et,24:V,26:Nt,28:Dt,30:jt},{5:Y,20:107,21:Et,24:V,26:Nt,28:Dt,30:jt},{5:Y,20:108,21:Et,24:V,26:Nt,28:Dt,30:jt},{5:Y,20:109,21:Et,24:V,26:Nt,28:Dt,30:jt},{5:Ct,30:Ft,46:110,47:_t,49:xt},{5:Ct,30:Ft,46:111,47:_t,49:xt},i(Gt,[2,14]),i(Gt,[2,15]),i(Gt,[2,16]),i(Gt,[2,17]),i(Gt,[2,34]),i(Gt,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(Ee,nn){if(nn.recoverable)this.trace(Ee);else{var sn=new Error(Ee);throw sn.hash=nn,sn}},parse:function(Ee){var nn=this,sn=[0],me=[],Fe=[null],Qt=[],Ae=this.table,Se="",Dn=0,oe=0,Pr=2,we=1,Ri=Qt.slice.call(arguments,1),yi=Object.create(this.lexer),da={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(da.yy[Ss]=this.yy[Ss]);yi.setInput(Ee,da.yy),da.yy.lexer=yi,da.yy.parser=this,typeof yi.yylloc>"u"&&(yi.yylloc={});var Ra=yi.yylloc;Qt.push(Ra);var fr=yi.options&&yi.options.ranges;typeof da.yy.parseError=="function"?this.parseError=da.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function An(){var ma;return ma=me.pop()||yi.lex()||we,typeof ma!="number"&&(ma instanceof Array&&(me=ma,ma=me.pop()),ma=nn.symbols_[ma]||ma),ma}for(var Pn,Bn,Te,be,Qe={},rn,yn,ja,mo;;){if(Bn=sn[sn.length-1],this.defaultActions[Bn]?Te=this.defaultActions[Bn]:((Pn===null||typeof Pn>"u")&&(Pn=An()),Te=Ae[Bn]&&Ae[Bn][Pn]),typeof Te>"u"||!Te.length||!Te[0]){var vo="";mo=[];for(rn in Ae[Bn])this.terminals_[rn]&&rn>Pr&&mo.push("'"+this.terminals_[rn]+"'");yi.showPosition?vo="Parse error on line "+(Dn+1)+`: +`+yi.showPosition()+` +Expecting `+mo.join(", ")+", got '"+(this.terminals_[Pn]||Pn)+"'":vo="Parse error on line "+(Dn+1)+": Unexpected "+(Pn==we?"end of input":"'"+(this.terminals_[Pn]||Pn)+"'"),this.parseError(vo,{text:yi.match,token:this.terminals_[Pn]||Pn,line:yi.yylineno,loc:Ra,expected:mo})}if(Te[0]instanceof Array&&Te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bn+", token: "+Pn);switch(Te[0]){case 1:sn.push(Pn),Fe.push(yi.yytext),Qt.push(yi.yylloc),sn.push(Te[1]),Pn=null,oe=yi.yyleng,Se=yi.yytext,Dn=yi.yylineno,Ra=yi.yylloc;break;case 2:if(yn=this.productions_[Te[1]][1],Qe.$=Fe[Fe.length-yn],Qe._$={first_line:Qt[Qt.length-(yn||1)].first_line,last_line:Qt[Qt.length-1].last_line,first_column:Qt[Qt.length-(yn||1)].first_column,last_column:Qt[Qt.length-1].last_column},fr&&(Qe._$.range=[Qt[Qt.length-(yn||1)].range[0],Qt[Qt.length-1].range[1]]),be=this.performAction.apply(Qe,[Se,oe,Dn,da.yy,Te[1],Fe,Qt].concat(Ri)),typeof be<"u")return be;yn&&(sn=sn.slice(0,-1*yn*2),Fe=Fe.slice(0,-1*yn),Qt=Qt.slice(0,-1*yn)),sn.push(this.productions_[Te[1]][0]),Fe.push(Qe.$),Qt.push(Qe._$),ja=Ae[sn[sn.length-2]][sn[sn.length-1]],sn.push(ja);break;case 3:return!0}}return!0}},Ot=function(){var Pe={EOF:1,parseError:function(nn,sn){if(this.yy.parser)this.yy.parser.parseError(nn,sn);else throw new Error(nn)},setInput:function(Ee,nn){return this.yy=nn||this.yy||{},this._input=Ee,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Ee=this._input[0];this.yytext+=Ee,this.yyleng++,this.offset++,this.match+=Ee,this.matched+=Ee;var nn=Ee.match(/(?:\r\n?|\n).*/g);return nn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ee},unput:function(Ee){var nn=Ee.length,sn=Ee.split(/(?:\r\n?|\n)/g);this._input=Ee+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-nn),this.offset-=nn;var me=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),sn.length-1&&(this.yylineno-=sn.length-1);var Fe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:sn?(sn.length===me.length?this.yylloc.first_column:0)+me[me.length-sn.length].length-sn[0].length:this.yylloc.first_column-nn},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-nn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Ee){this.unput(this.match.slice(Ee))},pastInput:function(){var Ee=this.matched.substr(0,this.matched.length-this.match.length);return(Ee.length>20?"...":"")+Ee.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Ee=this.match;return Ee.length<20&&(Ee+=this._input.substr(0,20-Ee.length)),(Ee.substr(0,20)+(Ee.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Ee=this.pastInput(),nn=new Array(Ee.length+1).join("-");return Ee+this.upcomingInput()+` +`+nn+"^"},test_match:function(Ee,nn){var sn,me,Fe;if(this.options.backtrack_lexer&&(Fe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Fe.yylloc.range=this.yylloc.range.slice(0))),me=Ee[0].match(/(?:\r\n?|\n).*/g),me&&(this.yylineno+=me.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:me?me[me.length-1].length-me[me.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ee[0].length},this.yytext+=Ee[0],this.match+=Ee[0],this.matches=Ee,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ee[0].length),this.matched+=Ee[0],sn=this.performAction.call(this,this.yy,this,nn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),sn)return sn;if(this._backtrack){for(var Qt in Fe)this[Qt]=Fe[Qt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ee,nn,sn,me;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),Qt=0;Qtnn[0].length)){if(nn=sn,me=Qt,this.options.backtrack_lexer){if(Ee=this.test_match(sn,Fe[Qt]),Ee!==!1)return Ee;if(this._backtrack){nn=!1;continue}else return!1}else if(!this.options.flex)break}return nn?(Ee=this.test_match(nn,Fe[me]),Ee!==!1?Ee:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var nn=this.next();return nn||this.lex()},begin:function(nn){this.conditionStack.push(nn)},popState:function(){var nn=this.conditionStack.length-1;return nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(nn){return nn=this.conditionStack.length-1-Math.abs(nn||0),nn>=0?this.conditionStack[nn]:"INITIAL"},pushState:function(nn){this.begin(nn)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(nn,sn,me,Fe){switch(me){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return sn.yytext=sn.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return Pe}();Be.lexer=Ot;function vn(){this.yy={}}return vn.prototype=Be,Be.Parser=vn,new vn}();vbt.parser=vbt;const MXe=vbt;let ybt=[],ob={},oB={},T8={},cB={};const DXe={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>Re().req,addRequirement:(i,a)=>(oB[i]===void 0&&(oB[i]={name:i,type:a,id:ob.id,text:ob.text,risk:ob.risk,verifyMethod:ob.verifyMethod}),ob={},oB[i]),getRequirements:()=>oB,setNewReqId:i=>{ob!==void 0&&(ob.id=i)},setNewReqText:i=>{ob!==void 0&&(ob.text=i)},setNewReqRisk:i=>{ob!==void 0&&(ob.risk=i)},setNewReqVerifyMethod:i=>{ob!==void 0&&(ob.verifyMethod=i)},setAccTitle:ng,getAccTitle:Yg,setAccDescription:Xg,getAccDescription:Qg,addElement:i=>(cB[i]===void 0&&(cB[i]={name:i,type:T8.type,docRef:T8.docRef},Wt.info("Added new requirement: ",i)),T8={},cB[i]),getElements:()=>cB,setNewElementType:i=>{T8!==void 0&&(T8.type=i)},setNewElementDocRef:i=>{T8!==void 0&&(T8.docRef=i)},addRelationship:(i,a,f)=>{ybt.push({type:i,src:a,dst:f})},getRelationships:()=>ybt,clear:()=>{ybt=[],ob={},oB={},T8={},cB={},Wg()}},IXe=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,xbt={CONTAINS:"contains",ARROW:"arrow"},Gzt={ReqMarkers:xbt,insertLineEndings:(i,a)=>{let f=i.append("defs").append("marker").attr("id",xbt.CONTAINS+"_line_ending").attr("refX",0).attr("refY",a.line_height/2).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("g");f.append("circle").attr("cx",a.line_height/2).attr("cy",a.line_height/2).attr("r",a.line_height/2).attr("fill","none"),f.append("line").attr("x1",0).attr("x2",a.line_height).attr("y1",a.line_height/2).attr("y2",a.line_height/2).attr("stroke-width",1),f.append("line").attr("y1",0).attr("y2",a.line_height).attr("x1",a.line_height/2).attr("x2",a.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",xbt.ARROW+"_line_ending").attr("refX",a.line_height).attr("refY",.5*a.line_height).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${a.line_height},${a.line_height/2} + M${a.line_height},${a.line_height/2} + L0,${a.line_height}`).attr("stroke-width",1)}};let Kh={},Kzt=0;const Wzt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Kh.rect_min_width+"px").attr("height",Kh.rect_min_height+"px"),Yzt=(i,a,f)=>{let g=Kh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",g).attr("y",Kh.rect_padding).attr("dominant-baseline","hanging"),v=0;f.forEach(S=>{v==0?w.append("tspan").attr("text-anchor","middle").attr("x",Kh.rect_min_width/2).attr("dy",0).text(S):w.append("tspan").attr("text-anchor","middle").attr("x",Kh.rect_min_width/2).attr("dy",Kh.line_height*.75).text(S),v++});let b=1.5*Kh.rect_padding,E=v*Kh.line_height*.75,_=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Kh.rect_min_width).attr("y1",_).attr("y2",_),{titleNode:w,y:_}},Xzt=(i,a,f,g)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Kh.rect_padding).attr("y",g).attr("dominant-baseline","hanging"),v=0;const b=30;let E=[];return f.forEach(_=>{let S=_.length;for(;S>b&&v<3;){let I=_.substring(0,b);_=_.substring(b,_.length),S=_.length,E[E.length]=I,v++}if(v==3){let I=E[E.length-1];E[E.length-1]=I.substring(0,I.length-4)+"..."}else E[E.length]=_;v=0}),E.forEach(_=>{w.append("tspan").attr("x",Kh.rect_padding).attr("dy",Kh.line_height).text(_)}),w},OXe=(i,a,f,g)=>{const w=a.node().getTotalLength(),v=a.node().getPointAtLength(w*.5),b="rel"+Kzt;Kzt++;const _=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(g).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-_.width/2).attr("y",v.y-_.height/2).attr("width",_.width).attr("height",_.height).attr("fill","white").attr("fill-opacity","85%")},PXe=function(i,a,f,g,w){const v=f.edge(xM(a.src),xM(a.dst)),b=Cx().x(function(_){return _.x}).y(function(_){return _.y}),E=i.insert("path","#"+g).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+ei.getUrl(Kh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+ei.getUrl(Kh.arrowMarkerAbsolute)+"#"+Gzt.ReqMarkers.ARROW+"_line_ending)")),OXe(i,E,Kh,`<<${a.type}>>`)},NXe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];g=xM(g),Wt.info("Added new requirement: ",g);const v=f.append("g").attr("id",g),b="req-"+g,E=Wzt(v,b);let _=Yzt(v,g+"_title",[`<<${w.type}>>`,`${w.name}`]);Xzt(v,g+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],_.y);const S=E.node().getBBox();a.setNode(g,{width:S.width,height:S.height,shape:"rect",id:g})})},FXe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];const v=xM(g),b=f.append("g").attr("id",v),E="element-"+v,_=Wzt(b,E);let S=Yzt(b,E+"_title",["<>",`${g}`]);Xzt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],S.y);const I=_.node().getBBox();a.setNode(v,{width:I.width,height:I.height,shape:"rect",id:v})})},BXe=(i,a)=>(i.forEach(function(f){let g=xM(f.src),w=xM(f.dst);a.setEdge(g,w,{relationship:f})}),i),RXe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},xM=i=>i.replace(/\s/g,"").replace(/\./g,"_"),jXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:MXe,db:DXe,renderer:{draw:(i,a,f,g)=>{Kh=Re().requirement;const w=Kh.securityLevel;let v;w==="sandbox"&&(v=xr("#i"+a));const E=xr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);Gzt.insertLineEndings(E,Kh);const _=new R1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Kh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let S=g.db.getRequirements(),I=g.db.getElements(),B=g.db.getRelationships();NXe(S,_,E),FXe(I,_,E),BXe(B,_),gM(_),RXe(E,_),B.forEach(function(rt){PXe(E,rt,_,a,g)});const F=Kh.rect_padding,R=E.node().getBBox(),q=R.width+F*2,X=R.height+F*2;Kg(E,X,q,Kh.useMaxWidth),E.attr("viewBox",`${R.x-F} ${R.y-F} ${q} ${X}`)}},styles:IXe}},Symbol.toStringTag,{value:"Module"}));var kbt=function(){var i=function(me,Fe,Qt,Ae){for(Qt=Qt||{},Ae=me.length;Ae--;Qt[me[Ae]]=Fe);return Qt},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,13],_=[1,14],S=[1,16],I=[1,17],B=[1,18],F=[1,24],R=[1,25],q=[1,26],X=[1,27],rt=[1,28],at=[1,29],ut=[1,30],pt=[1,31],yt=[1,32],mt=[1,33],gt=[1,34],ht=[1,35],bt=[1,36],Z=[1,37],ft=[1,38],Y=[1,39],Et=[1,41],V=[1,42],Nt=[1,43],Dt=[1,44],jt=[1,45],Ct=[1,46],Ft=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],_t=[4,5,16,50,52,53],xt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Be=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ot=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],vn=[68,69,70],Pe=[1,120],Ee={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Fe,Qt,Ae,Se,Dn,oe,Pr){var we=oe.length-1;switch(Dn){case 3:return Se.apply(oe[we]),oe[we];case 4:case 9:this.$=[];break;case 5:case 10:oe[we-1].push(oe[we]),this.$=oe[we-1];break;case 6:case 7:case 11:case 12:this.$=oe[we];break;case 8:case 13:this.$=[];break;case 15:oe[we].type="createParticipant",this.$=oe[we];break;case 16:oe[we-1].unshift({type:"boxStart",boxData:Se.parseBoxData(oe[we-2])}),oe[we-1].push({type:"boxEnd",boxText:oe[we-2]}),this.$=oe[we-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(oe[we-2]),sequenceIndexStep:Number(oe[we-1]),sequenceVisible:!0,signalType:Se.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(oe[we-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Se.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Se.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Se.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:Se.LINETYPE.ACTIVE_START,actor:oe[we-1]};break;case 23:this.$={type:"activeEnd",signalType:Se.LINETYPE.ACTIVE_END,actor:oe[we-1]};break;case 29:Se.setDiagramTitle(oe[we].substring(6)),this.$=oe[we].substring(6);break;case 30:Se.setDiagramTitle(oe[we].substring(7)),this.$=oe[we].substring(7);break;case 31:this.$=oe[we].trim(),Se.setAccTitle(this.$);break;case 32:case 33:this.$=oe[we].trim(),Se.setAccDescription(this.$);break;case 34:oe[we-1].unshift({type:"loopStart",loopText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.LOOP_START}),oe[we-1].push({type:"loopEnd",loopText:oe[we-2],signalType:Se.LINETYPE.LOOP_END}),this.$=oe[we-1];break;case 35:oe[we-1].unshift({type:"rectStart",color:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.RECT_START}),oe[we-1].push({type:"rectEnd",color:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.RECT_END}),this.$=oe[we-1];break;case 36:oe[we-1].unshift({type:"optStart",optText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.OPT_START}),oe[we-1].push({type:"optEnd",optText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.OPT_END}),this.$=oe[we-1];break;case 37:oe[we-1].unshift({type:"altStart",altText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.ALT_START}),oe[we-1].push({type:"altEnd",signalType:Se.LINETYPE.ALT_END}),this.$=oe[we-1];break;case 38:oe[we-1].unshift({type:"parStart",parText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.PAR_START}),oe[we-1].push({type:"parEnd",signalType:Se.LINETYPE.PAR_END}),this.$=oe[we-1];break;case 39:oe[we-1].unshift({type:"parStart",parText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.PAR_OVER_START}),oe[we-1].push({type:"parEnd",signalType:Se.LINETYPE.PAR_END}),this.$=oe[we-1];break;case 40:oe[we-1].unshift({type:"criticalStart",criticalText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.CRITICAL_START}),oe[we-1].push({type:"criticalEnd",signalType:Se.LINETYPE.CRITICAL_END}),this.$=oe[we-1];break;case 41:oe[we-1].unshift({type:"breakStart",breakText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.BREAK_START}),oe[we-1].push({type:"breakEnd",optText:Se.parseMessage(oe[we-2]),signalType:Se.LINETYPE.BREAK_END}),this.$=oe[we-1];break;case 43:this.$=oe[we-3].concat([{type:"option",optionText:Se.parseMessage(oe[we-1]),signalType:Se.LINETYPE.CRITICAL_OPTION},oe[we]]);break;case 45:this.$=oe[we-3].concat([{type:"and",parText:Se.parseMessage(oe[we-1]),signalType:Se.LINETYPE.PAR_AND},oe[we]]);break;case 47:this.$=oe[we-3].concat([{type:"else",altText:Se.parseMessage(oe[we-1]),signalType:Se.LINETYPE.ALT_ELSE},oe[we]]);break;case 48:oe[we-3].draw="participant",oe[we-3].type="addParticipant",oe[we-3].description=Se.parseMessage(oe[we-1]),this.$=oe[we-3];break;case 49:oe[we-1].draw="participant",oe[we-1].type="addParticipant",this.$=oe[we-1];break;case 50:oe[we-3].draw="actor",oe[we-3].type="addParticipant",oe[we-3].description=Se.parseMessage(oe[we-1]),this.$=oe[we-3];break;case 51:oe[we-1].draw="actor",oe[we-1].type="addParticipant",this.$=oe[we-1];break;case 52:oe[we-1].type="destroyParticipant",this.$=oe[we-1];break;case 53:this.$=[oe[we-1],{type:"addNote",placement:oe[we-2],actor:oe[we-1].actor,text:oe[we]}];break;case 54:oe[we-2]=[].concat(oe[we-1],oe[we-1]).slice(0,2),oe[we-2][0]=oe[we-2][0].actor,oe[we-2][1]=oe[we-2][1].actor,this.$=[oe[we-1],{type:"addNote",placement:Se.PLACEMENT.OVER,actor:oe[we-2].slice(0,2),text:oe[we]}];break;case 55:this.$=[oe[we-1],{type:"addLinks",actor:oe[we-1].actor,text:oe[we]}];break;case 56:this.$=[oe[we-1],{type:"addALink",actor:oe[we-1].actor,text:oe[we]}];break;case 57:this.$=[oe[we-1],{type:"addProperties",actor:oe[we-1].actor,text:oe[we]}];break;case 58:this.$=[oe[we-1],{type:"addDetails",actor:oe[we-1].actor,text:oe[we]}];break;case 61:this.$=[oe[we-2],oe[we]];break;case 62:this.$=oe[we];break;case 63:this.$=Se.PLACEMENT.LEFTOF;break;case 64:this.$=Se.PLACEMENT.RIGHTOF;break;case 65:this.$=[oe[we-4],oe[we-1],{type:"addMessage",from:oe[we-4].actor,to:oe[we-1].actor,signalType:oe[we-3],msg:oe[we],activate:!0},{type:"activeStart",signalType:Se.LINETYPE.ACTIVE_START,actor:oe[we-1]}];break;case 66:this.$=[oe[we-4],oe[we-1],{type:"addMessage",from:oe[we-4].actor,to:oe[we-1].actor,signalType:oe[we-3],msg:oe[we]},{type:"activeEnd",signalType:Se.LINETYPE.ACTIVE_END,actor:oe[we-4]}];break;case 67:this.$=[oe[we-3],oe[we-1],{type:"addMessage",from:oe[we-3].actor,to:oe[we-1].actor,signalType:oe[we-2],msg:oe[we]}];break;case 68:this.$={type:"addParticipant",actor:oe[we]};break;case 69:this.$=Se.LINETYPE.SOLID_OPEN;break;case 70:this.$=Se.LINETYPE.DOTTED_OPEN;break;case 71:this.$=Se.LINETYPE.SOLID;break;case 72:this.$=Se.LINETYPE.DOTTED;break;case 73:this.$=Se.LINETYPE.SOLID_CROSS;break;case 74:this.$=Se.LINETYPE.DOTTED_CROSS;break;case 75:this.$=Se.LINETYPE.SOLID_POINT;break;case 76:this.$=Se.LINETYPE.DOTTED_POINT;break;case 77:this.$=Se.parseMessage(oe[we].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:E,14:_,17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},i(Ft,[2,5]),{9:47,12:12,13:E,14:_,17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},i(Ft,[2,7]),i(Ft,[2,8]),i(Ft,[2,14]),{12:48,50:Z,52:ft,53:Y},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ct},{22:55,70:Ct},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Ft,[2,29]),i(Ft,[2,30]),{32:[1,61]},{34:[1,62]},i(Ft,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Ct},{22:72,70:Ct},{22:73,70:Ct},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Ct},{22:88,70:Ct},{22:89,70:Ct},{22:90,70:Ct},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Ft,[2,6]),i(Ft,[2,15]),i(_t,[2,9],{10:91}),i(Ft,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Ft,[2,21]),{5:[1,95]},{5:[1,96]},i(Ft,[2,24]),i(Ft,[2,25]),i(Ft,[2,26]),i(Ft,[2,27]),i(Ft,[2,28]),i(Ft,[2,31]),i(Ft,[2,32]),i(xt,w,{7:97}),i(xt,w,{7:98}),i(xt,w,{7:99}),i(Gt,w,{40:100,7:101}),i(Be,w,{42:102,7:103}),i(Be,w,{7:103,42:104}),i(Ot,w,{45:105,7:106}),i(xt,w,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Ct},i(vn,[2,69]),i(vn,[2,70]),i(vn,[2,71]),i(vn,[2,72]),i(vn,[2,73]),i(vn,[2,74]),i(vn,[2,75]),i(vn,[2,76]),{22:116,70:Ct},{22:118,58:117,70:Ct},{70:[2,63]},{70:[2,64]},{56:119,79:Pe},{56:121,79:Pe},{56:122,79:Pe},{56:123,79:Pe},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:Z,52:ft,53:Y},{5:[1,129]},i(Ft,[2,19]),i(Ft,[2,20]),i(Ft,[2,22]),i(Ft,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,130],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,131],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,132],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,46],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,49:[1,134],50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,44],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,48:[1,136],50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,42],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,47:[1,139],50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{4:v,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,140],17:15,18:S,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:F,30:R,31:q,33:X,35:rt,36:at,37:ut,38:pt,39:yt,41:mt,43:gt,44:ht,46:bt,50:Z,52:ft,53:Y,54:Et,59:V,60:Nt,61:Dt,62:jt,70:Ct},{15:[1,141]},i(Ft,[2,49]),{15:[1,142]},i(Ft,[2,51]),i(Ft,[2,52]),{22:143,70:Ct},{22:144,70:Ct},{56:145,79:Pe},{56:146,79:Pe},{56:147,79:Pe},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Ft,[2,16]),i(_t,[2,10]),{12:149,50:Z,52:ft,53:Y},i(_t,[2,12]),i(_t,[2,13]),i(Ft,[2,18]),i(Ft,[2,34]),i(Ft,[2,35]),i(Ft,[2,36]),i(Ft,[2,37]),{15:[1,150]},i(Ft,[2,38]),{15:[1,151]},i(Ft,[2,39]),i(Ft,[2,40]),{15:[1,152]},i(Ft,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Pe},{56:156,79:Pe},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ct},i(_t,[2,11]),i(Gt,w,{7:101,40:158}),i(Be,w,{7:103,42:159}),i(Ot,w,{7:106,45:160}),i(Ft,[2,48]),i(Ft,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Fe,Qt){if(Qt.recoverable)this.trace(Fe);else{var Ae=new Error(Fe);throw Ae.hash=Qt,Ae}},parse:function(Fe){var Qt=this,Ae=[0],Se=[],Dn=[null],oe=[],Pr=this.table,we="",Ri=0,yi=0,da=2,Ss=1,Ra=oe.slice.call(arguments,1),fr=Object.create(this.lexer),An={yy:{}};for(var Pn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Pn)&&(An.yy[Pn]=this.yy[Pn]);fr.setInput(Fe,An.yy),An.yy.lexer=fr,An.yy.parser=this,typeof fr.yylloc>"u"&&(fr.yylloc={});var Bn=fr.yylloc;oe.push(Bn);var Te=fr.options&&fr.options.ranges;typeof An.yy.parseError=="function"?this.parseError=An.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function be(){var ta;return ta=Se.pop()||fr.lex()||Ss,typeof ta!="number"&&(ta instanceof Array&&(Se=ta,ta=Se.pop()),ta=Qt.symbols_[ta]||ta),ta}for(var Qe,rn,yn,ja,mo={},vo,ma,$a,gs;;){if(rn=Ae[Ae.length-1],this.defaultActions[rn]?yn=this.defaultActions[rn]:((Qe===null||typeof Qe>"u")&&(Qe=be()),yn=Pr[rn]&&Pr[rn][Qe]),typeof yn>"u"||!yn.length||!yn[0]){var Nu="";gs=[];for(vo in Pr[rn])this.terminals_[vo]&&vo>da&&gs.push("'"+this.terminals_[vo]+"'");fr.showPosition?Nu="Parse error on line "+(Ri+1)+`: +`+fr.showPosition()+` +Expecting `+gs.join(", ")+", got '"+(this.terminals_[Qe]||Qe)+"'":Nu="Parse error on line "+(Ri+1)+": Unexpected "+(Qe==Ss?"end of input":"'"+(this.terminals_[Qe]||Qe)+"'"),this.parseError(Nu,{text:fr.match,token:this.terminals_[Qe]||Qe,line:fr.yylineno,loc:Bn,expected:gs})}if(yn[0]instanceof Array&&yn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+rn+", token: "+Qe);switch(yn[0]){case 1:Ae.push(Qe),Dn.push(fr.yytext),oe.push(fr.yylloc),Ae.push(yn[1]),Qe=null,yi=fr.yyleng,we=fr.yytext,Ri=fr.yylineno,Bn=fr.yylloc;break;case 2:if(ma=this.productions_[yn[1]][1],mo.$=Dn[Dn.length-ma],mo._$={first_line:oe[oe.length-(ma||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(ma||1)].first_column,last_column:oe[oe.length-1].last_column},Te&&(mo._$.range=[oe[oe.length-(ma||1)].range[0],oe[oe.length-1].range[1]]),ja=this.performAction.apply(mo,[we,yi,Ri,An.yy,yn[1],Dn,oe].concat(Ra)),typeof ja<"u")return ja;ma&&(Ae=Ae.slice(0,-1*ma*2),Dn=Dn.slice(0,-1*ma),oe=oe.slice(0,-1*ma)),Ae.push(this.productions_[yn[1]][0]),Dn.push(mo.$),oe.push(mo._$),$a=Pr[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push($a);break;case 3:return!0}}return!0}},nn=function(){var me={EOF:1,parseError:function(Qt,Ae){if(this.yy.parser)this.yy.parser.parseError(Qt,Ae);else throw new Error(Qt)},setInput:function(Fe,Qt){return this.yy=Qt||this.yy||{},this._input=Fe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Fe=this._input[0];this.yytext+=Fe,this.yyleng++,this.offset++,this.match+=Fe,this.matched+=Fe;var Qt=Fe.match(/(?:\r\n?|\n).*/g);return Qt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Fe},unput:function(Fe){var Qt=Fe.length,Ae=Fe.split(/(?:\r\n?|\n)/g);this._input=Fe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Qt),this.offset-=Qt;var Se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var Dn=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===Se.length?this.yylloc.first_column:0)+Se[Se.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-Qt},this.options.ranges&&(this.yylloc.range=[Dn[0],Dn[0]+this.yyleng-Qt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Fe){this.unput(this.match.slice(Fe))},pastInput:function(){var Fe=this.matched.substr(0,this.matched.length-this.match.length);return(Fe.length>20?"...":"")+Fe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Fe=this.match;return Fe.length<20&&(Fe+=this._input.substr(0,20-Fe.length)),(Fe.substr(0,20)+(Fe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Fe=this.pastInput(),Qt=new Array(Fe.length+1).join("-");return Fe+this.upcomingInput()+` +`+Qt+"^"},test_match:function(Fe,Qt){var Ae,Se,Dn;if(this.options.backtrack_lexer&&(Dn={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Dn.yylloc.range=this.yylloc.range.slice(0))),Se=Fe[0].match(/(?:\r\n?|\n).*/g),Se&&(this.yylineno+=Se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Se?Se[Se.length-1].length-Se[Se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Fe[0].length},this.yytext+=Fe[0],this.match+=Fe[0],this.matches=Fe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Fe[0].length),this.matched+=Fe[0],Ae=this.performAction.call(this,this.yy,this,Qt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var oe in Dn)this[oe]=Dn[oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Fe,Qt,Ae,Se;this._more||(this.yytext="",this.match="");for(var Dn=this._currentRules(),oe=0;oeQt[0].length)){if(Qt=Ae,Se=oe,this.options.backtrack_lexer){if(Fe=this.test_match(Ae,Dn[oe]),Fe!==!1)return Fe;if(this._backtrack){Qt=!1;continue}else return!1}else if(!this.options.flex)break}return Qt?(Fe=this.test_match(Qt,Dn[Se]),Fe!==!1?Fe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Qt=this.next();return Qt||this.lex()},begin:function(Qt){this.conditionStack.push(Qt)},popState:function(){var Qt=this.conditionStack.length-1;return Qt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Qt){return Qt=this.conditionStack.length-1-Math.abs(Qt||0),Qt>=0?this.conditionStack[Qt]:"INITIAL"},pushState:function(Qt){this.begin(Qt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Qt,Ae,Se,Dn){switch(Se){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return Ae.yytext=Ae.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return Ae.yytext=Ae.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return me}();Ee.lexer=nn;function sn(){this.yy={}}return sn.prototype=Ee,Ee.Parser=sn,new sn}();kbt.parser=kbt;const $Xe=kbt;class zXe{constructor(a){this.init=a,this.records=this.init()}reset(){this.records=this.init()}}const vs=new zXe(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),qXe=function(i){vs.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&D9()||!!i.wrap,fill:i.color,actorKeys:[]}),vs.records.currentBox=vs.records.boxes.slice(-1)[0]},Ebt=function(i,a,f,g){let w=vs.records.currentBox;const v=vs.records.actors[i];if(v){if(vs.records.currentBox&&v.box&&vs.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+vs.records.currentBox.name+"' at the same time.");if(w=v.box?v.box:vs.records.currentBox,v.box=w,v&&a===v.name&&f==null)return}(f==null||f.text==null)&&(f={text:a,wrap:null,type:g}),(g==null||f.text==null)&&(f={text:a,wrap:null,type:g}),vs.records.actors[i]={box:w,name:a,description:f.text,wrap:f.wrap===void 0&&D9()||!!f.wrap,prevActor:vs.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:g||"participant"},vs.records.prevActor&&vs.records.actors[vs.records.prevActor]&&(vs.records.actors[vs.records.prevActor].nextActor=i),vs.records.currentBox&&vs.records.currentBox.actorKeys.push(i),vs.records.prevActor=i},HXe=i=>{let a,f=0;for(a=0;a>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return vs.records.messages.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&D9()||!!f.wrap,type:g,activate:w}),!0},UXe=function(){return vs.records.boxes.length>0},GXe=function(){return vs.records.boxes.some(i=>i.name)},KXe=function(){return vs.records.messages},WXe=function(){return vs.records.boxes},YXe=function(){return vs.records.actors},XXe=function(){return vs.records.createdActors},QXe=function(){return vs.records.destroyedActors},uB=function(i){return vs.records.actors[i]},JXe=function(){return Object.keys(vs.records.actors)},ZXe=function(){vs.records.sequenceNumbersEnabled=!0},tQe=function(){vs.records.sequenceNumbersEnabled=!1},eQe=()=>vs.records.sequenceNumbersEnabled,nQe=function(i){vs.records.wrapEnabled=i},D9=()=>vs.records.wrapEnabled!==void 0?vs.records.wrapEnabled:Re().sequence.wrap,rQe=function(){vs.reset(),Wg()},iQe=function(i){const a=i.trim(),f={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Wt.debug("parseMessage:",f),f},sQe=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let f=a!=null&&a[1]?a[1].trim():"transparent",g=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",f)||(f="transparent",g=i.trim());else{const w=new Option().style;w.color=f,w.color!==f&&(f="transparent",g=i.trim())}return{color:f,text:g!==void 0?Ed(g.replace(/^:?(?:no)?wrap:/,""),Re()):void 0,wrap:g!==void 0?g.match(/^:?wrap:/)!==null?!0:g.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},lB={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},aQe={FILLED:0,OPEN:1},oQe={LEFTOF:0,RIGHTOF:1,OVER:2},Qzt=function(i,a,f){const g={actor:i,placement:a,message:f.text,wrap:f.wrap===void 0&&D9()||!!f.wrap},w=[].concat(i,i);vs.records.notes.push(g),vs.records.messages.push({from:w[0],to:w[1],message:f.text,wrap:f.wrap===void 0&&D9()||!!f.wrap,type:lB.NOTE,placement:a})},Jzt=function(i,a){const f=uB(i);try{let g=Ed(a.text,Re());g=g.replace(/&/g,"&"),g=g.replace(/=/g,"=");const w=JSON.parse(g);Tbt(f,w)}catch(g){Wt.error("error while parsing actor link text",g)}},cQe=function(i,a){const f=uB(i);try{const b={};let E=Ed(a.text,Re());var g=E.indexOf("@");E=E.replace(/&/g,"&"),E=E.replace(/=/g,"=");var w=E.slice(0,g-1).trim(),v=E.slice(g+1).trim();b[w]=v,Tbt(f,b)}catch(b){Wt.error("error while parsing actor link text",b)}};function Tbt(i,a){if(i.links==null)i.links=a;else for(let f in a)i.links[f]=a[f]}const Zzt=function(i,a){const f=uB(i);try{let g=Ed(a.text,Re());const w=JSON.parse(g);tqt(f,w)}catch(g){Wt.error("error while parsing actor properties text",g)}};function tqt(i,a){if(i.properties==null)i.properties=a;else for(let f in a)i.properties[f]=a[f]}function uQe(){vs.records.currentBox=void 0}const eqt=function(i,a){const f=uB(i),g=document.getElementById(a.text);try{const w=g.innerHTML,v=JSON.parse(w);v.properties&&tqt(f,v.properties),v.links&&Tbt(f,v.links)}catch(w){Wt.error("error while parsing actor details text",w)}},lQe=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},nqt=function(i){if(Array.isArray(i))i.forEach(function(a){nqt(a)});else switch(i.type){case"sequenceIndex":vs.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":Ebt(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(vs.records.actors[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");vs.records.lastCreated=i.actor,Ebt(i.actor,i.actor,i.description,i.draw),vs.records.createdActors[i.actor]=vs.records.messages.length;break;case"destroyParticipant":vs.records.lastDestroyed=i.actor,vs.records.destroyedActors[i.actor]=vs.records.messages.length;break;case"activeStart":Tf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Tf(i.actor,void 0,void 0,i.signalType);break;case"addNote":Qzt(i.actor,i.placement,i.text);break;case"addLinks":Jzt(i.actor,i.text);break;case"addALink":cQe(i.actor,i.text);break;case"addProperties":Zzt(i.actor,i.text);break;case"addDetails":eqt(i.actor,i.text);break;case"addMessage":if(vs.records.lastCreated){if(i.to!==vs.records.lastCreated)throw new Error("The created participant "+vs.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");vs.records.lastCreated=void 0}else if(vs.records.lastDestroyed){if(i.to!==vs.records.lastDestroyed&&i.from!==vs.records.lastDestroyed)throw new Error("The destroyed participant "+vs.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");vs.records.lastDestroyed=void 0}Tf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":qXe(i.boxData);break;case"boxEnd":uQe();break;case"loopStart":Tf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Tf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Tf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Tf(void 0,void 0,void 0,i.signalType);break;case"optStart":Tf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Tf(void 0,void 0,void 0,i.signalType);break;case"altStart":Tf(void 0,void 0,i.altText,i.signalType);break;case"else":Tf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Tf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":ng(i.text);break;case"parStart":Tf(void 0,void 0,i.parText,i.signalType);break;case"and":Tf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Tf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Tf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Tf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Tf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Tf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Tf(void 0,void 0,void 0,i.signalType);break}},rqt={addActor:Ebt,addMessage:VXe,addSignal:Tf,addLinks:Jzt,addDetails:eqt,addProperties:Zzt,autoWrap:D9,setWrap:nQe,enableSequenceNumbers:ZXe,disableSequenceNumbers:tQe,showSequenceNumbers:eQe,getMessages:KXe,getActors:YXe,getCreatedActors:XXe,getDestroyedActors:QXe,getActor:uB,getActorKeys:JXe,getActorProperty:lQe,getAccTitle:Yg,getBoxes:WXe,getDiagramTitle:Jg,setDiagramTitle:y2,getConfig:()=>Re().sequence,clear:rQe,parseMessage:iQe,parseBoxData:sQe,LINETYPE:lB,ARROWTYPE:aQe,PLACEMENT:oQe,addNote:Qzt,setAccTitle:ng,apply:nqt,setAccDescription:Xg,getAccDescription:Qg,hasAtLeastOneBox:UXe,hasAtLeastOneBoxWithTitle:GXe},hQe=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,I9=18*2,Cbt=function(i,a){return _Y(i,a)},iqt=(i,a)=>{sNe(()=>{const f=document.querySelectorAll(i);f.length!==0&&(f[0].addEventListener("mouseover",function(){pQe("actor"+a+"_popup")}),f[0].addEventListener("mouseout",function(){bQe("actor"+a+"_popup")}))})},fQe=function(i,a,f,g,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const v=a.links,b=a.actorCnt,E=a.rectData;var _="none";w&&(_="block !important");const S=i.append("g");S.attr("id","actor"+b+"_popup"),S.attr("class","actorPopupMenu"),S.attr("display",_),iqt("#actor"+b+"_popup",b);var I="";E.class!==void 0&&(I=" "+E.class);let B=E.width>f?E.width:f;const F=S.append("rect");if(F.attr("class","actorPopupMenuPanel"+I),F.attr("x",E.x),F.attr("y",E.height),F.attr("fill",E.fill),F.attr("stroke",E.stroke),F.attr("width",B),F.attr("height",E.height),F.attr("rx",E.rx),F.attr("ry",E.ry),v!=null){var R=20;for(let rt in v){var q=S.append("a"),X=c8(v[rt]);q.attr("xlink:href",X),q.attr("target","_blank"),IQe(g)(rt,q,E.x+10,E.height+R,B,20,{class:"actor"},g),R+=30}}return F.attr("height",R),{height:E.height+R,width:B}},dQe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'block'; }"},gQe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'none'; }"},pQe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="block")},bQe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="none")},kM=function(i,a){let f=0,g=0;const w=a.text.split(ei.lineBreakRegex),[v,b]=QL(a.fontSize);let E=[],_=0,S=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":S=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":S=()=>Math.round(a.y+(f+g+a.textMargin)/2);break;case"bottom":case"end":S=()=>Math.round(a.y+(f+g+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[I,B]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&v!==void 0&&(_=I*v);const F=i.append("text");F.attr("x",a.x),F.attr("y",S()),a.anchor!==void 0&&F.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&F.style("font-family",a.fontFamily),b!==void 0&&F.style("font-size",b),a.fontWeight!==void 0&&F.style("font-weight",a.fontWeight),a.fill!==void 0&&F.attr("fill",a.fill),a.class!==void 0&&F.attr("class",a.class),a.dy!==void 0?F.attr("dy",a.dy):_!==0&&F.attr("dy",_);const R=B||oFt;if(a.tspan){const q=F.append("tspan");q.attr("x",a.x),a.fill!==void 0&&q.attr("fill",a.fill),q.text(R)}else F.text(R);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(g+=(F._groups||F)[0][0].getBBox().height,f=g),E.push(F)}return E},sqt=function(i,a){function f(w,v,b,E,_){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-_)+" "+(w+b-_*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");return g.attr("points",f(a.x,a.y,a.width,a.height,7)),g.attr("class","labelBox"),a.y=a.y+a.height/2,kM(i,a),g};let ny=-1;const aqt=(i,a,f,g)=>{i.select&&f.forEach(w=>{const v=a[w],b=i.select("#actor"+v.actorCnt);!g.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):g.mirrorActors&&b.attr("y2",v.stopy)})},wQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+5,E=i.append("g").lower();var _=E;g||(ny++,_.append("line").attr("id","actor"+ny).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),_=E.append("g"),a.actorCnt=ny,a.links!=null&&(_.attr("id","root-"+ny),iqt("#root-"+ny,ny)));const S=k9();var I="actor";a.properties!=null&&a.properties.class?I=a.properties.class:S.fill="#eaeaea",S.x=a.x,S.y=w,S.width=a.width,S.height=a.height,S.class=I,S.rx=3,S.ry=3;const B=Cbt(_,S);if(a.rectData=S,a.properties!=null&&a.properties.icon){const R=a.properties.icon.trim();R.charAt(0)==="@"?CRe(_,S.x+S.width-20,S.y+10,R.substr(1)):TRe(_,S.x+S.width-20,S.y+10,R)}_bt(f)(a.description,_,S.x,S.y,S.width,S.height,{class:"actor"},f);let F=a.height;if(B.node){const R=B.node().getBBox();a.height=R.height,F=R.height}return F},mQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+80;i.lower(),g||(ny++,i.append("line").attr("id","actor"+ny).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=ny);const E=i.append("g");E.attr("class","actor-man");const _=k9();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+ny).attr("x1",v).attr("y1",w+25).attr("x2",v).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+ny).attr("x1",v-I9/2).attr("y1",w+33).attr("x2",v+I9/2).attr("y2",w+33),E.append("line").attr("x1",v-I9/2).attr("y1",w+60).attr("x2",v).attr("y2",w+45),E.append("line").attr("x1",v).attr("y1",w+45).attr("x2",v+I9/2-2).attr("y2",w+60);const S=E.append("circle");S.attr("cx",a.x+a.width/2),S.attr("cy",w+10),S.attr("r",15),S.attr("width",a.width),S.attr("height",a.height);const I=E.node().getBBox();return a.height=I.height,_bt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},vQe=function(i,a,f,g){switch(a.type){case"actor":return mQe(i,a,f,g);case"participant":return wQe(i,a,f,g)}},yQe=function(i,a,f){const w=i.append("g");oqt(w,a),a.name&&_bt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},xQe=function(i){return i.append("g")},kQe=function(i,a,f,g,w){const v=k9(),b=a.anchored;v.x=a.startx,v.y=a.starty,v.class="activation"+w%3,v.width=a.stopx-a.startx,v.height=f-a.starty,Cbt(b,v)},EQe=function(i,a,f,g){const{boxMargin:w,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:_,messageFontSize:S,messageFontWeight:I}=g,B=i.append("g"),F=function(X,rt,at,ut){return B.append("line").attr("x1",X).attr("y1",rt).attr("x2",at).attr("y2",ut).attr("class","loopLine")};F(a.startx,a.starty,a.stopx,a.starty),F(a.stopx,a.starty,a.stopx,a.stopy),F(a.startx,a.stopy,a.stopx,a.stopy),F(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(X){F(a.startx,X.y,a.stopx,X.y).style("stroke-dasharray","3, 3")});let R=Kgt();R.text=f,R.x=a.startx,R.y=a.starty,R.fontFamily=_,R.fontSize=S,R.fontWeight=I,R.anchor="middle",R.valign="middle",R.tspan=!1,R.width=E||50,R.height=b||20,R.textMargin=v,R.class="labelText",sqt(B,R),R=cqt(),R.text=a.title,R.x=a.startx+E/2+(a.stopx-a.startx)/2,R.y=a.starty+w+v,R.anchor="middle",R.valign="middle",R.textMargin=v,R.class="loopText",R.fontFamily=_,R.fontSize=S,R.fontWeight=I,R.wrap=!0;let q=kM(B,R);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(X,rt){if(X.message){R.text=X.message,R.x=a.startx+(a.stopx-a.startx)/2,R.y=a.sections[rt].y+w+v,R.class="loopText",R.anchor="middle",R.valign="middle",R.tspan=!1,R.fontFamily=_,R.fontSize=S,R.fontWeight=I,R.wrap=a.wrap,q=kM(B,R);let at=Math.round(q.map(ut=>(ut._groups||ut)[0][0].getBBox().height).reduce((ut,pt)=>ut+pt));a.sections[rt].height+=at-(w+v)}}),a.height=Math.round(a.stopy-a.starty),B},oqt=function(i,a){qBt(i,a)},TQe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},CQe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},_Qe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},SQe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},AQe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},LQe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},MQe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},cqt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},DQe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},_bt=function(){function i(w,v,b,E,_,S,I){const B=v.append("text").attr("x",b+_/2).attr("y",E+S/2+5).style("text-anchor","middle").text(w);g(B,I)}function a(w,v,b,E,_,S,I,B){const{actorFontSize:F,actorFontFamily:R,actorFontWeight:q}=B,[X,rt]=QL(F),at=w.split(ei.lineBreakRegex);for(let ut=0;uti.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,lqt(Re())},updateVal:function(i,a,f,g){i[a]===void 0?i[a]=f:i[a]=g(f,i[a])},updateBounds:function(i,a,f,g){const w=this;let v=0;function b(E){return function(S){v++;const I=w.sequenceItems.length-v+1;w.updateVal(S,"starty",a-I*pn.boxMargin,Math.min),w.updateVal(S,"stopy",g+I*pn.boxMargin,Math.max),w.updateVal(Wr.data,"startx",i-I*pn.boxMargin,Math.min),w.updateVal(Wr.data,"stopx",f+I*pn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(S,"startx",i-I*pn.boxMargin,Math.min),w.updateVal(S,"stopx",f+I*pn.boxMargin,Math.max),w.updateVal(Wr.data,"starty",a-I*pn.boxMargin,Math.min),w.updateVal(Wr.data,"stopy",g+I*pn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,g){const w=ei.getMin(i,f),v=ei.getMax(i,f),b=ei.getMin(a,g),E=ei.getMax(a,g);this.updateVal(Wr.data,"startx",w,Math.min),this.updateVal(Wr.data,"starty",b,Math.min),this.updateVal(Wr.data,"stopx",v,Math.max),this.updateVal(Wr.data,"stopy",E,Math.max),this.updateBounds(w,b,v,E)},newActivation:function(i,a,f){const g=f[i.from.actor],w=hX(i.from.actor).length||0,v=g.x+g.width/2+(w-1)*pn.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+pn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Cf.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Wr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ei.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},OQe=function(i,a){Wr.bumpVerticalPos(pn.boxMargin),a.height=pn.boxMargin,a.starty=Wr.getVerticalPos();const f=k9();f.x=a.startx,f.y=a.starty,f.width=a.width||pn.width,f.class="note";const g=i.append("g"),w=Cf.drawRect(g,f),v=Kgt();v.x=a.startx,v.y=a.starty,v.width=f.width,v.dy="1em",v.text=a.message,v.class="noteText",v.fontFamily=pn.noteFontFamily,v.fontSize=pn.noteFontSize,v.fontWeight=pn.noteFontWeight,v.anchor=pn.noteAlign,v.textMargin=pn.noteMargin,v.valign="center";const b=kM(g,v),E=Math.round(b.map(_=>(_._groups||_)[0][0].getBBox().height).reduce((_,S)=>_+S));w.attr("height",E+2*pn.noteMargin),a.height+=E+2*pn.noteMargin,Wr.bumpVerticalPos(E+2*pn.noteMargin),a.stopy=a.starty+E+2*pn.noteMargin,a.stopx=a.startx+f.width,Wr.insert(a.startx,a.starty,a.stopx,a.stopy),Wr.models.addNote(a)},O9=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),EM=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Sbt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function PQe(i,a){Wr.bumpVerticalPos(10);const{startx:f,stopx:g,message:w}=a,v=ei.splitBreaks(w).length,b=ao.calculateTextDimensions(w,O9(pn)),E=b.height/v;a.height+=E,Wr.bumpVerticalPos(E);let _,S=b.height-10;const I=b.width;if(f===g){_=Wr.getVerticalPos()+S,pn.rightAngles||(S+=pn.boxMargin,_=Wr.getVerticalPos()+S),S+=30;const B=ei.getMax(I/2,pn.width/2);Wr.insert(f-B,Wr.getVerticalPos()-10+S,g+B,Wr.getVerticalPos()+30+S)}else S+=pn.boxMargin,_=Wr.getVerticalPos()+S,Wr.insert(f,_-10,g,_);return Wr.bumpVerticalPos(S),a.height+=S,a.stopy=a.starty+a.height,Wr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),_}const NQe=function(i,a,f,g){const{startx:w,stopx:v,starty:b,message:E,type:_,sequenceIndex:S,sequenceVisible:I}=a,B=ao.calculateTextDimensions(E,O9(pn)),F=Kgt();F.x=w,F.y=b+10,F.width=v-w,F.class="messageText",F.dy="1em",F.text=E,F.fontFamily=pn.messageFontFamily,F.fontSize=pn.messageFontSize,F.fontWeight=pn.messageFontWeight,F.anchor=pn.messageAlign,F.valign="center",F.textMargin=pn.wrapPadding,F.tspan=!1,kM(i,F);const R=B.width;let q;w===v?pn.rightAngles?q=i.append("path").attr("d",`M ${w},${f} H ${w+ei.getMax(pn.width/2,R/2)} V ${f+25} H ${w}`):q=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(q=i.append("line"),q.attr("x1",w),q.attr("y1",f),q.attr("x2",v),q.attr("y2",f)),_===g.db.LINETYPE.DOTTED||_===g.db.LINETYPE.DOTTED_CROSS||_===g.db.LINETYPE.DOTTED_POINT||_===g.db.LINETYPE.DOTTED_OPEN?(q.style("stroke-dasharray","3, 3"),q.attr("class","messageLine1")):q.attr("class","messageLine0");let X="";pn.arrowMarkerAbsolute&&(X=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,X=X.replace(/\(/g,"\\("),X=X.replace(/\)/g,"\\)")),q.attr("stroke-width",2),q.attr("stroke","none"),q.style("fill","none"),(_===g.db.LINETYPE.SOLID||_===g.db.LINETYPE.DOTTED)&&q.attr("marker-end","url("+X+"#arrowhead)"),(_===g.db.LINETYPE.SOLID_POINT||_===g.db.LINETYPE.DOTTED_POINT)&&q.attr("marker-end","url("+X+"#filled-head)"),(_===g.db.LINETYPE.SOLID_CROSS||_===g.db.LINETYPE.DOTTED_CROSS)&&q.attr("marker-end","url("+X+"#crosshead)"),(I||pn.showSequenceNumbers)&&(q.attr("marker-start","url("+X+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(S))},FQe=function(i,a,f,g,w,v,b){let E=0,_=0,S,I=0;for(const B of g){const F=a[B],R=F.box;S&&S!=R&&(b||Wr.models.addBox(S),_+=pn.boxMargin+S.margin),R&&R!=S&&(b||(R.x=E+_,R.y=w),_+=R.margin),F.width=F.width||pn.width,F.height=ei.getMax(F.height||pn.height,pn.height),F.margin=F.margin||pn.actorMargin,I=ei.getMax(I,F.height),f[F.name]&&(_+=F.width/2),F.x=E+_,F.starty=Wr.getVerticalPos(),Wr.insert(F.x,w,F.x+F.width,F.height),E+=F.width+_,F.box&&(F.box.width=E+R.margin-F.box.x),_=F.margin,S=F.box,Wr.models.addActor(F)}S&&!b&&Wr.models.addBox(S),Wr.bumpVerticalPos(I)},Abt=function(i,a,f,g){if(g){let w=0;Wr.bumpVerticalPos(pn.boxMargin*2);for(const v of f){const b=a[v];b.stopy||(b.stopy=Wr.getVerticalPos());const E=Cf.drawActor(i,b,pn,!0);w=ei.getMax(w,E)}Wr.bumpVerticalPos(w+pn.boxMargin)}else for(const w of f){const v=a[w];Cf.drawActor(i,v,pn,!1)}},uqt=function(i,a,f,g){let w=0,v=0;for(const b of f){const E=a[b],_=$Qe(E),S=Cf.drawPopup(i,E,_,pn,pn.forceMenus,g);S.height>w&&(w=S.height),S.width+E.x>v&&(v=S.width+E.x)}return{maxHeight:w,maxWidth:v}},lqt=function(i){Td(pn,i),i.fontFamily&&(pn.actorFontFamily=pn.noteFontFamily=pn.messageFontFamily=i.fontFamily),i.fontSize&&(pn.actorFontSize=pn.noteFontSize=pn.messageFontSize=i.fontSize),i.fontWeight&&(pn.actorFontWeight=pn.noteFontWeight=pn.messageFontWeight=i.fontWeight)},hX=function(i){return Wr.activations.filter(function(a){return a.actor===i})},hqt=function(i,a){const f=a[i],g=hX(i),w=g.reduce(function(b,E){return ei.getMin(b,E.startx)},f.x+f.width/2-1),v=g.reduce(function(b,E){return ei.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,v]};function h4(i,a,f,g,w){Wr.bumpVerticalPos(f);let v=g;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=O9(pn);a.message=ao.wrapLabel(`[${a.message}]`,b-2*pn.wrapPadding,E),a.width=b,a.wrap=!0;const _=ao.calculateTextDimensions(a.message,E),S=ei.getMax(_.height,pn.labelBoxHeight);v=g+S,Wt.debug(`${S} - ${a.message}`)}w(a),Wr.bumpVerticalPos(v)}function BQe(i,a,f,g,w,v,b){function E(S,I){S.x{Ct.add(Ft.from),Ct.add(Ft.to)}),q=q.filter(Ft=>Ct.has(Ft))}FQe(S,I,B,q,0,X,!1);const yt=VQe(X,I,pt,g);Cf.insertArrowHead(S),Cf.insertArrowCrossHead(S),Cf.insertArrowFilledHead(S),Cf.insertSequenceNumber(S);function mt(Ct,Ft){const _t=Wr.endActivation(Ct);_t.starty+18>Ft&&(_t.starty=Ft-6,Ft+=12),Cf.drawActivation(S,_t,Ft,pn,hX(Ct.from.actor).length),Wr.insert(_t.startx,Ft-10,_t.stopx,Ft)}let gt=1,ht=1;const bt=[],Z=[];X.forEach(function(Ct,Ft){let _t,xt,Gt;switch(Ct.type){case g.db.LINETYPE.NOTE:Wr.resetVerticalPos(),xt=Ct.noteModel,OQe(S,xt);break;case g.db.LINETYPE.ACTIVE_START:Wr.newActivation(Ct,S,I);break;case g.db.LINETYPE.ACTIVE_END:mt(Ct,Wr.getVerticalPos());break;case g.db.LINETYPE.LOOP_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin+pn.boxTextMargin,Be=>Wr.newLoop(Be));break;case g.db.LINETYPE.LOOP_END:_t=Wr.endLoop(),Cf.drawLoop(S,_t,"loop",pn),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos()),Wr.models.addLoop(_t);break;case g.db.LINETYPE.RECT_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin,Be=>Wr.newLoop(void 0,Be.message));break;case g.db.LINETYPE.RECT_END:_t=Wr.endLoop(),Z.push(_t),Wr.models.addLoop(_t),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos());break;case g.db.LINETYPE.OPT_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin+pn.boxTextMargin,Be=>Wr.newLoop(Be));break;case g.db.LINETYPE.OPT_END:_t=Wr.endLoop(),Cf.drawLoop(S,_t,"opt",pn),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos()),Wr.models.addLoop(_t);break;case g.db.LINETYPE.ALT_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin+pn.boxTextMargin,Be=>Wr.newLoop(Be));break;case g.db.LINETYPE.ALT_ELSE:h4(yt,Ct,pn.boxMargin+pn.boxTextMargin,pn.boxMargin,Be=>Wr.addSectionToLoop(Be));break;case g.db.LINETYPE.ALT_END:_t=Wr.endLoop(),Cf.drawLoop(S,_t,"alt",pn),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos()),Wr.models.addLoop(_t);break;case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin+pn.boxTextMargin,Be=>Wr.newLoop(Be)),Wr.saveVerticalPos();break;case g.db.LINETYPE.PAR_AND:h4(yt,Ct,pn.boxMargin+pn.boxTextMargin,pn.boxMargin,Be=>Wr.addSectionToLoop(Be));break;case g.db.LINETYPE.PAR_END:_t=Wr.endLoop(),Cf.drawLoop(S,_t,"par",pn),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos()),Wr.models.addLoop(_t);break;case g.db.LINETYPE.AUTONUMBER:gt=Ct.message.start||gt,ht=Ct.message.step||ht,Ct.message.visible?g.db.enableSequenceNumbers():g.db.disableSequenceNumbers();break;case g.db.LINETYPE.CRITICAL_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin+pn.boxTextMargin,Be=>Wr.newLoop(Be));break;case g.db.LINETYPE.CRITICAL_OPTION:h4(yt,Ct,pn.boxMargin+pn.boxTextMargin,pn.boxMargin,Be=>Wr.addSectionToLoop(Be));break;case g.db.LINETYPE.CRITICAL_END:_t=Wr.endLoop(),Cf.drawLoop(S,_t,"critical",pn),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos()),Wr.models.addLoop(_t);break;case g.db.LINETYPE.BREAK_START:h4(yt,Ct,pn.boxMargin,pn.boxMargin+pn.boxTextMargin,Be=>Wr.newLoop(Be));break;case g.db.LINETYPE.BREAK_END:_t=Wr.endLoop(),Cf.drawLoop(S,_t,"break",pn),Wr.bumpVerticalPos(_t.stopy-Wr.getVerticalPos()),Wr.models.addLoop(_t);break;default:try{Gt=Ct.msgModel,Gt.starty=Wr.getVerticalPos(),Gt.sequenceIndex=gt,Gt.sequenceVisible=g.db.showSequenceNumbers();const Be=PQe(S,Gt);BQe(Ct,Gt,Be,Ft,I,B,F),bt.push({messageModel:Gt,lineStartY:Be}),Wr.models.addMessage(Gt)}catch(Be){Wt.error("error while drawing message",Be)}}[g.db.LINETYPE.SOLID_OPEN,g.db.LINETYPE.DOTTED_OPEN,g.db.LINETYPE.SOLID,g.db.LINETYPE.DOTTED,g.db.LINETYPE.SOLID_CROSS,g.db.LINETYPE.DOTTED_CROSS,g.db.LINETYPE.SOLID_POINT,g.db.LINETYPE.DOTTED_POINT].includes(Ct.type)&&(gt=gt+ht)}),Wt.debug("createdActors",B),Wt.debug("destroyedActors",F),Abt(S,I,q,!1),bt.forEach(Ct=>NQe(S,Ct.messageModel,Ct.lineStartY,g)),pn.mirrorActors&&Abt(S,I,q,!0),Z.forEach(Ct=>Cf.drawBackgroundRect(S,Ct)),aqt(S,I,q,pn),Wr.models.boxes.forEach(function(Ct){Ct.height=Wr.getVerticalPos()-Ct.y,Wr.insert(Ct.x,Ct.y,Ct.x+Ct.width,Ct.height),Ct.startx=Ct.x,Ct.starty=Ct.y,Ct.stopx=Ct.startx+Ct.width,Ct.stopy=Ct.starty+Ct.height,Ct.stroke="rgb(0,0,0, 0.5)",Cf.drawBox(S,Ct,pn)}),at&&Wr.bumpVerticalPos(pn.boxMargin);const ft=uqt(S,I,q,_),{bounds:Y}=Wr.getBounds();let Et=Y.stopy-Y.starty;Et{const b=i[v];b.wrap&&(b.description=ao.wrapLabel(b.description,pn.width-2*pn.wrapPadding,Sbt(pn)));const E=ao.calculateTextDimensions(b.description,Sbt(pn));b.width=b.wrap?pn.width:ei.getMax(pn.width,E.width+2*pn.wrapPadding),b.height=b.wrap?ei.getMax(E.height,pn.height):pn.height,g=ei.getMax(g,b.height)});for(const v in a){const b=i[v];if(!b)continue;const E=i[b.nextActor];if(!E){const B=a[v]+pn.actorMargin-b.width/2;b.margin=ei.getMax(B,pn.actorMargin);continue}const S=a[v]+pn.actorMargin-b.width/2-E.width/2;b.margin=ei.getMax(S,pn.actorMargin)}let w=0;return f.forEach(v=>{const b=O9(pn);let E=v.actorKeys.reduce((I,B)=>I+=i[B].width+(i[B].margin||0),0);E-=2*pn.boxTextMargin,v.wrap&&(v.name=ao.wrapLabel(v.name,E-2*pn.wrapPadding,b));const _=ao.calculateTextDimensions(v.name,b);w=ei.getMax(_.height,w);const S=ei.getMax(E,_.width+2*pn.wrapPadding);if(v.margin=pn.boxTextMargin,Ev.textMaxHeight=w),ei.getMax(g,pn.height)}const qQe=function(i,a,f){const g=a[i.from].x,w=a[i.to].x,v=i.wrap&&i.message;let b=ao.calculateTextDimensions(v?ao.wrapLabel(i.message,pn.width,EM(pn)):i.message,EM(pn));const E={width:v?pn.width:ei.getMax(pn.width,b.width+2*pn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=v?ei.getMax(pn.width,b.width):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*pn.noteMargin),E.startx=g+(a[i.from].width+pn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=v?ei.getMax(pn.width,b.width+2*pn.noteMargin):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*pn.noteMargin),E.startx=g-E.width+(a[i.from].width-pn.actorMargin)/2):i.to===i.from?(b=ao.calculateTextDimensions(v?ao.wrapLabel(i.message,ei.getMax(pn.width,a[i.from].width),EM(pn)):i.message,EM(pn)),E.width=v?ei.getMax(pn.width,a[i.from].width):ei.getMax(a[i.from].width,pn.width,b.width+2*pn.noteMargin),E.startx=g+(a[i.from].width-E.width)/2):(E.width=Math.abs(g+a[i.from].width/2-(w+a[i.to].width/2))+pn.actorMargin,E.startx=g2,B=X=>E?-X:X;i.from===i.to?S=_:(i.activate&&!I&&(S+=B(pn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(S+=B(3)));const F=[g,w,v,b],R=Math.abs(_-S);i.wrap&&i.message&&(i.message=ao.wrapLabel(i.message,ei.getMax(R+2*pn.wrapPadding,pn.width),O9(pn)));const q=ao.calculateTextDimensions(i.message,O9(pn));return{width:ei.getMax(i.wrap?0:q.width+2*pn.wrapPadding,R+2*pn.wrapPadding,pn.width),height:0,startx:_,stopx:S,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,F),toBounds:Math.max.apply(null,F)}},VQe=function(i,a,f,g){const w={},v=[];let b,E,_;return i.forEach(function(S){switch(S.id=ao.random({length:10}),S.type){case g.db.LINETYPE.LOOP_START:case g.db.LINETYPE.ALT_START:case g.db.LINETYPE.OPT_START:case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:case g.db.LINETYPE.CRITICAL_START:case g.db.LINETYPE.BREAK_START:v.push({id:S.id,msg:S.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case g.db.LINETYPE.ALT_ELSE:case g.db.LINETYPE.PAR_AND:case g.db.LINETYPE.CRITICAL_OPTION:S.message&&(b=v.pop(),w[b.id]=b,w[S.id]=b,v.push(b));break;case g.db.LINETYPE.LOOP_END:case g.db.LINETYPE.ALT_END:case g.db.LINETYPE.OPT_END:case g.db.LINETYPE.PAR_END:case g.db.LINETYPE.CRITICAL_END:case g.db.LINETYPE.BREAK_END:b=v.pop(),w[b.id]=b;break;case g.db.LINETYPE.ACTIVE_START:{const B=a[S.from?S.from.actor:S.to.actor],F=hX(S.from?S.from.actor:S.to.actor).length,R=B.x+B.width/2+(F-1)*pn.activationWidth/2,q={startx:R,stopx:R+pn.activationWidth,actor:S.from.actor,enabled:!0};Wr.activations.push(q)}break;case g.db.LINETYPE.ACTIVE_END:{const B=Wr.activations.map(F=>F.actor).lastIndexOf(S.from.actor);delete Wr.activations.splice(B,1)[0]}break}S.placement!==void 0?(E=qQe(S,a,g),S.noteModel=E,v.forEach(B=>{b=B,b.from=ei.getMin(b.from,E.startx),b.to=ei.getMax(b.to,E.startx+E.width),b.width=ei.getMax(b.width,Math.abs(b.from-b.to))-pn.labelBoxWidth})):(_=HQe(S,a,g),S.msgModel=_,_.startx&&_.stopx&&v.length>0&&v.forEach(B=>{if(b=B,_.startx===_.stopx){const F=a[S.from],R=a[S.to];b.from=ei.getMin(F.x-_.width/2,F.x-F.width/2,b.from),b.to=ei.getMax(R.x+_.width/2,R.x+F.width/2,b.to),b.width=ei.getMax(b.width,Math.abs(b.to-b.from))-pn.labelBoxWidth}else b.from=ei.getMin(_.startx,b.from),b.to=ei.getMax(_.stopx,b.to),b.width=ei.getMax(b.width,_.width)-pn.labelBoxWidth}))}),Wr.activations=[],Wt.debug("Loop type widths:",w),w},UQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:$Xe,db:rqt,renderer:{bounds:Wr,drawActors:Abt,drawActorsPopup:uqt,setConf:lqt,draw:RQe},styles:hQe,init:({wrap:i})=>{rqt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Lbt=function(){var i=function(Ra,fr,An,Pn){for(An=An||{},Pn=Ra.length;Pn--;An[Ra[Pn]]=fr);return An},a=[1,17],f=[1,18],g=[1,19],w=[1,39],v=[1,40],b=[1,25],E=[1,23],_=[1,24],S=[1,31],I=[1,32],B=[1,33],F=[1,34],R=[1,35],q=[1,36],X=[1,26],rt=[1,27],at=[1,28],ut=[1,29],pt=[1,43],yt=[1,30],mt=[1,42],gt=[1,44],ht=[1,41],bt=[1,45],Z=[1,9],ft=[1,8,9],Y=[1,56],Et=[1,57],V=[1,58],Nt=[1,59],Dt=[1,60],jt=[1,61],Ct=[1,62],Ft=[1,8,9,39],_t=[1,74],xt=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Gt=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Be=[13,74,80,95,97,98],Ot=[13,64,65,74,80,95,97,98],vn=[13,59,60,61,62,63,74,80,95,97,98],Pe=[1,93],Ee=[1,110],nn=[1,108],sn=[1,102],me=[1,103],Fe=[1,104],Qt=[1,105],Ae=[1,106],Se=[1,107],Dn=[1,109],oe=[1,8,9,37,39,42],Pr=[1,8,9,21],we=[1,8,9,78],Ri=[1,8,9,21,73,74,78,80,81,82,83,84,85],yi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(fr,An,Pn,Bn,Te,be,Qe){var rn=be.length-1;switch(Te){case 8:this.$=be[rn-1];break;case 9:case 11:case 12:this.$=be[rn];break;case 10:case 13:this.$=be[rn-1]+be[rn];break;case 14:case 15:this.$=be[rn-1]+"~"+be[rn]+"~";break;case 16:Bn.addRelation(be[rn]);break;case 17:be[rn-1].title=Bn.cleanupLabel(be[rn]),Bn.addRelation(be[rn-1]);break;case 27:this.$=be[rn].trim(),Bn.setAccTitle(this.$);break;case 28:case 29:this.$=be[rn].trim(),Bn.setAccDescription(this.$);break;case 30:Bn.addClassesToNamespace(be[rn-3],be[rn-1]);break;case 31:Bn.addClassesToNamespace(be[rn-4],be[rn-1]);break;case 32:this.$=be[rn],Bn.addNamespace(be[rn]);break;case 33:this.$=[be[rn]];break;case 34:this.$=[be[rn-1]];break;case 35:be[rn].unshift(be[rn-2]),this.$=be[rn];break;case 37:Bn.setCssClass(be[rn-2],be[rn]);break;case 38:Bn.addMembers(be[rn-3],be[rn-1]);break;case 39:Bn.setCssClass(be[rn-5],be[rn-3]),Bn.addMembers(be[rn-5],be[rn-1]);break;case 40:this.$=be[rn],Bn.addClass(be[rn]);break;case 41:this.$=be[rn-1],Bn.addClass(be[rn-1]),Bn.setClassLabel(be[rn-1],be[rn]);break;case 42:Bn.addAnnotation(be[rn],be[rn-2]);break;case 43:this.$=[be[rn]];break;case 44:be[rn].push(be[rn-1]),this.$=be[rn];break;case 45:break;case 46:Bn.addMember(be[rn-1],Bn.cleanupLabel(be[rn]));break;case 47:break;case 48:break;case 49:this.$={id1:be[rn-2],id2:be[rn],relation:be[rn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:be[rn-3],id2:be[rn],relation:be[rn-1],relationTitle1:be[rn-2],relationTitle2:"none"};break;case 51:this.$={id1:be[rn-3],id2:be[rn],relation:be[rn-2],relationTitle1:"none",relationTitle2:be[rn-1]};break;case 52:this.$={id1:be[rn-4],id2:be[rn],relation:be[rn-2],relationTitle1:be[rn-3],relationTitle2:be[rn-1]};break;case 53:Bn.addNote(be[rn],be[rn-1]);break;case 54:Bn.addNote(be[rn]);break;case 55:Bn.setDirection("TB");break;case 56:Bn.setDirection("BT");break;case 57:Bn.setDirection("RL");break;case 58:Bn.setDirection("LR");break;case 59:this.$={type1:be[rn-2],type2:be[rn],lineType:be[rn-1]};break;case 60:this.$={type1:"none",type2:be[rn],lineType:be[rn-1]};break;case 61:this.$={type1:be[rn-1],type2:"none",lineType:be[rn]};break;case 62:this.$={type1:"none",type2:"none",lineType:be[rn]};break;case 63:this.$=Bn.relationType.AGGREGATION;break;case 64:this.$=Bn.relationType.EXTENSION;break;case 65:this.$=Bn.relationType.COMPOSITION;break;case 66:this.$=Bn.relationType.DEPENDENCY;break;case 67:this.$=Bn.relationType.LOLLIPOP;break;case 68:this.$=Bn.lineType.LINE;break;case 69:this.$=Bn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=be[rn-2],Bn.setClickEvent(be[rn-1],be[rn]);break;case 71:case 77:this.$=be[rn-3],Bn.setClickEvent(be[rn-2],be[rn-1]),Bn.setTooltip(be[rn-2],be[rn]);break;case 72:this.$=be[rn-2],Bn.setLink(be[rn-1],be[rn]);break;case 73:this.$=be[rn-3],Bn.setLink(be[rn-2],be[rn-1],be[rn]);break;case 74:this.$=be[rn-3],Bn.setLink(be[rn-2],be[rn-1]),Bn.setTooltip(be[rn-2],be[rn]);break;case 75:this.$=be[rn-4],Bn.setLink(be[rn-3],be[rn-2],be[rn]),Bn.setTooltip(be[rn-3],be[rn-1]);break;case 78:this.$=be[rn-3],Bn.setClickEvent(be[rn-2],be[rn-1],be[rn]);break;case 79:this.$=be[rn-4],Bn.setClickEvent(be[rn-3],be[rn-2],be[rn-1]),Bn.setTooltip(be[rn-3],be[rn]);break;case 80:this.$=be[rn-3],Bn.setLink(be[rn-2],be[rn]);break;case 81:this.$=be[rn-4],Bn.setLink(be[rn-3],be[rn-1],be[rn]);break;case 82:this.$=be[rn-4],Bn.setLink(be[rn-3],be[rn-1]),Bn.setTooltip(be[rn-3],be[rn]);break;case 83:this.$=be[rn-5],Bn.setLink(be[rn-4],be[rn-2],be[rn]),Bn.setTooltip(be[rn-4],be[rn-1]);break;case 84:this.$=be[rn-2],Bn.setCssStyle(be[rn-1],be[rn]);break;case 85:Bn.setCssClass(be[rn-1],be[rn]);break;case 86:this.$=[be[rn]];break;case 87:be[rn-2].push(be[rn]),this.$=be[rn-2];break;case 89:this.$=be[rn-1]+be[rn];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:_,50:S,52:I,53:B,54:F,55:R,56:q,66:X,67:rt,69:at,73:ut,74:pt,76:yt,80:mt,95:gt,97:ht,98:bt},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(Z,[2,5],{8:[1,46]}),{8:[1,47]},i(ft,[2,16],{21:[1,48]}),i(ft,[2,18]),i(ft,[2,19]),i(ft,[2,20]),i(ft,[2,21]),i(ft,[2,22]),i(ft,[2,23]),i(ft,[2,24]),i(ft,[2,25]),i(ft,[2,26]),{32:[1,49]},{34:[1,50]},i(ft,[2,29]),i(ft,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:Et,61:V,62:Nt,63:Dt,64:jt,65:Ct}),{37:[1,63]},i(Ft,[2,36],{37:[1,65],42:[1,64]}),i(ft,[2,47]),i(ft,[2,48]),{16:66,74:pt,80:mt,95:gt,97:ht},{16:37,17:67,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},{16:37,17:68,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},{16:37,17:69,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},{13:_t,51:73},i(ft,[2,55]),i(ft,[2,56]),i(ft,[2,57]),i(ft,[2,58]),i(xt,[2,11],{16:37,18:38,17:75,19:[1,76],74:pt,80:mt,95:gt,97:ht,98:bt}),i(xt,[2,12],{19:[1,77]}),{15:78,16:79,74:pt,80:mt,95:gt,97:ht},{16:37,17:80,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},i(Gt,[2,112]),i(Gt,[2,113]),i(Gt,[2,114]),i(Gt,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(Z,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:a,33:f,35:g,40:w,44:v,45:b,47:E,48:_,50:S,52:I,53:B,54:F,55:R,56:q,66:X,67:rt,69:at,73:ut,74:pt,76:yt,80:mt,95:gt,97:ht,98:bt}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:_,50:S,52:I,53:B,54:F,55:R,56:q,66:X,67:rt,69:at,73:ut,74:pt,76:yt,80:mt,95:gt,97:ht,98:bt},i(ft,[2,17]),i(ft,[2,27]),i(ft,[2,28]),{13:[1,84],16:37,17:83,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},{49:85,57:54,58:55,59:Y,60:Et,61:V,62:Nt,63:Dt,64:jt,65:Ct},i(ft,[2,46]),{58:86,64:jt,65:Ct},i(Be,[2,62],{57:87,59:Y,60:Et,61:V,62:Nt,63:Dt}),i(Ot,[2,63]),i(Ot,[2,64]),i(Ot,[2,65]),i(Ot,[2,66]),i(Ot,[2,67]),i(vn,[2,68]),i(vn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:pt,80:mt,95:gt,97:ht},{43:92,47:Pe},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Ee,73:nn,74:sn,75:99,77:100,79:101,80:me,81:Fe,82:Qt,83:Ae,84:Se,85:Dn},{74:[1,111]},{13:_t,51:112},i(ft,[2,54]),i(ft,[2,117]),i(xt,[2,13]),i(xt,[2,14]),i(xt,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:pt,80:mt,95:gt,97:ht},i(oe,[2,40],{11:114,12:[1,115]}),i(Z,[2,7]),{9:[1,116]},i(Pr,[2,49]),{16:37,17:117,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},{13:[1,119],16:37,17:118,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},i(Be,[2,61],{57:120,59:Y,60:Et,61:V,62:Nt,63:Dt}),i(Be,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Ft,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Pe},{16:37,17:127,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},i(ft,[2,70],{13:[1,128]}),i(ft,[2,72],{13:[1,130],68:[1,129]}),i(ft,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(ft,[2,84],{78:[1,134]}),i(we,[2,86],{79:135,21:Ee,73:nn,74:sn,80:me,81:Fe,82:Qt,83:Ae,84:Se,85:Dn}),i(Ri,[2,88]),i(Ri,[2,90]),i(Ri,[2,91]),i(Ri,[2,92]),i(Ri,[2,93]),i(Ri,[2,94]),i(Ri,[2,95]),i(Ri,[2,96]),i(Ri,[2,97]),i(Ri,[2,98]),i(ft,[2,85]),i(ft,[2,53]),{37:[2,10]},i(oe,[2,41]),{13:[1,136]},{1:[2,4]},i(Pr,[2,51]),i(Pr,[2,50]),{16:37,17:137,18:38,74:pt,80:mt,95:gt,97:ht,98:bt},i(Be,[2,59]),i(ft,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:Pe},i(Ft,[2,38]),{39:[2,44]},i(ft,[2,42]),i(ft,[2,71]),i(ft,[2,73]),i(ft,[2,74],{68:[1,141]}),i(ft,[2,77]),i(ft,[2,78],{13:[1,142]}),i(ft,[2,80],{13:[1,144],68:[1,143]}),{21:Ee,73:nn,74:sn,77:145,79:101,80:me,81:Fe,82:Qt,83:Ae,84:Se,85:Dn},i(Ri,[2,89]),{14:[1,146]},i(Pr,[2,52]),i(ft,[2,31]),{39:[2,35]},{39:[1,147]},i(ft,[2,75]),i(ft,[2,79]),i(ft,[2,81]),i(ft,[2,82],{68:[1,148]}),i(we,[2,87],{79:135,21:Ee,73:nn,74:sn,80:me,81:Fe,82:Qt,83:Ae,84:Se,85:Dn}),i(oe,[2,8]),i(Ft,[2,39]),i(ft,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(fr,An){if(An.recoverable)this.trace(fr);else{var Pn=new Error(fr);throw Pn.hash=An,Pn}},parse:function(fr){var An=this,Pn=[0],Bn=[],Te=[null],be=[],Qe=this.table,rn="",yn=0,ja=0,mo=2,vo=1,ma=be.slice.call(arguments,1),$a=Object.create(this.lexer),gs={yy:{}};for(var Nu in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nu)&&(gs.yy[Nu]=this.yy[Nu]);$a.setInput(fr,gs.yy),gs.yy.lexer=$a,gs.yy.parser=this,typeof $a.yylloc>"u"&&($a.yylloc={});var ta=$a.yylloc;be.push(ta);var l1=$a.options&&$a.options.ranges;typeof gs.yy.parseError=="function"?this.parseError=gs.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _2(){var na;return na=Bn.pop()||$a.lex()||vo,typeof na!="number"&&(na instanceof Array&&(Bn=na,na=Bn.pop()),na=An.symbols_[na]||na),na}for(var ll,Ac,pc,ka,du={},ea,co,bc,oa;;){if(Ac=Pn[Pn.length-1],this.defaultActions[Ac]?pc=this.defaultActions[Ac]:((ll===null||typeof ll>"u")&&(ll=_2()),pc=Qe[Ac]&&Qe[Ac][ll]),typeof pc>"u"||!pc.length||!pc[0]){var va="";oa=[];for(ea in Qe[Ac])this.terminals_[ea]&&ea>mo&&oa.push("'"+this.terminals_[ea]+"'");$a.showPosition?va="Parse error on line "+(yn+1)+`: +`+$a.showPosition()+` +Expecting `+oa.join(", ")+", got '"+(this.terminals_[ll]||ll)+"'":va="Parse error on line "+(yn+1)+": Unexpected "+(ll==vo?"end of input":"'"+(this.terminals_[ll]||ll)+"'"),this.parseError(va,{text:$a.match,token:this.terminals_[ll]||ll,line:$a.yylineno,loc:ta,expected:oa})}if(pc[0]instanceof Array&&pc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ac+", token: "+ll);switch(pc[0]){case 1:Pn.push(ll),Te.push($a.yytext),be.push($a.yylloc),Pn.push(pc[1]),ll=null,ja=$a.yyleng,rn=$a.yytext,yn=$a.yylineno,ta=$a.yylloc;break;case 2:if(co=this.productions_[pc[1]][1],du.$=Te[Te.length-co],du._$={first_line:be[be.length-(co||1)].first_line,last_line:be[be.length-1].last_line,first_column:be[be.length-(co||1)].first_column,last_column:be[be.length-1].last_column},l1&&(du._$.range=[be[be.length-(co||1)].range[0],be[be.length-1].range[1]]),ka=this.performAction.apply(du,[rn,ja,yn,gs.yy,pc[1],Te,be].concat(ma)),typeof ka<"u")return ka;co&&(Pn=Pn.slice(0,-1*co*2),Te=Te.slice(0,-1*co),be=be.slice(0,-1*co)),Pn.push(this.productions_[pc[1]][0]),Te.push(du.$),be.push(du._$),bc=Qe[Pn[Pn.length-2]][Pn[Pn.length-1]],Pn.push(bc);break;case 3:return!0}}return!0}},da=function(){var Ra={EOF:1,parseError:function(An,Pn){if(this.yy.parser)this.yy.parser.parseError(An,Pn);else throw new Error(An)},setInput:function(fr,An){return this.yy=An||this.yy||{},this._input=fr,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var fr=this._input[0];this.yytext+=fr,this.yyleng++,this.offset++,this.match+=fr,this.matched+=fr;var An=fr.match(/(?:\r\n?|\n).*/g);return An?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),fr},unput:function(fr){var An=fr.length,Pn=fr.split(/(?:\r\n?|\n)/g);this._input=fr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-An),this.offset-=An;var Bn=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Pn.length-1&&(this.yylineno-=Pn.length-1);var Te=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Pn?(Pn.length===Bn.length?this.yylloc.first_column:0)+Bn[Bn.length-Pn.length].length-Pn[0].length:this.yylloc.first_column-An},this.options.ranges&&(this.yylloc.range=[Te[0],Te[0]+this.yyleng-An]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(fr){this.unput(this.match.slice(fr))},pastInput:function(){var fr=this.matched.substr(0,this.matched.length-this.match.length);return(fr.length>20?"...":"")+fr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var fr=this.match;return fr.length<20&&(fr+=this._input.substr(0,20-fr.length)),(fr.substr(0,20)+(fr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var fr=this.pastInput(),An=new Array(fr.length+1).join("-");return fr+this.upcomingInput()+` +`+An+"^"},test_match:function(fr,An){var Pn,Bn,Te;if(this.options.backtrack_lexer&&(Te={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Te.yylloc.range=this.yylloc.range.slice(0))),Bn=fr[0].match(/(?:\r\n?|\n).*/g),Bn&&(this.yylineno+=Bn.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Bn?Bn[Bn.length-1].length-Bn[Bn.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+fr[0].length},this.yytext+=fr[0],this.match+=fr[0],this.matches=fr,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(fr[0].length),this.matched+=fr[0],Pn=this.performAction.call(this,this.yy,this,An,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Pn)return Pn;if(this._backtrack){for(var be in Te)this[be]=Te[be];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var fr,An,Pn,Bn;this._more||(this.yytext="",this.match="");for(var Te=this._currentRules(),be=0;beAn[0].length)){if(An=Pn,Bn=be,this.options.backtrack_lexer){if(fr=this.test_match(Pn,Te[be]),fr!==!1)return fr;if(this._backtrack){An=!1;continue}else return!1}else if(!this.options.flex)break}return An?(fr=this.test_match(An,Te[Bn]),fr!==!1?fr:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var An=this.next();return An||this.lex()},begin:function(An){this.conditionStack.push(An)},popState:function(){var An=this.conditionStack.length-1;return An>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(An){return An=this.conditionStack.length-1-Math.abs(An||0),An>=0?this.conditionStack[An]:"INITIAL"},pushState:function(An){this.begin(An)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(An,Pn,Bn,Te){switch(Bn){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return Ra}();yi.lexer=da;function Ss(){this.yy={}}return Ss.prototype=yi,yi.Parser=Ss,new Ss}();Lbt.parser=Lbt;const fqt=Lbt,dqt=["#","+","~","-",""];class gqt{constructor(a,f){this.memberType=f,this.visibility="",this.classifier="";const g=Ed(a,Re());this.parseMember(g)}getDisplayDetails(){let a=this.visibility+pF(this.id);this.memberType==="method"&&(a+=`(${pF(this.parameters.trim())})`,this.returnType&&(a+=" : "+pF(this.returnType))),a=a.trim();const f=this.parseClassifier();return{displayText:a,cssStyle:f}}parseMember(a){let f="";if(this.memberType==="method"){const g=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,w=a.match(g);if(w){const v=w[1]?w[1].trim():"";if(dqt.includes(v)&&(this.visibility=v),this.id=w[2].trim(),this.parameters=w[3]?w[3].trim():"",f=w[4]?w[4].trim():"",this.returnType=w[5]?w[5].trim():"",f===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(f=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const g=a.length,w=a.substring(0,1),v=a.substring(g-1);dqt.includes(w)&&(this.visibility=w),v.match(/[$*]/)&&(f=v),this.id=a.substring(this.visibility===""?0:1,f===""?g:g-1)}this.classifier=f}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const fX="classId-";let Mbt=[],Yl={},dX=[],pqt=0,C8={},Dbt=0,hB=[];const P9=i=>ei.sanitizeText(i,Re()),N9=function(i){const a=ei.sanitizeText(i,Re());let f="",g=a;if(a.indexOf("~")>0){const w=a.split("~");g=P9(w[0]),f=P9(w[1])}return{className:g,type:f}},GQe=function(i,a){const f=ei.sanitizeText(i,Re());a&&(a=P9(a));const{className:g}=N9(f);Yl[g].label=a},gX=function(i){const a=ei.sanitizeText(i,Re()),{className:f,type:g}=N9(a);if(Object.hasOwn(Yl,f))return;const w=ei.sanitizeText(f,Re());Yl[w]={id:w,type:g,label:w,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:fX+w+"-"+pqt},pqt++},bqt=function(i){const a=ei.sanitizeText(i,Re());if(a in Yl)return Yl[a].domId;throw new Error("Class not found: "+a)},KQe=function(){Mbt=[],Yl={},dX=[],hB=[],hB.push(mqt),C8={},Dbt=0,Wg()},WQe=function(i){return Yl[i]},YQe=function(){return Yl},XQe=function(){return Mbt},QQe=function(){return dX},JQe=function(i){Wt.debug("Adding relation: "+JSON.stringify(i)),gX(i.id1),gX(i.id2),i.id1=N9(i.id1).className,i.id2=N9(i.id2).className,i.relationTitle1=ei.sanitizeText(i.relationTitle1.trim(),Re()),i.relationTitle2=ei.sanitizeText(i.relationTitle2.trim(),Re()),Mbt.push(i)},ZQe=function(i,a){const f=N9(i).className;Yl[f].annotations.push(a)},wqt=function(i,a){gX(i);const f=N9(i).className,g=Yl[f];if(typeof a=="string"){const w=a.trim();w.startsWith("<<")&&w.endsWith(">>")?g.annotations.push(P9(w.substring(2,w.length-2))):w.indexOf(")")>0?g.methods.push(new gqt(w,"method")):w&&g.members.push(new gqt(w,"attribute"))}},tJe=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(f=>wqt(i,f)))},eJe=function(i,a){const f={id:`note${dX.length}`,class:a,text:i};dX.push(f)},nJe=function(i){return i.startsWith(":")&&(i=i.substring(1)),P9(i.trim())},Ibt=function(i,a){i.split(",").forEach(function(f){let g=f;f[0].match(/\d/)&&(g=fX+g),Yl[g]!==void 0&&Yl[g].cssClasses.push(a)})},rJe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(Yl[f].tooltip=P9(a))})},iJe=function(i,a){return a?C8[a].classes[i].tooltip:Yl[i].tooltip},sJe=function(i,a,f){const g=Re();i.split(",").forEach(function(w){let v=w;w[0].match(/\d/)&&(v=fX+v),Yl[v]!==void 0&&(Yl[v].link=ao.formatUrl(a,g),g.securityLevel==="sandbox"?Yl[v].linkTarget="_top":typeof f=="string"?Yl[v].linkTarget=P9(f):Yl[v].linkTarget="_blank")}),Ibt(i,"clickable")},aJe=function(i,a,f){i.split(",").forEach(function(g){oJe(g,a,f),Yl[g].haveCallback=!0}),Ibt(i,"clickable")},oJe=function(i,a,f){const g=ei.sanitizeText(i,Re());if(Re().securityLevel!=="loose"||a===void 0)return;const v=g;if(Yl[v]!==void 0){const b=bqt(v);let E=[];if(typeof f=="string"){E=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let _=0;_")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),xr(this).classed("hover",!1)})};hB.push(mqt);let vqt="TB";const pX={setAccTitle:ng,getAccTitle:Yg,getAccDescription:Qg,setAccDescription:Xg,getConfig:()=>Re().class,addClass:gX,bindFunctions:cJe,clear:KQe,getClass:WQe,getClasses:YQe,getNotes:QQe,addAnnotation:ZQe,addNote:eJe,getRelations:XQe,addRelation:JQe,getDirection:()=>vqt,setDirection:i=>{vqt=i},addMember:wqt,addMembers:tJe,cleanupLabel:nJe,lineType:uJe,relationType:lJe,setClickEvent:aJe,setCssClass:Ibt,setLink:sJe,getTooltip:iJe,setTooltip:rJe,lookUpDomId:bqt,setDiagramTitle:y2,getDiagramTitle:Jg,setClassLabel:GQe,addNamespace:function(i){C8[i]===void 0&&(C8[i]={id:i,classes:{},children:{},domId:fX+i+"-"+Dbt},Dbt++)},addClassesToNamespace:function(i,a){if(C8[i]!==void 0)for(const f of a){const{className:g}=N9(f);Yl[g].parent=i,C8[i].classes[g]=Yl[g]}},getNamespace:function(i){return C8[i]},getNamespaces:function(){return C8},setCssStyle:function(i,a){const f=Yl[i];if(!(!a||!f))for(const g of a)g.includes(",")?f.styles.push(...g.split(",")):f.styles.push(g)}},yqt=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let xqt=0;const hJe=function(i,a,f,g,w){const v=function(ut){switch(ut){case w.db.relationType.AGGREGATION:return"aggregation";case w.db.relationType.EXTENSION:return"extension";case w.db.relationType.COMPOSITION:return"composition";case w.db.relationType.DEPENDENCY:return"dependency";case w.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(ut=>!Number.isNaN(ut.y));const b=a.points,E=Cx().x(function(ut){return ut.x}).y(function(ut){return ut.y}).curve(lF),_=i.append("path").attr("d",E(b)).attr("id","edge"+xqt).attr("class","relation");let S="";g.arrowMarkerAbsolute&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),f.relation.lineType==1&&_.attr("class","relation dashed-line"),f.relation.lineType==10&&_.attr("class","relation dotted-line"),f.relation.type1!=="none"&&_.attr("marker-start","url("+S+"#"+v(f.relation.type1)+"Start)"),f.relation.type2!=="none"&&_.attr("marker-end","url("+S+"#"+v(f.relation.type2)+"End)");let I,B;const F=a.points.length;let R=ao.calcLabelPosition(a.points);I=R.x,B=R.y;let q,X,rt,at;if(F%2!==0&&F>1){let ut=ao.calcCardinalityPosition(f.relation.type1!=="none",a.points,a.points[0]),pt=ao.calcCardinalityPosition(f.relation.type2!=="none",a.points,a.points[F-1]);Wt.debug("cardinality_1_point "+JSON.stringify(ut)),Wt.debug("cardinality_2_point "+JSON.stringify(pt)),q=ut.x,X=ut.y,rt=pt.x,at=pt.y}if(f.title!==void 0){const ut=i.append("g").attr("class","classLabel"),pt=ut.append("text").attr("class","label").attr("x",I).attr("y",B).attr("fill","red").attr("text-anchor","middle").text(f.title);window.label=pt;const yt=pt.node().getBBox();ut.insert("rect",":first-child").attr("class","box").attr("x",yt.x-g.padding/2).attr("y",yt.y-g.padding/2).attr("width",yt.width+g.padding).attr("height",yt.height+g.padding)}Wt.info("Rendering relation "+JSON.stringify(f)),f.relationTitle1!==void 0&&f.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",q).attr("y",X).attr("fill","black").attr("font-size","6").text(f.relationTitle1),f.relationTitle2!==void 0&&f.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",rt).attr("y",at).attr("fill","black").attr("font-size","6").text(f.relationTitle2),xqt++},fJe=function(i,a,f,g){Wt.debug("Rendering class ",a,f);const w=a.id,v={id:w,label:a.id,width:0,height:0},b=i.append("g").attr("id",g.db.lookUpDomId(w)).attr("class","classGroup");let E;a.link?E=b.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",f.textHeight+f.padding).attr("x",0):E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);let _=!0;a.annotations.forEach(function(pt){const yt=E.append("tspan").text("«"+pt+"»");_||yt.attr("dy",f.textHeight),_=!1});let S=kqt(a);const I=E.append("tspan").text(S).attr("class","title");_||I.attr("dy",f.textHeight);const B=E.node().getBBox().height;let F,R,q;if(a.members.length>0){F=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin/2).attr("y2",f.padding+B+f.dividerMargin/2);const pt=b.append("text").attr("x",f.padding).attr("y",B+f.dividerMargin+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.members.forEach(function(yt){Eqt(pt,yt,_,f),_=!1}),R=pt.node().getBBox()}if(a.methods.length>0){q=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin+R.height).attr("y2",f.padding+B+f.dividerMargin+R.height);const pt=b.append("text").attr("x",f.padding).attr("y",B+2*f.dividerMargin+R.height+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.methods.forEach(function(yt){Eqt(pt,yt,_,f),_=!1})}const X=b.node().getBBox();var rt=" ";a.cssClasses.length>0&&(rt=rt+a.cssClasses.join(" "));const ut=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",X.width+2*f.padding).attr("height",X.height+f.padding+.5*f.dividerMargin).attr("class",rt).node().getBBox().width;return E.node().childNodes.forEach(function(pt){pt.setAttribute("x",(ut-pt.getBBox().width)/2)}),a.tooltip&&E.insert("title").text(a.tooltip),F&&F.attr("x2",ut),q&&q.attr("x2",ut),v.width=ut,v.height=X.height+f.padding+.5*f.dividerMargin,v},kqt=function(i){let a=i.id;return i.type&&(a+="<"+pF(i.type)+">"),a},dJe=function(i,a,f,g){Wt.debug("Rendering note ",a,f);const w=a.id,v={id:w,text:a.text,width:0,height:0},b=i.append("g").attr("id",w).attr("class","classGroup");let E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);const _=JSON.parse(`"${a.text}"`).split(` +`);_.forEach(function(F){Wt.debug(`Adding line: ${F}`),E.append("tspan").text(F).attr("class","title").attr("dy",f.textHeight)});const S=b.node().getBBox(),B=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",S.width+2*f.padding).attr("height",S.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin).node().getBBox().width;return E.node().childNodes.forEach(function(F){F.setAttribute("x",(B-F.getBBox().width)/2)}),v.width=B,v.height=S.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin,v},Eqt=function(i,a,f,g){const{displayText:w,cssStyle:v}=a.getDisplayDetails(),b=i.append("tspan").attr("x",g.padding).text(w);v!==""&&b.attr("style",a.cssStyle),f||b.attr("dy",g.textHeight)},Obt={getClassTitleString:kqt,drawClass:fJe,drawEdge:hJe,drawNote:dJe};let bX={};const wX=20,fB=function(i){const a=Object.entries(bX).find(f=>f[1].label===i);if(a)return a[0]},gJe=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},pJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:fqt,db:pX,renderer:{draw:function(i,a,f,g){const w=Re().class;bX={},Wt.info("Rendering diagram "+i);const v=Re().securityLevel;let b;v==="sandbox"&&(b=xr("#i"+a));const E=xr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=E.select(`[id='${a}']`);gJe(_);const S=new R1({multigraph:!0});S.setGraph({isMultiGraph:!0}),S.setDefaultEdgeLabel(function(){return{}});const I=g.db.getClasses(),B=Object.keys(I);for(const ut of B){const pt=I[ut],yt=Obt.drawClass(_,pt,w,g);bX[yt.id]=yt,S.setNode(yt.id,yt),Wt.info("Org height: "+yt.height)}g.db.getRelations().forEach(function(ut){Wt.info("tjoho"+fB(ut.id1)+fB(ut.id2)+JSON.stringify(ut)),S.setEdge(fB(ut.id1),fB(ut.id2),{relation:ut},ut.title||"DEFAULT")}),g.db.getNotes().forEach(function(ut){Wt.debug(`Adding note: ${JSON.stringify(ut)}`);const pt=Obt.drawNote(_,ut,w,g);bX[pt.id]=pt,S.setNode(pt.id,pt),ut.class&&ut.class in I&&S.setEdge(ut.id,fB(ut.class),{relation:{id1:ut.id,id2:ut.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),gM(S),S.nodes().forEach(function(ut){ut!==void 0&&S.node(ut)!==void 0&&(Wt.debug("Node "+ut+": "+JSON.stringify(S.node(ut))),E.select("#"+(g.db.lookUpDomId(ut)||ut)).attr("transform","translate("+(S.node(ut).x-S.node(ut).width/2)+","+(S.node(ut).y-S.node(ut).height/2)+" )"))}),S.edges().forEach(function(ut){ut!==void 0&&S.edge(ut)!==void 0&&(Wt.debug("Edge "+ut.v+" -> "+ut.w+": "+JSON.stringify(S.edge(ut))),Obt.drawEdge(_,S.edge(ut),S.edge(ut).relation,w,g))});const q=_.node().getBBox(),X=q.width+wX*2,rt=q.height+wX*2;Kg(_,rt,X,w.useMaxWidth);const at=`${q.x-wX} ${q.y-wX} ${X} ${rt}`;Wt.debug(`viewBox ${at}`),_.attr("viewBox",at)}},styles:yqt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,pX.clear()}}},Symbol.toStringTag,{value:"Module"})),Pbt=i=>ei.sanitizeText(i,Re());let Nbt={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const bJe=function(i,a,f,g){const w=Object.keys(i);Wt.info("keys:",w),Wt.info(i),w.forEach(function(v){var S,I;const b=i[v],_={shape:"rect",id:b.id,domId:b.domId,labelText:Pbt(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((S=Re().flowchart)==null?void 0:S.padding)??((I=Re().class)==null?void 0:I.padding)};a.setNode(b.id,_),Tqt(b.classes,a,f,g,b.id),Wt.info("setNode",_)})},Tqt=function(i,a,f,g,w){const v=Object.keys(i);Wt.info("keys:",v),Wt.info(i),v.filter(b=>i[b].parent==w).forEach(function(b){var q,X;const E=i[b],_=E.cssClasses.join(" "),S=Uw(E.styles),I=E.label??E.id,B=0,F="class_box",R={labelStyle:S.labelStyle,shape:F,labelText:Pbt(I),classData:E,rx:B,ry:B,class:_,style:S.style,id:E.id,domId:E.domId,tooltip:g.db.getTooltip(E.id,w)||"",haveCallback:E.haveCallback,link:E.link,width:E.type==="group"?500:void 0,type:E.type,padding:((q=Re().flowchart)==null?void 0:q.padding)??((X=Re().class)==null?void 0:X.padding)};a.setNode(E.id,R),w&&a.setParent(E.id,w),Wt.info("setNode",R)})},wJe=function(i,a,f,g){Wt.info(i),i.forEach(function(w,v){var X,rt;const b=w,E="",_={labelStyle:"",style:""},S=b.text,I=0,B="note",F={labelStyle:_.labelStyle,shape:B,labelText:Pbt(S),noteData:b,rx:I,ry:I,class:E,style:_.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((X=Re().flowchart)==null?void 0:X.padding)??((rt=Re().class)==null?void 0:rt.padding)};if(a.setNode(b.id,F),Wt.info("setNode",F),!b.class||!(b.class in g))return;const R=f+v,q={id:`edgeNote${R}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Vw(Nbt.curve,Vg)};a.setEdge(b.id,b.class,q,R)})},mJe=function(i,a){const f=Re().flowchart;let g=0;i.forEach(function(w){var b;g++;const v={classes:"relation",pattern:w.relation.lineType==1?"dashed":"solid",id:`id_${w.id1}_${w.id2}_${g}`,arrowhead:w.type==="arrow_open"?"none":"normal",startLabelRight:w.relationTitle1==="none"?"":w.relationTitle1,endLabelLeft:w.relationTitle2==="none"?"":w.relationTitle2,arrowTypeStart:Cqt(w.relation.type1),arrowTypeEnd:Cqt(w.relation.type2),style:"fill:none",labelStyle:"",curve:Vw(f==null?void 0:f.curve,Vg)};if(Wt.info(v,w),w.style!==void 0){const E=Uw(w.style);v.style=E.style,v.labelStyle=E.labelStyle}w.text=w.title,w.text===void 0?w.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=Re().flowchart)==null?void 0:b.htmlLabels)??Re().htmlLabels?(v.labelType="html",v.label=''+w.text+""):(v.labelType="text",v.label=w.text.replace(ei.lineBreakRegex,` +`),w.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),a.setEdge(w.id1,w.id2,v,g)})},vJe=function(i){Nbt={...Nbt,...i}},yJe=async function(i,a,f,g){Wt.info("Drawing class - ",a);const w=Re().flowchart??Re().class,v=Re().securityLevel;Wt.info("config:",w);const b=(w==null?void 0:w.nodeSpacing)??50,E=(w==null?void 0:w.rankSpacing)??50,_=new R1({multigraph:!0,compound:!0}).setGraph({rankdir:g.db.getDirection(),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),S=g.db.getNamespaces(),I=g.db.getClasses(),B=g.db.getRelations(),F=g.db.getNotes();Wt.info(B),bJe(S,_,a,g),Tqt(I,_,a,g),mJe(B,_),wJe(F,_,B.length+1,I);let R;v==="sandbox"&&(R=xr("#i"+a));const q=xr(v==="sandbox"?R.nodes()[0].contentDocument.body:"body"),X=q.select(`[id="${a}"]`),rt=q.select("#"+a+" g");if(await Vpt(rt,_,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),ao.insertTitle(X,"classTitleText",(w==null?void 0:w.titleTopMargin)??5,g.db.getDiagramTitle()),g8(_,X,w==null?void 0:w.diagramPadding,w==null?void 0:w.useMaxWidth),!(w!=null&&w.htmlLabels)){const at=v==="sandbox"?R.nodes()[0].contentDocument:document,ut=at.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const pt of ut){const yt=pt.getBBox(),mt=at.createElementNS("http://www.w3.org/2000/svg","rect");mt.setAttribute("rx",0),mt.setAttribute("ry",0),mt.setAttribute("width",yt.width),mt.setAttribute("height",yt.height),pt.insertBefore(mt,pt.firstChild)}}};function Cqt(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const xJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:fqt,db:pX,renderer:{setConf:vJe,draw:yJe},styles:yqt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,pX.clear()}}},Symbol.toStringTag,{value:"Module"}));var Fbt=function(){var i=function(Ct,Ft,_t,xt){for(_t=_t||{},xt=Ct.length;xt--;_t[Ct[xt]]=Ft);return _t},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,15],_=[1,16],S=[1,17],I=[1,18],B=[1,30],F=[1,19],R=[1,20],q=[1,21],X=[1,22],rt=[1,23],at=[1,25],ut=[1,26],pt=[1,27],yt=[1,28],mt=[1,29],gt=[1,32],ht=[1,33],bt=[1,34],Z=[1,35],ft=[1,31],Y=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],V=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Nt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Ft,_t,xt,Gt,Be,Ot,vn){var Pe=Ot.length-1;switch(Be){case 3:return Gt.setRootDoc(Ot[Pe]),Ot[Pe];case 4:this.$=[];break;case 5:Ot[Pe]!="nl"&&(Ot[Pe-1].push(Ot[Pe]),this.$=Ot[Pe-1]);break;case 6:case 7:this.$=Ot[Pe];break;case 8:this.$="nl";break;case 11:this.$=Ot[Pe];break;case 12:const me=Ot[Pe-1];me.description=Gt.trimColon(Ot[Pe]),this.$=me;break;case 13:this.$={stmt:"relation",state1:Ot[Pe-2],state2:Ot[Pe]};break;case 14:const Fe=Gt.trimColon(Ot[Pe]);this.$={stmt:"relation",state1:Ot[Pe-3],state2:Ot[Pe-1],description:Fe};break;case 18:this.$={stmt:"state",id:Ot[Pe-3],type:"default",description:"",doc:Ot[Pe-1]};break;case 19:var Ee=Ot[Pe],nn=Ot[Pe-2].trim();if(Ot[Pe].match(":")){var sn=Ot[Pe].split(":");Ee=sn[0],nn=[nn,sn[1]]}this.$={stmt:"state",id:Ee,type:"default",description:nn};break;case 20:this.$={stmt:"state",id:Ot[Pe-3],type:"default",description:Ot[Pe-5],doc:Ot[Pe-1]};break;case 21:this.$={stmt:"state",id:Ot[Pe],type:"fork"};break;case 22:this.$={stmt:"state",id:Ot[Pe],type:"join"};break;case 23:this.$={stmt:"state",id:Ot[Pe],type:"choice"};break;case 24:this.$={stmt:"state",id:Gt.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ot[Pe-1].trim(),note:{position:Ot[Pe-2].trim(),text:Ot[Pe].trim()}};break;case 28:this.$=Ot[Pe].trim(),Gt.setAccTitle(this.$);break;case 29:case 30:this.$=Ot[Pe].trim(),Gt.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ot[Pe-1].trim(),classes:Ot[Pe].trim()};break;case 33:this.$={stmt:"applyClass",id:Ot[Pe-1].trim(),styleClass:Ot[Pe].trim()};break;case 34:Gt.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Gt.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Gt.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Gt.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ot[Pe].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ot[Pe-2].trim(),classes:[Ot[Pe].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ot[Pe-2].trim(),classes:[Ot[Pe].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:S,21:I,23:B,24:F,25:R,26:q,27:X,28:rt,31:24,32:at,34:ut,36:pt,37:yt,41:mt,44:gt,45:ht,46:bt,47:Z,50:ft},i(Y,[2,5]),{9:36,10:12,11:13,12:14,15:E,16:_,18:S,21:I,23:B,24:F,25:R,26:q,27:X,28:rt,31:24,32:at,34:ut,36:pt,37:yt,41:mt,44:gt,45:ht,46:bt,47:Z,50:ft},i(Y,[2,7]),i(Y,[2,8]),i(Y,[2,9]),i(Y,[2,10]),i(Y,[2,11],{13:[1,37],14:[1,38]}),i(Y,[2,15]),{17:[1,39]},i(Y,[2,17],{19:[1,40]}),{22:[1,41]},i(Y,[2,21]),i(Y,[2,22]),i(Y,[2,23]),i(Y,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(Y,[2,27]),{33:[1,46]},{35:[1,47]},i(Y,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(Et,[2,40],{51:[1,51]}),i(Et,[2,41],{51:[1,52]}),i(Y,[2,34]),i(Y,[2,35]),i(Y,[2,36]),i(Y,[2,37]),i(Y,[2,6]),i(Y,[2,12]),{12:53,23:B,50:ft},i(Y,[2,16]),i(V,w,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(Y,[2,28]),i(Y,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(Y,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:S,20:[1,64],21:I,23:B,24:F,25:R,26:q,27:X,28:rt,31:24,32:at,34:ut,36:pt,37:yt,41:mt,44:gt,45:ht,46:bt,47:Z,50:ft},i(Y,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(Y,[2,31]),i(Y,[2,32]),i(Y,[2,33]),i(Et,[2,42]),i(Et,[2,43]),i(Y,[2,14]),i(Y,[2,18]),i(V,w,{7:68}),i(Y,[2,25]),i(Y,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:S,20:[1,69],21:I,23:B,24:F,25:R,26:q,27:X,28:rt,31:24,32:at,34:ut,36:pt,37:yt,41:mt,44:gt,45:ht,46:bt,47:Z,50:ft},i(Y,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Ft,_t){if(_t.recoverable)this.trace(Ft);else{var xt=new Error(Ft);throw xt.hash=_t,xt}},parse:function(Ft){var _t=this,xt=[0],Gt=[],Be=[null],Ot=[],vn=this.table,Pe="",Ee=0,nn=0,sn=2,me=1,Fe=Ot.slice.call(arguments,1),Qt=Object.create(this.lexer),Ae={yy:{}};for(var Se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Se)&&(Ae.yy[Se]=this.yy[Se]);Qt.setInput(Ft,Ae.yy),Ae.yy.lexer=Qt,Ae.yy.parser=this,typeof Qt.yylloc>"u"&&(Qt.yylloc={});var Dn=Qt.yylloc;Ot.push(Dn);var oe=Qt.options&&Qt.options.ranges;typeof Ae.yy.parseError=="function"?this.parseError=Ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pr(){var Te;return Te=Gt.pop()||Qt.lex()||me,typeof Te!="number"&&(Te instanceof Array&&(Gt=Te,Te=Gt.pop()),Te=_t.symbols_[Te]||Te),Te}for(var we,Ri,yi,da,Ss={},Ra,fr,An,Pn;;){if(Ri=xt[xt.length-1],this.defaultActions[Ri]?yi=this.defaultActions[Ri]:((we===null||typeof we>"u")&&(we=Pr()),yi=vn[Ri]&&vn[Ri][we]),typeof yi>"u"||!yi.length||!yi[0]){var Bn="";Pn=[];for(Ra in vn[Ri])this.terminals_[Ra]&&Ra>sn&&Pn.push("'"+this.terminals_[Ra]+"'");Qt.showPosition?Bn="Parse error on line "+(Ee+1)+`: +`+Qt.showPosition()+` +Expecting `+Pn.join(", ")+", got '"+(this.terminals_[we]||we)+"'":Bn="Parse error on line "+(Ee+1)+": Unexpected "+(we==me?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(Bn,{text:Qt.match,token:this.terminals_[we]||we,line:Qt.yylineno,loc:Dn,expected:Pn})}if(yi[0]instanceof Array&&yi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ri+", token: "+we);switch(yi[0]){case 1:xt.push(we),Be.push(Qt.yytext),Ot.push(Qt.yylloc),xt.push(yi[1]),we=null,nn=Qt.yyleng,Pe=Qt.yytext,Ee=Qt.yylineno,Dn=Qt.yylloc;break;case 2:if(fr=this.productions_[yi[1]][1],Ss.$=Be[Be.length-fr],Ss._$={first_line:Ot[Ot.length-(fr||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(fr||1)].first_column,last_column:Ot[Ot.length-1].last_column},oe&&(Ss._$.range=[Ot[Ot.length-(fr||1)].range[0],Ot[Ot.length-1].range[1]]),da=this.performAction.apply(Ss,[Pe,nn,Ee,Ae.yy,yi[1],Be,Ot].concat(Fe)),typeof da<"u")return da;fr&&(xt=xt.slice(0,-1*fr*2),Be=Be.slice(0,-1*fr),Ot=Ot.slice(0,-1*fr)),xt.push(this.productions_[yi[1]][0]),Be.push(Ss.$),Ot.push(Ss._$),An=vn[xt[xt.length-2]][xt[xt.length-1]],xt.push(An);break;case 3:return!0}}return!0}},Dt=function(){var Ct={EOF:1,parseError:function(_t,xt){if(this.yy.parser)this.yy.parser.parseError(_t,xt);else throw new Error(_t)},setInput:function(Ft,_t){return this.yy=_t||this.yy||{},this._input=Ft,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Ft=this._input[0];this.yytext+=Ft,this.yyleng++,this.offset++,this.match+=Ft,this.matched+=Ft;var _t=Ft.match(/(?:\r\n?|\n).*/g);return _t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ft},unput:function(Ft){var _t=Ft.length,xt=Ft.split(/(?:\r\n?|\n)/g);this._input=Ft+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_t),this.offset-=_t;var Gt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),xt.length-1&&(this.yylineno-=xt.length-1);var Be=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:xt?(xt.length===Gt.length?this.yylloc.first_column:0)+Gt[Gt.length-xt.length].length-xt[0].length:this.yylloc.first_column-_t},this.options.ranges&&(this.yylloc.range=[Be[0],Be[0]+this.yyleng-_t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Ft){this.unput(this.match.slice(Ft))},pastInput:function(){var Ft=this.matched.substr(0,this.matched.length-this.match.length);return(Ft.length>20?"...":"")+Ft.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Ft=this.match;return Ft.length<20&&(Ft+=this._input.substr(0,20-Ft.length)),(Ft.substr(0,20)+(Ft.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Ft=this.pastInput(),_t=new Array(Ft.length+1).join("-");return Ft+this.upcomingInput()+` +`+_t+"^"},test_match:function(Ft,_t){var xt,Gt,Be;if(this.options.backtrack_lexer&&(Be={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Be.yylloc.range=this.yylloc.range.slice(0))),Gt=Ft[0].match(/(?:\r\n?|\n).*/g),Gt&&(this.yylineno+=Gt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Gt?Gt[Gt.length-1].length-Gt[Gt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ft[0].length},this.yytext+=Ft[0],this.match+=Ft[0],this.matches=Ft,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ft[0].length),this.matched+=Ft[0],xt=this.performAction.call(this,this.yy,this,_t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),xt)return xt;if(this._backtrack){for(var Ot in Be)this[Ot]=Be[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ft,_t,xt,Gt;this._more||(this.yytext="",this.match="");for(var Be=this._currentRules(),Ot=0;Ot_t[0].length)){if(_t=xt,Gt=Ot,this.options.backtrack_lexer){if(Ft=this.test_match(xt,Be[Ot]),Ft!==!1)return Ft;if(this._backtrack){_t=!1;continue}else return!1}else if(!this.options.flex)break}return _t?(Ft=this.test_match(_t,Be[Gt]),Ft!==!1?Ft:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _t=this.next();return _t||this.lex()},begin:function(_t){this.conditionStack.push(_t)},popState:function(){var _t=this.conditionStack.length-1;return _t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_t){return _t=this.conditionStack.length-1-Math.abs(_t||0),_t>=0?this.conditionStack[_t]:"INITIAL"},pushState:function(_t){this.begin(_t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_t,xt,Gt,Be){switch(Gt){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),xt.yytext=xt.yytext.substr(2).trim(),30;case 64:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return xt.yytext=xt.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Ct}();Nt.lexer=Dt;function jt(){this.yy={}}return jt.prototype=Nt,Nt.Parser=jt,new jt}();Fbt.parser=Fbt;const _qt=Fbt,kJe="LR",EJe="TB",mX="state",Bbt="relation",TJe="classDef",CJe="applyClass",dB="default",Sqt="divider",Rbt="[*]",Aqt="start",Lqt=Rbt,Mqt="end",Dqt="color",Iqt="fill",_Je="bgFill",SJe=",";function Oqt(){return{}}let Pqt=kJe,vX=[],gB=Oqt();const Nqt=()=>({relations:[],states:{},documents:{}});let yX={root:Nqt()},sg=yX.root,pB=0,Fqt=0;const AJe={LINE:0,DOTTED_LINE:1},LJe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},xX=i=>JSON.parse(JSON.stringify(i)),MJe=i=>{Wt.info("Setting root doc",i),vX=i},DJe=()=>vX,kX=(i,a,f)=>{if(a.stmt===Bbt)kX(i,a.state1,!0),kX(i,a.state2,!1);else if(a.stmt===mX&&(a.id==="[*]"?(a.id=f?i.id+"_start":i.id+"_end",a.start=f):a.id=a.id.trim()),a.doc){const g=[];let w=[],v;for(v=0;v0&&w.length>0){const b={stmt:mX,id:fFt(),type:"divider",doc:xX(w)};g.push(xX(b)),a.doc=g}a.doc.forEach(b=>kX(a,b,!0))}},IJe=()=>(kX({id:"root"},{id:"root",doc:vX},!0),{id:"root",doc:vX}),OJe=i=>{let a;i.doc?a=i.doc:a=i,Wt.info(a),Bqt(!0),Wt.info("Extract",a),a.forEach(f=>{switch(f.stmt){case mX:F9(f.id.trim(),f.type,f.doc,f.description,f.note,f.classes,f.styles,f.textStyles);break;case Bbt:Rqt(f.state1,f.state2,f.description);break;case TJe:jqt(f.id.trim(),f.classes);break;case CJe:qbt(f.id.trim(),f.styleClass);break}})},F9=function(i,a=dB,f=null,g=null,w=null,v=null,b=null,E=null){const _=i==null?void 0:i.trim();sg.states[_]===void 0?(Wt.info("Adding state ",_,g),sg.states[_]={id:_,descriptions:[],type:a,doc:f,note:w,classes:[],styles:[],textStyles:[]}):(sg.states[_].doc||(sg.states[_].doc=f),sg.states[_].type||(sg.states[_].type=a)),g&&(Wt.info("Setting state description",_,g),typeof g=="string"&&zbt(_,g.trim()),typeof g=="object"&&g.forEach(S=>zbt(_,S.trim()))),w&&(sg.states[_].note=w,sg.states[_].note.text=ei.sanitizeText(sg.states[_].note.text,Re())),v&&(Wt.info("Setting state classes",_,v),(typeof v=="string"?[v]:v).forEach(I=>qbt(_,I.trim()))),b&&(Wt.info("Setting state styles",_,b),(typeof b=="string"?[b]:b).forEach(I=>HJe(_,I.trim()))),E&&(Wt.info("Setting state styles",_,b),(typeof E=="string"?[E]:E).forEach(I=>VJe(_,I.trim())))},Bqt=function(i){yX={root:Nqt()},sg=yX.root,pB=0,gB=Oqt(),i||Wg()},bB=function(i){return sg.states[i]},PJe=function(){return sg.states},NJe=function(){Wt.info("Documents = ",yX)},FJe=function(){return sg.relations};function jbt(i=""){let a=i;return i===Rbt&&(pB++,a=`${Aqt}${pB}`),a}function $bt(i="",a=dB){return i===Rbt?Aqt:a}function BJe(i=""){let a=i;return i===Lqt&&(pB++,a=`${Mqt}${pB}`),a}function RJe(i="",a=dB){return i===Lqt?Mqt:a}function jJe(i,a,f){let g=jbt(i.id.trim()),w=$bt(i.id.trim(),i.type),v=jbt(a.id.trim()),b=$bt(a.id.trim(),a.type);F9(g,w,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),F9(v,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),sg.relations.push({id1:g,id2:v,relationTitle:ei.sanitizeText(f,Re())})}const Rqt=function(i,a,f){if(typeof i=="object")jJe(i,a,f);else{const g=jbt(i.trim()),w=$bt(i),v=BJe(a.trim()),b=RJe(a);F9(g,w),F9(v,b),sg.relations.push({id1:g,id2:v,title:ei.sanitizeText(f,Re())})}},zbt=function(i,a){const f=sg.states[i],g=a.startsWith(":")?a.replace(":","").trim():a;f.descriptions.push(ei.sanitizeText(g,Re()))},$Je=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},zJe=()=>(Fqt++,"divider-id-"+Fqt),jqt=function(i,a=""){gB[i]===void 0&&(gB[i]={id:i,styles:[],textStyles:[]});const f=gB[i];a!=null&&a.split(SJe).forEach(g=>{const w=g.replace(/([^;]*);/,"$1").trim();if(g.match(Dqt)){const b=w.replace(Iqt,_Je).replace(Dqt,Iqt);f.textStyles.push(b)}f.styles.push(w)})},qJe=function(){return gB},qbt=function(i,a){i.split(",").forEach(function(f){let g=bB(f);if(g===void 0){const w=f.trim();F9(w),g=bB(w)}g.classes.push(a)})},HJe=function(i,a){const f=bB(i);f!==void 0&&f.textStyles.push(a)},VJe=function(i,a){const f=bB(i);f!==void 0&&f.textStyles.push(a)},$x={getConfig:()=>Re().state,addState:F9,clear:Bqt,getState:bB,getStates:PJe,getRelations:FJe,getClasses:qJe,getDirection:()=>Pqt,addRelation:Rqt,getDividerId:zJe,setDirection:i=>{Pqt=i},cleanupLabel:$Je,lineType:AJe,relationType:LJe,logDocuments:NJe,getRootDoc:DJe,setRootDoc:MJe,getRootDocV2:IJe,extract:OJe,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Yg,setAccTitle:ng,getAccDescription:Qg,setAccDescription:Xg,addStyleClass:jqt,setCssClass:qbt,addDescription:zbt,setDiagramTitle:y2,getDiagramTitle:Jg},$qt=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,Hbt={},UJe=(i,a)=>{Hbt[i]=a},GJe=i=>Hbt[i],zqt=()=>Object.keys(Hbt),KJe={get:GJe,set:UJe,keys:zqt,size:()=>zqt().length},WJe=i=>i.append("circle").attr("class","start-state").attr("r",Re().state.sizeUnit).attr("cx",Re().state.padding+Re().state.sizeUnit).attr("cy",Re().state.padding+Re().state.sizeUnit),YJe=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Re().state.textHeight).attr("class","divider").attr("x2",Re().state.textHeight*2).attr("y1",0).attr("y2",0),XJe=(i,a)=>{const f=i.append("text").attr("x",2*Re().state.padding).attr("y",Re().state.textHeight+2*Re().state.padding).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.id),g=f.node().getBBox();return i.insert("rect",":first-child").attr("x",Re().state.padding).attr("y",Re().state.padding).attr("width",g.width+2*Re().state.padding).attr("height",g.height+2*Re().state.padding).attr("rx",Re().state.radius),f},QJe=(i,a)=>{const f=function(F,R,q){const X=F.append("tspan").attr("x",2*Re().state.padding).text(R);q||X.attr("dy",Re().state.textHeight)},w=i.append("text").attr("x",2*Re().state.padding).attr("y",Re().state.textHeight+1.3*Re().state.padding).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),v=w.height,b=i.append("text").attr("x",Re().state.padding).attr("y",v+Re().state.padding*.4+Re().state.dividerMargin+Re().state.textHeight).attr("class","state-description");let E=!0,_=!0;a.descriptions.forEach(function(F){E||(f(b,F,_),_=!1),E=!1});const S=i.append("line").attr("x1",Re().state.padding).attr("y1",Re().state.padding+v+Re().state.dividerMargin/2).attr("y2",Re().state.padding+v+Re().state.dividerMargin/2).attr("class","descr-divider"),I=b.node().getBBox(),B=Math.max(I.width,w.width);return S.attr("x2",B+3*Re().state.padding),i.insert("rect",":first-child").attr("x",Re().state.padding).attr("y",Re().state.padding).attr("width",B+2*Re().state.padding).attr("height",I.height+v+2*Re().state.padding).attr("rx",Re().state.radius),i},JJe=(i,a,f)=>{const g=Re().state.padding,w=2*Re().state.padding,v=i.node().getBBox(),b=v.width,E=v.x,_=i.append("text").attr("x",0).attr("y",Re().state.titleShift).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.id),I=_.node().getBBox().width+w;let B=Math.max(I,b);B===b&&(B=B+w);let F;const R=i.node().getBBox();a.doc,F=E-g,I>b&&(F=(b-B)/2+g),Math.abs(E-R.x)b&&(F=E-(I-b)/2);const q=1-Re().state.textHeight;return i.insert("rect",":first-child").attr("x",F).attr("y",q).attr("class",f?"alt-composit":"composit").attr("width",B).attr("height",R.height+Re().state.textHeight+Re().state.titleShift+1).attr("rx","0"),_.attr("x",F+g),I<=b&&_.attr("x",E+(B-w)/2-I/2+g),i.insert("rect",":first-child").attr("x",F).attr("y",Re().state.titleShift-Re().state.textHeight-Re().state.padding).attr("width",B).attr("height",Re().state.textHeight*3).attr("rx",Re().state.radius),i.insert("rect",":first-child").attr("x",F).attr("y",Re().state.titleShift-Re().state.textHeight-Re().state.padding).attr("width",B).attr("height",R.height+3+2*Re().state.textHeight).attr("rx",Re().state.radius),i},ZJe=i=>(i.append("circle").attr("class","end-state-outer").attr("r",Re().state.sizeUnit+Re().state.miniPadding).attr("cx",Re().state.padding+Re().state.sizeUnit+Re().state.miniPadding).attr("cy",Re().state.padding+Re().state.sizeUnit+Re().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",Re().state.sizeUnit).attr("cx",Re().state.padding+Re().state.sizeUnit+2).attr("cy",Re().state.padding+Re().state.sizeUnit+2)),tZe=(i,a)=>{let f=Re().state.forkWidth,g=Re().state.forkHeight;if(a.parentId){let w=f;f=g,g=w}return i.append("rect").style("stroke","black").style("fill","black").attr("width",f).attr("height",g).attr("x",Re().state.padding).attr("y",Re().state.padding)},eZe=(i,a,f,g)=>{let w=0;const v=g.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"
");b=b.replace(/\n/g,"
");const E=b.split(ei.lineBreakRegex);let _=1.25*Re().state.noteMargin;for(const S of E){const I=S.trim();if(I.length>0){const B=v.append("tspan");if(B.text(I),_===0){const F=B.node().getBBox();_+=F.height}w+=_,B.attr("x",a+Re().state.noteMargin),B.attr("y",f+w+1.25*Re().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:w}},nZe=(i,a)=>{a.attr("class","state-note");const f=a.append("rect").attr("x",0).attr("y",Re().state.padding),g=a.append("g"),{textWidth:w,textHeight:v}=eZe(i,0,0,g);return f.attr("height",v+2*Re().state.noteMargin),f.attr("width",w+Re().state.noteMargin*2),f},qqt=function(i,a){const f=a.id,g={id:f,label:a.id,width:0,height:0},w=i.append("g").attr("id",f).attr("class","stateGroup");a.type==="start"&&WJe(w),a.type==="end"&&ZJe(w),(a.type==="fork"||a.type==="join")&&tZe(w,a),a.type==="note"&&nZe(a.note.text,w),a.type==="divider"&&YJe(w),a.type==="default"&&a.descriptions.length===0&&XJe(w,a),a.type==="default"&&a.descriptions.length>0&&QJe(w,a);const v=w.node().getBBox();return g.width=v.width+2*Re().state.padding,g.height=v.height+2*Re().state.padding,KJe.set(f,g),g};let Hqt=0;const rZe=function(i,a,f){const g=function(_){switch(_){case $x.relationType.AGGREGATION:return"aggregation";case $x.relationType.EXTENSION:return"extension";case $x.relationType.COMPOSITION:return"composition";case $x.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(_=>!Number.isNaN(_.y));const w=a.points,v=Cx().x(function(_){return _.x}).y(function(_){return _.y}).curve(lF),b=i.append("path").attr("d",v(w)).attr("id","edge"+Hqt).attr("class","transition");let E="";if(Re().state.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),b.attr("marker-end","url("+E+"#"+g($x.relationType.DEPENDENCY)+"End)"),f.title!==void 0){const _=i.append("g").attr("class","stateLabel"),{x:S,y:I}=ao.calcLabelPosition(a.points),B=ei.getRows(f.title);let F=0;const R=[];let q=0,X=0;for(let ut=0;ut<=B.length;ut++){const pt=_.append("text").attr("text-anchor","middle").text(B[ut]).attr("x",S).attr("y",I+F),yt=pt.node().getBBox();q=Math.max(q,yt.width),X=Math.min(X,yt.x),Wt.info(yt.x,S,I+F),F===0&&(F=pt.node().getBBox().height,Wt.info("Title height",F,I)),R.push(pt)}let rt=F*B.length;if(B.length>1){const ut=(B.length-1)*F*.5;R.forEach((pt,yt)=>pt.attr("y",I+yt*F-ut)),rt=F*B.length}const at=_.node().getBBox();_.insert("rect",":first-child").attr("class","box").attr("x",S-q/2-Re().state.padding/2).attr("y",I-rt/2-Re().state.padding/2-3.5).attr("width",q+Re().state.padding).attr("height",rt+Re().state.padding),Wt.info(at)}Hqt++};let C2;const Vbt={},iZe=function(){},sZe=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},aZe=function(i,a,f,g){C2=Re().state;const w=Re().securityLevel;let v;w==="sandbox"&&(v=xr("#i"+a));const b=xr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body"),E=w==="sandbox"?v.nodes()[0].contentDocument:document;Wt.debug("Rendering diagram "+i);const _=b.select(`[id='${a}']`);sZe(_);const S=g.db.getRootDoc();Vqt(S,_,void 0,!1,b,E,g);const I=C2.padding,B=_.node().getBBox(),F=B.width+I*2,R=B.height+I*2,q=F*1.75;Kg(_,R,q,C2.useMaxWidth),_.attr("viewBox",`${B.x-C2.padding} ${B.y-C2.padding} `+F+" "+R)},oZe=i=>i?i.length*C2.fontSizeFactor:1,Vqt=(i,a,f,g,w,v,b)=>{const E=new R1({compound:!0,multigraph:!0});let _,S=!0;for(_=0;_{const yt=pt.parentElement;let mt=0,gt=0;yt&&(yt.parentElement&&(mt=yt.parentElement.getBBox().width),gt=parseInt(yt.getAttribute("data-x-shift"),10),Number.isNaN(gt)&&(gt=0)),pt.setAttribute("x1",0-gt+8),pt.setAttribute("x2",mt-gt-8)})):Wt.debug("No Node "+at+": "+JSON.stringify(E.node(at)))});let X=q.getBBox();E.edges().forEach(function(at){at!==void 0&&E.edge(at)!==void 0&&(Wt.debug("Edge "+at.v+" -> "+at.w+": "+JSON.stringify(E.edge(at))),rZe(a,E.edge(at),E.edge(at).relation))}),X=q.getBBox();const rt={id:f||"root",label:f||"root",width:0,height:0};return rt.width=X.width+2*C2.padding,rt.height=X.height+2*C2.padding,Wt.debug("Doc rendered",rt,E),rt},cZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:_qt,db:$x,renderer:{setConf:iZe,draw:aZe},styles:$qt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$x.clear()}}},Symbol.toStringTag,{value:"Module"})),EX="rect",Ubt="rectWithTitle",uZe="start",lZe="end",hZe="divider",fZe="roundedWithTitle",dZe="note",gZe="noteGroup",TM="statediagram",pZe=`${TM}-state`,Uqt="transition",bZe="note",wZe=`${Uqt} note-edge`,mZe=`${TM}-${bZe}`,vZe=`${TM}-cluster`,yZe=`${TM}-cluster-alt`,Gqt="parent",Kqt="note",xZe="state",Gbt="----",kZe=`${Gbt}${Kqt}`,Wqt=`${Gbt}${Gqt}`,Yqt="fill:none",Xqt="fill: #333",Qqt="c",Jqt="text",Zqt="normal";let TX={},_8=0;const EZe=function(i){const a=Object.keys(i);for(const f of a)i[f]},TZe=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function CZe(i){return i==null?"":i.classes?i.classes.join(" "):""}function Kbt(i="",a=0,f="",g=Gbt){const w=f!==null&&f.length>0?`${g}${f}`:"";return`${xZe}-${i}${w}-${a}`}const wB=(i,a,f,g,w,v)=>{const b=f.id,E=CZe(g[b]);if(b!=="root"){let _=EX;f.start===!0&&(_=uZe),f.start===!1&&(_=lZe),f.type!==dB&&(_=f.type),TX[b]||(TX[b]={id:b,shape:_,description:ei.sanitizeText(b,Re()),classes:`${E} ${pZe}`});const S=TX[b];f.description&&(Array.isArray(S.description)?(S.shape=Ubt,S.description.push(f.description)):S.description.length>0?(S.shape=Ubt,S.description===b?S.description=[f.description]:S.description=[S.description,f.description]):(S.shape=EX,S.description=f.description),S.description=ei.sanitizeTextOrArray(S.description,Re())),S.description.length===1&&S.shape===Ubt&&(S.shape=EX),!S.type&&f.doc&&(Wt.info("Setting cluster for ",b,Wbt(f)),S.type="group",S.dir=Wbt(f),S.shape=f.type===Sqt?hZe:fZe,S.classes=S.classes+" "+vZe+" "+(v?yZe:""));const I={labelStyle:"",shape:S.shape,labelText:S.description,classes:S.classes,style:"",id:b,dir:S.dir,domId:Kbt(b,_8),type:S.type,padding:15};if(I.centerLabel=!0,f.note){const B={labelStyle:"",shape:dZe,labelText:f.note.text,classes:mZe,style:"",id:b+kZe+"-"+_8,domId:Kbt(b,_8,Kqt),type:S.type,padding:15},F={labelStyle:"",shape:gZe,labelText:f.note.text,classes:S.classes,style:"",id:b+Wqt,domId:Kbt(b,_8,Gqt),type:"group",padding:0};_8++;const R=b+Wqt;i.setNode(R,F),i.setNode(B.id,B),i.setNode(b,I),i.setParent(b,R),i.setParent(B.id,R);let q=b,X=B.id;f.note.position==="left of"&&(q=B.id,X=b),i.setEdge(q,X,{arrowhead:"none",arrowType:"",style:Yqt,labelStyle:"",classes:wZe,arrowheadStyle:Xqt,labelpos:Qqt,labelType:Jqt,thickness:Zqt})}else i.setNode(b,I)}a&&a.id!=="root"&&(Wt.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),f.doc&&(Wt.trace("Adding nodes children "),_Ze(i,f,f.doc,g,w,!v))},_Ze=(i,a,f,g,w,v)=>{Wt.trace("items",f),f.forEach(b=>{switch(b.stmt){case mX:wB(i,a,b,g,w,v);break;case dB:wB(i,a,b,g,w,v);break;case Bbt:{wB(i,a,b.state1,g,w,v),wB(i,a,b.state2,g,w,v);const E={id:"edge"+_8,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Yqt,labelStyle:"",label:ei.sanitizeText(b.description,Re()),arrowheadStyle:Xqt,labelpos:Qqt,labelType:Jqt,thickness:Zqt,classes:Uqt};i.setEdge(b.state1.id,b.state2.id,E,_8),_8++}break}})},Wbt=(i,a=EJe)=>{let f=a;if(i.doc)for(let g=0;g{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$x.clear()}}},Symbol.toStringTag,{value:"Module"}));var Ybt=function(){var i=function(B,F,R,q){for(R=R||{},q=B.length;q--;R[B[q]]=F);return R},a=[6,8,10,11,12,14,16,17,18],f=[1,9],g=[1,10],w=[1,11],v=[1,12],b=[1,13],E=[1,14],_={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(F,R,q,X,rt,at,ut){var pt=at.length-1;switch(rt){case 1:return at[pt-1];case 2:this.$=[];break;case 3:at[pt-1].push(at[pt]),this.$=at[pt-1];break;case 4:case 5:this.$=at[pt];break;case 6:case 7:this.$=[];break;case 8:X.setDiagramTitle(at[pt].substr(6)),this.$=at[pt].substr(6);break;case 9:this.$=at[pt].trim(),X.setAccTitle(this.$);break;case 10:case 11:this.$=at[pt].trim(),X.setAccDescription(this.$);break;case 12:X.addSection(at[pt].substr(8)),this.$=at[pt].substr(8);break;case 13:X.addTask(at[pt-1],at[pt]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:g,14:w,16:v,17:b,18:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:f,12:g,14:w,16:v,17:b,18:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(F,R){if(R.recoverable)this.trace(F);else{var q=new Error(F);throw q.hash=R,q}},parse:function(F){var R=this,q=[0],X=[],rt=[null],at=[],ut=this.table,pt="",yt=0,mt=0,gt=2,ht=1,bt=at.slice.call(arguments,1),Z=Object.create(this.lexer),ft={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(ft.yy[Y]=this.yy[Y]);Z.setInput(F,ft.yy),ft.yy.lexer=Z,ft.yy.parser=this,typeof Z.yylloc>"u"&&(Z.yylloc={});var Et=Z.yylloc;at.push(Et);var V=Z.options&&Z.options.ranges;typeof ft.yy.parseError=="function"?this.parseError=ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nt(){var Pe;return Pe=X.pop()||Z.lex()||ht,typeof Pe!="number"&&(Pe instanceof Array&&(X=Pe,Pe=X.pop()),Pe=R.symbols_[Pe]||Pe),Pe}for(var Dt,jt,Ct,Ft,_t={},xt,Gt,Be,Ot;;){if(jt=q[q.length-1],this.defaultActions[jt]?Ct=this.defaultActions[jt]:((Dt===null||typeof Dt>"u")&&(Dt=Nt()),Ct=ut[jt]&&ut[jt][Dt]),typeof Ct>"u"||!Ct.length||!Ct[0]){var vn="";Ot=[];for(xt in ut[jt])this.terminals_[xt]&&xt>gt&&Ot.push("'"+this.terminals_[xt]+"'");Z.showPosition?vn="Parse error on line "+(yt+1)+`: +`+Z.showPosition()+` +Expecting `+Ot.join(", ")+", got '"+(this.terminals_[Dt]||Dt)+"'":vn="Parse error on line "+(yt+1)+": Unexpected "+(Dt==ht?"end of input":"'"+(this.terminals_[Dt]||Dt)+"'"),this.parseError(vn,{text:Z.match,token:this.terminals_[Dt]||Dt,line:Z.yylineno,loc:Et,expected:Ot})}if(Ct[0]instanceof Array&&Ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+jt+", token: "+Dt);switch(Ct[0]){case 1:q.push(Dt),rt.push(Z.yytext),at.push(Z.yylloc),q.push(Ct[1]),Dt=null,mt=Z.yyleng,pt=Z.yytext,yt=Z.yylineno,Et=Z.yylloc;break;case 2:if(Gt=this.productions_[Ct[1]][1],_t.$=rt[rt.length-Gt],_t._$={first_line:at[at.length-(Gt||1)].first_line,last_line:at[at.length-1].last_line,first_column:at[at.length-(Gt||1)].first_column,last_column:at[at.length-1].last_column},V&&(_t._$.range=[at[at.length-(Gt||1)].range[0],at[at.length-1].range[1]]),Ft=this.performAction.apply(_t,[pt,mt,yt,ft.yy,Ct[1],rt,at].concat(bt)),typeof Ft<"u")return Ft;Gt&&(q=q.slice(0,-1*Gt*2),rt=rt.slice(0,-1*Gt),at=at.slice(0,-1*Gt)),q.push(this.productions_[Ct[1]][0]),rt.push(_t.$),at.push(_t._$),Be=ut[q[q.length-2]][q[q.length-1]],q.push(Be);break;case 3:return!0}}return!0}},S=function(){var B={EOF:1,parseError:function(R,q){if(this.yy.parser)this.yy.parser.parseError(R,q);else throw new Error(R)},setInput:function(F,R){return this.yy=R||this.yy||{},this._input=F,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var F=this._input[0];this.yytext+=F,this.yyleng++,this.offset++,this.match+=F,this.matched+=F;var R=F.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),F},unput:function(F){var R=F.length,q=F.split(/(?:\r\n?|\n)/g);this._input=F+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),q.length-1&&(this.yylineno-=q.length-1);var rt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q?(q.length===X.length?this.yylloc.first_column:0)+X[X.length-q.length].length-q[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[rt[0],rt[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(F){this.unput(this.match.slice(F))},pastInput:function(){var F=this.matched.substr(0,this.matched.length-this.match.length);return(F.length>20?"...":"")+F.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var F=this.match;return F.length<20&&(F+=this._input.substr(0,20-F.length)),(F.substr(0,20)+(F.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var F=this.pastInput(),R=new Array(F.length+1).join("-");return F+this.upcomingInput()+` +`+R+"^"},test_match:function(F,R){var q,X,rt;if(this.options.backtrack_lexer&&(rt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(rt.yylloc.range=this.yylloc.range.slice(0))),X=F[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+F[0].length},this.yytext+=F[0],this.match+=F[0],this.matches=F,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(F[0].length),this.matched+=F[0],q=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),q)return q;if(this._backtrack){for(var at in rt)this[at]=rt[at];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var F,R,q,X;this._more||(this.yytext="",this.match="");for(var rt=this._currentRules(),at=0;atR[0].length)){if(R=q,X=at,this.options.backtrack_lexer){if(F=this.test_match(q,rt[at]),F!==!1)return F;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(F=this.test_match(R,rt[X]),F!==!1?F:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var R=this.next();return R||this.lex()},begin:function(R){this.conditionStack.push(R)},popState:function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},pushState:function(R){this.begin(R)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(R,q,X,rt){switch(X){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return B}();_.lexer=S;function I(){this.yy={}}return I.prototype=_,_.Parser=I,new I}();Ybt.parser=Ybt;const AZe=Ybt;let CM="";const Xbt=[],mB=[],vB=[],LZe=function(){Xbt.length=0,mB.length=0,CM="",vB.length=0,Wg()},MZe=function(i){CM=i,Xbt.push(i)},DZe=function(){return Xbt},IZe=function(){let i=tHt();const a=100;let f=0;for(;!i&&f{f.people&&i.push(...f.people)}),[...new Set(i)].sort()},PZe=function(i,a){const f=a.substr(1).split(":");let g=0,w=[];f.length===1?(g=Number(f[0]),w=[]):(g=Number(f[0]),w=f[1].split(","));const v=w.map(E=>E.trim()),b={section:CM,type:CM,people:v,task:i,score:g};vB.push(b)},NZe=function(i){const a={section:CM,type:CM,description:i,task:i,classes:[]};mB.push(a)},tHt=function(){const i=function(f){return vB[f].processed};let a=!0;for(const[f,g]of vB.entries())i(f),a=a&&g.processed;return a},eHt={getConfig:()=>Re().journey,clear:LZe,setDiagramTitle:y2,getDiagramTitle:Jg,setAccTitle:ng,getAccTitle:Yg,setAccDescription:Xg,getAccDescription:Qg,addSection:MZe,getSections:DZe,getTasks:IZe,addTask:PZe,addTaskOrg:NZe,getActors:function(){return OZe()}},FZe=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Qbt=function(i,a){return _Y(i,a)},BZe=function(i,a){const g=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(_){const S=jL().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",S).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const S=jL().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",S).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(w):a.score<3?b(w):E(w),g},nHt=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},rHt=function(i,a){return ERe(i,a)},RZe=function(i,a){function f(w,v,b,E,_){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-_)+" "+(w+b-_*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");g.attr("points",f(a.x,a.y,50,20,7)),g.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,rHt(i,a)},jZe=function(i,a,f){const g=i.append("g"),w=k9();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width*a.taskCount+f.diagramMarginX*(a.taskCount-1),w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,Qbt(g,w),sHt(f)(a.text,g,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let iHt=-1;const $Ze=function(i,a,f){const g=a.x+f.width/2,w=i.append("g");iHt++;const v=300+5*30;w.append("line").attr("id","task"+iHt).attr("x1",g).attr("y1",a.y).attr("x2",g).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),BZe(w,{cx:g,cy:300+(5-a.score)*30,score:a.score});const b=k9();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,Qbt(w,b);let E=a.x+14;a.people.forEach(_=>{const S=a.actors[_].color,I={cx:E,cy:a.y,r:7,fill:S,stroke:"#000",title:_,pos:a.actors[_].position};nHt(w,I),E+=10}),sHt(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},zZe=function(i,a){qBt(i,a)},sHt=function(){function i(w,v,b,E,_,S,I,B){const F=v.append("text").attr("x",b+_/2).attr("y",E+S/2+5).style("font-color",B).style("text-anchor","middle").text(w);g(F,I)}function a(w,v,b,E,_,S,I,B,F){const{taskFontSize:R,taskFontFamily:q}=B,X=w.split(//gi);for(let rt=0;rt{const w=zx[g].color,v={cx:20,cy:f,r:7,fill:w,stroke:"#000",pos:zx[g].position};yB.drawCircle(i,v);const b={x:40,y:f+7,fill:"#666",text:g,textMargin:a.boxTextMargin|5};yB.drawText(i,b),f+=20})}const CX=Re().journey,B9=CX.leftMargin,VZe=function(i,a,f,g){const w=Re().journey,v=Re().securityLevel;let b;v==="sandbox"&&(b=xr("#i"+a));const E=xr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");Xw.init();const _=E.select("#"+a);yB.initGraphics(_);const S=g.db.getTasks(),I=g.db.getDiagramTitle(),B=g.db.getActors();for(const at in zx)delete zx[at];let F=0;B.forEach(at=>{zx[at]={color:w.actorColours[F%w.actorColours.length],position:F},F++}),HZe(_),Xw.insert(0,0,B9,Object.keys(zx).length*50),UZe(_,S,0);const R=Xw.getBounds();I&&_.append("text").text(I).attr("x",B9).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const q=R.stopy-R.starty+2*w.diagramMarginY,X=B9+R.stopx+2*w.diagramMarginX;Kg(_,q,X,w.useMaxWidth),_.append("line").attr("x1",B9).attr("y1",w.height*4).attr("x2",X-B9-4).attr("y2",w.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const rt=I?70:0;_.attr("viewBox",`${R.startx} -25 ${X} ${q+rt}`),_.attr("preserveAspectRatio","xMinYMin meet"),_.attr("height",q+rt+25)},Xw={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,a,f,g){i[a]===void 0?i[a]=f:i[a]=g(f,i[a])},updateBounds:function(i,a,f,g){const w=Re().journey,v=this;let b=0;function E(_){return function(I){b++;const B=v.sequenceItems.length-b+1;v.updateVal(I,"starty",a-B*w.boxMargin,Math.min),v.updateVal(I,"stopy",g+B*w.boxMargin,Math.max),v.updateVal(Xw.data,"startx",i-B*w.boxMargin,Math.min),v.updateVal(Xw.data,"stopx",f+B*w.boxMargin,Math.max),_!=="activation"&&(v.updateVal(I,"startx",i-B*w.boxMargin,Math.min),v.updateVal(I,"stopx",f+B*w.boxMargin,Math.max),v.updateVal(Xw.data,"starty",a-B*w.boxMargin,Math.min),v.updateVal(Xw.data,"stopy",g+B*w.boxMargin,Math.max))}}this.sequenceItems.forEach(E())},insert:function(i,a,f,g){const w=Math.min(i,f),v=Math.max(i,f),b=Math.min(a,g),E=Math.max(a,g);this.updateVal(Xw.data,"startx",w,Math.min),this.updateVal(Xw.data,"starty",b,Math.min),this.updateVal(Xw.data,"stopx",v,Math.max),this.updateVal(Xw.data,"stopy",E,Math.max),this.updateBounds(w,b,v,E)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Jbt=CX.sectionFills,aHt=CX.sectionColours,UZe=function(i,a,f){const g=Re().journey;let w="";const v=g.height*2+g.diagramMarginY,b=f+v;let E=0,_="#CCC",S="black",I=0;for(const[B,F]of a.entries()){if(w!==F.section){_=Jbt[E%Jbt.length],I=E%Jbt.length,S=aHt[E%aHt.length];let q=0;const X=F.section;for(let at=B;at(zx[X]&&(q[X]=zx[X]),q),{});F.x=B*g.taskMargin+B*g.width+B9,F.y=b,F.width=g.diagramMarginX,F.height=g.diagramMarginY,F.colour=S,F.fill=_,F.num=I,F.actors=R,yB.drawTask(i,F,g),Xw.insert(F.x,F.y,F.x+F.width+g.taskMargin,300+5*30)}},oHt={setConf:qZe,draw:VZe},GZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:AZe,db:eHt,renderer:oHt,styles:FZe,init:i=>{oHt.setConf(i.journey),eHt.clear()}}},Symbol.toStringTag,{value:"Module"})),KZe=(i,a,f)=>{const{parentById:g}=f,w=new Set;let v=i;for(;v;){if(w.add(v),v===a)return v;v=g[v]}for(v=a;v;){if(w.has(v))return v;v=g[v]}return"root"};function _X(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var cHt={exports:{}};(function(i,a){(function(f){i.exports=f()})(function(){return function(){function f(g,w,v){function b(S,I){if(!w[S]){if(!g[S]){var B=typeof _X=="function"&&_X;if(!I&&B)return B(S,!0);if(E)return E(S,!0);var F=new Error("Cannot find module '"+S+"'");throw F.code="MODULE_NOT_FOUND",F}var R=w[S]={exports:{}};g[S][0].call(R.exports,function(q){var X=g[S][1][q];return b(X||q)},R,R.exports,f,g,w,v)}return w[S].exports}for(var E=typeof _X=="function"&&_X,_=0;_0&&arguments[0]!==void 0?arguments[0]:{},F=B.defaultLayoutOptions,R=F===void 0?{}:F,q=B.algorithms,X=q===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:q,rt=B.workerFactory,at=B.workerUrl;if(b(this,S),this.defaultLayoutOptions=R,this.initialized=!1,typeof at>"u"&&typeof rt>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var ut=rt;typeof at<"u"&&typeof rt>"u"&&(ut=function(mt){return new Worker(mt)});var pt=ut(at);if(typeof pt.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new _(pt),this.worker.postMessage({cmd:"register",algorithms:X}).then(function(yt){return I.initialized=!0}).catch(console.err)}return v(S,[{key:"layout",value:function(B){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},R=F.layoutOptions,q=R===void 0?this.defaultLayoutOptions:R,X=F.logging,rt=X===void 0?!1:X,at=F.measureExecutionTime,ut=at===void 0?!1:at;return B?this.worker.postMessage({cmd:"layout",graph:B,layoutOptions:q,options:{logging:rt,measureExecutionTime:ut}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),S}();w.default=E;var _=function(){function S(I){var B=this;if(b(this,S),I===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=I,this.worker.onmessage=function(F){setTimeout(function(){B.receive(B,F)},0)}}return v(S,[{key:"postMessage",value:function(B){var F=this.id||0;this.id=F+1,B.id=F;var R=this;return new Promise(function(q,X){R.resolvers[F]=function(rt,at){rt?(R.convertGwtStyleError(rt),X(rt)):q(at)},R.worker.postMessage(B)})}},{key:"receive",value:function(B,F){var R=F.data,q=B.resolvers[R.id];q&&(delete B.resolvers[R.id],R.error?q(R.error):q(null,R.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(B){if(B){var F=B.__java$exception;F&&(F.cause&&F.cause.backingJsObject&&(B.cause=F.cause.backingJsObject,this.convertGwtStyleError(B.cause)),delete B.__java$exception)}}}]),S}()},{}],2:[function(f,g,w){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var E;function _(){}function S(){}function I(){}function B(){}function F(){}function R(){}function q(){}function X(){}function rt(){}function at(){}function ut(){}function pt(){}function yt(){}function mt(){}function gt(){}function ht(){}function bt(){}function Z(){}function ft(){}function Y(){}function Et(){}function V(){}function Nt(){}function Dt(){}function jt(){}function Ct(){}function Ft(){}function _t(){}function xt(){}function Gt(){}function Be(){}function Ot(){}function vn(){}function Pe(){}function Ee(){}function nn(){}function sn(){}function me(){}function Fe(){}function Qt(){}function Ae(){}function Se(){}function Dn(){}function oe(){}function Pr(){}function we(){}function Ri(){}function yi(){}function da(){}function Ss(){}function Ra(){}function fr(){}function An(){}function Pn(){}function Bn(){}function Te(){}function be(){}function Qe(){}function rn(){}function yn(){}function ja(){}function mo(){}function vo(){}function ma(){}function $a(){}function gs(){}function Nu(){}function ta(){}function l1(){}function _2(){}function ll(){}function Ac(){}function pc(){}function ka(){}function du(){}function ea(){}function co(){}function bc(){}function oa(){}function va(){}function na(){}function Xl(){}function Hc(){}function Zw(){}function mh(){}function _d(){}function b0(){}function Sd(){}function w0(){}function ag(){}function Yi(){}function cn(){}function Dr(){}function Si(){}function wc(){}function Fc(){}function vh(){}function Qc(){}function Wh(){}function Ad(){}function ls(){}function Ls(){}function Za(){}function _i(){}function gu(){}function Le(){}function ry(){}function $e(){}function h1(){}function rp(){}function iy(){}function S8(){}function f4(){}function Ql(){}function og(){}function S2(){}function A8(){}function A2(){}function d4(){}function q1(){}function Ld(){}function Md(){}function L8(){}function tm(){}function Hx(){}function cb(){}function Vx(){}function g4(){}function sy(){}function ip(){}function LM(){}function jl(){}function z9(){}function Vc(){}function PX(){}function L2(){}function NX(){}function kB(){}function FX(){}function EB(){}function f1(){}function ay(){}function q9(){}function TB(){}function ub(){}function oy(){}function BX(){}function M2(){}function RX(){}function jX(){}function Ux(){}function H9(){}function CB(){}function M8(){}function $X(){}function D8(){}function zX(){}function qX(){}function HX(){}function VX(){}function UX(){}function GX(){}function KX(){}function WX(){}function YX(){}function XX(){}function QX(){}function MM(){}function JX(){}function ZX(){}function V9(){}function _B(){}function Gx(){}function tQ(){}function eQ(){}function nQ(){}function rQ(){}function iQ(){}function U9(){}function DM(){}function SB(){}function p4(){}function b4(){}function sQ(){}function _f(){}function Kx(){}function aQ(){}function I8(){}function m0(){}function oQ(){}function cQ(){}function uQ(){}function lQ(){}function G9(){}function IM(){}function AB(){}function OM(){}function Wx(){}function hQ(){}function LB(){}function MB(){}function fQ(){}function dQ(){}function gQ(){}function pQ(){}function bQ(){}function wQ(){}function v0(){}function em(){}function mQ(){}function DB(){}function IB(){}function vQ(){}function w4(){}function O8(){}function PM(){}function cy(){}function P8(){}function yQ(){}function K9(){}function Dd(){}function OB(){}function NM(){}function N8(){}function FM(){}function PB(){}function xQ(){}function BM(){}function kQ(){}function EQ(){}function NB(){}function Yx(){}function FB(){}function Xx(){}function TQ(){}function RM(){}function CQ(){}function _Q(){}function SQ(){}function AQ(){}function BB(){}function LQ(){}function MQ(){}function DQ(){}function RB(){}function IQ(){}function OQ(){}function PQ(){}function jB(){}function NQ(){}function FQ(){}function $B(){}function zB(){}function qB(){}function BQ(){}function RQ(){}function F8(){}function Qx(){}function W9(){}function jQ(){}function jM(){}function Y9(){}function $M(){}function HB(){}function VB(){}function $Q(){}function zQ(){}function qQ(){}function UB(){}function GB(){}function HQ(){}function VQ(){}function UQ(){}function GQ(){}function KQ(){}function KB(){}function WQ(){}function YQ(){}function XQ(){}function QQ(){}function WB(){}function X9(){}function JQ(){}function ZQ(){}function YB(){}function tJ(){}function eJ(){}function nJ(){}function rJ(){}function iJ(){}function sJ(){}function XB(){}function aJ(){}function QB(){}function oJ(){}function cJ(){}function uJ(){}function Q9(){}function lJ(){}function J9(){}function hJ(){}function JB(){}function ZB(){}function tR(){}function eR(){}function nm(){}function nR(){}function rR(){}function iR(){}function sR(){}function fJ(){}function Jx(){}function zM(){}function m4(){}function dJ(){}function gJ(){}function Z9(){}function pJ(){}function aR(){}function bJ(){}function wJ(){}function mJ(){}function vJ(){}function yJ(){}function xJ(){}function kJ(){}function EJ(){}function TJ(){}function qM(){}function HM(){}function CJ(){}function _J(){}function SJ(){}function AJ(){}function LJ(){}function MJ(){}function oR(){}function cR(){}function DJ(){}function uR(){}function lR(){}function IJ(){}function OJ(){}function PJ(){}function NJ(){}function FJ(){}function BJ(){}function RJ(){}function VM(){}function jJ(){}function B8(){}function $J(){}function hR(){}function zJ(){}function qJ(){}function HJ(){}function VJ(){}function UJ(){}function GJ(){}function KJ(){}function WJ(){}function YJ(){}function XJ(){}function QJ(){}function JJ(){}function ZJ(){}function tZ(){}function Zx(){}function fR(){}function eZ(){}function nZ(){}function rZ(){}function dR(){}function iZ(){}function tC(){}function sZ(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function fZ(){}function dZ(){}function gZ(){}function t6(){}function pZ(){}function bZ(){}function wZ(){}function mZ(){}function vZ(){}function yZ(){}function xZ(){}function kZ(){}function eC(){}function EZ(){}function TZ(){}function CZ(){}function _Z(){}function SZ(){}function AZ(){}function LZ(){}function MZ(){}function e6(){}function gR(){}function DZ(){}function UM(){}function IZ(){}function OZ(){}function PZ(){}function NZ(){}function FZ(){}function BZ(){}function RZ(){}function pR(){}function jZ(){}function bR(){}function $Z(){}function wR(){}function mR(){}function vR(){}function zZ(){}function qZ(){}function yR(){}function HZ(){}function xR(){}function VZ(){}function UZ(){}function GM(){}function GZ(){}function KZ(){}function WZ(){}function YZ(){}function XZ(){}function kR(){}function QZ(){}function JZ(){}function ZZ(){}function ttt(){}function d2t(){}function ett(){}function ntt(){}function rtt(){}function itt(){}function stt(){}function att(){}function ott(){}function ctt(){}function utt(){}function ltt(){}function htt(){}function ftt(){}function dtt(){}function gtt(){}function ptt(){}function Uc(){}function btt(){}function nC(){}function mc(){}function pu(){}function ts(){}function KM(){}function wtt(){}function mtt(){}function vtt(){}function n6(){}function uy(){}function R8(){}function WM(){}function ytt(){}function YM(){}function xtt(){}function ktt(){}function ER(){}function Ett(){}function Ttt(){}function XM(){}function Ctt(){}function $l(){}function Wu(){}function _tt(){}function TR(){}function Stt(){}function ly(){}function hy(){}function v4(){}function sp(){}function r6(){}function QM(){}function CR(){}function _R(){}function Att(){}function j8(){}function cg(){}function Ltt(){}function lb(){}function rC(){}function i6(){}function hb(){}function SR(){}function AR(){}function LR(){}function Mtt(){}function s6(){}function fy(){}function ap(){}function fb(){}function y4(){}function $8(){}function iC(){}function JM(){}function Dtt(){}function MR(){}function DR(){}function IR(){}function z8(){}function je(){}function OR(){}function Itt(){}function q8(){}function H8(){}function PR(){}function Ott(){}function Ptt(){}function Ntt(){}function Ftt(){}function Btt(){}function Rtt(){}function jtt(){}function $tt(){}function ZM(){}function NR(){}function ztt(){}function qtt(){}function sC(){}function FR(){}function x4(){}function k4(){}function BR(){}function RR(){}function jR(){}function $R(){}function Htt(){}function aC(){}function dy(){}function zR(){}function V8(){}function Vtt(){}function Utt(){}function E4(){}function qR(){}function U8(){}function Lc(){}function HR(){}function VR(){}function a6(){}function UR(){}function Gtt(){}function oC(){}function GR(){}function cC(){}function tD(){}function d1(){}function eD(){}function nD(){}function o6(){}function Ktt(){}function Wtt(){}function Ytt(){}function Xtt(){}function gy(){}function KR(){}function op(){}function Sf(){}function WR(){}function YR(){}function XR(){}function QR(){}function JR(){}function ZR(){}function g1(){}function Fu(){}function Qtt(){}function Jtt(){}function Ztt(){}function Bu(){}function uC(){}function tj(){}function ej(){}function c6(){}function tet(){}function G8(){}function eet(){}function nj(){}function net(){}function ret(){}function lC(){}function rj(){}function rD(){}function hC(){}function iet(){}function set(){}function iD(){}function fC(){}function H1(){}function K8(){}function aet(){}function W8(){}function sD(){}function D2(){}function dC(){}function aD(){}function p1(){}function gC(){}function V1(){}function U1(){}function oet(){}function cet(){}function T4(){}function Y8(){}function X8(){}function pC(){}function uet(){}function u6(){}function ij(){}function sj(){}function het(){}function aj(){}function fet(){}function oj(){}function oD(){}function det(){}function bC(){}function get(){}function pet(){}function bet(){}function wet(){}function met(){}function cj(){}function vet(){}function yet(){}function xet(){}function uj(){}function ket(){}function Eet(){}function wC(){}function Tet(){}function Cet(){}function _et(){}function Aet(){}function Let(){}function Met(){}function lj(){}function Det(){}function hj(){}function Iet(){}function cD(){}function Oet(){}function fj(){}function Pet(){}function dj(){}function Net(){}function gj(){}function pj(){}function bj(){}function uD(){}function C4(){}function mC(){}function Id(){}function wj(){}function Q8(){}function lD(){}function Fet(){}function I2(){}function mj(){}function hD(){}function Bet(){}function vj(){}function vC(){NC()}function yj(){OD()}function yC(){OH()}function xC(){Eat()}function xj(){aS()}function kj(){Xxt()}function l6(){Vf()}function rm(){axt()}function J8(){mO()}function Ej(){PD()}function Ret(){cI()}function Tj(){EYt()}function h6(){ik()}function fD(){Qie()}function Cj(){s4t()}function jet(){jne()}function _j(){a4t()}function kC(){Ase()}function EC(){Rne()}function dD(){h7()}function $et(){hoe()}function zet(){loe()}function qet(){Pre()}function Het(){foe()}function Vet(){jb()}function Uet(){v$()}function Get(){Wkt()}function Ket(){Me()}function Wet(){doe()}function Yet(){$oe()}function Xet(){$ne()}function Qet(){hhe()}function Jet(){zne()}function Zet(){_0e()}function f6(){_6t()}function tnt(){Eg()}function Z8(){_ue()}function Yh(){xc()}function ent(){Xne()}function tE(){rk()}function TC(){ckt()}function nnt(){$b()}function rnt(){ukt()}function int(){ad()}function snt(){EO()}function ant(){Yot()}function ont(){iot()}function Xh(){_Zt()}function cnt(){vq()}function Sj(){jH()}function Aj(){si()}function unt(){eH()}function Lj(){F5t()}function Af(){iat()}function gD(){oV()}function lnt(){ykt()}function pD(t){Wn(t)}function Mj(t){this.a=t}function CC(t){this.a=t}function hnt(t){this.a=t}function Dj(t){this.a=t}function fnt(t){this.a=t}function dnt(t){this.a=t}function O2(t){this.a=t}function gnt(t){this.a=t}function Ij(t){this.a=t}function Oj(t){this.a=t}function pnt(t){this.a=t}function bnt(t){this.a=t}function eE(t){this.a=t}function im(t){this.a=t}function Pj(t){this.a=t}function nE(t){this.a=t}function sm(t){this.a=t}function wnt(t){this.a=t}function py(t){this.a=t}function Nj(t){this.a=t}function ug(t){this.a=t}function mnt(t){this.a=t}function am(t){this.b=t}function Fj(t){this.c=t}function Bj(t){this.a=t}function bD(t){this.a=t}function wD(t){this.a=t}function Rj(t){this.a=t}function d6(t){this.a=t}function rE(t){this.a=t}function vnt(t){this.a=t}function jj(t){this.a=t}function $j(t){this.a=t}function zj(t){this.a=t}function ynt(t){this.a=t}function Mc(t){this.a=t}function qj(t){this.a=t}function Hj(t){this.a=t}function Vj(t){this.a=t}function _C(t){this.a=t}function g6(t){this.a=t}function lg(){this.a=[]}function Uj(t,e){t.a=e}function xnt(t,e){t.a=e}function g2t(t,e){t.b=e}function p2t(t,e){t.b=e}function Gj(t,e){t.b=e}function mD(t,e){t.j=e}function p6(t,e){t.g=e}function b2t(t,e){t.i=e}function b6(t,e){t.c=e}function y(t,e){t.c=e}function p(t,e){t.d=e}function x(t,e){t.d=e}function C(t,e){t.k=e}function L(t,e){t.c=e}function O(t,e){t.c=e}function P(t,e){t.a=e}function $(t,e){t.a=e}function H(t,e){t.f=e}function z(t,e){t.a=e}function G(t,e){t.b=e}function Q(t,e){t.d=e}function it(t,e){t.i=e}function lt(t,e){t.o=e}function dt(t,e){t.r=e}function vt(t,e){t.a=e}function Mt(t,e){t.b=e}function kt(t,e){t.e=e}function It(t,e){t.f=e}function Pt(t,e){t.g=e}function qt(t,e){t.e=e}function ce(t,e){t.f=e}function ee(t,e){t.f=e}function Ut(t,e){t.a=e}function ue(t,e){t.b=e}function Yt(t,e){t.n=e}function ye(t,e){t.a=e}function xe(t,e){t.c=e}function de(t,e){t.c=e}function ze(t,e){t.c=e}function ke(t,e){t.a=e}function xn(t,e){t.a=e}function tn(t,e){t.d=e}function an(t,e){t.d=e}function Sn(t,e){t.e=e}function Vn(t,e){t.e=e}function or(t,e){t.g=e}function Rn(t,e){t.f=e}function ar(t,e){t.j=e}function yr(t,e){t.a=e}function kr(t,e){t.a=e}function br(t,e){t.b=e}function dr(t){t.b=t.a}function kn(t){t.c=t.d.d}function wr(t){this.a=t}function Ar(t){this.a=t}function ci(t){this.a=t}function ui(t){this.a=t}function ps(t){this.a=t}function ga(t){this.a=t}function Li(t){this.a=t}function mi(t){this.a=t}function ys(t){this.a=t}function Xi(t){this.a=t}function li(t){this.a=t}function qi(t){this.a=t}function Ao(t){this.a=t}function Ka(t){this.a=t}function Ws(t){this.b=t}function Nr(t){this.b=t}function re(t){this.b=t}function Kn(t){this.a=t}function jr(t){this.a=t}function hr(t){this.c=t}function J(t){this.c=t}function Wa(t){this.c=t}function $r(t){this.d=t}function as(t){this.a=t}function Qn(t){this.a=t}function Jc(t){this.a=t}function uo(t){this.a=t}function Dc(t){this.a=t}function za(t){this.a=t}function lo(t){this.a=t}function _l(t){this.a=t}function Lf(t){this.a=t}function b1(t){this.a=t}function db(t){this.a=t}function w1(t){this.a=t}function Mf(t){this.a=t}function Od(t){this.a=t}function om(t){this.a=t}function by(t){this.a=t}function w6(t){this.a=t}function _4(t){this.a=t}function m6(t){this.a=t}function SC(t){this.a=t}function S4(t){this.a=t}function y0(t){this.a=t}function G1(t){this.a=t}function x0(t){this.a=t}function AC(t){this.a=t}function P2(t){this.a=t}function Kj(t){this.a=t}function knt(t){this.a=t}function iE(t){this.a=t}function Ent(t){this.a=t}function Tnt(t){this.a=t}function Cnt(t){this.a=t}function _nt(t){this.a=t}function LC(t){this.a=t}function sE(t){this.a=t}function vD(t){this.a=t}function N2(t){this.a=t}function yD(t){this.a=t}function Wj(t){this.a=t}function Snt(t){this.a=t}function gb(t){this.a=t}function xD(t){this.a=t}function Yj(t){this.a=t}function aE(t){this.a=t}function cp(t){this.a=t}function Xj(t){this.a=t}function w2t(t){this.a=t}function MC(t){this.a=t}function Qj(t){this.e=t}function oE(t){this.a=t}function JHt(t){this.a=t}function v6(t){this.a=t}function m2t(t){this.a=t}function ZHt(t){this.a=t}function tVt(t){this.a=t}function eVt(t){this.a=t}function nVt(t){this.a=t}function rVt(t){this.a=t}function iVt(t){this.a=t}function sVt(t){this.a=t}function aVt(t){this.a=t}function oVt(t){this.a=t}function cVt(t){this.a=t}function uVt(t){this.a=t}function v2t(t){this.a=t}function lVt(t){this.a=t}function hVt(t){this.a=t}function fVt(t){this.a=t}function dVt(t){this.a=t}function gVt(t){this.a=t}function pVt(t){this.a=t}function bVt(t){this.a=t}function wVt(t){this.a=t}function mVt(t){this.a=t}function vVt(t){this.a=t}function yVt(t){this.a=t}function xVt(t){this.a=t}function kVt(t){this.a=t}function EVt(t){this.a=t}function TVt(t){this.a=t}function CVt(t){this.a=t}function _Vt(t){this.a=t}function SVt(t){this.a=t}function AVt(t){this.a=t}function LVt(t){this.a=t}function MVt(t){this.a=t}function DVt(t){this.a=t}function IVt(t){this.a=t}function OVt(t){this.a=t}function PVt(t){this.a=t}function NVt(t){this.a=t}function FVt(t){this.a=t}function BVt(t){this.a=t}function RVt(t){this.a=t}function jVt(t){this.a=t}function $Vt(t){this.a=t}function zVt(t){this.a=t}function qVt(t){this.a=t}function HVt(t){this.a=t}function VVt(t){this.a=t}function UVt(t){this.a=t}function GVt(t){this.a=t}function KVt(t){this.a=t}function WVt(t){this.c=t}function YVt(t){this.b=t}function XVt(t){this.a=t}function QVt(t){this.a=t}function JVt(t){this.a=t}function ZVt(t){this.a=t}function tUt(t){this.a=t}function eUt(t){this.a=t}function nUt(t){this.a=t}function rUt(t){this.a=t}function iUt(t){this.a=t}function sUt(t){this.a=t}function aUt(t){this.a=t}function oUt(t){this.a=t}function cUt(t){this.a=t}function uUt(t){this.a=t}function lUt(t){this.a=t}function hUt(t){this.a=t}function fUt(t){this.a=t}function dUt(t){this.a=t}function gUt(t){this.a=t}function pUt(t){this.a=t}function bUt(t){this.a=t}function wUt(t){this.a=t}function mUt(t){this.a=t}function vUt(t){this.a=t}function yUt(t){this.a=t}function xUt(t){this.a=t}function kUt(t){this.a=t}function hg(t){this.a=t}function A4(t){this.a=t}function EUt(t){this.a=t}function TUt(t){this.a=t}function CUt(t){this.a=t}function _Ut(t){this.a=t}function SUt(t){this.a=t}function AUt(t){this.a=t}function LUt(t){this.a=t}function MUt(t){this.a=t}function DUt(t){this.a=t}function IUt(t){this.a=t}function OUt(t){this.a=t}function PUt(t){this.a=t}function NUt(t){this.a=t}function FUt(t){this.a=t}function BUt(t){this.a=t}function RUt(t){this.a=t}function jUt(t){this.a=t}function $Ut(t){this.a=t}function zUt(t){this.a=t}function qUt(t){this.a=t}function HUt(t){this.a=t}function VUt(t){this.a=t}function UUt(t){this.a=t}function GUt(t){this.a=t}function KUt(t){this.a=t}function WUt(t){this.a=t}function Jj(t){this.a=t}function YUt(t){this.f=t}function XUt(t){this.a=t}function QUt(t){this.a=t}function JUt(t){this.a=t}function ZUt(t){this.a=t}function tGt(t){this.a=t}function eGt(t){this.a=t}function nGt(t){this.a=t}function rGt(t){this.a=t}function iGt(t){this.a=t}function sGt(t){this.a=t}function aGt(t){this.a=t}function oGt(t){this.a=t}function cGt(t){this.a=t}function uGt(t){this.a=t}function lGt(t){this.a=t}function hGt(t){this.a=t}function fGt(t){this.a=t}function dGt(t){this.a=t}function gGt(t){this.a=t}function pGt(t){this.a=t}function bGt(t){this.a=t}function wGt(t){this.a=t}function mGt(t){this.a=t}function vGt(t){this.a=t}function yGt(t){this.a=t}function xGt(t){this.a=t}function kGt(t){this.a=t}function EGt(t){this.a=t}function Ant(t){this.a=t}function y2t(t){this.a=t}function Ni(t){this.b=t}function TGt(t){this.a=t}function CGt(t){this.a=t}function _Gt(t){this.a=t}function SGt(t){this.a=t}function AGt(t){this.a=t}function LGt(t){this.a=t}function MGt(t){this.a=t}function DGt(t){this.b=t}function IGt(t){this.a=t}function kD(t){this.a=t}function OGt(t){this.a=t}function PGt(t){this.a=t}function x2t(t){this.c=t}function Zj(t){this.e=t}function t$(t){this.a=t}function e$(t){this.a=t}function Lnt(t){this.a=t}function NGt(t){this.d=t}function FGt(t){this.a=t}function k2t(t){this.a=t}function E2t(t){this.a=t}function cm(t){this.e=t}function Pen(){this.a=0}function Er(){dl(this)}function ge(){Hrt(this)}function Mnt(){vee(this)}function BGt(){}function um(){this.c=LIt}function RGt(t,e){t.b+=e}function Nen(t,e){e.Wb(t)}function Fen(t){return t.a}function Ben(t){return t.a}function Ren(t){return t.a}function jen(t){return t.a}function $en(t){return t.a}function nt(t){return t.e}function zen(){return null}function qen(){return null}function Hen(){cwt(),kCn()}function Ven(t){t.b.Of(t.e)}function jGt(t){t.b=new Xnt}function DC(t,e){t.b=e-t.b}function IC(t,e){t.a=e-t.a}function In(t,e){t.push(e)}function $Gt(t,e){t.sort(e)}function zGt(t,e){e.jd(t.a)}function Uen(t,e){Qs(e,t)}function Gen(t,e,n){t.Yd(n,e)}function ED(t,e){t.e=e,e.b=t}function T2t(t){$d(),this.a=t}function qGt(t){$d(),this.a=t}function HGt(t){$d(),this.a=t}function Dnt(t){Lm(),this.a=t}function VGt(t){BE(),yht.le(t)}function C2t(){C2t=V,new Er}function F2(){uJt.call(this)}function _2t(){uJt.call(this)}function S2t(){F2.call(this)}function Int(){F2.call(this)}function UGt(){F2.call(this)}function TD(){F2.call(this)}function Yu(){F2.call(this)}function y6(){F2.call(this)}function Vr(){F2.call(this)}function yh(){F2.call(this)}function GGt(){F2.call(this)}function ac(){F2.call(this)}function KGt(){F2.call(this)}function WGt(){this.a=this}function n$(){this.Bb|=256}function YGt(){this.b=new nQt}function wy(t,e){t.length=e}function r$(t,e){pe(t.a,e)}function Ken(t,e){Jxt(t.c,e)}function Wen(t,e){qs(t.b,e)}function Yen(t,e){SH(t.a,e)}function Xen(t,e){Dat(t.a,e)}function cE(t,e){Ti(t.e,e)}function x6(t){HH(t.c,t.b)}function Qen(t,e){t.kc().Nb(e)}function A2t(t){this.a=Hbn(t)}function Os(){this.a=new Er}function XGt(){this.a=new Er}function L2t(){this.a=new pYt}function i$(){this.a=new ge}function Ont(){this.a=new ge}function M2t(){this.a=new ge}function Qh(){this.a=new _2}function B2(){this.a=new Uie}function D2t(){this.a=new S2}function I2t(){this.a=new Bne}function O2t(){this.a=new YJt}function QGt(){this.a=new ge}function JGt(){this.a=new ge}function ZGt(){this.a=new ge}function P2t(){this.a=new ge}function tKt(){this.d=new ge}function eKt(){this.a=new rre}function nKt(){this.a=new Os}function rKt(){this.a=new Er}function iKt(){this.b=new Er}function sKt(){this.b=new ge}function N2t(){this.e=new ge}function aKt(){this.a=new Vet}function oKt(){this.d=new ge}function cKt(){cne.call(this)}function uKt(){cne.call(this)}function lKt(){ge.call(this)}function F2t(){S2t.call(this)}function B2t(){i$.call(this)}function hKt(){uz.call(this)}function fKt(){P2t.call(this)}function OC(){BGt.call(this)}function Pnt(){OC.call(this)}function k6(){BGt.call(this)}function R2t(){k6.call(this)}function dKt(){q2t.call(this)}function gKt(){q2t.call(this)}function pKt(){q2t.call(this)}function bKt(){H2t.call(this)}function PC(){FR.call(this)}function j2t(){FR.call(this)}function Xu(){Qi.call(this)}function wKt(){IKt.call(this)}function mKt(){IKt.call(this)}function vKt(){Er.call(this)}function yKt(){Er.call(this)}function xKt(){Er.call(this)}function Nnt(){boe.call(this)}function kKt(){Os.call(this)}function EKt(){n$.call(this)}function Fnt(){kmt.call(this)}function $2t(){Er.call(this)}function Bnt(){kmt.call(this)}function Rnt(){Er.call(this)}function TKt(){Er.call(this)}function z2t(){U8.call(this)}function CKt(){z2t.call(this)}function _Kt(){U8.call(this)}function SKt(){hD.call(this)}function q2t(){this.a=new Os}function AKt(){this.a=new Er}function LKt(){this.a=new ge}function H2t(){this.a=new Er}function E6(){this.a=new Qi}function MKt(){this.j=new ge}function DKt(){this.a=new LWt}function IKt(){this.a=new qR}function V2t(){this.a=new KM}function NC(){NC=V,fht=new S}function jnt(){jnt=V,dht=new PKt}function $nt(){$nt=V,ght=new OKt}function OKt(){nE.call(this,"")}function PKt(){nE.call(this,"")}function NKt(t){jae.call(this,t)}function FKt(t){jae.call(this,t)}function U2t(t){Ij.call(this,t)}function G2t(t){iYt.call(this,t)}function Jen(t){iYt.call(this,t)}function Zen(t){G2t.call(this,t)}function tnn(t){G2t.call(this,t)}function enn(t){G2t.call(this,t)}function BKt(t){mst.call(this,t)}function RKt(t){mst.call(this,t)}function jKt(t){wZt.call(this,t)}function $Kt(t){pwt.call(this,t)}function FC(t){p$.call(this,t)}function K2t(t){p$.call(this,t)}function zKt(t){p$.call(this,t)}function W2t(t){E3n.call(this,t)}function Y2t(t){W2t.call(this,t)}function oc(t){Rte.call(this,t)}function qKt(t){oc.call(this,t)}function T6(){g6.call(this,{})}function HKt(){HKt=V,Cve=new Y}function s$(){s$=V,wht=new jQt}function VKt(){VKt=V,VTt=new _}function X2t(){X2t=V,UTt=new mt}function a$(){a$=V,cA=new bt}function znt(t){yE(),this.a=t}function qnt(t){E4t(),this.a=t}function my(t){_it(),this.f=t}function Hnt(t){_it(),this.f=t}function UKt(t){CZt(),this.a=t}function GKt(t){t.b=null,t.c=0}function nnn(t,e){t.e=e,_de(t,e)}function rnn(t,e){t.a=e,l4n(t)}function Vnt(t,e,n){t.a[e.g]=n}function inn(t,e,n){Cvn(n,t,e)}function snn(t,e){tan(e.i,t.n)}function KKt(t,e){Tpn(t).Cd(e)}function ann(t,e){t.a.ec().Mc(e)}function WKt(t,e){return t.g-e.g}function onn(t,e){return t*t/e}function Ie(t){return Wn(t),t}function Rt(t){return Wn(t),t}function CD(t){return Wn(t),t}function cnn(t){return new _C(t)}function unn(t){return new Oy(t)}function Q2t(t){return Wn(t),t}function lnn(t){return Wn(t),t}function o$(t){oc.call(this,t)}function No(t){oc.call(this,t)}function YKt(t){oc.call(this,t)}function Unt(t){Rte.call(this,t)}function uE(t){oc.call(this,t)}function zn(t){oc.call(this,t)}function Fo(t){oc.call(this,t)}function XKt(t){oc.call(this,t)}function C6(t){oc.call(this,t)}function up(t){oc.call(this,t)}function lp(t){oc.call(this,t)}function _6(t){oc.call(this,t)}function Pd(t){oc.call(this,t)}function Gnt(t){oc.call(this,t)}function Yr(t){oc.call(this,t)}function hl(t){Wn(t),this.a=t}function J2t(t){return nw(t),t}function BC(t){lyt(t,t.length)}function RC(t){return t.b==t.c}function vy(t){return!!t&&t.b}function hnn(t){return!!t&&t.k}function fnn(t){return!!t&&t.j}function dnn(t,e,n){t.c.Ef(e,n)}function QKt(t,e){t.be(e),e.ae(t)}function S6(t){$d(),this.a=Hr(t)}function Knt(){this.a=Gr(Hr(ro))}function JKt(){throw nt(new Vr)}function gnn(){throw nt(new Vr)}function Z2t(){throw nt(new Vr)}function ZKt(){throw nt(new Vr)}function pnn(){throw nt(new Vr)}function bnn(){throw nt(new Vr)}function c$(){c$=V,BE()}function hp(){ga.call(this,"")}function jC(){ga.call(this,"")}function pb(){ga.call(this,"")}function L4(){ga.call(this,"")}function twt(t){No.call(this,t)}function ewt(t){No.call(this,t)}function Nd(t){zn.call(this,t)}function lE(t){re.call(this,t)}function tWt(t){lE.call(this,t)}function Wnt(t){iz.call(this,t)}function Ynt(t){Pmt.call(this,t,0)}function Xnt(){Gyt.call(this,12,3)}function st(t,e){return Dne(t,e)}function u$(t,e){return Ost(t,e)}function wnn(t,e){return t.a-e.a}function mnn(t,e){return t.a-e.a}function vnn(t,e){return t.a-e.a}function ynn(t,e){return e in t.a}function eWt(t){return t.a?t.b:0}function xnn(t){return t.a?t.b:0}function knn(t,e,n){e.Cd(t.a[n])}function Enn(t,e,n){e.Pe(t.a[n])}function Tnn(t,e){t.b=new eo(e)}function Cnn(t,e){return t.b=e,t}function nWt(t,e){return t.c=e,t}function rWt(t,e){return t.f=e,t}function _nn(t,e){return t.g=e,t}function nwt(t,e){return t.a=e,t}function rwt(t,e){return t.f=e,t}function Snn(t,e){return t.k=e,t}function iwt(t,e){return t.a=e,t}function Ann(t,e){return t.e=e,t}function swt(t,e){return t.e=e,t}function Lnn(t,e){return t.f=e,t}function Mnn(t,e){t.b=!0,t.d=e}function Dnn(t,e){return t.b-e.b}function Inn(t,e){return t.g-e.g}function Onn(t,e){return t?0:e-1}function iWt(t,e){return t?0:e-1}function Pnn(t,e){return t?e-1:0}function Nnn(t,e){return t.s-e.s}function Fnn(t,e){return e.rg(t)}function lm(t,e){return t.b=e,t}function l$(t,e){return t.a=e,t}function hm(t,e){return t.c=e,t}function fm(t,e){return t.d=e,t}function dm(t,e){return t.e=e,t}function awt(t,e){return t.f=e,t}function $C(t,e){return t.a=e,t}function hE(t,e){return t.b=e,t}function fE(t,e){return t.c=e,t}function He(t,e){return t.c=e,t}function fn(t,e){return t.b=e,t}function Ve(t,e){return t.d=e,t}function Ue(t,e){return t.e=e,t}function Bnn(t,e){return t.f=e,t}function Ge(t,e){return t.g=e,t}function Ke(t,e){return t.a=e,t}function We(t,e){return t.i=e,t}function Ye(t,e){return t.j=e,t}function Rnn(t,e){jb(),uc(e,t)}function jnn(t,e,n){eun(t.a,e,n)}function h$(t){oit.call(this,t)}function sWt(t){i2n.call(this,t)}function aWt(t){jee.call(this,t)}function owt(t){jee.call(this,t)}function bb(t){jm.call(this,t)}function oWt(t){Xit.call(this,t)}function cWt(t){Xit.call(this,t)}function uWt(){bmt.call(this,"")}function Ea(){this.a=0,this.b=0}function lWt(){this.b=0,this.a=0}function hWt(t,e){t.b=0,Hy(t,e)}function fWt(t,e){return t.k=e,t}function $nn(t,e){return t.j=e,t}function znn(t,e){t.c=e,t.b=!0}function dWt(){dWt=V,Rve=Jvn()}function wb(){wb=V,D7e=uvn()}function gWt(){gWt=V,fa=xyn()}function cwt(){cwt=V,h2=JE()}function dE(){dE=V,AIt=lvn()}function pWt(){pWt=V,pTe=hvn()}function uwt(){uwt=V,Nc=o4n()}function m1(t){return t.e&&t.e()}function bWt(t){return t.l|t.m<<22}function wWt(t,e){return t.c._b(e)}function mWt(t,e){return pue(t.b,e)}function Qnt(t){return t?t.d:null}function qnn(t){return t?t.g:null}function Hnn(t){return t?t.i:null}function R2(t){return gg(t),t.o}function M4(t,e){return t.a+=e,t}function Jnt(t,e){return t.a+=e,t}function fp(t,e){return t.a+=e,t}function gm(t,e){return t.a+=e,t}function lwt(t,e){for(;t.Bd(e););}function f$(t){this.a=new A6(t)}function vWt(){throw nt(new Vr)}function yWt(){throw nt(new Vr)}function xWt(){throw nt(new Vr)}function kWt(){throw nt(new Vr)}function EWt(){throw nt(new Vr)}function TWt(){throw nt(new Vr)}function dp(t){this.a=new Lit(t)}function CWt(){this.a=new vS(kLt)}function _Wt(){this.b=new vS(zAt)}function SWt(){this.a=new vS(GLt)}function AWt(){this.b=new vS(cdt)}function LWt(){this.b=new vS(cdt)}function d$(t){this.a=0,this.b=t}function hwt(t){ipe(),NCn(this,t)}function gE(t){return _b(t),t.a}function _D(t){return t.b!=t.d.c}function fwt(t,e){return t.d[e.p]}function MWt(t,e){return J6n(t,e)}function dwt(t,e,n){t.splice(e,n)}function D4(t,e){for(;t.Re(e););}function DWt(t){t.c?Vde(t):Ude(t)}function IWt(){throw nt(new Vr)}function OWt(){throw nt(new Vr)}function PWt(){throw nt(new Vr)}function NWt(){throw nt(new Vr)}function FWt(){throw nt(new Vr)}function BWt(){throw nt(new Vr)}function RWt(){throw nt(new Vr)}function jWt(){throw nt(new Vr)}function $Wt(){throw nt(new Vr)}function zWt(){throw nt(new Vr)}function Vnn(){throw nt(new ac)}function Unn(){throw nt(new ac)}function SD(t){this.a=new qWt(t)}function qWt(t){Y0n(this,t,S3n())}function AD(t){return!t||mee(t)}function LD(t){return xd[t]!=-1}function Gnn(){_U!=0&&(_U=0),SU=-1}function HWt(){hht==null&&(hht=[])}function MD(t,e){U4.call(this,t,e)}function pE(t,e){MD.call(this,t,e)}function VWt(t,e){this.a=t,this.b=e}function UWt(t,e){this.a=t,this.b=e}function GWt(t,e){this.a=t,this.b=e}function KWt(t,e){this.a=t,this.b=e}function WWt(t,e){this.a=t,this.b=e}function YWt(t,e){this.a=t,this.b=e}function XWt(t,e){this.a=t,this.b=e}function bE(t,e){this.e=t,this.d=e}function gwt(t,e){this.b=t,this.c=e}function QWt(t,e){this.b=t,this.a=e}function JWt(t,e){this.b=t,this.a=e}function ZWt(t,e){this.b=t,this.a=e}function tYt(t,e){this.b=t,this.a=e}function eYt(t,e){this.a=t,this.b=e}function Znt(t,e){this.a=t,this.b=e}function nYt(t,e){this.a=t,this.f=e}function pm(t,e){this.g=t,this.i=e}function Fr(t,e){this.f=t,this.g=e}function rYt(t,e){this.b=t,this.c=e}function iYt(t){Tmt(t.dc()),this.c=t}function Knn(t,e){this.a=t,this.b=e}function sYt(t,e){this.a=t,this.b=e}function aYt(t){this.a=u(Hr(t),15)}function pwt(t){this.a=u(Hr(t),15)}function oYt(t){this.a=u(Hr(t),85)}function g$(t){this.b=u(Hr(t),85)}function p$(t){this.b=u(Hr(t),51)}function b$(){this.q=new b.Date}function trt(t,e){this.a=t,this.b=e}function cYt(t,e){return Eu(t.b,e)}function DD(t,e){return t.b.Hc(e)}function uYt(t,e){return t.b.Ic(e)}function lYt(t,e){return t.b.Qc(e)}function hYt(t,e){return t.b.Hc(e)}function fYt(t,e){return t.c.uc(e)}function dYt(t,e){return Ci(t.c,e)}function v1(t,e){return t.a._b(e)}function gYt(t,e){return t>e&&e0}function art(t,e){return Rc(t,e)<0}function MYt(t,e){return kit(t.a,e)}function frn(t,e){Ine.call(this,t,e)}function kwt(t){zit(),wZt.call(this,t)}function Ewt(t,e){Cte(t,t.length,e)}function ND(t,e){Zte(t,t.length,e)}function WC(t,e){return t.a.get(e)}function DYt(t,e){return Eu(t.e,e)}function Twt(t){return Wn(t),!1}function Cwt(t){this.a=u(Hr(t),229)}function C$(t){gn.call(this,t,21)}function _$(t,e){Fr.call(this,t,e)}function ort(t,e){Fr.call(this,t,e)}function IYt(t,e){this.b=t,this.a=e}function S$(t,e){this.d=t,this.e=e}function OYt(t,e){this.a=t,this.b=e}function PYt(t,e){this.a=t,this.b=e}function NYt(t,e){this.a=t,this.b=e}function FYt(t,e){this.a=t,this.b=e}function M6(t,e){this.a=t,this.b=e}function BYt(t,e){this.b=t,this.a=e}function _wt(t,e){this.b=t,this.a=e}function Swt(t,e){Fr.call(this,t,e)}function Awt(t,e){Fr.call(this,t,e)}function I4(t,e){Fr.call(this,t,e)}function crt(t,e){Fr.call(this,t,e)}function urt(t,e){Fr.call(this,t,e)}function lrt(t,e){Fr.call(this,t,e)}function A$(t,e){Fr.call(this,t,e)}function Lwt(t,e){this.b=t,this.a=e}function L$(t,e){Fr.call(this,t,e)}function Mwt(t,e){this.b=t,this.a=e}function M$(t,e){Fr.call(this,t,e)}function RYt(t,e){this.b=t,this.a=e}function Dwt(t,e){Fr.call(this,t,e)}function hrt(t,e){Fr.call(this,t,e)}function FD(t,e){Fr.call(this,t,e)}function YC(t,e,n){t.splice(e,0,n)}function drn(t,e,n){t.Mb(n)&&e.Cd(n)}function grn(t,e,n){e.Pe(t.a.Ye(n))}function prn(t,e,n){e.Dd(t.a.Ze(n))}function brn(t,e,n){e.Cd(t.a.Kb(n))}function wrn(t,e){return Ju(t.c,e)}function mrn(t,e){return Ju(t.e,e)}function D$(t,e){Fr.call(this,t,e)}function I$(t,e){Fr.call(this,t,e)}function XC(t,e){Fr.call(this,t,e)}function Iwt(t,e){Fr.call(this,t,e)}function Ps(t,e){Fr.call(this,t,e)}function O$(t,e){Fr.call(this,t,e)}function jYt(t,e){this.a=t,this.b=e}function $Yt(t,e){this.a=t,this.b=e}function zYt(t,e){this.a=t,this.b=e}function qYt(t,e){this.a=t,this.b=e}function HYt(t,e){this.a=t,this.b=e}function VYt(t,e){this.a=t,this.b=e}function UYt(t,e){this.b=t,this.a=e}function GYt(t,e){this.b=t,this.a=e}function Owt(t,e){this.b=t,this.a=e}function vE(t,e){this.c=t,this.d=e}function KYt(t,e){this.e=t,this.d=e}function WYt(t,e){this.a=t,this.b=e}function YYt(t,e){this.a=t,this.b=e}function XYt(t,e){this.a=t,this.b=e}function QYt(t,e){this.b=t,this.a=e}function JYt(t,e){this.b=e,this.c=t}function P$(t,e){Fr.call(this,t,e)}function BD(t,e){Fr.call(this,t,e)}function frt(t,e){Fr.call(this,t,e)}function Pwt(t,e){Fr.call(this,t,e)}function QC(t,e){Fr.call(this,t,e)}function drt(t,e){Fr.call(this,t,e)}function grt(t,e){Fr.call(this,t,e)}function RD(t,e){Fr.call(this,t,e)}function Nwt(t,e){Fr.call(this,t,e)}function prt(t,e){Fr.call(this,t,e)}function JC(t,e){Fr.call(this,t,e)}function Fwt(t,e){Fr.call(this,t,e)}function ZC(t,e){Fr.call(this,t,e)}function t_(t,e){Fr.call(this,t,e)}function ky(t,e){Fr.call(this,t,e)}function brt(t,e){Fr.call(this,t,e)}function wrt(t,e){Fr.call(this,t,e)}function Bwt(t,e){Fr.call(this,t,e)}function jD(t,e){Fr.call(this,t,e)}function O4(t,e){Fr.call(this,t,e)}function mrt(t,e){Fr.call(this,t,e)}function N$(t,e){Fr.call(this,t,e)}function $D(t,e){Fr.call(this,t,e)}function Ey(t,e){Fr.call(this,t,e)}function F$(t,e){Fr.call(this,t,e)}function Rwt(t,e){Fr.call(this,t,e)}function vrt(t,e){Fr.call(this,t,e)}function yrt(t,e){Fr.call(this,t,e)}function xrt(t,e){Fr.call(this,t,e)}function krt(t,e){Fr.call(this,t,e)}function Ert(t,e){Fr.call(this,t,e)}function Trt(t,e){Fr.call(this,t,e)}function Crt(t,e){Fr.call(this,t,e)}function ZYt(t,e){this.b=t,this.a=e}function jwt(t,e){Fr.call(this,t,e)}function tXt(t,e){this.a=t,this.b=e}function eXt(t,e){this.a=t,this.b=e}function nXt(t,e){this.a=t,this.b=e}function $wt(t,e){Fr.call(this,t,e)}function zwt(t,e){Fr.call(this,t,e)}function rXt(t,e){this.a=t,this.b=e}function vrn(t,e){return _E(),e!=t}function zD(t){return cr(t.a),t.b}function _rt(t){return _5n(t,t.c),t}function iXt(){return dWt(),new Rve}function sXt(){gz(),this.a=new ivt}function aXt(){JH(),this.a=new Os}function oXt(){ast(),this.b=new Os}function cXt(t,e){this.b=t,this.d=e}function uXt(t,e){this.a=t,this.b=e}function lXt(t,e){this.a=t,this.b=e}function hXt(t,e){this.a=t,this.b=e}function fXt(t,e){this.b=t,this.a=e}function qwt(t,e){Fr.call(this,t,e)}function Hwt(t,e){Fr.call(this,t,e)}function B$(t,e){Fr.call(this,t,e)}function wm(t,e){Fr.call(this,t,e)}function Srt(t,e){Fr.call(this,t,e)}function R$(t,e){Fr.call(this,t,e)}function Vwt(t,e){Fr.call(this,t,e)}function Uwt(t,e){Fr.call(this,t,e)}function qD(t,e){Fr.call(this,t,e)}function Gwt(t,e){Fr.call(this,t,e)}function Art(t,e){Fr.call(this,t,e)}function j$(t,e){Fr.call(this,t,e)}function Lrt(t,e){Fr.call(this,t,e)}function Mrt(t,e){Fr.call(this,t,e)}function Drt(t,e){Fr.call(this,t,e)}function Irt(t,e){Fr.call(this,t,e)}function Kwt(t,e){Fr.call(this,t,e)}function Ort(t,e){Fr.call(this,t,e)}function Wwt(t,e){Fr.call(this,t,e)}function HD(t,e){Fr.call(this,t,e)}function Prt(t,e){Fr.call(this,t,e)}function Ywt(t,e){Fr.call(this,t,e)}function VD(t,e){Fr.call(this,t,e)}function Xwt(t,e){Fr.call(this,t,e)}function dXt(t,e){this.b=t,this.a=e}function gXt(t,e){this.b=t,this.a=e}function pXt(t,e){this.b=t,this.a=e}function bXt(t,e){this.b=t,this.a=e}function Qwt(t,e){this.a=t,this.b=e}function wXt(t,e){this.a=t,this.b=e}function mXt(t,e){this.a=t,this.b=e}function se(t,e){this.a=t,this.b=e}function e_(t,e){Fr.call(this,t,e)}function UD(t,e){Fr.call(this,t,e)}function D6(t,e){Fr.call(this,t,e)}function n_(t,e){Fr.call(this,t,e)}function GD(t,e){Fr.call(this,t,e)}function Nrt(t,e){Fr.call(this,t,e)}function $$(t,e){Fr.call(this,t,e)}function r_(t,e){Fr.call(this,t,e)}function Frt(t,e){Fr.call(this,t,e)}function z$(t,e){Fr.call(this,t,e)}function P4(t,e){Fr.call(this,t,e)}function KD(t,e){Fr.call(this,t,e)}function i_(t,e){Fr.call(this,t,e)}function s_(t,e){Fr.call(this,t,e)}function WD(t,e){Fr.call(this,t,e)}function q$(t,e){Fr.call(this,t,e)}function N4(t,e){Fr.call(this,t,e)}function Brt(t,e){Fr.call(this,t,e)}function vXt(t,e){Fr.call(this,t,e)}function H$(t,e){Fr.call(this,t,e)}function yXt(t,e){this.a=t,this.b=e}function xXt(t,e){this.a=t,this.b=e}function kXt(t,e){this.a=t,this.b=e}function EXt(t,e){this.a=t,this.b=e}function TXt(t,e){this.a=t,this.b=e}function CXt(t,e){this.a=t,this.b=e}function Ys(t,e){this.a=t,this.b=e}function _Xt(t,e){this.a=t,this.b=e}function SXt(t,e){this.a=t,this.b=e}function AXt(t,e){this.a=t,this.b=e}function LXt(t,e){this.a=t,this.b=e}function MXt(t,e){this.a=t,this.b=e}function DXt(t,e){this.a=t,this.b=e}function IXt(t,e){this.b=t,this.a=e}function OXt(t,e){this.b=t,this.a=e}function PXt(t,e){this.b=t,this.a=e}function NXt(t,e){this.b=t,this.a=e}function FXt(t,e){this.a=t,this.b=e}function BXt(t,e){this.a=t,this.b=e}function V$(t,e){Fr.call(this,t,e)}function RXt(t,e){this.a=t,this.b=e}function jXt(t,e){this.a=t,this.b=e}function I6(t,e){Fr.call(this,t,e)}function $Xt(t,e){this.f=t,this.c=e}function Jwt(t,e){return Ju(t.g,e)}function yrn(t,e){return Ju(e.b,t)}function zXt(t,e){return zat(t.a,e)}function xrn(t,e){return-t.b.af(e)}function krn(t,e){t&&di(RN,t,e)}function Zwt(t,e){t.i=null,zq(t,e)}function Ern(t,e,n){Ihe(e,Oot(t,n))}function Trn(t,e,n){Ihe(e,Oot(t,n))}function Crn(t,e){Zxn(t.a,u(e,58))}function qXt(t,e){Ydn(t.a,u(e,12))}function U$(t,e){this.a=t,this.b=e}function HXt(t,e){this.a=t,this.b=e}function VXt(t,e){this.a=t,this.b=e}function UXt(t,e){this.a=t,this.b=e}function GXt(t,e){this.a=t,this.b=e}function KXt(t,e){this.d=t,this.b=e}function WXt(t,e){this.e=t,this.a=e}function YD(t,e){this.b=t,this.c=e}function tmt(t,e){this.i=t,this.g=e}function emt(t,e){this.d=t,this.e=e}function _rn(t,e){l0n(new Zn(t),e)}function G$(t){return hO(t.c,t.b)}function Uo(t){return t?t.md():null}function $t(t){return t??null}function pa(t){return typeof t===_ct}function Ty(t){return typeof t===vk}function Cy(t){return typeof t===Xkt}function mm(t,e){return Rc(t,e)==0}function K$(t,e){return Rc(t,e)>=0}function a_(t,e){return Rc(t,e)!=0}function W$(t,e){return Sgn(t.Kc(),e)}function yb(t,e){return t.Rd().Xb(e)}function YXt(t){return Ll(t),t.d.gc()}function Y$(t){return m_(t==null),t}function o_(t,e){return t.a+=""+e,t}function Lo(t,e){return t.a+=""+e,t}function c_(t,e){return t.a+=""+e,t}function Zc(t,e){return t.a+=""+e,t}function ni(t,e){return t.a+=""+e,t}function nmt(t,e){return t.a+=""+e,t}function Srn(t){return""+(Wn(t),t)}function XXt(t){dl(this),V_(this,t)}function QXt(){Uyt(),Qvt.call(this)}function JXt(t,e){nyt.call(this,t,e)}function ZXt(t,e){nyt.call(this,t,e)}function X$(t,e){nyt.call(this,t,e)}function to(t,e){fs(t,e,t.c.b,t.c)}function F4(t,e){fs(t,e,t.a,t.a.a)}function rmt(t){return mn(t,0),null}function tQt(){this.b=0,this.a=!1}function eQt(){this.b=0,this.a=!1}function nQt(){this.b=new A6(zy(12))}function rQt(){rQt=V,Iye=Rr(Wat())}function iQt(){iQt=V,t4e=Rr(pde())}function sQt(){sQt=V,Eke=Rr(Koe())}function imt(){imt=V,C2t(),GTt=new Er}function y1(t){return t.a=0,t.b=0,t}function aQt(t,e){return t.a=e.g+1,t}function Rrt(t,e){My.call(this,t,e)}function un(t,e){os.call(this,t,e)}function B4(t,e){tmt.call(this,t,e)}function oQt(t,e){ZD.call(this,t,e)}function jrt(t,e){i7.call(this,t,e)}function hi(t,e){E$(),di(qK,t,e)}function cQt(t,e){t.q.setTime(W2(e))}function Arn(t){b.clearTimeout(t)}function Lrn(t){return Hr(t),new u_(t)}function uQt(t,e){return $t(t)===$t(e)}function lQt(t,e){return t.a.a.a.cc(e)}function $rt(t,e){return Ch(t.a,0,e)}function smt(t){return Iun(u(t,74))}function O6(t){return Xs((Wn(t),t))}function Mrn(t){return Xs((Wn(t),t))}function hQt(t){return ku(t.l,t.m,t.h)}function amt(t,e){return Bc(t.a,e.a)}function Drn(t,e){return Qte(t.a,e.a)}function Irn(t,e){return ji(t.a,e.a)}function Fd(t,e){return t.indexOf(e)}function Orn(t,e){return t.j[e.p]==2}function vm(t,e){return t==e?0:t?1:-1}function Q$(t){return t<10?"0"+t:""+t}function Zo(t){return typeof t===Xkt}function Prn(t){return t==pv||t==y3}function Nrn(t){return t==pv||t==v3}function fQt(t,e){return Bc(t.g,e.g)}function omt(t){return Wo(t.b.b,t,0)}function dQt(){Tz.call(this,0,0,0,0)}function Bd(){uo.call(this,new yp)}function cmt(t,e){HE(t,0,t.length,e)}function Frn(t,e){return pe(t.a,e),e}function Brn(t,e){return Bf(),e.a+=t}function Rrn(t,e){return Bf(),e.a+=t}function jrn(t,e){return Bf(),e.c+=t}function $rn(t,e){return pe(t.c,e),t}function umt(t,e){return sh(t.a,e),t}function gQt(t){this.a=iXt(),this.b=t}function pQt(t){this.a=iXt(),this.b=t}function eo(t){this.a=t.a,this.b=t.b}function u_(t){this.a=t,vC.call(this)}function bQt(t){this.a=t,vC.call(this)}function P6(){Th.call(this,0,0,0,0)}function J$(t){return sh(new Fs,t)}function wQt(t){return qz(u(t,123))}function zl(t){return t.vh()&&t.wh()}function R4(t){return t!=md&&t!=c2}function dg(t){return t==Ho||t==Jo}function j4(t){return t==qh||t==bd}function mQt(t){return t==Y5||t==W5}function zrn(t,e){return Bc(t.g,e.g)}function vQt(t,e){return new i7(e,t)}function qrn(t,e){return new i7(e,t)}function lmt(t){return ucn(t.b.Kc(),t.a)}function zrt(t,e){f7(t,e),QE(t,t.D)}function qrt(t,e,n){Oq(t,e),Iq(t,n)}function $4(t,e,n){zm(t,e),$m(t,n)}function xh(t,e,n){Cu(t,e),_u(t,n)}function XD(t,e,n){KE(t,e),YE(t,n)}function QD(t,e,n){WE(t,e),XE(t,n)}function yQt(t,e,n){Gmt.call(this,t,e,n)}function hmt(t){$Xt.call(this,t,!0)}function xQt(){_$.call(this,"Tail",3)}function kQt(){_$.call(this,"Head",1)}function xb(t){Gd(),Egn.call(this,t)}function ym(t){Tz.call(this,t,t,t,t)}function Hrt(t){t.c=Vt(sa,Ln,1,0,5,1)}function fmt(t){return t.b&&cct(t),t.a}function dmt(t){return t.b&&cct(t),t.c}function Hrn(t,e){hd||(t.b=e)}function Vrn(t,e){return t[t.length]=e}function Urn(t,e){return t[t.length]=e}function Grn(t,e){return qy(e,Y1(t))}function Krn(t,e){return qy(e,Y1(t))}function Wrn(t,e){return Rq(jit(t.d),e)}function Yrn(t,e){return Rq(jit(t.g),e)}function Xrn(t,e){return Rq(jit(t.j),e)}function Ta(t,e){os.call(this,t.b,e)}function Qrn(t,e){Mr(Gc(t.a),Hne(e))}function Jrn(t,e){Mr(Al(t.a),Vne(e))}function Zrn(t,e,n){xh(n,n.i+t,n.j+e)}function EQt(t,e,n){hs(t.c[e.g],e.g,n)}function tin(t,e,n){u(t.c,71).Gi(e,n)}function Vrt(t,e,n){return hs(t,e,n),n}function TQt(t){Tu(t.Sf(),new _nt(t))}function z4(t){return t!=null?Hi(t):0}function ein(t){return t==null?0:Hi(t)}function l_(t){xi(),cm.call(this,t)}function CQt(t){this.a=t,Svt.call(this,t)}function K1(){K1=V,b.Math.log(2)}function kh(){kh=V,W0=(AYt(),B7e)}function _Qt(){_Qt=V,T1t=new rS(Bdt)}function Ur(){Ur=V,new SQt,new ge}function SQt(){new Er,new Er,new Er}function nin(){throw nt(new up(uve))}function rin(){throw nt(new up(uve))}function iin(){throw nt(new up(lve))}function sin(){throw nt(new up(lve))}function Urt(t){this.a=t,g$.call(this,t)}function Grt(t){this.a=t,g$.call(this,t)}function AQt(t,e){Lm(),this.a=t,this.b=e}function ain(t,e){Hr(e),K4(t).Jc(new at)}function Ms(t,e){Eit(t.c,t.c.length,e)}function cc(t){return t.ae?1:0}function pmt(t,e){return Rc(t,e)>0?t:e}function ku(t,e,n){return{l:t,m:e,h:n}}function oin(t,e){t.a!=null&&qXt(e,t.a)}function cin(t){Ya(t,null),ya(t,null)}function uin(t,e,n){return di(t.g,n,e)}function q4(t,e,n){return R5t(e,n,t.c)}function lin(t,e,n){return di(t.k,n,e)}function hin(t,e,n){return XTn(t,e,n),n}function fin(t,e){return th(),e.n.b+=t}function MQt(t){Ryt.call(this),this.b=t}function bmt(t){rvt.call(this),this.a=t}function DQt(){_$.call(this,"Range",2)}function Z$(t){this.b=t,this.a=new ge}function IQt(t){this.b=new gu,this.a=t}function OQt(t){t.a=new Pe,t.c=new Pe}function PQt(t){t.a=new Er,t.d=new Er}function NQt(t){ost(t,null),cst(t,null)}function FQt(t,e){return JTn(t.a,e,null)}function din(t,e){return di(t.a,e.a,e)}function Ma(t){return new se(t.a,t.b)}function wmt(t){return new se(t.c,t.d)}function gin(t){return new se(t.c,t.d)}function h_(t,e){return lTn(t.c,t.b,e)}function At(t,e){return t!=null&&Jat(t,e)}function Krt(t,e){return rpn(t.Kc(),e)!=-1}function tz(t){return t.Ob()?t.Pb():null}function pin(t){this.b=(wn(),new hr(t))}function mmt(t){this.a=t,Er.call(this)}function BQt(){ZD.call(this,null,null)}function RQt(){oz.call(this,null,null)}function jQt(){Fr.call(this,"INSTANCE",0)}function $Qt(){wxt(),this.a=new vS(dCt)}function zQt(t){return nf(t,0,t.length)}function bin(t,e){return new sJt(t.Kc(),e)}function vmt(t,e){return t.a.Bc(e)!=null}function qQt(t,e){Lr(t),t.Gc(u(e,15))}function win(t,e,n){t.c.bd(e,u(n,136))}function min(t,e,n){t.c.Ui(e,u(n,136))}function HQt(t,e){t.c&&($vt(e),pne(e))}function vin(t,e){t.q.setHours(e),TS(t,e)}function yin(t,e){Em(e,t.a.a.a,t.a.a.b)}function xin(t,e,n,r){hs(t.a[e.g],n.g,r)}function Wrt(t,e,n){return t.a[e.g][n.g]}function kin(t,e){return t.e[e.c.p][e.p]}function Ein(t,e){return t.c[e.c.p][e.p]}function W1(t,e){return t.a[e.c.p][e.p]}function Tin(t,e){return t.j[e.p]=Nxn(e)}function Yrt(t,e){return t.a.Bc(e)!=null}function Cin(t,e){return Rt(Ht(e.a))<=t}function _in(t,e){return Rt(Ht(e.a))>=t}function Sin(t,e){return E3t(t.f,e.Pg())}function N6(t,e){return t.a*e.a+t.b*e.b}function Ain(t,e){return t.a0?e/(t*t):e*100}function Zin(t,e){return t>0?e*e/t:e*e*100}function _y(t,e){return u(ed(t.a,e),34)}function tsn(t,e){return jb(),dn(t,e.e,e)}function esn(t,e,n){return y$(),n.Mg(t,e)}function nsn(t){return Eg(),t.e.a+t.f.a/2}function rsn(t,e,n){return Eg(),n.e.a-t*e}function isn(t){return Eg(),t.e.b+t.f.b/2}function ssn(t,e,n){return Eg(),n.e.b-t*e}function vJt(t){t.d=new bJt(t),t.e=new Er}function yJt(){this.a=new Nm,this.b=new Nm}function xJt(t){this.c=t,this.a=1,this.b=1}function kJt(t){Tct(),jGt(this),this.Ff(t)}function asn(t,e,n){vq(),t.pf(e)&&n.Cd(t)}function osn(t,e,n){return pe(e,Oue(t,n))}function Em(t,e,n){return t.a+=e,t.b+=n,t}function csn(t,e,n){return t.a*=e,t.b*=n,t}function Bmt(t,e){return t.a=e.a,t.b=e.b,t}function cz(t){return t.a=-t.a,t.b=-t.b,t}function p_(t,e,n){return t.a-=e,t.b-=n,t}function EJt(t){Qi.call(this),$_(this,t)}function TJt(){Fr.call(this,"GROW_TREE",0)}function CJt(){Fr.call(this,"POLYOMINO",0)}function Hl(t,e,n){el.call(this,t,e,n,2)}function usn(t,e,n){eS(Gc(t.a),e,Hne(n))}function _Jt(t,e){KC(),ZD.call(this,t,e)}function Rmt(t,e){gp(),oz.call(this,t,e)}function SJt(t,e){gp(),Rmt.call(this,t,e)}function AJt(t,e){gp(),oz.call(this,t,e)}function lsn(t,e){return t.c.Fc(u(e,136))}function hsn(t,e,n){eS(Al(t.a),e,Vne(n))}function LJt(t){this.c=t,Cu(t,0),_u(t,0)}function eit(t,e){kh(),Sz.call(this,t,e)}function MJt(t,e){kh(),eit.call(this,t,e)}function jmt(t,e){kh(),eit.call(this,t,e)}function $mt(t,e){kh(),Sz.call(this,t,e)}function DJt(t,e){kh(),jmt.call(this,t,e)}function IJt(t,e){kh(),$mt.call(this,t,e)}function OJt(t,e){kh(),Sz.call(this,t,e)}function fsn(t,e,n){return e.zl(t.e,t.c,n)}function dsn(t,e,n){return e.Al(t.e,t.c,n)}function zmt(t,e,n){return lV(RI(t,e),n)}function nit(t,e){return Pb(t.e,u(e,54))}function gsn(t){return t==null?null:j9n(t)}function psn(t){return t==null?null:I3n(t)}function bsn(t){return t==null?null:ec(t)}function wsn(t){return t==null?null:ec(t)}function De(t){return m_(t==null||Ty(t)),t}function Ht(t){return m_(t==null||Cy(t)),t}function Gr(t){return m_(t==null||pa(t)),t}function gg(t){t.o==null&&lxn(t)}function qmt(t){if(!t)throw nt(new TD)}function msn(t){if(!t)throw nt(new Int)}function cr(t){if(!t)throw nt(new ac)}function Sy(t){if(!t)throw nt(new Yu)}function PJt(t){if(!t)throw nt(new yh)}function TE(){TE=V,$N=new wKt,new mKt}function G4(){G4=V,J5=new Ni("root")}function Hmt(){boe.call(this),this.Bb|=fo}function vsn(t,e){this.d=t,kn(this),this.b=e}function Vmt(t,e){Lst.call(this,t),this.a=e}function Umt(t,e){Lst.call(this,t),this.a=e}function Gmt(t,e,n){pq.call(this,t,e,n,null)}function NJt(t,e,n){pq.call(this,t,e,n,null)}function nI(t,e){this.c=t,bE.call(this,t,e)}function b_(t,e){this.a=t,nI.call(this,t,e)}function Kmt(t){this.q=new b.Date(W2(t))}function FJt(t){return t>8?0:t+1}function BJt(t,e){hd||pe(t.a,e)}function ysn(t,e){return PD(),r7(e.d.i,t)}function xsn(t,e){return ik(),new g0e(e,t)}function ksn(t,e,n){return t.Ne(e,n)<=0?n:e}function Esn(t,e,n){return t.Ne(e,n)<=0?e:n}function Tsn(t,e){return u(ed(t.b,e),143)}function Csn(t,e){return u(ed(t.c,e),233)}function rit(t){return u(Oe(t.a,t.b),293)}function RJt(t){return new se(t.c,t.d+t.a)}function jJt(t){return Wn(t),t?1231:1237}function $Jt(t){return th(),mQt(u(t,203))}function Ay(){Ay=V,z9t=Ze((Kl(),Fw))}function _sn(t,e){e.a?M5n(t,e):Yrt(t.a,e.b)}function rI(t,e,n){++t.j,t.tj(),Ast(t,e,n)}function zJt(t,e,n){++t.j,t.qj(e,t.Zi(e,n))}function qJt(t,e,n){var r;r=t.fd(e),r.Rb(n)}function Wmt(t,e,n){return n=ch(t,e,6,n),n}function Ymt(t,e,n){return n=ch(t,e,3,n),n}function Xmt(t,e,n){return n=ch(t,e,9,n),n}function jd(t,e){return yI(e,v8t),t.f=e,t}function Qmt(t,e){return(e&ki)%t.d.length}function HJt(t,e,n){return Lkt(t.c,t.b,e,n)}function VJt(t,e){this.c=t,jm.call(this,e)}function UJt(t,e){this.a=t,DGt.call(this,e)}function iI(t,e){this.a=t,DGt.call(this,e)}function os(t,e){Ni.call(this,t),this.a=e}function Jmt(t,e){x2t.call(this,t),this.a=e}function iit(t,e){x2t.call(this,t),this.a=e}function Ssn(t){I5t.call(this,0,0),this.f=t}function GJt(t,e,n){return t.a+=nf(e,0,n),t}function sI(t){return!t.a&&(t.a=new ft),t.a}function Zmt(t,e){var n;return n=t.e,t.e=e,n}function tvt(t,e){var n;return n=e,!!t.Fe(n)}function Asn(t,e){return Nn(),t==e?0:t?1:-1}function Ly(t,e){t.a.bd(t.b,e),++t.b,t.c=-1}function aI(t){t.b?aI(t.b):t.f.c.zc(t.e,t.d)}function KJt(t){dl(t.e),t.d.b=t.d,t.d.a=t.d}function Lsn(t,e,n){j2(),Uj(t,e.Ve(t.a,n))}function evt(t,e,n){return U6(t,u(e,22),n)}function Ff(t,e){return u$(new Array(e),t)}function Msn(t){return qr(Eb(t,32))^qr(t)}function sit(t){return String.fromCharCode(t)}function Dsn(t){return t==null?null:t.message}function Isn(t,e,n){return t.apply(e,n)}function Osn(t,e){var n;n=t[iut],n.call(t,e)}function Psn(t,e){var n;n=t[iut],n.call(t,e)}function Nsn(t,e){return PD(),!r7(e.d.i,t)}function nvt(t,e,n,r){Tz.call(this,t,e,n,r)}function WJt(){uz.call(this),this.a=new Ea}function rvt(){this.n=new Ea,this.o=new Ea}function YJt(){this.b=new Ea,this.c=new ge}function XJt(){this.a=new ge,this.b=new ge}function QJt(){this.a=new S2,this.b=new YGt}function ivt(){this.b=new yp,this.a=new yp}function JJt(){this.b=new Os,this.a=new Os}function ZJt(){this.b=new Er,this.a=new Er}function tZt(){this.b=new _Wt,this.a=new EZ}function eZt(){this.a=new Uet,this.b=new EJ}function nZt(){this.a=new ge,this.d=new ge}function uz(){this.n=new k6,this.i=new P6}function rZt(t){this.a=(ih(t,c3),new bu(t))}function iZt(t){this.a=(ih(t,c3),new bu(t))}function Fsn(t){return t<100?null:new bb(t)}function Bsn(t,e){return t.n.a=(Wn(e),e+10)}function Rsn(t,e){return t.n.a=(Wn(e),e+10)}function jsn(t,e){return e==t||_7(KH(e),t)}function sZt(t,e){return di(t.a,e,"")==null}function $sn(t,e){var n;return n=e.qi(t.a),n}function Ei(t,e){return t.a+=e.a,t.b+=e.b,t}function ra(t,e){return t.a-=e.a,t.b-=e.b,t}function zsn(t){return wy(t.j.c,0),t.a=-1,t}function svt(t,e,n){return n=ch(t,e,11,n),n}function qsn(t,e,n){n!=null&&jq(e,uot(t,n))}function Hsn(t,e,n){n!=null&&$q(e,uot(t,n))}function R6(t,e,n,r){Jt.call(this,t,e,n,r)}function avt(t,e,n,r){Jt.call(this,t,e,n,r)}function aZt(t,e,n,r){avt.call(this,t,e,n,r)}function oZt(t,e,n,r){Pz.call(this,t,e,n,r)}function ait(t,e,n,r){Pz.call(this,t,e,n,r)}function ovt(t,e,n,r){Pz.call(this,t,e,n,r)}function cZt(t,e,n,r){ait.call(this,t,e,n,r)}function cvt(t,e,n,r){ait.call(this,t,e,n,r)}function En(t,e,n,r){ovt.call(this,t,e,n,r)}function uZt(t,e,n,r){cvt.call(this,t,e,n,r)}function lZt(t,e,n,r){ayt.call(this,t,e,n,r)}function My(t,e){No.call(this,ZS+t+ww+e)}function uvt(t,e){return t.jk().wi().ri(t,e)}function lvt(t,e){return t.jk().wi().ti(t,e)}function hZt(t,e){return Wn(t),$t(t)===$t(e)}function hn(t,e){return Wn(t),$t(t)===$t(e)}function Vsn(t,e){return t.b.Bd(new PYt(t,e))}function Usn(t,e){return t.b.Bd(new NYt(t,e))}function fZt(t,e){return t.b.Bd(new FYt(t,e))}function Gsn(t,e){return t.e=u(t.d.Kb(e),159)}function hvt(t,e,n){return t.lastIndexOf(e,n)}function Ksn(t,e,n){return ji(t[e.a],t[n.a])}function Wsn(t,e){return Zt(e,(Me(),JP),t)}function Ysn(t,e){return Bc(e.a.d.p,t.a.d.p)}function Xsn(t,e){return Bc(t.a.d.p,e.a.d.p)}function Qsn(t,e){return ji(t.c-t.s,e.c-e.s)}function Jsn(t,e){return ji(t.b.e.a,e.b.e.a)}function Zsn(t,e){return ji(t.c.e.a,e.c.e.a)}function dZt(t){return t.c?Wo(t.c.a,t,0):-1}function j6(t){return t==Nw||t==G0||t==lu}function fvt(t,e){this.c=t,Oit.call(this,t,e)}function gZt(t,e,n){this.a=t,Pmt.call(this,e,n)}function pZt(t){this.c=t,X$.call(this,QO,0)}function bZt(t,e,n){this.c=e,this.b=n,this.a=t}function oI(t){_E(),this.d=t,this.a=new V4}function wZt(t){$d(),this.a=(wn(),new lE(t))}function tan(t,e){dg(t.f)?nxn(t,e):Oyn(t,e)}function mZt(t,e){dcn.call(this,t,t.length,e)}function ean(t,e){hd||e&&(t.d=e)}function vZt(t,e){return At(e,15)&&Wde(t.c,e)}function nan(t,e,n){return u(t.c,71).Wk(e,n)}function lz(t,e,n){return u(t.c,71).Xk(e,n)}function ran(t,e,n){return fsn(t,u(e,343),n)}function dvt(t,e,n){return dsn(t,u(e,343),n)}function ian(t,e,n){return $he(t,u(e,343),n)}function yZt(t,e,n){return Gyn(t,u(e,343),n)}function w_(t,e){return e==null?null:Gy(t.b,e)}function gvt(t){return Cy(t)?(Wn(t),t):t.ue()}function hz(t){return!isNaN(t)&&!isFinite(t)}function oit(t){OQt(this),Zl(this),Aa(this,t)}function fl(t){Hrt(this),Mvt(this.c,0,t.Pc())}function Eh(t,e,n){this.a=t,this.b=e,this.c=n}function xZt(t,e,n){this.a=t,this.b=e,this.c=n}function kZt(t,e,n){this.d=t,this.b=n,this.a=e}function EZt(t){this.a=t,fg(),Oc(Date.now())}function TZt(t){Ul(t.a),L3t(t.c,t.b),t.b=null}function cit(){cit=V,g9t=new Ee,jve=new nn}function CZt(){CZt=V,q7e=Vt(sa,Ln,1,0,5,1)}function _Zt(){_Zt=V,aTe=Vt(sa,Ln,1,0,5,1)}function pvt(){pvt=V,oTe=Vt(sa,Ln,1,0,5,1)}function $d(){$d=V,new T2t((wn(),wn(),so))}function san(t){return VE(),Br((Ise(),qve),t)}function aan(t){return bl(),Br((kse(),Wve),t)}function oan(t){return vH(),Br((oie(),tye),t)}function can(t){return _q(),Br((cie(),eye),t)}function uan(t){return eV(),Br((oce(),nye),t)}function lan(t){return _1(),Br((yse(),sye),t)}function han(t){return pl(),Br((vse(),oye),t)}function fan(t){return zu(),Br((xse(),uye),t)}function dan(t){return pV(),Br((rQt(),Iye),t)}function gan(t){return Um(),Br((Pse(),Pye),t)}function pan(t){return lk(),Br((Fse(),Fye),t)}function ban(t){return cS(),Br((Nse(),jye),t)}function wan(t){return m$(),Br((Ore(),$ye),t)}function man(t){return Sq(),Br((uie(),r3e),t)}function van(t){return R_(),Br((Ese(),L3e),t)}function yan(t){return Ha(),Br((wae(),O3e),t)}function xan(t){return a7(),Br((Rse(),R3e),t)}function kan(t){return iw(),Br((Bse(),V3e),t)}function bvt(t,e){if(!t)throw nt(new zn(e))}function CE(t){if(!t)throw nt(new Fo(Qkt))}function uit(t,e){if(t!=e)throw nt(new yh)}function SZt(t,e,n){this.a=t,this.b=e,this.c=n}function wvt(t,e,n){this.a=t,this.b=e,this.c=n}function AZt(t,e,n){this.a=t,this.b=e,this.c=n}function fz(t,e,n){this.b=t,this.a=e,this.c=n}function mvt(t,e,n){this.b=t,this.c=e,this.a=n}function vvt(t,e,n){this.a=t,this.b=e,this.c=n}function dz(t,e,n){this.e=e,this.b=t,this.d=n}function LZt(t,e,n){this.b=t,this.a=e,this.c=n}function Ean(t,e,n){return j2(),t.a.Yd(e,n),e}function lit(t){var e;return e=new ll,e.e=t,e}function yvt(t){var e;return e=new tKt,e.b=t,e}function cI(){cI=V,UU=new uQ,GU=new lQ}function gz(){gz=V,s4e=new K9,i4e=new Dd}function Bf(){Bf=V,l4e=new ZQ,h4e=new YB}function Tan(t){return Hm(),Br((ese(),x4e),t)}function Can(t){return Ja(),Br((iQt(),t4e),t)}function _an(t){return Jq(),Br(($se(),r4e),t)}function San(t){return rd(),Br((jse(),g4e),t)}function Aan(t){return Qy(),Br((mae(),b4e),t)}function Lan(t){return ZH(),Br((Goe(),k4e),t)}function Man(t){return gk(),Br((Hae(),E4e),t)}function Dan(t){return mq(),Br((die(),T4e),t)}function Ian(t){return z_(),Br((Jie(),C4e),t)}function Oan(t){return Nq(),Br((Zie(),_4e),t)}function Pan(t){return Mp(),Br((vae(),S4e),t)}function Nan(t){return HI(),Br((fie(),A4e),t)}function Fan(t){return A7(),Br((Gae(),P4e),t)}function Ban(t){return ko(),Br((Ece(),N4e),t)}function Ran(t){return s7(),Br((rse(),F4e),t)}function jan(t){return kg(),Br((nse(),R4e),t)}function $an(t){return oq(),Br((vie(),j4e),t)}function zan(t){return kO(),Br((Uae(),O4e),t)}function qan(t){return ew(),Br((tse(),M4e),t)}function Han(t){return $H(),Br((Vae(),D4e),t)}function Van(t){return FI(),Br((hie(),I4e),t)}function Uan(t){return Ph(),Br((xae(),$4e),t)}function Gan(t){return Np(),Br((ice(),l6e),t)}function Kan(t){return Q_(),Br((ise(),h6e),t)}function Wan(t){return Yy(),Br((zse(),f6e),t)}function Yan(t){return oS(),Br((yae(),d6e),t)}function Xan(t){return sf(),Br((Tce(),g6e),t)}function Qan(t){return Vd(),Br((qse(),p6e),t)}function Jan(t){return zI(),Br((gie(),b6e),t)}function Zan(t){return xo(),Br((ose(),m6e),t)}function ton(t){return Yq(),Br((sse(),v6e),t)}function eon(t){return W_(),Br((ase(),y6e),t)}function non(t){return d7(),Br((use(),x6e),t)}function ron(t){return Pq(),Br((cse(),k6e),t)}function ion(t){return Zq(),Br((lse(),E6e),t)}function son(t){return qm(),Br((mse(),j6e),t)}function aon(t){return N_(),Br((pie(),V6e),t)}function oon(t){return qd(),Br((bie(),Q6e),t)}function con(t){return X1(),Br((wie(),Z6e),t)}function uon(t){return E1(),Br((mie(),gke),t)}function lon(t){return Fm(),Br((yie(),xke),t)}function hon(t){return dk(),Br((Yse(),kke),t)}function fon(t){return kS(),Br((sQt(),Eke),t)}function don(t){return Y_(),Br((hse(),Tke),t)}function gon(t){return X_(),Br((Wse(),Kke),t)}function pon(t){return iq(),Br((kie(),Wke),t)}function bon(t){return qq(),Br((Eie(),Zke),t)}function won(t){return FH(),Br((kae(),e8e),t)}function mon(t){return rO(),Br((fse(),r8e),t)}function von(t){return yq(),Br((xie(),n8e),t)}function yon(t){return LH(),Br((Kse(),E8e),t)}function xon(t){return Wq(),Br((dse(),T8e),t)}function kon(t){return gH(),Br((gse(),C8e),t)}function Eon(t){return CH(),Br((pse(),S8e),t)}function Ton(t){return cH(),Br((bse(),M8e),t)}function Con(t){return fq(),Br((Tie(),Q8e),t)}function _on(t){return t7(),Br((lie(),Z3e),t)}function Son(t){return Un(),Br((Kae(),W3e),t)}function Aon(t){return xq(),Br((wse(),J8e),t)}function Lon(t){return aat(),Br((Cie(),Z8e),t)}function Mon(t){return mS(),Br((Eae(),eEe),t)}function Don(t){return x$(),Br((zre(),rEe),t)}function Ion(t){return uO(),Br((Cse(),nEe),t)}function Oon(t){return k$(),Br((qre(),sEe),t)}function Pon(t){return DI(),Br((_ie(),aEe),t)}function Non(t){return TO(),Br((Tae(),oEe),t)}function Fon(t){return VC(),Br((Hre(),EEe),t)}function Bon(t){return ZI(),Br((Sie(),TEe),t)}function Ron(t){return A1(),Br((_ae(),MEe),t)}function jon(t){return Pp(),Br((Voe(),IEe),t)}function $on(t){return L0(),Br((Wae(),OEe),t)}function zon(t){return aw(),Br((Yae(),jEe),t)}function qon(t){return Rs(),Br((Cae(),i7e),t)}function Hon(t){return nd(),Br((_se(),s7e),t)}function Von(t){return _g(),Br((Xse(),a7e),t)}function Uon(t){return RH(),Br((Xae(),o7e),t)}function Gon(t){return Cg(),Br((Tse(),u7e),t)}function Kon(t){return ah(),Br((Qse(),h7e),t)}function Won(t){return e3(),Br((ace(),f7e),t)}function Yon(t){return i5(),Br((Sae(),d7e),t)}function Xon(t){return xa(),Br((Qae(),g7e),t)}function Qon(t){return wl(),Br((Jae(),p7e),t)}function Jon(t){return ve(),Br((Aae(),b7e),t)}function Zon(t){return Kl(),Br((Jse(),x7e),t)}function tcn(t){return Dl(),Br((sce(),k7e),t)}function ecn(t){return ok(),Br((Sse(),E7e),t)}function ncn(t,e){return Wn(t),t+(Wn(e),e)}function rcn(t){return hit(),Br((Aie(),T7e),t)}function icn(t){return lH(),Br((Zse(),C7e),t)}function scn(t){return tH(),Br((tae(),A7e),t)}function _E(){_E=V,jAt=(ve(),Gn),QG=Jn}function hit(){hit=V,rIt=new ste,iIt=new Vte}function acn(t){return!t.e&&(t.e=new ge),t.e}function fit(t,e){this.c=t,this.a=e,this.b=e-t}function MZt(t,e,n){this.a=t,this.b=e,this.c=n}function dit(t,e,n){this.a=t,this.b=e,this.c=n}function xvt(t,e,n){this.a=t,this.b=e,this.c=n}function kvt(t,e,n){this.a=t,this.b=e,this.c=n}function DZt(t,e,n){this.a=t,this.b=e,this.c=n}function IZt(t,e,n){this.a=t,this.b=e,this.c=n}function bp(t,e,n){this.e=t,this.a=e,this.c=n}function OZt(t,e,n){kh(),$yt.call(this,t,e,n)}function git(t,e,n){kh(),Eyt.call(this,t,e,n)}function Evt(t,e,n){kh(),Eyt.call(this,t,e,n)}function Tvt(t,e,n){kh(),Eyt.call(this,t,e,n)}function PZt(t,e,n){kh(),git.call(this,t,e,n)}function Cvt(t,e,n){kh(),git.call(this,t,e,n)}function NZt(t,e,n){kh(),Cvt.call(this,t,e,n)}function FZt(t,e,n){kh(),Evt.call(this,t,e,n)}function BZt(t,e,n){kh(),Tvt.call(this,t,e,n)}function pit(t){Tz.call(this,t.d,t.c,t.a,t.b)}function _vt(t){Tz.call(this,t.d,t.c,t.a,t.b)}function Svt(t){this.d=t,kn(this),this.b=sun(t.d)}function ocn(t){return M7(),Br((Uoe(),z7e),t)}function uI(t,e){return Hr(t),Hr(e),new UWt(t,e)}function $6(t,e){return Hr(t),Hr(e),new XZt(t,e)}function ccn(t,e){return Hr(t),Hr(e),new QZt(t,e)}function ucn(t,e){return Hr(t),Hr(e),new tYt(t,e)}function bit(t){return cr(t.b!=0),Lh(t,t.a.a)}function lcn(t){return cr(t.b!=0),Lh(t,t.c.b)}function hcn(t){return!t.c&&(t.c=new op),t.c}function SE(t){var e;return e=new ge,$st(e,t),e}function fcn(t){var e;return e=new Os,$st(e,t),e}function RZt(t){var e;return e=new L2t,Zst(e,t),e}function lI(t){var e;return e=new Qi,Zst(e,t),e}function u(t,e){return m_(t==null||Jat(t,e)),t}function dcn(t,e,n){Bte.call(this,e,n),this.a=t}function jZt(t,e){this.c=t,this.b=e,this.a=!1}function $Zt(){this.a=";,;",this.b="",this.c=""}function zZt(t,e,n){this.b=t,JXt.call(this,e,n)}function Avt(t,e,n){this.c=t,S$.call(this,e,n)}function Lvt(t,e,n){vE.call(this,t,e),this.b=n}function Mvt(t,e,n){x6t(n,0,t,e,n.length,!1)}function E0(t,e,n,r,s){t.b=e,t.c=n,t.d=r,t.a=s}function Dvt(t,e,n,r,s){t.d=e,t.c=n,t.a=r,t.b=s}function gcn(t,e){e&&(t.b=e,t.a=(_b(e),e.a))}function hI(t,e){if(!t)throw nt(new zn(e))}function z6(t,e){if(!t)throw nt(new Fo(e))}function Ivt(t,e){if(!t)throw nt(new YKt(e))}function pcn(t,e){return v$(),Bc(t.d.p,e.d.p)}function bcn(t,e){return Eg(),ji(t.e.b,e.e.b)}function wcn(t,e){return Eg(),ji(t.e.a,e.e.a)}function mcn(t,e){return Bc(nte(t.d),nte(e.d))}function pz(t,e){return e&&jz(t,e.d)?e:null}function vcn(t,e){return e==(ve(),Gn)?t.c:t.d}function Ovt(t){return Db(mun(Zo(t)?tf(t):t))}function ycn(t){return new se(t.c+t.b,t.d+t.a)}function qZt(t){return t!=null&&!Bat(t,pL,bL)}function xcn(t,e){return(yue(t)<<4|yue(e))&js}function HZt(t,e,n,r,s){t.c=e,t.d=n,t.b=r,t.a=s}function Pvt(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function Nvt(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function kcn(t,e){var n;return n=t.c,d4t(t,e),n}function Fvt(t,e){return e<0?t.g=-1:t.g=e,t}function bz(t,e){return M0n(t),t.a*=e,t.b*=e,t}function VZt(t,e,n){Rae.call(this,e,n),this.d=t}function fI(t,e,n){emt.call(this,t,e),this.c=n}function wz(t,e,n){emt.call(this,t,e),this.c=n}function Bvt(t){pvt(),U8.call(this),this.ci(t)}function UZt(){zE(),Hun.call(this,(mb(),wf))}function GZt(t){return xi(),new T0(0,t)}function KZt(){KZt=V,Jdt=(wn(),new Kn(nht))}function mz(){mz=V,new W5t(($nt(),ght),(jnt(),dht))}function WZt(){WZt=V,t9t=Vt(Na,le,17,256,0,1)}function YZt(){this.b=Rt(Ht(_e((Vf(),Kht))))}function wit(t){this.b=t,this.a=z2(this.b.a).Od()}function XZt(t,e){this.b=t,this.a=e,vC.call(this)}function QZt(t,e){this.a=t,this.b=e,vC.call(this)}function JZt(t,e,n){this.a=t,B4.call(this,e,n)}function ZZt(t,e,n){this.a=t,B4.call(this,e,n)}function AE(t,e,n){var r;r=new Oy(n),C1(t,e,r)}function Rvt(t,e,n){var r;return r=t[e],t[e]=n,r}function vz(t){var e;return e=t.slice(),Ost(e,t)}function yz(t){var e;return e=t.n,t.a.b+e.d+e.a}function tte(t){var e;return e=t.n,t.e.b+e.d+e.a}function jvt(t){var e;return e=t.n,t.e.a+e.b+e.c}function $vt(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Zr(t,e){return fs(t,e,t.c.b,t.c),!0}function Ecn(t){return t.a?t.a:Uit(t)}function Tcn(t){return Y6(),M0(t)==es(Bb(t))}function Ccn(t){return Y6(),Bb(t)==es(M0(t))}function Tm(t,e){return fS(t,new vE(e.a,e.b))}function _cn(t,e){return zz(),aot(t,e),new kee(t,e)}function Scn(t,e){return t.c=e)throw nt(new F2t)}function Dy(t,e){return oO(t,(Wn(e),new db(e)))}function H6(t,e){return oO(t,(Wn(e),new w1(e)))}function jte(t,e,n){return ZCn(t,u(e,12),u(n,12))}function $te(t){return nl(),u(t,12).g.c.length!=0}function zte(t){return nl(),u(t,12).e.c.length!=0}function hun(t,e){return ik(),ji(e.a.o.a,t.a.o.a)}function fun(t,e){e.Bb&Pc&&!t.a.o&&(t.a.o=e)}function dun(t,e){e.Ug("General 'Rotator",1),S9n(t)}function gun(t,e,n){e.qf(n,Rt(Ht(tr(t.b,n)))*t.a)}function qte(t,e,n){return g5(),e7(t,e)&&e7(t,n)}function k_(t){return wl(),!t.Hc($g)&&!t.Hc(u2)}function pun(t){return t.e?S3t(t.e):null}function E_(t){return Zo(t)?""+t:Kde(t)}function syt(t){var e;for(e=t;e.f;)e=e.f;return e}function bun(t,e,n){return hs(e,0,Uvt(e[0],n[0])),e}function wp(t,e,n,r){var s;s=t.i,s.i=e,s.a=n,s.b=r}function Jt(t,e,n,r){Ns.call(this,t,e,n),this.b=r}function la(t,e,n,r,s){Dst.call(this,t,e,n,r,s,-1)}function T_(t,e,n,r,s){OI.call(this,t,e,n,r,s,-1)}function Pz(t,e,n,r){fI.call(this,t,e,n),this.b=r}function Hte(t){$Xt.call(this,t,!1),this.a=!1}function Vte(){vXt.call(this,"LOOKAHEAD_LAYOUT",1)}function Ute(t){this.b=t,F6.call(this,t),XQt(this)}function Gte(t){this.b=t,tI.call(this,t),QQt(this)}function Iy(t,e,n){this.a=t,R6.call(this,e,n,5,6)}function ayt(t,e,n,r){this.b=t,Ns.call(this,e,n,r)}function Kte(t,e){this.b=t,Fj.call(this,t.b),this.a=e}function Wte(t){this.a=Dle(t.a),this.b=new fl(t.b)}function oyt(t,e){Lm(),Knn.call(this,t,iH(new hl(e)))}function Nz(t,e){return xi(),new kyt(t,e,0)}function Mit(t,e){return xi(),new kyt(6,t,e)}function Da(t,e){for(Wn(e);t.Ob();)e.Cd(t.Pb())}function Eu(t,e){return pa(e)?Zit(t,e):!!yo(t.f,e)}function Dit(t,e){return e.Vh()?Pb(t.b,u(e,54)):e}function wun(t,e){return hn(t.substr(0,e.length),e)}function C0(t){return new nr(new Amt(t.a.length,t.a))}function Fz(t){return new se(t.c+t.b/2,t.d+t.a/2)}function mun(t){return ku(~t.l&Il,~t.m&Il,~t.h&Og)}function Iit(t){return typeof t===KO||typeof t===Sct}function dl(t){t.f=new gQt(t),t.i=new pQt(t),++t.g}function Yte(t){if(!t)throw nt(new ac);return t.d}function V6(t){var e;return e=K_(t),cr(e!=null),e}function vun(t){var e;return e=Nbn(t),cr(e!=null),e}function ME(t,e){var n;return n=t.a.gc(),k3t(e,n),n-e}function qs(t,e){var n;return n=t.a.zc(e,t),n==null}function gI(t,e){return t.a.zc(e,(Nn(),Yb))==null}function cyt(t){return new ln(null,Tun(t,t.length))}function uyt(t,e,n){return wge(t,u(e,42),u(n,176))}function U6(t,e,n){return zf(t.a,e),Rvt(t.b,e.g,n)}function yun(t,e,n){LE(n,t.a.c.length),Sh(t.a,n,e)}function zt(t,e,n,r){Kce(e,n,t.length),xun(t,e,n,r)}function xun(t,e,n,r){var s;for(s=e;s0?b.Math.log(t/e):-100}function Qte(t,e){return Rc(t,e)<0?-1:Rc(t,e)>0?1:0}function pI(t,e){qQt(t,At(e,160)?e:u(e,2036).Rl())}function dyt(t,e){if(t==null)throw nt(new C6(e))}function Tun(t,e){return _0n(e,t.length),new ite(t,e)}function gyt(t,e){return e?Aa(t,e):!1}function Cun(){return s$(),ot(st(mve,1),te,549,0,[wht])}function __(t){return t.e==0?t:new H2(-t.e,t.d,t.a)}function _un(t,e){return ji(t.c.c+t.c.b,e.c.c+e.c.b)}function bI(t,e){fs(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Jte(t,e){return t.c?Jte(t.c,e):pe(t.b,e),t}function Sun(t,e,n){var r;return r=$y(t,e),pst(t,e,n),r}function Zte(t,e,n){var r;for(r=0;r=t.g}function hs(t,e,n){return msn(n==null||dEn(t,n)),t[e]=n}function vyt(t,e){return qn(e,t.length+1),t.substr(e)}function qit(t,e){for(Wn(e);t.c=t?new bwt:X0n(t-1)}function Ia(t){return!t.a&&t.c?t.c.b:t.a}function Tyt(t){return At(t,616)?t:new mne(t)}function _b(t){t.c?_b(t.c):(Nb(t),t.d=!0)}function L_(t){t.c?t.c.$e():(t.d=!0,g6n(t))}function vee(t){t.b=!1,t.c=!1,t.d=!1,t.a=!1}function yee(t){var e,n;return e=t.c.i.c,n=t.d.i.c,e==n}function Gun(t,e){var n;n=t.Ih(e),n>=0?t.ki(n):f6t(t,e)}function xee(t,e){t.c<0||t.b.b0;)t=t<<1|(t<0?1:0);return t}function Lee(t,e){var n;return n=new tu(t),In(e.c,n),n}function Mee(t,e){t.u.Hc((wl(),$g))&&Q4n(t,e),pdn(t,e)}function Ic(t,e){return $t(t)===$t(e)||t!=null&&Ci(t,e)}function Mo(t,e){return kit(t.a,e)?t.b[u(e,22).g]:null}function sln(){return m$(),ot(st(V9t,1),te,488,0,[$ht])}function aln(){return x$(),ot(st(vMt,1),te,489,0,[udt])}function oln(){return k$(),ot(st(iEe,1),te,558,0,[ldt])}function cln(){return VC(),ot(st($Mt,1),te,539,0,[bN])}function qz(t){return!t.n&&(t.n=new Jt(Oo,t,1,7)),t.n}function Vit(t){return!t.c&&(t.c=new Jt(kl,t,9,9)),t.c}function Ayt(t){return!t.c&&(t.c=new En(gr,t,5,8)),t.c}function uln(t){return!t.b&&(t.b=new En(gr,t,4,7)),t.b}function wI(t){return t.j.c.length=0,Myt(t.c),zsn(t.a),t}function NE(t){return t.e==lT&&Vn(t,rwn(t.g,t.b)),t.e}function mI(t){return t.f==lT&&Rn(t,Wmn(t.g,t.b)),t.f}function gi(t,e,n,r){return Zoe(t,e,n,!1),sH(t,r),t}function Dee(t,e){this.b=t,Oit.call(this,t,e),XQt(this)}function Iee(t,e){this.b=t,fvt.call(this,t,e),QQt(this)}function M_(t){this.d=t,this.a=this.d.b,this.b=this.d.c}function Lyt(t,e){this.b=t,this.c=e,this.a=new L6(this.b)}function qa(t,e){return qn(e,t.length),t.charCodeAt(e)}function lln(t,e){b5t(t,Rt(Tg(e,"x")),Rt(Tg(e,"y")))}function hln(t,e){b5t(t,Rt(Tg(e,"x")),Rt(Tg(e,"y")))}function Ai(t,e){return Nb(t),new ln(t,new $3t(e,t.a))}function Go(t,e){return Nb(t),new ln(t,new C3t(e,t.a))}function Py(t,e){return Nb(t),new Vmt(t,new zie(e,t.a))}function Hz(t,e){return Nb(t),new Umt(t,new qie(e,t.a))}function fln(t,e){return new nne(u(Hr(t),50),u(Hr(e),50))}function dln(t,e){return ji(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function Oee(t,e,n){n.a?_u(t,e.b-t.f/2):Cu(t,e.a-t.g/2)}function gln(t,e){return ji(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function pln(t,e){return vwt(),ji((Wn(t),t),(Wn(e),e))}function bln(t){return t!=null&&DD(HK,t.toLowerCase())}function Myt(t){var e;for(e=t.Kc();e.Ob();)e.Pb(),e.Qb()}function K4(t){var e;return e=t.b,!e&&(t.b=e=new pnt(t)),e}function Uit(t){var e;return e=tgn(t),e||null}function Pee(t,e){var n,r;return n=t/e,r=Xs(n),n>r&&++r,r}function wln(t,e,n){var r;r=u(t.d.Kb(n),159),r&&r.Nb(e)}function mln(t,e,n){y7n(t.a,n),Qgn(n),z5n(t.b,n),z7n(e,n)}function Vz(t,e,n,r){this.a=t,this.c=e,this.b=n,this.d=r}function Dyt(t,e,n,r){this.c=t,this.b=e,this.a=n,this.d=r}function Nee(t,e,n,r){this.c=t,this.b=e,this.d=n,this.a=r}function Th(t,e,n,r){this.c=t,this.d=e,this.b=n,this.a=r}function Fee(t,e,n,r){this.a=t,this.d=e,this.c=n,this.b=r}function Git(t,e,n,r){this.a=t,this.e=e,this.d=n,this.c=r}function Bee(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function Kit(t,e,n){this.a=r8t,this.d=t,this.b=e,this.c=n}function K6(t,e,n,r){Fr.call(this,t,e),this.a=n,this.b=r}function Ree(t,e){this.d=(Wn(t),t),this.a=16449,this.c=e}function jee(t){this.a=new ge,this.e=Vt(Or,le,53,t,0,2)}function vln(t){t.Ug("No crossing minimization",1),t.Vg()}function $ee(){oc.call(this,"There is no more element.")}function zee(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function qee(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function V2(t,e,n,r){this.e=t,this.a=e,this.c=n,this.d=r}function Hee(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function Vee(t,e,n,r){kh(),Hie.call(this,e,n,r),this.a=t}function Uee(t,e,n,r){kh(),Hie.call(this,e,n,r),this.a=t}function Wit(t,e,n){var r,s;return r=Hkt(t),s=e.ti(n,r),s}function pg(t){var e,n;return n=(e=new um,e),GE(n,t),n}function Yit(t){var e,n;return n=(e=new um,e),Kxt(n,t),n}function yln(t,e){var n;return n=tr(t.f,e),_4t(e,n),null}function Gee(t){return!t.b&&(t.b=new Jt(Cs,t,12,3)),t.b}function Kee(t){return m_(t==null||Iit(t)&&t.Tm!==Et),t}function Uz(t){return t.n&&(t.e!==Ype&&t.je(),t.j=null),t}function FE(t){if(Ll(t.d),t.d.d!=t.c)throw nt(new yh)}function Iyt(t){return cr(t.b0&&Che(this)}function Wee(t,e){this.a=t,vsn.call(this,t,u(t.d,15).fd(e))}function xln(t,e){return ji(Zu(t)*Vl(t),Zu(e)*Vl(e))}function kln(t,e){return ji(Zu(t)*Vl(t),Zu(e)*Vl(e))}function Eln(t){return Jm(t)&&Ie(De(ne(t,(Me(),Cw))))}function Tln(t,e){return dn(t,u(K(e,(Me(),MT)),17),e)}function Cln(t,e){return u(K(t,(ae(),qk)),15).Fc(e),e}function Oyt(t,e){return t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a,t}function Yee(t,e,n,r){this.b=t,this.c=r,X$.call(this,e,n)}function _ln(t,e,n){t.i=0,t.e=0,e!=n&&Ice(t,e,n)}function Sln(t,e,n){t.i=0,t.e=0,e!=n&&Oce(t,e,n)}function Aln(t,e,n){return HC(),e2n(u(tr(t.e,e),529),n)}function W6(t){var e;return e=t.f,e||(t.f=new bE(t,t.c))}function Xee(t,e){return r5(t.j,e.s,e.c)+r5(e.e,t.s,t.c)}function Qee(t,e){t.e&&!t.e.a&&(RGt(t.e,e),Qee(t.e,e))}function Jee(t,e){t.d&&!t.d.a&&(RGt(t.d,e),Jee(t.d,e))}function Lln(t,e){return-ji(Zu(t)*Vl(t),Zu(e)*Vl(e))}function Mln(t){return u(t.ld(),149).Pg()+":"+ec(t.md())}function Zee(){Aot(this,new gD),this.wb=(Tb(),Fn),dE()}function tne(t){this.b=new ge,Hs(this.b,this.b),this.a=t}function Pyt(t,e){new Qi,this.a=new Xu,this.b=t,this.c=e}function Om(){Om=V,f9t=new Gt,Cht=new Gt,d9t=new Be}function wn(){wn=V,so=new jt,j0=new Ft,DU=new _t}function Nyt(){Nyt=V,Qve=new $a,Zve=new Xvt,Jve=new gs}function Y6(){Y6=V,jU=new ge,Vht=new Er,Hht=new ge}function Gz(t,e){if(t==null)throw nt(new C6(e));return t}function Kz(t){return!t.a&&(t.a=new Jt(wi,t,10,11)),t.a}function Ii(t){return!t.q&&(t.q=new Jt(bf,t,11,10)),t.q}function Xt(t){return!t.s&&(t.s=new Jt(Ku,t,21,17)),t.s}function Dln(t){return Hr(t),zle(new nr(ir(t.a.Kc(),new q)))}function Iln(t,e){return Gl(t),Gl(e),WKt(u(t,22),u(e,22))}function U2(t,e,n){var r,s;r=gvt(n),s=new _C(r),C1(t,e,s)}function Qit(t,e,n,r,s,o){OI.call(this,t,e,n,r,s,o?-2:-1)}function ene(t,e,n,r){emt.call(this,e,n),this.b=t,this.a=r}function nne(t,e){Zen.call(this,new Lit(t)),this.a=t,this.b=e}function Fyt(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function Oln(t){Bf();var e;e=u(t.g,10),e.n.a=t.d.c+e.d.b}function BE(){BE=V;var t,e;e=!$2n(),t=new ht,yht=e?new gt:t}function Jit(t){return wn(),At(t,59)?new Wnt(t):new iz(t)}function Wz(t){return At(t,16)?new v_(u(t,16)):fcn(t.Kc())}function Pln(t){return new ZQt(t,t.e.Rd().gc()*t.c.Rd().gc())}function Nln(t){return new tJt(t,t.e.Rd().gc()*t.c.Rd().gc())}function Byt(t){return t&&t.hashCode?t.hashCode():km(t)}function Zit(t,e){return e==null?!!yo(t.f,null):Qcn(t.i,e)}function Fln(t,e){var n;return n=vmt(t.a,e),n&&(e.d=null),n}function rne(t,e,n){return t.f?t.f.ef(e,n):!1}function vI(t,e,n,r){hs(t.c[e.g],n.g,r),hs(t.c[n.g],e.g,r)}function tst(t,e,n,r){hs(t.c[e.g],e.g,n),hs(t.b[e.g],e.g,r)}function Bln(t,e,n){return Rt(Ht(n.a))<=t&&Rt(Ht(n.b))>=e}function ine(t,e){this.g=t,this.d=ot(st(z0,1),Bp,10,0,[e])}function sne(t){this.c=t,this.b=new dp(u(Hr(new Nu),50))}function ane(t){this.c=t,this.b=new dp(u(Hr(new g4),50))}function one(t){this.b=t,this.a=new dp(u(Hr(new _i),50))}function cne(){this.b=new Os,this.d=new Qi,this.e=new B2t}function Ryt(){this.c=new Ea,this.d=new Ea,this.e=new Ea}function Pm(){this.a=new Xu,this.b=(ih(3,c3),new bu(3))}function mp(t,e){this.e=t,this.a=sa,this.b=u0e(e),this.c=e}function Yz(t){this.c=t.c,this.d=t.d,this.b=t.b,this.a=t.a}function une(t,e,n,r,s,o){this.a=t,Gst.call(this,e,n,r,s,o)}function lne(t,e,n,r,s,o){this.a=t,Gst.call(this,e,n,r,s,o)}function Sb(t,e,n,r,s,o,h){return new wst(t.e,e,n,r,s,o,h)}function Rln(t,e,n){return n>=0&&hn(t.substr(n,e.length),e)}function hne(t,e){return At(e,149)&&hn(t.b,u(e,149).Pg())}function jln(t,e){return t.a?e.Gh().Kc():u(e.Gh(),71).Ii()}function fne(t,e){var n;return n=t.b.Qc(e),aie(n,t.b.gc()),n}function yI(t,e){if(t==null)throw nt(new C6(e));return t}function Ko(t){return t.u||(Sl(t),t.u=new UJt(t,t)),t.u}function est(t){this.a=(wn(),At(t,59)?new Wnt(t):new iz(t))}function ju(t){var e;return e=u($n(t,16),29),e||t.ii()}function Xz(t,e){var n;return n=R2(t.Rm),e==null?n:n+": "+e}function Ch(t,e,n){return Sa(e,n,t.length),t.substr(e,n-e)}function dne(t,e){uz.call(this),Y3t(this),this.a=t,this.c=e}function $ln(t){t&&Xz(t,t.ie())}function zln(t){c$(),b.setTimeout(function(){throw t},0)}function qln(){return vH(),ot(st(x9t,1),te,436,0,[Oht,y9t])}function Hln(){return _q(),ot(st(E9t,1),te,435,0,[k9t,Pht])}function Vln(){return Sq(),ot(st(Q9t,1),te,432,0,[Uht,$U])}function Uln(){return t7(),ot(st(J3e,1),te,517,0,[zP,sft])}function Gln(){return FI(),ot(st(x_t,1),te,487,0,[y_t,mG])}function Kln(){return HI(),ot(st(m_t,1),te,428,0,[bG,w_t])}function Wln(){return mq(),ot(st(l_t,1),te,431,0,[u_t,yft])}function Yln(){return zI(),ot(st(_At,1),te,430,0,[b1t,w1t])}function Xln(){return N_(),ot(st(H6e,1),te,531,0,[BA,FA])}function Qln(){return qd(),ot(st(X6e,1),te,523,0,[Lv,Vp])}function Jln(){return X1(),ot(st(J6e,1),te,522,0,[Mw,gd])}function Zln(){return E1(),ot(st(dke,1),te,528,0,[F3,n2])}function thn(){return oq(),ot(st(P_t,1),te,429,0,[Nft,O_t])}function ehn(){return fq(),ot(st(fMt,1),te,490,0,[adt,hMt])}function nhn(){return aat(),ot(st(mMt,1),te,491,0,[bMt,wMt])}function rhn(){return iq(),ot(st(xLt,1),te,433,0,[j1t,yLt])}function ihn(){return yq(),ot(st(TLt,1),te,434,0,[ELt,U1t])}function shn(){return Fm(),ot(st(yke,1),te,464,0,[r2,X5])}function ahn(){return qq(),ot(st(kLt,1),te,500,0,[aK,Z5])}function ohn(){return DI(),ot(st(yMt,1),te,438,0,[hdt,wK])}function chn(){return ZI(),ot(st(qMt,1),te,437,0,[vK,zMt])}function uhn(){return hit(),ot(st(PK,1),te,347,0,[rIt,iIt])}function Qz(t,e,n,r){return n>=0?t.Uh(e,n,r):t.Ch(null,n,r)}function xI(t){return t.b.b==0?t.a.sf():bit(t.b)}function lhn(t){if(t.p!=5)throw nt(new Yu);return qr(t.f)}function hhn(t){if(t.p!=5)throw nt(new Yu);return qr(t.k)}function jyt(t){return $t(t.a)===$t((iat(),Ydt))&&uTn(t),t.a}function fhn(t,e){t.b=e,t.c>0&&t.b>0&&(t.g=Cz(t.c,t.b,t.a))}function dhn(t,e){t.c=e,t.c>0&&t.b>0&&(t.g=Cz(t.c,t.b,t.a))}function gne(t,e){vt(this,new se(t.a,t.b)),Mt(this,lI(e))}function Nm(){tnn.call(this,new A6(zy(12))),Tmt(!0),this.a=2}function nst(t,e,n){xi(),cm.call(this,t),this.b=e,this.a=n}function $yt(t,e,n){kh(),Zj.call(this,e),this.a=t,this.b=n}function pne(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function ghn(t){return t.b==0?null:(cr(t.b!=0),Lh(t,t.a.a))}function eu(t,e){return e==null?Uo(yo(t.f,null)):WC(t.i,e)}function bne(t,e,n,r,s){return new Mot(t,(VE(),Lht),e,n,r,s)}function Jz(t,e){return rie(e),R0n(t,Vt(Or,ii,28,e,15,1),e)}function Zz(t,e){return Gz(t,"set1"),Gz(e,"set2"),new sYt(t,e)}function phn(t,e){var n=vht[t.charCodeAt(0)];return n??t}function wne(t,e){var n,r;return n=e,r=new me,Uge(t,n,r),r.d}function rst(t,e,n,r){var s;s=new WJt,e.a[n.g]=s,U6(t.b,r,s)}function bhn(t,e){var n;return n=N0n(t.f,e),Ei(cz(n),t.f.d)}function tq(t){var e;G0n(t.a),TQt(t.a),e=new LC(t.a),_5t(e)}function whn(t,e){Zde(t,!0),Tu(t.e.Rf(),new mvt(t,!0,e))}function mhn(t,e){return Y6(),t==es(M0(e))||t==es(Bb(e))}function vhn(t,e){return Eg(),u(K(e,(xc(),o0)),17).a==t}function Xs(t){return Math.max(Math.min(t,ki),-2147483648)|0}function mne(t){this.a=u(Hr(t),277),this.b=(wn(),new Dmt(t))}function vne(t,e,n){this.i=new ge,this.b=t,this.g=e,this.a=n}function zyt(t,e,n){this.a=new ge,this.e=t,this.f=e,this.c=n}function eq(t,e,n){this.c=new ge,this.e=t,this.f=e,this.b=n}function yne(t){uz.call(this),Y3t(this),this.a=t,this.c=!0}function yhn(t){function e(){}return e.prototype=t||{},new e}function xhn(t){if(t.Ae())return null;var e=t.n;return CU[e]}function kI(t){return t.Db>>16!=3?null:u(t.Cb,27)}function Y1(t){return t.Db>>16!=9?null:u(t.Cb,27)}function xne(t){return t.Db>>16!=6?null:u(t.Cb,74)}function Fm(){Fm=V,r2=new Hwt(Tk,0),X5=new Hwt(Ck,1)}function qd(){qd=V,Lv=new $wt(Ck,0),Vp=new $wt(Tk,1)}function X1(){X1=V,Mw=new zwt(dut,0),gd=new zwt("UP",1)}function kne(){kne=V,vve=Rr((s$(),ot(st(mve,1),te,549,0,[wht])))}function Ene(t){var e;return e=new f$(zy(t.length)),j4t(e,t),e}function Tne(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function khn(t,e){return lce(t,e)?(aoe(t),!0):!1}function bg(t,e){if(e==null)throw nt(new y6);return q2n(t,e)}function EI(t,e){var n;n=t.q.getHours(),t.q.setDate(e),TS(t,n)}function qyt(t,e,n){var r;r=t.Ih(e),r>=0?t.bi(r,n):j6t(t,e,n)}function Cne(t,e){var n;return n=t.Ih(e),n>=0?t.Wh(n):Fot(t,e)}function _ne(t,e){var n;for(Hr(e),n=t.a;n;n=n.c)e.Yd(n.g,n.i)}function ist(t,e,n){var r;r=Mce(t,e,n),t.b=new Vq(r.c.length)}function W4(t,e,n){nq(),t&&di(Gdt,t,e),t&&di(RN,t,n)}function Ehn(t,e){return gz(),Nn(),u(e.a,17).a0}function Hyt(t){var e;return e=t.d,e=t.bj(t.f),Mr(t,e),e.Ob()}function Sne(t,e){var n;return n=new Kvt(e),Jhe(n,t),new fl(n)}function _hn(t){if(t.p!=0)throw nt(new Yu);return a_(t.f,0)}function Shn(t){if(t.p!=0)throw nt(new Yu);return a_(t.k,0)}function Ane(t){return t.Db>>16!=7?null:u(t.Cb,241)}function RE(t){return t.Db>>16!=6?null:u(t.Cb,241)}function Lne(t){return t.Db>>16!=7?null:u(t.Cb,167)}function es(t){return t.Db>>16!=11?null:u(t.Cb,27)}function Ny(t){return t.Db>>16!=17?null:u(t.Cb,29)}function Mne(t){return t.Db>>16!=3?null:u(t.Cb,155)}function Vyt(t){var e;return Nb(t),e=new Os,Ai(t,new AC(e))}function Dne(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.ve(e))}function Ahn(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),TS(t,n)}function Ine(t,e){nz(this),this.f=e,this.g=t,Uz(this),this.je()}function One(t,e){this.a=t,this.c=Ma(this.a),this.b=new Yz(e)}function Pne(t,e,n){this.a=e,this.c=t,this.b=(Hr(n),new fl(n))}function Nne(t,e,n){this.a=e,this.c=t,this.b=(Hr(n),new fl(n))}function Fne(t){this.a=t,this.b=Vt($6e,le,2043,t.e.length,0,2)}function Bne(){this.a=new Bd,this.e=new Os,this.g=0,this.i=0}function nq(){nq=V,Gdt=new Er,RN=new Er,krn(Bve,new zR)}function Rne(){Rne=V,T6e=tl(new Fs,(Ha(),Qo),(Ja(),qP))}function Uyt(){Uyt=V,C6e=tl(new Fs,(Ha(),Qo),(Ja(),qP))}function jne(){jne=V,S6e=tl(new Fs,(Ha(),Qo),(Ja(),qP))}function $ne(){$ne=V,U6e=ri(new Fs,(Ha(),Qo),(Ja(),pA))}function th(){th=V,W6e=ri(new Fs,(Ha(),Qo),(Ja(),pA))}function zne(){zne=V,Y6e=ri(new Fs,(Ha(),Qo),(Ja(),pA))}function ast(){ast=V,tke=ri(new Fs,(Ha(),Qo),(Ja(),pA))}function D_(t,e,n,r,s,o){return new xg(t.e,e,t.Lj(),n,r,s,o)}function Bo(t,e,n){return e==null?vu(t.f,null,n):Gm(t.i,e,n)}function Ya(t,e){t.c&&$u(t.c.g,t),t.c=e,t.c&&pe(t.c.g,t)}function Ca(t,e){t.c&&$u(t.c.a,t),t.c=e,t.c&&pe(t.c.a,t)}function uc(t,e){t.i&&$u(t.i.j,t),t.i=e,t.i&&pe(t.i.j,t)}function ya(t,e){t.d&&$u(t.d.e,t),t.d=e,t.d&&pe(t.d.e,t)}function ost(t,e){t.a&&$u(t.a.k,t),t.a=e,t.a&&pe(t.a.k,t)}function cst(t,e){t.b&&$u(t.b.f,t),t.b=e,t.b&&pe(t.b.f,t)}function qne(t,e){$un(t,t.b,t.c),u(t.b.b,68),e&&u(e.b,68).b}function Lhn(t,e){return ji(u(t.c,65).c.e.b,u(e.c,65).c.e.b)}function Mhn(t,e){return ji(u(t.c,65).c.e.a,u(e.c,65).c.e.a)}function Dhn(t){return Tat(),Nn(),u(t.a,86).d.e!=0}function rq(t,e){At(t.Cb,184)&&(u(t.Cb,184).tb=null),wu(t,e)}function ust(t,e){At(t.Cb,90)&&t3(Sl(u(t.Cb,90)),4),wu(t,e)}function Ihn(t,e){w5t(t,e),At(t.Cb,90)&&t3(Sl(u(t.Cb,90)),2)}function Ohn(t,e){var n,r;n=e.c,r=n!=null,r&&G6(t,new Oy(e.c))}function Hne(t){var e,n;return n=(dE(),e=new um,e),GE(n,t),n}function Vne(t){var e,n;return n=(dE(),e=new um,e),GE(n,t),n}function Une(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function Phn(t,e,n){return pe(t.a,(zz(),aot(e,n),new pm(e,n))),t}function nu(t,e){return bo(),Rst(e)?new xz(e,t):new YD(e,t)}function TI(t){return Gd(),Rc(t,0)>=0?Fb(t):__(Fb(Ep(t)))}function Nhn(t){var e;return e=u(vz(t.b),9),new Eh(t.a,e,t.c)}function Gne(t,e){var n;return n=u(Gy(W6(t.a),e),16),n?n.gc():0}function Kne(t,e,n){var r;mue(e,n,t.c.length),r=n-e,dwt(t.c,e,r)}function vp(t,e,n){mue(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function X6(t){this.c=new Qi,this.b=t.b,this.d=t.c,this.a=t.a}function lst(t){this.a=b.Math.cos(t),this.b=b.Math.sin(t)}function G2(t,e,n,r){this.c=t,this.d=r,ost(this,e),cst(this,n)}function Gyt(t,e){Jen.call(this,new A6(zy(t))),ih(e,Hpe),this.a=e}function Wne(t,e,n){return new Mot(t,(VE(),Aht),null,!1,e,n)}function Yne(t,e,n){return new Mot(t,(VE(),Mht),e,n,null,!1)}function Fhn(){return bl(),ot(st(zo,1),te,108,0,[v9t,rc,w3])}function Bhn(){return zu(),ot(st(cye,1),te,471,0,[D1,Qb,Kf])}function Rhn(){return pl(),ot(st(aye,1),te,470,0,[i0,Xb,Gf])}function jhn(){return _1(),ot(st(m3,1),te,237,0,[Tc,yu,Cc])}function $hn(){return R_(),ot(st(fCt,1),te,391,0,[Yht,Wht,Xht])}function zhn(){return Hm(),ot(st(hft,1),te,372,0,[wv,Jb,bv])}function qhn(){return z_(),ot(st(f_t,1),te,322,0,[wA,UP,h_t])}function Hhn(){return Nq(),ot(st(g_t,1),te,351,0,[d_t,pG,xft])}function Vhn(){return ew(),ot(st(L4e,1),te,459,0,[Tft,TT,R5])}function Uhn(){return s7(),ot(st(Pft,1),te,298,0,[Ift,Oft,GP])}function Ghn(){return kg(),ot(st(B4e,1),te,311,0,[KP,$5,jk])}function Khn(){return Q_(),ot(st(bAt,1),te,390,0,[u1t,pAt,GG])}function Whn(){return xo(),ot(st(w6e,1),te,462,0,[OA,vl,xu])}function Yhn(){return Yq(),ot(st(LAt,1),te,387,0,[SAt,m1t,AAt])}function Xhn(){return W_(),ot(st(MAt,1),te,349,0,[y1t,v1t,iN])}function Qhn(){return d7(),ot(st(IAt,1),te,350,0,[x1t,DAt,PA])}function Jhn(){return Pq(),ot(st(NAt,1),te,352,0,[PAt,k1t,OAt])}function Zhn(){return Zq(),ot(st(FAt,1),te,388,0,[E1t,BT,N3])}function tfn(){return qm(),ot(st(R6e,1),te,463,0,[sN,NA,XG])}function Q1(t){return hc(ot(st(ua,1),le,8,0,[t.i.n,t.n,t.a]))}function efn(){return Y_(),ot(st(ZAt,1),te,392,0,[JAt,_1t,oN])}function Xne(){Xne=V,Yke=tl(new Fs,(dk(),jA),(kS(),HAt))}function iq(){iq=V,j1t=new Vwt("DFS",0),yLt=new Vwt("BFS",1)}function Qne(t,e,n){var r;r=new aZ,r.b=e,r.a=n,++e.b,pe(t.d,r)}function nfn(t,e,n){var r;r=new eo(n.d),Ei(r,t),b5t(e,r.a,r.b)}function rfn(t,e){VQt(t,qr(ia(_m(e,24),vV)),qr(ia(e,vV)))}function Fy(t,e){if(t<0||t>e)throw nt(new No(f8t+t+d8t+e))}function mn(t,e){if(t<0||t>=e)throw nt(new No(f8t+t+d8t+e))}function qn(t,e){if(t<0||t>=e)throw nt(new twt(f8t+t+d8t+e))}function gn(t,e){this.b=(Wn(t),t),this.a=e&u3?e:e|64|Wd}function Kyt(t){var e;return Nb(t),e=(Om(),Om(),Cht),Mq(t,e)}function ifn(t,e,n){var r;return r=SS(t,e,!1),r.b<=e&&r.a<=n}function sfn(){return xq(),ot(st(pMt,1),te,439,0,[odt,gMt,dMt])}function afn(){return cH(),ot(st(YLt,1),te,394,0,[WLt,rdt,KLt])}function ofn(){return gH(),ot(st(GLt,1),te,445,0,[fN,lK,Q1t])}function cfn(){return CH(),ot(st(_8e,1),te,455,0,[J1t,tdt,Z1t])}function ufn(){return rO(),ot(st(SLt,1),te,393,0,[oK,CLt,_Lt])}function lfn(){return Wq(),ot(st(ULt,1),te,299,0,[X1t,VLt,HLt])}function hfn(){return nd(),ot(st(BDt,1),te,278,0,[HT,$3,VT])}function ffn(){return ok(),ot(st(nIt,1),te,280,0,[eIt,q3,OK])}function dfn(){return Cg(),ot(st(YDt,1),te,346,0,[SK,Wp,aL])}function gfn(){return uO(),ot(st(cdt,1),te,444,0,[gK,pK,bK])}function Bm(t){return Hr(t),At(t,16)?new fl(u(t,16)):SE(t.Kc())}function Wyt(t,e){return t&&t.equals?t.equals(e):$t(t)===$t(e)}function ia(t,e){return Db(aun(Zo(t)?tf(t):t,Zo(e)?tf(e):e))}function k1(t,e){return Db(oun(Zo(t)?tf(t):t,Zo(e)?tf(e):e))}function hst(t,e){return Db(cun(Zo(t)?tf(t):t,Zo(e)?tf(e):e))}function pfn(t,e){var n;return n=(Wn(t),t).g,qmt(!!n),Wn(e),n(e)}function Jne(t,e){var n,r;return r=ME(t,e),n=t.a.fd(r),new rYt(t,n)}function bfn(t){return t.Db>>16!=6?null:u(jot(t),241)}function wfn(t){if(t.p!=2)throw nt(new Yu);return qr(t.f)&js}function mfn(t){if(t.p!=2)throw nt(new Yu);return qr(t.k)&js}function et(t){return cr(t.ar?1:0}function nre(t,e){var n,r;return n=Pst(e),r=n,u(tr(t.c,r),17).a}function fst(t,e,n){var r;r=t.d[e.p],t.d[e.p]=t.d[n.p],t.d[n.p]=r}function Lfn(t,e,n){var r;t.n&&e&&n&&(r=new ztt,pe(t.e,r))}function dst(t,e){if(qs(t.a,e),e.d)throw nt(new oc(fbe));e.d=t}function Qyt(t,e){this.a=new ge,this.d=new ge,this.f=t,this.c=e}function rre(){this.c=new $Qt,this.a=new Gie,this.b=new iKt,kYt()}function ire(){sk(),this.b=new Er,this.a=new Er,this.c=new ge}function sre(t,e,n){this.d=t,this.j=e,this.e=n,this.o=-1,this.p=3}function are(t,e,n){this.d=t,this.k=e,this.f=n,this.o=-1,this.p=5}function ore(t,e,n,r,s,o){Q3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function cre(t,e,n,r,s,o){J3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function ure(t,e,n,r,s,o){p3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function lre(t,e,n,r,s,o){e4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function hre(t,e,n,r,s,o){b3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function fre(t,e,n,r,s,o){Z3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function dre(t,e,n,r,s,o){t4t.call(this,t,e,n,r,s),o&&(this.o=-2)}function gre(t,e,n,r,s,o){w3t.call(this,t,e,n,r,s),o&&(this.o=-2)}function pre(t,e,n,r){Zj.call(this,n),this.b=t,this.c=e,this.d=r}function bre(t,e){this.f=t,this.a=(zE(),GK),this.c=GK,this.b=e}function wre(t,e){this.g=t,this.d=(zE(),KK),this.a=KK,this.b=e}function Jyt(t,e){!t.c&&(t.c=new ws(t,0)),uV(t.c,(Fi(),mL),e)}function Mfn(t,e){return fxn(t,e,At(e,102)&&(u(e,19).Bb&fo)!=0)}function Dfn(t,e){return Qte(Oc(t.q.getTime()),Oc(e.q.getTime()))}function mre(t){return vit(t.e.Rd().gc()*t.c.Rd().gc(),16,new dnt(t))}function Ifn(t){return!!t.u&&Gc(t.u.a).i!=0&&!(t.n&¬(t.n))}function Ofn(t){return!!t.a&&Al(t.a.a).i!=0&&!(t.b&&rot(t.b))}function Zyt(t,e){return e==0?!!t.o&&t.o.f!=0:Xat(t,e)}function Pfn(t,e,n){var r;return r=u(t.Zb().xc(e),16),!!r&&r.Hc(n)}function vre(t,e,n){var r;return r=u(t.Zb().xc(e),16),!!r&&r.Mc(n)}function yre(t,e){var n;return n=1-e,t.a[n]=Hq(t.a[n],n),Hq(t,e)}function xre(t,e){var n,r;return r=ia(t,Eo),n=Rf(e,32),k1(n,r)}function kre(t,e,n){var r;r=(Hr(t),new fl(t)),Fmn(new Pne(r,e,n))}function CI(t,e,n){var r;r=(Hr(t),new fl(t)),Bmn(new Nne(r,e,n))}function vc(t,e,n,r,s,o){return Zoe(t,e,n,o),c5t(t,r),u5t(t,s),t}function Ere(t,e,n,r){return t.a+=""+Ch(e==null?Hu:ec(e),n,r),t}function _a(t,e){this.a=t,$r.call(this,t),Fy(e,t.gc()),this.b=e}function Tre(t){this.a=Vt(sa,Ln,1,N4t(b.Math.max(8,t))<<1,5,1)}function _I(t){return u(id(t,Vt(z0,Bp,10,t.c.length,0,1)),199)}function Hd(t){return u(id(t,Vt(rft,Mut,18,t.c.length,0,1)),482)}function Cre(t){return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function I_(t){for(;t.d>0&&t.a[--t.d]==0;);t.a[t.d++]==0&&(t.e=0)}function _re(t){return cr(t.b.b!=t.d.a),t.c=t.b=t.b.b,--t.a,t.c.c}function Nfn(t,e,n){t.a=e,t.c=n,t.b.a.$b(),Zl(t.d),wy(t.e.a.c,0)}function Sre(t,e){var n;t.e=new V2t,n=n3(e),Ms(n,t.c),qde(t,n,0)}function Bs(t,e,n,r){var s;s=new rC,s.a=e,s.b=n,s.c=r,Zr(t.a,s)}function he(t,e,n,r){var s;s=new rC,s.a=e,s.b=n,s.c=r,Zr(t.b,s)}function Are(t,e,n){if(t<0||en)throw nt(new No(W3n(t,e,n)))}function SI(t,e){if(t<0||t>=e)throw nt(new No(C4n(t,e)));return t}function Ffn(t){if(!("stack"in t))try{throw t}catch{}return t}function Y4(t){return HC(),At(t.g,10)?u(t.g,10):null}function Bfn(t){return K4(t).dc()?!1:(ain(t,new ut),!0)}function W2(t){var e;return Zo(t)?(e=t,e==-0?0:e):Jdn(t)}function Lre(t,e){return At(e,44)?cot(t.a,u(e,44)):!1}function Mre(t,e){return At(e,44)?cot(t.a,u(e,44)):!1}function Dre(t,e){return At(e,44)?cot(t.a,u(e,44)):!1}function t3t(t){var e;return _b(t),e=new Ot,D4(t.a,new y0(e)),e}function e3t(){var t,e,n;return e=(n=(t=new um,t),n),pe(RIt,e),e}function sq(t){var e;return _b(t),e=new vn,D4(t.a,new G1(e)),e}function Rfn(t,e){return t.a<=t.b?(e.Dd(t.a++),!0):!1}function Ire(t){eat.call(this,t,(VE(),Sht),null,!1,null,!1)}function Ore(){Ore=V,$ye=Rr((m$(),ot(st(V9t,1),te,488,0,[$ht])))}function Pre(){Pre=V,RAt=_ee(fe(1),fe(4)),BAt=_ee(fe(1),fe(2))}function jfn(t,e){return new dit(e,p_(Ma(e.e),t,t),(Nn(),!0))}function aq(t){return new bu((ih(t,Dct),Aq(Xa(Xa(5,t),t/10|0))))}function $fn(t){return vit(t.e.Rd().gc()*t.c.Rd().gc(),273,new fnt(t))}function Nre(t){return u(id(t,Vt(Y3e,Vbe,12,t.c.length,0,1)),2042)}function zfn(t){return th(),!ho(t)&&!(!ho(t)&&t.c.i.c==t.d.i.c)}function qfn(t,e){return rk(),u(K(e,(xc(),Q5)),17).a>=t.gc()}function O_(t,e){TCn(e,t),Pvt(t.d),Pvt(u(K(t,(Me(),jG)),214))}function gst(t,e){CCn(e,t),Nvt(t.d),Nvt(u(K(t,(Me(),jG)),214))}function Hfn(t,e,n){t.d&&$u(t.d.e,t),t.d=e,t.d&&Cm(t.d.e,n,t)}function Vfn(t,e,n){return n.f.c.length>0?uyt(t.a,e,n):uyt(t.b,e,n)}function Ufn(t,e,n){var r;r=cwn();try{return Isn(t,e,n)}finally{B1n(r)}}function Rm(t,e){var n,r;return n=bg(t,e),r=null,n&&(r=n.pe()),r}function P_(t,e){var n,r;return n=bg(t,e),r=null,n&&(r=n.se()),r}function jE(t,e){var n,r;return n=$y(t,e),r=null,n&&(r=n.se()),r}function wg(t,e){var n,r;return n=bg(t,e),r=null,n&&(r=t6t(n)),r}function Gfn(t,e,n){var r;return r=x7(n),iV(t.g,r,e),iV(t.i,e,n),e}function n3t(t,e,n){this.d=new GVt(this),this.e=t,this.i=e,this.f=n}function Fre(t,e,n,r){this.e=null,this.c=t,this.d=e,this.a=n,this.b=r}function Bre(t,e,n,r){PQt(this),this.c=t,this.e=e,this.f=n,this.b=r}function r3t(t,e,n,r){this.d=t,this.n=e,this.g=n,this.o=r,this.p=-1}function Rre(t,e,n,r){return At(n,59)?new gJt(t,e,n,r):new ryt(t,e,n,r)}function $E(t){return At(t,16)?u(t,16).dc():!t.Kc().Ob()}function jre(t){if(t.e.g!=t.b)throw nt(new yh);return!!t.c&&t.d>0}function Tr(t){return cr(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function i3t(t,e){Wn(e),hs(t.a,t.c,e),t.c=t.c+1&t.a.length-1,ohe(t)}function Ab(t,e){Wn(e),t.b=t.b-1&t.a.length-1,hs(t.a,t.b,e),ohe(t)}function $re(t){var e;e=t.Gh(),this.a=At(e,71)?u(e,71).Ii():e.Kc()}function Kfn(t){return new gn(I0n(u(t.a.md(),16).gc(),t.a.ld()),16)}function zre(){zre=V,rEe=Rr((x$(),ot(st(vMt,1),te,489,0,[udt])))}function qre(){qre=V,sEe=Rr((k$(),ot(st(iEe,1),te,558,0,[ldt])))}function Hre(){Hre=V,EEe=Rr((VC(),ot(st($Mt,1),te,539,0,[bN])))}function Wfn(){return iw(),ot(st(bCt,1),te,389,0,[x3,pCt,eft,nft])}function Yfn(){return VE(),ot(st(IU,1),te,303,0,[Sht,Aht,Lht,Mht])}function Xfn(){return lk(),ot(st(Nye,1),te,332,0,[PP,OP,NP,FP])}function Qfn(){return cS(),ot(st(Rye,1),te,406,0,[BP,FU,BU,RP])}function Jfn(){return Um(),ot(st(Oye,1),te,417,0,[IP,DP,Rht,jht])}function Zfn(){return a7(),ot(st(B3e,1),te,416,0,[pv,y3,v3,O5])}function t1n(){return rd(),ot(st(d4e,1),te,421,0,[Rk,wT,mT,lft])}function e1n(){return Jq(),ot(st(n4e,1),te,371,0,[uft,uG,lG,HP])}function n1n(){return Yy(),ot(st(h1t,1),te,203,0,[KG,l1t,Y5,W5])}function r1n(){return Vd(),ot(st(CAt,1),te,284,0,[Hp,TAt,g1t,p1t])}function i1n(t){var e;return t.j==(ve(),vr)&&(e=M1e(t),Ju(e,Jn))}function s1n(t,e){var n;n=e.a,Ya(n,e.c.d),ya(n,e.d.d),Vy(n.a,t.n)}function s3t(t,e){var n;return n=u(ed(t.b,e),67),!n&&(n=new Qi),n}function J6(t){return HC(),At(t.g,154)?u(t.g,154):null}function a1n(t){t.a=null,t.e=null,wy(t.b.c,0),wy(t.f.c,0),t.c=null}function oq(){oq=V,Nft=new Bwt(Y7,0),O_t=new Bwt("TOP_LEFT",1)}function N_(){N_=V,BA=new jwt("UPPER",0),FA=new jwt("LOWER",1)}function o1n(t,e){return N6(new se(e.e.a+e.f.a/2,e.e.b+e.f.b/2),t)}function Vre(t,e){return u(ql(Dy(u(Mi(t.k,e),15).Oc(),N5)),113)}function Ure(t,e){return u(ql(H6(u(Mi(t.k,e),15).Oc(),N5)),113)}function c1n(){return dk(),ot(st(zAt,1),te,405,0,[tK,RA,jA,$A])}function u1n(){return X_(),ot(st(vLt,1),te,353,0,[R1t,sK,B1t,F1t])}function l1n(){return LH(),ot(st(qLt,1),te,354,0,[Y1t,$Lt,zLt,jLt])}function h1n(){return Kl(),ot(st(hL,1),te,386,0,[IN,Fw,DN,z3])}function f1n(){return ah(),ot(st(l7e,1),te,290,0,[AN,V0,a2,SN])}function d1n(){return _g(),ot(st(Bdt,1),te,223,0,[Fdt,_N,UT,Jk])}function g1n(){return lH(),ot(st(cIt,1),te,320,0,[$dt,sIt,oIt,aIt])}function p1n(){return tH(),ot(st(S7e,1),te,415,0,[zdt,lIt,uIt,hIt])}function b1n(t){return nq(),Eu(Gdt,t)?u(tr(Gdt,t),341).Qg():null}function _h(t,e,n){return e<0?Fot(t,n):u(n,69).wk().Bk(t,t.hi(),e)}function w1n(t,e,n){var r;return r=x7(n),iV(t.j,r,e),di(t.k,e,n),e}function m1n(t,e,n){var r;return r=x7(n),iV(t.d,r,e),di(t.e,e,n),e}function Gre(t){var e,n;return e=(wb(),n=new x4,n),t&&WH(e,t),e}function a3t(t){var e;return e=t.aj(t.i),t.i>0&&Wc(t.g,0,e,0,t.i),e}function Kre(t,e){var n;for(n=t.j.c.length;n>24}function y1n(t){if(t.p!=1)throw nt(new Yu);return qr(t.k)<<24>>24}function x1n(t){if(t.p!=7)throw nt(new Yu);return qr(t.k)<<16>>16}function k1n(t){if(t.p!=7)throw nt(new Yu);return qr(t.f)<<16>>16}function X4(t,e){return e.e==0||t.e==0?lA:(O7(),Uot(t,e))}function Xre(t,e){return $t(e)===$t(t)?"(this Map)":e==null?Hu:ec(e)}function E1n(t,e,n){return Ait(Ht(Uo(yo(t.f,e))),Ht(Uo(yo(t.f,n))))}function T1n(t,e,n){var r;r=u(tr(t.g,n),60),pe(t.a.c,new Ys(e,r))}function Qre(t,e,n){t.i=0,t.e=0,e!=n&&(Oce(t,e,n),Ice(t,e,n))}function C1n(t,e,n,r,s){var o;o=_xn(s,n,r),pe(e,m4n(s,o)),u3n(t,s,e)}function o3t(t,e,n,r,s){this.i=t,this.a=e,this.e=n,this.j=r,this.f=s}function Jre(t,e){Ryt.call(this),this.a=t,this.b=e,pe(this.a.b,this)}function Zre(t){this.b=new Er,this.c=new Er,this.d=new Er,this.a=t}function tie(t,e){var n;return n=new L4,t.Gd(n),n.a+="..",e.Hd(n),n.a}function eie(t,e){var n;for(n=e;n;)Em(t,n.i,n.j),n=es(n);return t}function nie(t,e,n){var r;return r=x7(n),di(t.b,r,e),di(t.c,e,n),e}function mg(t){var e;for(e=0;t.Ob();)t.Pb(),e=Xa(e,1);return Aq(e)}function S0(t,e){bo();var n;return n=u(t,69).vk(),C3n(n,e),n.xl(e)}function _1n(t,e,n){if(n){var r=n.oe();t.a[e]=r(n)}else delete t.a[e]}function c3t(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+Hb),TS(t,n)}function S1n(t,e){return u(e==null?Uo(yo(t.f,null)):WC(t.i,e),288)}function u3t(t,e){return t==(Un(),Ts)&&e==Ts?4:t==Ts||e==Ts?8:32}function cq(t,e,n){return aV(t,e,n,At(e,102)&&(u(e,19).Bb&fo)!=0)}function A1n(t,e,n){return B7(t,e,n,At(e,102)&&(u(e,19).Bb&fo)!=0)}function L1n(t,e,n){return vxn(t,e,n,At(e,102)&&(u(e,19).Bb&fo)!=0)}function l3t(t){t.b!=t.c&&(t.a=Vt(sa,Ln,1,8,5,1),t.b=0,t.c=0)}function F_(t){return cr(t.a=0&&t.a[n]===e[n];n--);return n<0}function uq(t){var e;return t?new Kvt(t):(e=new Bd,Zst(e,t),e)}function F1n(t,e){var n,r;r=!1;do n=kce(t,e),r=r|n;while(n);return r}function B1n(t){t&&u0n((X2t(),UTt)),--_U,t&&SU!=-1&&(Arn(SU),SU=-1)}function lq(t){Rxt(),VQt(this,qr(ia(_m(t,24),vV)),qr(ia(t,vV)))}function oie(){oie=V,tye=Rr((vH(),ot(st(x9t,1),te,436,0,[Oht,y9t])))}function cie(){cie=V,eye=Rr((_q(),ot(st(E9t,1),te,435,0,[k9t,Pht])))}function uie(){uie=V,r3e=Rr((Sq(),ot(st(Q9t,1),te,432,0,[Uht,$U])))}function lie(){lie=V,Z3e=Rr((t7(),ot(st(J3e,1),te,517,0,[zP,sft])))}function hie(){hie=V,I4e=Rr((FI(),ot(st(x_t,1),te,487,0,[y_t,mG])))}function fie(){fie=V,A4e=Rr((HI(),ot(st(m_t,1),te,428,0,[bG,w_t])))}function die(){die=V,T4e=Rr((mq(),ot(st(l_t,1),te,431,0,[u_t,yft])))}function gie(){gie=V,b6e=Rr((zI(),ot(st(_At,1),te,430,0,[b1t,w1t])))}function pie(){pie=V,V6e=Rr((N_(),ot(st(H6e,1),te,531,0,[BA,FA])))}function bie(){bie=V,Q6e=Rr((qd(),ot(st(X6e,1),te,523,0,[Lv,Vp])))}function wie(){wie=V,Z6e=Rr((X1(),ot(st(J6e,1),te,522,0,[Mw,gd])))}function mie(){mie=V,gke=Rr((E1(),ot(st(dke,1),te,528,0,[F3,n2])))}function vie(){vie=V,j4e=Rr((oq(),ot(st(P_t,1),te,429,0,[Nft,O_t])))}function yie(){yie=V,xke=Rr((Fm(),ot(st(yke,1),te,464,0,[r2,X5])))}function xie(){xie=V,n8e=Rr((yq(),ot(st(TLt,1),te,434,0,[ELt,U1t])))}function kie(){kie=V,Wke=Rr((iq(),ot(st(xLt,1),te,433,0,[j1t,yLt])))}function Eie(){Eie=V,Zke=Rr((qq(),ot(st(kLt,1),te,500,0,[aK,Z5])))}function Tie(){Tie=V,Q8e=Rr((fq(),ot(st(fMt,1),te,490,0,[adt,hMt])))}function Cie(){Cie=V,Z8e=Rr((aat(),ot(st(mMt,1),te,491,0,[bMt,wMt])))}function _ie(){_ie=V,aEe=Rr((DI(),ot(st(yMt,1),te,438,0,[hdt,wK])))}function Sie(){Sie=V,TEe=Rr((ZI(),ot(st(qMt,1),te,437,0,[vK,zMt])))}function Aie(){Aie=V,T7e=Rr((hit(),ot(st(PK,1),te,347,0,[rIt,iIt])))}function R1n(){return Rs(),ot(st(iL,1),te,88,0,[wd,Jo,Ho,bd,qh])}function j1n(){return ve(),ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn])}function $1n(t,e,n){return u(e==null?vu(t.f,null,n):Gm(t.i,e,n),288)}function z1n(t){return(t.k==(Un(),Ts)||t.k==Ds)&&Ui(t,(ae(),xA))}function vst(t){return t.c&&t.d?Xyt(t.c)+"->"+Xyt(t.d):"e_"+km(t)}function Oa(t,e){var n,r;for(Wn(e),r=t.Kc();r.Ob();)n=r.Pb(),e.Cd(n)}function q1n(t,e){var n;n=new T6,U2(n,"x",e.a),U2(n,"y",e.b),G6(t,n)}function H1n(t,e){var n;n=new T6,U2(n,"x",e.a),U2(n,"y",e.b),G6(t,n)}function Lie(t,e){var n;for(n=e;n;)Em(t,-n.i,-n.j),n=es(n);return t}function f3t(t,e){var n,r;for(n=e,r=0;n>0;)r+=t.a[n],n-=n&-n;return r}function Sh(t,e,n){var r;return r=(mn(e,t.c.length),t.c[e]),t.c[e]=n,r}function d3t(t,e,n){t.a.c.length=0,gTn(t,e,n),t.a.c.length==0||q8n(t,e)}function AI(t){t.i=0,ND(t.b,null),ND(t.c,null),t.a=null,t.e=null,++t.g}function hq(){hq=V,hd=!0,Vve=!1,Uve=!1,Kve=!1,Gve=!1}function yst(t){hq(),!hd&&(this.c=t,this.e=!0,this.a=new ge)}function Mie(t,e){this.c=0,this.b=e,ZXt.call(this,t,17493),this.a=this.c}function Die(t){Ppe(),jGt(this),this.a=new Qi,G4t(this,t),Zr(this.a,t)}function Iie(){Hrt(this),this.b=new se(ns,ns),this.a=new se(Vs,Vs)}function fq(){fq=V,adt=new Kwt(q8t,0),hMt=new Kwt("TARGET_WIDTH",1)}function Q4(t,e){return(Nb(t),gE(new ln(t,new $3t(e,t.a)))).Bd(Nk)}function V1n(){return Ha(),ot(st(dCt,1),te,367,0,[Wf,$0,Yc,ou,Qo])}function U1n(){return Qy(),ot(st(p4e,1),te,375,0,[VP,dG,gG,fG,hG])}function G1n(){return Mp(),ot(st(b_t,1),te,348,0,[kft,p_t,Eft,ET,kT])}function K1n(){return oS(),ot(st(mAt,1),te,323,0,[wAt,f1t,d1t,DA,IA])}function W1n(){return Ph(),ot(st(K_t,1),te,171,0,[QP,EA,t2,TA,_3])}function Y1n(){return FH(),ot(st(t8e,1),te,368,0,[H1t,$1t,V1t,z1t,q1t])}function X1n(){return mS(),ot(st(tEe,1),te,373,0,[tx,Kk,XA,YA,pN])}function Q1n(){return TO(),ot(st(TMt,1),te,324,0,[xMt,fdt,EMt,ddt,kMt])}function J1n(){return A1(),ot(st(H0,1),te,170,0,[_n,Js,c0,Dw,Gp])}function Z1n(){return i5(),ot(st(cL,1),te,256,0,[o2,LN,XDt,oL,QDt])}function tdn(t){return c$(),function(){return Ufn(t,this,arguments)}}function ho(t){return!t.c||!t.d?!1:!!t.c.i&&t.c.i==t.d.i}function g3t(t,e){return At(e,143)?hn(t.c,u(e,143).c):!1}function Sl(t){return t.t||(t.t=new LGt(t),eS(new UKt(t),0,t.t)),t.t}function Oie(t){this.b=t,Zn.call(this,t),this.a=u($n(this.b.a,4),129)}function Pie(t){this.b=t,B6.call(this,t),this.a=u($n(this.b.a,4),129)}function jf(t,e,n,r,s){Vie.call(this,e,r,s),this.c=t,this.b=n}function p3t(t,e,n,r,s){sre.call(this,e,r,s),this.c=t,this.a=n}function b3t(t,e,n,r,s){are.call(this,e,r,s),this.c=t,this.a=n}function w3t(t,e,n,r,s){Vie.call(this,e,r,s),this.c=t,this.a=n}function xst(t,e){var n;return n=u(ed(t.d,e),23),n||u(ed(t.e,e),23)}function Nie(t,e){var n,r;return n=e.ld(),r=t.Fe(n),!!r&&Ic(r.e,e.md())}function Fie(t,e){var n;return n=e.ld(),new pm(n,t.e.pc(n,u(e.md(),16)))}function edn(t,e){var n;return n=t.a.get(e),n??Vt(sa,Ln,1,0,5,1)}function Bie(t){var e;return e=t.length,hn(Xn.substr(Xn.length-e,e),t)}function lr(t){if(Sr(t))return t.c=t.a,t.a.Pb();throw nt(new ac)}function m3t(t,e){return e==0||t.e==0?t:e>0?Sde(t,e):Xue(t,-e)}function Z6(t,e){return e==0||t.e==0?t:e>0?Xue(t,e):Sde(t,-e)}function v3t(t){frn.call(this,t==null?Hu:ec(t),At(t,82)?u(t,82):null)}function Rie(t){var e;return t.c||(e=t.r,At(e,90)&&(t.c=u(e,29))),t.c}function kst(t){var e;return e=new Pm,Yo(e,t),Zt(e,(Me(),qo),null),e}function jie(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(Un(),Ds)&&n.k==Ds}function Est(t){var e,n,r;return e=t&Il,n=t>>22&Il,r=t<0?Og:0,ku(e,n,r)}function ndn(t){var e,n,r,s;for(n=t,r=0,s=n.length;r=0?t.Lh(r,n,!0):Zm(t,e,n)}function idn(t,e,n){return ji(N6(E7(t),Ma(e.b)),N6(E7(t),Ma(n.b)))}function sdn(t,e,n){return ji(N6(E7(t),Ma(e.e)),N6(E7(t),Ma(n.e)))}function adn(t,e){return b.Math.min(Lb(e.a,t.d.d.c),Lb(e.b,t.d.d.c))}function LI(t,e){t._i(t.i+1),f_(t,t.i,t.Zi(t.i,e)),t.Mi(t.i++,e),t.Ni()}function B_(t){var e,n;++t.j,e=t.g,n=t.i,t.g=null,t.i=0,t.Oi(n,e),t.Ni()}function $ie(t,e,n){var r;r=new mmt(t.a),V_(r,t.a.a),vu(r.f,e,n),t.a.a=r}function y3t(t,e,n,r){var s;for(s=0;se)throw nt(new No(c6t(t,e,"index")));return t}function xp(t,e){var n;return n=(mn(e,t.c.length),t.c[e]),dwt(t.c,e,1),n}function E3t(t,e){var n,r;return n=(Wn(t),t),r=(Wn(e),e),n==r?0:ne.p?-1:0}function Wie(t){var e;return t.a||(e=t.r,At(e,156)&&(t.a=u(e,156))),t.a}function fdn(t,e,n){var r;return++t.e,--t.f,r=u(t.d[e].gd(n),136),r.md()}function ddn(t){var e,n;return e=t.ld(),n=u(t.md(),16),uI(n.Nc(),new gnt(e))}function Yie(t,e){return Eu(t.a,e)?(tk(t.a,e),!0):!1}function ek(t,e,n){return SI(e,t.e.Rd().gc()),SI(n,t.c.Rd().gc()),t.a[e][n]}function gq(t,e,n){this.a=t,this.b=e,this.c=n,pe(t.t,this),pe(e.i,this)}function pq(t,e,n,r){this.f=t,this.e=e,this.d=n,this.b=r,this.c=r?r.d:null}function MI(){this.b=new Qi,this.a=new Qi,this.b=new Qi,this.a=new Qi}function zE(){zE=V;var t,e;GK=(dE(),e=new n$,e),KK=(t=new Nnt,t)}function gdn(t){var e;return Nb(t),e=new zZt(t,t.a.e,t.a.d|4),new Vmt(t,e)}function Xie(t){var e;for(_b(t),e=0;t.a.Bd(new yn);)e=Xa(e,1);return e}function bq(t,e){return Wn(e),t.c=0,"Initial capacity must not be negative")}function wq(){wq=V,QA=new Ni("org.eclipse.elk.labels.labelManager")}function Qie(){Qie=V,i_t=new os("separateLayerConnections",(Jq(),uft))}function E1(){E1=V,F3=new qwt("REGULAR",0),n2=new qwt("CRITICAL",1)}function DI(){DI=V,hdt=new Ywt("FIXED",0),wK=new Ywt("CENTER_NODE",1)}function mq(){mq=V,u_t=new Pwt("QUADRATIC",0),yft=new Pwt("SCANLINE",1)}function Jie(){Jie=V,C4e=Rr((z_(),ot(st(f_t,1),te,322,0,[wA,UP,h_t])))}function Zie(){Zie=V,_4e=Rr((Nq(),ot(st(g_t,1),te,351,0,[d_t,pG,xft])))}function tse(){tse=V,M4e=Rr((ew(),ot(st(L4e,1),te,459,0,[Tft,TT,R5])))}function ese(){ese=V,x4e=Rr((Hm(),ot(st(hft,1),te,372,0,[wv,Jb,bv])))}function nse(){nse=V,R4e=Rr((kg(),ot(st(B4e,1),te,311,0,[KP,$5,jk])))}function rse(){rse=V,F4e=Rr((s7(),ot(st(Pft,1),te,298,0,[Ift,Oft,GP])))}function ise(){ise=V,h6e=Rr((Q_(),ot(st(bAt,1),te,390,0,[u1t,pAt,GG])))}function sse(){sse=V,v6e=Rr((Yq(),ot(st(LAt,1),te,387,0,[SAt,m1t,AAt])))}function ase(){ase=V,y6e=Rr((W_(),ot(st(MAt,1),te,349,0,[y1t,v1t,iN])))}function ose(){ose=V,m6e=Rr((xo(),ot(st(w6e,1),te,462,0,[OA,vl,xu])))}function cse(){cse=V,k6e=Rr((Pq(),ot(st(NAt,1),te,352,0,[PAt,k1t,OAt])))}function use(){use=V,x6e=Rr((d7(),ot(st(IAt,1),te,350,0,[x1t,DAt,PA])))}function lse(){lse=V,E6e=Rr((Zq(),ot(st(FAt,1),te,388,0,[E1t,BT,N3])))}function hse(){hse=V,Tke=Rr((Y_(),ot(st(ZAt,1),te,392,0,[JAt,_1t,oN])))}function fse(){fse=V,r8e=Rr((rO(),ot(st(SLt,1),te,393,0,[oK,CLt,_Lt])))}function dse(){dse=V,T8e=Rr((Wq(),ot(st(ULt,1),te,299,0,[X1t,VLt,HLt])))}function gse(){gse=V,C8e=Rr((gH(),ot(st(GLt,1),te,445,0,[fN,lK,Q1t])))}function pse(){pse=V,S8e=Rr((CH(),ot(st(_8e,1),te,455,0,[J1t,tdt,Z1t])))}function bse(){bse=V,M8e=Rr((cH(),ot(st(YLt,1),te,394,0,[WLt,rdt,KLt])))}function wse(){wse=V,J8e=Rr((xq(),ot(st(pMt,1),te,439,0,[odt,gMt,dMt])))}function mse(){mse=V,j6e=Rr((qm(),ot(st(R6e,1),te,463,0,[sN,NA,XG])))}function vse(){vse=V,oye=Rr((pl(),ot(st(aye,1),te,470,0,[i0,Xb,Gf])))}function yse(){yse=V,sye=Rr((_1(),ot(st(m3,1),te,237,0,[Tc,yu,Cc])))}function xse(){xse=V,uye=Rr((zu(),ot(st(cye,1),te,471,0,[D1,Qb,Kf])))}function kse(){kse=V,Wve=Rr((bl(),ot(st(zo,1),te,108,0,[v9t,rc,w3])))}function Ese(){Ese=V,L3e=Rr((R_(),ot(st(fCt,1),te,391,0,[Yht,Wht,Xht])))}function Tse(){Tse=V,u7e=Rr((Cg(),ot(st(YDt,1),te,346,0,[SK,Wp,aL])))}function Cse(){Cse=V,nEe=Rr((uO(),ot(st(cdt,1),te,444,0,[gK,pK,bK])))}function _se(){_se=V,s7e=Rr((nd(),ot(st(BDt,1),te,278,0,[HT,$3,VT])))}function Sse(){Sse=V,E7e=Rr((ok(),ot(st(nIt,1),te,280,0,[eIt,q3,OK])))}function td(t,e){return!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),zat(t.o,e)}function pdn(t,e){var n;t.C&&(n=u(Mo(t.b,e),127).n,n.d=t.C.d,n.a=t.C.a)}function A3t(t){var e,n,r,s;s=t.d,e=t.a,n=t.b,r=t.c,t.d=n,t.a=r,t.b=s,t.c=e}function bdn(t){return!t.g&&(t.g=new E4),!t.g.b&&(t.g.b=new CGt(t)),t.g.b}function II(t){return!t.g&&(t.g=new E4),!t.g.c&&(t.g.c=new AGt(t)),t.g.c}function wdn(t){return!t.g&&(t.g=new E4),!t.g.d&&(t.g.d=new _Gt(t)),t.g.d}function mdn(t){return!t.g&&(t.g=new E4),!t.g.a&&(t.g.a=new SGt(t)),t.g.a}function vdn(t,e,n,r){return n&&(r=n.Rh(e,ss(n.Dh(),t.c.uk()),null,r)),r}function ydn(t,e,n,r){return n&&(r=n.Th(e,ss(n.Dh(),t.c.uk()),null,r)),r}function Sst(t,e,n,r){var s;return s=Vt(Or,ii,28,e+1,15,1),TEn(s,t,e,n,r),s}function Vt(t,e,n,r,s,o){var h;return h=Jle(s,r),s!=10&&ot(st(t,o),e,n,s,h),h}function xdn(t,e,n){var r,s;for(s=new i7(e,t),r=0;rn||e=0?t.Lh(n,!0,!0):Zm(t,e,!0)}function Rdn(t,e,n){var r;return r=Mce(t,e,n),t.b=new Vq(r.c.length),X6t(t,r)}function jdn(t){if(t.b<=0)throw nt(new ac);return--t.b,t.a-=t.c.c,fe(t.a)}function $dn(t){var e;if(!t.a)throw nt(new $ee);return e=t.a,t.a=es(t.a),e}function zdn(t){for(;!t.a;)if(!fZt(t.c,new x0(t)))return!1;return!0}function nk(t){var e;return Hr(t),At(t,204)?(e=u(t,204),e):new mnt(t)}function qdn(t){vq(),u(t.of((si(),j3)),181).Fc((wl(),MN)),t.qf(Odt,null)}function vq(){vq=V,SEe=new _R,LEe=new Att,AEe=Mpn((si(),Odt),SEe,s2,LEe)}function yq(){yq=V,ELt=new Gwt("LEAF_NUMBER",0),U1t=new Gwt("NODE_SIZE",1)}function Ist(t){t.a=Vt(Or,ii,28,t.b+1,15,1),t.c=Vt(Or,ii,28,t.b,15,1),t.d=0}function Hdn(t,e){t.a.Ne(e.d,t.b)>0&&(pe(t.c,new Lvt(e.c,e.d,t.d)),t.b=e.d)}function R3t(t,e){if(t.g==null||e>=t.i)throw nt(new Rrt(e,t.i));return t.g[e]}function Dse(t,e,n){if(l7(t,n),n!=null&&!t.fk(n))throw nt(new Int);return n}function Ost(t,e){return qI(e)!=10&&ot(Gl(e),e.Sm,e.__elementTypeId$,qI(e),t),t}function HE(t,e,n,r){var s;r=(Om(),r||f9t),s=t.slice(e,n),u6t(s,t,e,n,-e,r)}function Ah(t,e,n,r,s){return e<0?Zm(t,n,r):u(n,69).wk().yk(t,t.hi(),e,r,s)}function Vdn(t,e){return ji(Rt(Ht(K(t,(ae(),yv)))),Rt(Ht(K(e,yv))))}function Ise(){Ise=V,qve=Rr((VE(),ot(st(IU,1),te,303,0,[Sht,Aht,Lht,Mht])))}function VE(){VE=V,Sht=new _$("All",0),Aht=new kQt,Lht=new DQt,Mht=new xQt}function pl(){pl=V,i0=new urt(Tk,0),Xb=new urt(Y7,1),Gf=new urt(Ck,2)}function Ose(){Ose=V,oV(),GIt=ns,MTe=Vs,KIt=new ys(ns),DTe=new ys(Vs)}function Pse(){Pse=V,Pye=Rr((Um(),ot(st(Oye,1),te,417,0,[IP,DP,Rht,jht])))}function Nse(){Nse=V,jye=Rr((cS(),ot(st(Rye,1),te,406,0,[BP,FU,BU,RP])))}function Fse(){Fse=V,Fye=Rr((lk(),ot(st(Nye,1),te,332,0,[PP,OP,NP,FP])))}function Bse(){Bse=V,V3e=Rr((iw(),ot(st(bCt,1),te,389,0,[x3,pCt,eft,nft])))}function Rse(){Rse=V,R3e=Rr((a7(),ot(st(B3e,1),te,416,0,[pv,y3,v3,O5])))}function jse(){jse=V,g4e=Rr((rd(),ot(st(d4e,1),te,421,0,[Rk,wT,mT,lft])))}function $se(){$se=V,r4e=Rr((Jq(),ot(st(n4e,1),te,371,0,[uft,uG,lG,HP])))}function zse(){zse=V,f6e=Rr((Yy(),ot(st(h1t,1),te,203,0,[KG,l1t,Y5,W5])))}function qse(){qse=V,p6e=Rr((Vd(),ot(st(CAt,1),te,284,0,[Hp,TAt,g1t,p1t])))}function FI(){FI=V,y_t=new Fwt(Zd,0),mG=new Fwt("IMPROVE_STRAIGHTNESS",1)}function Hse(t,e){var n,r;return r=e/t.c.Rd().gc()|0,n=e%t.c.Rd().gc(),ek(t,r,n)}function Vse(t){var e;if(t.nl())for(e=t.i-1;e>=0;--e)Lt(t,e);return a3t(t)}function j3t(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function Use(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[1];)n=e;return n}function Udn(t){return At(t,180)?""+u(t,180).a:t==null?null:ec(t)}function Gdn(t){return At(t,180)?""+u(t,180).a:t==null?null:ec(t)}function Gse(t,e){if(e.a)throw nt(new oc(fbe));qs(t.a,e),e.a=t,!t.j&&(t.j=e)}function $3t(t,e){X$.call(this,e.zd(),e.yd()&-16449),Wn(t),this.a=t,this.c=e}function Kdn(t,e){return new dit(e,Em(Ma(e.e),e.f.a+t,e.f.b+t),(Nn(),!1))}function Wdn(t,e){return _E(),pe(t,new Ys(e,fe(e.e.c.length+e.g.c.length)))}function Ydn(t,e){return _E(),pe(t,new Ys(e,fe(e.e.c.length+e.g.c.length)))}function Kse(){Kse=V,E8e=Rr((LH(),ot(st(qLt,1),te,354,0,[Y1t,$Lt,zLt,jLt])))}function Wse(){Wse=V,Kke=Rr((X_(),ot(st(vLt,1),te,353,0,[R1t,sK,B1t,F1t])))}function Yse(){Yse=V,kke=Rr((dk(),ot(st(zAt,1),te,405,0,[tK,RA,jA,$A])))}function Xse(){Xse=V,a7e=Rr((_g(),ot(st(Bdt,1),te,223,0,[Fdt,_N,UT,Jk])))}function Qse(){Qse=V,h7e=Rr((ah(),ot(st(l7e,1),te,290,0,[AN,V0,a2,SN])))}function Jse(){Jse=V,x7e=Rr((Kl(),ot(st(hL,1),te,386,0,[IN,Fw,DN,z3])))}function Zse(){Zse=V,C7e=Rr((lH(),ot(st(cIt,1),te,320,0,[$dt,sIt,oIt,aIt])))}function tae(){tae=V,A7e=Rr((tH(),ot(st(S7e,1),te,415,0,[zdt,lIt,uIt,hIt])))}function xq(){xq=V,odt=new Ort(M2e,0),gMt=new Ort(o7t,1),dMt=new Ort(Zd,2)}function jy(t,e,n,r,s){return Wn(t),Wn(e),Wn(n),Wn(r),Wn(s),new hyt(t,e,r)}function eae(t,e){var n;return n=u(tk(t.e,e),400),n?($vt(n),n.e):null}function $u(t,e){var n;return n=Wo(t,e,0),n==-1?!1:(xp(t,n),!0)}function nae(t,e,n){var r;return _b(t),r=new Qe,r.a=e,t.a.Nb(new BYt(r,n)),r.a}function Xdn(t){var e;return _b(t),e=Vt(wa,Io,28,0,15,1),D4(t.a,new S4(e)),e}function z3t(t){var e;if(!Yst(t))throw nt(new ac);return t.e=1,e=t.d,t.d=null,e}function Ep(t){var e;return Zo(t)&&(e=0-t,!isNaN(e))?e:Db(c7(t))}function Wo(t,e,n){for(;n=0?EH(t,n,!0,!0):Zm(t,e,!0)}function H3t(t){var e;return e=X2($n(t,32)),e==null&&(Su(t),e=X2($n(t,32))),e}function V3t(t){var e;return t.Oh()||(e=ur(t.Dh())-t.ji(),t.$h().Mk(e)),t.zh()}function cae(t,e){q9t=new Le,Bye=e,fA=t,u(fA.b,68),D3t(fA,q9t,null),Tge(fA)}function R_(){R_=V,Yht=new hrt("XY",0),Wht=new hrt("X",1),Xht=new hrt("Y",2)}function zu(){zu=V,D1=new lrt("TOP",0),Qb=new lrt(Y7,1),Kf=new lrt(y8t,2)}function kg(){kg=V,KP=new wrt(Zd,0),$5=new wrt("TOP",1),jk=new wrt(y8t,2)}function zI(){zI=V,b1t=new Rwt("INPUT_ORDER",0),w1t=new Rwt("PORT_DEGREE",1)}function UE(){UE=V,KTt=ku(Il,Il,524287),_ve=ku(0,0,tP),WTt=Est(1),Est(2),YTt=Est(0)}function Rst(t){var e;return t.d!=t.r&&(e=rf(t),t.e=!!e&&e.lk()==_me,t.d=e),t.e}function jst(t,e,n){var r;return r=t.g[e],f_(t,e,t.Zi(e,n)),t.Ri(e,n,r),t.Ni(),r}function Cq(t,e){var n;return n=t.dd(e),n>=0?(t.gd(n),!0):!1}function $st(t,e){var n;for(Hr(t),Hr(e),n=!1;e.Ob();)n=n|t.Fc(e.Pb());return n}function ed(t,e){var n;return n=u(tr(t.e,e),400),n?(HQt(t,n),n.e):null}function uae(t){var e,n;return e=t/60|0,n=t%60,n==0?""+e:""+e+":"+(""+n)}function $y(t,e){var n=t.a[e],r=(fat(),xht)[typeof n];return r?r(n):Z4t(typeof n)}function lc(t,e){var n,r;return Nb(t),r=new C3t(e,t.a),n=new pZt(r),new ln(t,n)}function zst(t){var e;return e=t.b.c.length==0?null:Oe(t.b,0),e!=null&&Qst(t,0),e}function t0n(t,e){var n,r,s;s=e.c.i,n=u(tr(t.f,s),60),r=n.d.c-n.e.c,k4t(e.a,r,0)}function U3t(t,e){var n;for(++t.d,++t.c[e],n=e+1;n=0;)++e[0]}function e0n(t,e){Cu(t,e==null||hz((Wn(e),e))||isNaN((Wn(e),e))?0:(Wn(e),e))}function n0n(t,e){_u(t,e==null||hz((Wn(e),e))||isNaN((Wn(e),e))?0:(Wn(e),e))}function r0n(t,e){zm(t,e==null||hz((Wn(e),e))||isNaN((Wn(e),e))?0:(Wn(e),e))}function i0n(t,e){$m(t,e==null||hz((Wn(e),e))||isNaN((Wn(e),e))?0:(Wn(e),e))}function s0n(t,e,n){return N6(new se(n.e.a+n.f.a/2,n.e.b+n.f.b/2),t)==(Wn(e),e)}function a0n(t,e){return At(e,102)&&u(e,19).Bb&fo?new jrt(e,t):new i7(e,t)}function o0n(t,e){return At(e,102)&&u(e,19).Bb&fo?new jrt(e,t):new i7(e,t)}function qI(t){return t.__elementTypeCategory$==null?10:t.__elementTypeCategory$}function fae(t,e){return e==(cit(),cit(),jve)?t.toLocaleLowerCase():t.toLowerCase()}function dae(t){if(!t.e)throw nt(new ac);return t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function G3t(t){if(!t.c)throw nt(new ac);return t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function gae(t){var e;for(++t.a,e=t.c.a.length;t.at.a[r]&&(r=n);return r}function pae(t){var e;return e=u(K(t,(ae(),mv)),313),e?e.a==t:!1}function bae(t){var e;return e=u(K(t,(ae(),mv)),313),e?e.i==t:!1}function wae(){wae=V,O3e=Rr((Ha(),ot(st(dCt,1),te,367,0,[Wf,$0,Yc,ou,Qo])))}function mae(){mae=V,b4e=Rr((Qy(),ot(st(p4e,1),te,375,0,[VP,dG,gG,fG,hG])))}function vae(){vae=V,S4e=Rr((Mp(),ot(st(b_t,1),te,348,0,[kft,p_t,Eft,ET,kT])))}function yae(){yae=V,d6e=Rr((oS(),ot(st(mAt,1),te,323,0,[wAt,f1t,d1t,DA,IA])))}function xae(){xae=V,$4e=Rr((Ph(),ot(st(K_t,1),te,171,0,[QP,EA,t2,TA,_3])))}function kae(){kae=V,e8e=Rr((FH(),ot(st(t8e,1),te,368,0,[H1t,$1t,V1t,z1t,q1t])))}function Eae(){Eae=V,eEe=Rr((mS(),ot(st(tEe,1),te,373,0,[tx,Kk,XA,YA,pN])))}function Tae(){Tae=V,oEe=Rr((TO(),ot(st(TMt,1),te,324,0,[xMt,fdt,EMt,ddt,kMt])))}function Cae(){Cae=V,i7e=Rr((Rs(),ot(st(iL,1),te,88,0,[wd,Jo,Ho,bd,qh])))}function _ae(){_ae=V,MEe=Rr((A1(),ot(st(H0,1),te,170,0,[_n,Js,c0,Dw,Gp])))}function Sae(){Sae=V,d7e=Rr((i5(),ot(st(cL,1),te,256,0,[o2,LN,XDt,oL,QDt])))}function Aae(){Aae=V,b7e=Rr((ve(),ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn])))}function _q(){_q=V,k9t=new Awt("BY_SIZE",0),Pht=new Awt("BY_SIZE_AND_SHAPE",1)}function Sq(){Sq=V,Uht=new Dwt("EADES",0),$U=new Dwt("FRUCHTERMAN_REINGOLD",1)}function HI(){HI=V,bG=new Nwt("READING_DIRECTION",0),w_t=new Nwt("ROTATION",1)}function j_(){j_=V,z3e=new LM,q3e=new PX,j3e=new L2,$3e=new Vc,H3e=new NX}function Lae(t){this.b=new ge,this.a=new ge,this.c=new ge,this.d=new ge,this.e=t}function Mae(t){this.g=t,this.f=new ge,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function Dae(t,e,n){uz.call(this),Y3t(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e}function d0n(t,e,n){var r,s;for(s=new J(n);s.a=0&&e0?e-1:e,fWt($nn(eoe(Fvt(new E6,n),t.n),t.j),t.k)}function jo(t){var e,n;n=(e=new Fnt,e),Mr((!t.q&&(t.q=new Jt(bf,t,11,10)),t.q),n)}function K3t(t){return(t.i&2?"interface ":t.i&1?"":"class ")+(gg(t),t.o)}function Aq(t){return Rc(t,ki)>0?ki:Rc(t,Va)<0?Va:qr(t)}function zy(t){return t<3?(ih(t,Kpe),t+1):t=-.01&&t.a<=cd&&(t.a=0),t.b>=-.01&&t.b<=cd&&(t.b=0),t}function J4(t){g5();var e,n;for(n=l7t,e=0;en&&(n=t[e]);return n}function Nae(t,e){var n;if(n=NO(t.Dh(),e),!n)throw nt(new zn(Kb+e+Plt));return n}function qy(t,e){var n;for(n=t;es(n);)if(n=es(n),n==e)return!0;return!1}function T0n(t,e){var n,r,s;for(r=e.a.ld(),n=u(e.a.md(),16).gc(),s=0;st||t>e)throw nt(new ewt("fromIndex: 0, toIndex: "+t+c8t+e))}function jm(t){if(t<0)throw nt(new zn("Illegal Capacity: "+t));this.g=this.aj(t)}function W3t(t,e){return K1(),$f(qb),b.Math.abs(t-e)<=qb||t==e||isNaN(t)&&isNaN(e)}function Vst(t,e){var n,r,s,o;for(r=t.d,s=0,o=r.length;s0&&(t.a/=e,t.b/=e),t}function nh(t){var e;return t.w?t.w:(e=bfn(t),e&&!e.Vh()&&(t.w=e),e)}function GE(t,e){var n,r;r=t.a,n=ybn(t,e,null),r!=e&&!t.e&&(n=$7(t,e,n)),n&&n.oj()}function $ae(t,e,n){var r,s;r=e;do s=Rt(t.p[r.p])+n,t.p[r.p]=s,r=t.a[r.p];while(r!=e)}function zae(t,e,n){var r=function(){return t.apply(r,arguments)};return e.apply(r,n),r}function D0n(t){var e;return t==null?null:(e=u(t,195),Hyn(e,e.length))}function Lt(t,e){if(t.g==null||e>=t.i)throw nt(new Rrt(e,t.i));return t.Wi(e,t.g[e])}function I0n(t,e){wn();var n,r;for(r=new ge,n=0;n=14&&e<=16))),t}function Br(t,e){var n;return Wn(e),n=t[":"+e],hI(!!n,"Enum constant undefined: "+e),n}function Cr(t,e,n,r,s,o){var h;return h=$it(t,e),noe(n,h),h.i=s?8:0,h.f=r,h.e=s,h.g=o,h}function Q3t(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=1,this.c=t,this.a=n}function J3t(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=2,this.c=t,this.a=n}function Z3t(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=6,this.c=t,this.a=n}function t4t(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=7,this.c=t,this.a=n}function e4t(t,e,n,r,s){this.d=e,this.j=r,this.e=s,this.o=-1,this.p=4,this.c=t,this.a=n}function roe(t,e){var n,r,s,o;for(r=e,s=0,o=r.length;s=0))throw nt(new zn("tolerance ("+t+") must be >= 0"));return t}function soe(t,e){var n;return At(e,44)?t.c.Mc(e):(n=zat(t,e),pH(t,e),n)}function Do(t,e,n){return rw(t,e),wu(t,n),Tp(t,0),Hy(t,1),Lp(t,!0),Ap(t,!0),t}function UI(t,e){var n;if(n=t.gc(),e<0||e>n)throw nt(new My(e,n));return new fvt(t,e)}function Fq(t,e){t.b=b.Math.max(t.b,e.d),t.e+=e.r+(t.a.c.length==0?0:t.c),pe(t.a,e)}function aoe(t){Sy(t.c>=0),G2n(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1}function Bq(t){var e,n;for(n=t.c.Cc().Kc();n.Ob();)e=u(n.Pb(),16),e.$b();t.c.$b(),t.d=0}function q0n(t){var e,n,r,s;for(n=t.a,r=0,s=n.length;r=0}function c4t(t,e){t.r>0&&t.c0&&t.g!=0&&c4t(t.i,e/t.r*t.i.d))}function u4t(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,1,n,t.c))}function Kst(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,4,n,t.c))}function ZE(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,2,n,t.k))}function Wst(t,e){var n;n=t.D,t.D=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,2,n,t.D))}function jq(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,8,n,t.f))}function $q(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,7,n,t.i))}function l4t(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,8,n,t.a))}function h4t(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,0,n,t.b))}function f4t(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,0,n,t.b))}function d4t(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,1,n,t.c))}function g4t(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,1,n,t.d))}function Y0n(t,e,n){var r;t.b=e,t.a=n,r=(t.a&512)==512?new SKt:new hD,t.c=ukn(r,t.b,t.a)}function moe(t,e){return Dg(t.e,e)?(bo(),Rst(e)?new xz(e,t):new YD(e,t)):new GXt(e,t)}function X0n(t){var e,n;return 0>t?new bwt:(e=t+1,n=new Mie(e,t),new Umt(null,n))}function Q0n(t,e){wn();var n;return n=new A6(1),pa(t)?Bo(n,t,e):vu(n.f,t,e),new hr(n)}function J0n(t,e){var n,r;return n=t.c,r=e.e[t.p],r>0?u(Oe(n.a,r-1),10):null}function Z0n(t,e){var n,r;return n=t.o+t.p,r=e.o+e.p,ne?(e<<=1,e>0?e:DS):e}function Yst(t){switch(Cmt(t.e!=3),t.e){case 2:return!1;case 0:return!0}return cdn(t)}function yoe(t,e){var n;return At(e,8)?(n=u(e,8),t.a==n.a&&t.b==n.b):!1}function egn(t,e){var n;n=new Le,u(e.b,68),u(e.b,68),u(e.b,68),Tu(e.a,new kvt(t,n,e))}function xoe(t,e){var n,r;for(r=e.vc().Kc();r.Ob();)n=u(r.Pb(),44),yO(t,n.ld(),n.md())}function p4t(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,11,n,t.d))}function zq(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,13,n,t.j))}function b4t(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,21,n,t.b))}function ngn(t,e){(hq(),hd?null:e.c).length==0&&BJt(e,new Ae),Bo(t.a,hd?null:e.c,e)}function rgn(t,e){e.Ug("Hierarchical port constraint processing",1),xwn(t),zCn(t),e.Vg()}function Hm(){Hm=V,wv=new frt("START",0),Jb=new frt("MIDDLE",1),bv=new frt("END",2)}function qq(){qq=V,aK=new Uwt("P1_NODE_PLACEMENT",0),Z5=new Uwt("P2_EDGE_ROUTING",1)}function Mb(){Mb=V,Bk=new Ni(O8t),HU=new Ni(Bbe),gA=new Ni(Rbe),jP=new Ni(jbe)}function Vm(t){var e;return uit(t.f.g,t.d),cr(t.b),t.c=t.a,e=u(t.a.Pb(),44),t.b=L4t(t),e}function w4t(t){var e;return t.b==null?(gp(),gp(),zN):(e=t.ul()?t.tl():t.sl(),e)}function koe(t,e){var n;return n=e==null?-1:Wo(t.b,e,0),n<0?!1:(Qst(t,n),!0)}function zf(t,e){var n;return Wn(e),n=e.g,t.b[n]?!1:(hs(t.b,n,e),++t.c,!0)}function Hq(t,e){var n,r;return n=1-e,r=t.a[n],t.a[n]=r.a[e],r.a[e]=t,t.b=!0,r.b=!1,r}function ign(t,e){var n,r;for(r=e.Kc();r.Ob();)n=u(r.Pb(),272),t.b=!0,qs(t.e,n),n.b=t}function sgn(t,e){var n,r;return n=u(K(t,(Me(),I3)),8),r=u(K(e,I3),8),ji(n.b,r.b)}function Xst(t,e,n){var r,s,o;return o=e>>5,s=e&31,r=ia(Eb(t.n[n][o],qr(Rf(s,1))),3),r}function Eoe(t,e,n){var r,s,o;for(o=t.a.length-1,s=t.b,r=0;r0?1:0:(!t.c&&(t.c=TI(Oc(t.f))),t.c).e}function Ioe(t,e){e?t.B==null&&(t.B=t.D,t.D=null):t.B!=null&&(t.D=t.B,t.B=null)}function ugn(t,e){return a7(),t==pv&&e==y3||t==y3&&e==pv||t==O5&&e==v3||t==v3&&e==O5}function lgn(t,e){return a7(),t==pv&&e==v3||t==pv&&e==O5||t==y3&&e==O5||t==y3&&e==v3}function Ooe(t,e){return K1(),$f(cd),b.Math.abs(0-e)<=cd||e==0||isNaN(0)&&isNaN(e)?0:t/e}function Poe(t,e){return Rt(Ht(ql(oO(Go(new ln(null,new gn(t.c.b,16)),new zVt(t)),e))))}function x4t(t,e){return Rt(Ht(ql(oO(Go(new ln(null,new gn(t.c.b,16)),new $Vt(t)),e))))}function hgn(){return ko(),ot(st(Dft,1),te,259,0,[yG,zh,vA,xG,ST,j5,yA,CT,_T,kG])}function fgn(){return sf(),ot(st(EAt,1),te,243,0,[WG,nN,rN,yAt,xAt,vAt,kAt,YG,Av,P3])}function dgn(t,e){var n;e.Ug("General Compactor",1),n=m2n(u(ne(t,($b(),K1t)),393)),n.Cg(t)}function ggn(t,e){var n,r;return n=u(ne(t,($b(),cK)),17),r=u(ne(e,cK),17),Bc(n.a,r.a)}function k4t(t,e,n){var r,s;for(s=_r(t,0);s.b!=s.d.c;)r=u(Tr(s),8),r.a+=e,r.b+=n;return t}function q_(t,e,n){var r;for(r=t.b[n&t.f];r;r=r.b)if(n==r.a&&zd(e,r.g))return r;return null}function H_(t,e,n){var r;for(r=t.c[n&t.f];r;r=r.d)if(n==r.f&&zd(e,r.i))return r;return null}function pgn(t,e,n){var r,s,o;for(r=0,s=0;s>>31;r!=0&&(t[n]=r)}function eat(t,e,n,r,s,o){var h;this.c=t,h=new ge,ext(t,h,e,t.b,n,r,s,o),this.a=new _a(h,0)}function Noe(){this.c=new d$(0),this.b=new d$(u7t),this.d=new d$(E2e),this.a=new d$(Eut)}function Mh(t,e,n,r,s,o,h){Fr.call(this,t,e),this.d=n,this.e=r,this.c=s,this.b=o,this.a=J1(h)}function ks(t,e,n,r,s,o,h,d,m,k,T,A,N){return zfe(t,e,n,r,s,o,h,d,m,k,T,A,N),Pat(t,!1),t}function bgn(t){return t.b.c.i.k==(Un(),Ds)?u(K(t.b.c.i,(ae(),Di)),12):t.b.c}function Foe(t){return t.b.d.i.k==(Un(),Ds)?u(K(t.b.d.i,(ae(),Di)),12):t.b.d}function wgn(t){var e;return e=sq(t),mm(e.a,0)?(w$(),w$(),$ve):(w$(),new wJt(e.b))}function nat(t){var e;return e=t3t(t),mm(e.a,0)?(yy(),yy(),_ht):(yy(),new Zrt(e.b))}function rat(t){var e;return e=t3t(t),mm(e.a,0)?(yy(),yy(),_ht):(yy(),new Zrt(e.c))}function Boe(t){switch(t.g){case 2:return ve(),Gn;case 4:return ve(),Jn;default:return t}}function Roe(t){switch(t.g){case 1:return ve(),vr;case 3:return ve(),Hn;default:return t}}function joe(t){switch(t.g){case 0:return new Ttt;case 1:return new XM;default:return null}}function ik(){ik=V,cft=new os("edgelabelcenterednessanalysis.includelabel",(Nn(),Yb))}function E4t(){E4t=V,B6e=Ud(aQt(ri(ri(new Fs,(Ha(),Yc),(Ja(),eG)),ou,XU),Qo),tG)}function $oe(){$oe=V,z6e=Ud(aQt(ri(ri(new Fs,(Ha(),Yc),(Ja(),eG)),ou,XU),Qo),tG)}function iat(){iat=V,wL=new kKt,Ydt=ot(st(Ku,1),L5,179,0,[]),cTe=ot(st(bf,1),ATt,62,0,[])}function t7(){t7=V,zP=new Iwt("TO_INTERNAL_LTR",0),sft=new Iwt("TO_INPUT_DIRECTION",1)}function nl(){nl=V,kCt=new ub,yCt=new oy,xCt=new BX,vCt=new M2,ECt=new RX,TCt=new jX}function mgn(t,e){e.Ug(t2e,1),_5t(nrn(new LC((qC(),new Git(t,!1,!1,new q9))))),e.Vg()}function vgn(t,e,n){n.Ug("DFS Treeifying phase",1),F2n(t,e),P6n(t,e),t.a=null,t.b=null,n.Vg()}function GI(t,e){return Nn(),pa(t)?E3t(t,Gr(e)):Cy(t)?Ait(t,Ht(e)):Ty(t)?uun(t,De(e)):t.Fd(e)}function V_(t,e){var n,r;for(Wn(e),r=e.vc().Kc();r.Ob();)n=u(r.Pb(),44),t.zc(n.ld(),n.md())}function ygn(t,e,n){var r;for(r=n.Kc();r.Ob();)if(!cq(t,e,r.Pb()))return!1;return!0}function xgn(t,e,n,r,s){var o;return n&&(o=ss(e.Dh(),t.c),s=n.Rh(e,-1-(o==-1?r:o),null,s)),s}function kgn(t,e,n,r,s){var o;return n&&(o=ss(e.Dh(),t.c),s=n.Th(e,-1-(o==-1?r:o),null,s)),s}function zoe(t){var e;if(t.b==-2){if(t.e==0)e=-1;else for(e=0;t.a[e]==0;e++);t.b=e}return t.b}function Egn(t){if(Wn(t),t.length==0)throw nt(new Nd("Zero length BigInteger"));L8n(this,t)}function T4t(t){this.i=t.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),t.Qc(this.g))}function qoe(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new ge,N4n(this),wn(),Ms(this.a,null)}function C4t(t,e){e.q=t,t.d=b.Math.max(t.d,e.r),t.b+=e.d+(t.a.c.length==0?0:t.c),pe(t.a,e)}function e7(t,e){var n,r,s,o;return s=t.c,n=t.c+t.b,o=t.d,r=t.d+t.a,e.a>s&&e.ao&&e.bs?n=s:qn(e,n+1),t.a=Ch(t.a,0,e)+(""+r)+vyt(t.a,n)}function Qoe(t,e){t.a=Xa(t.a,1),t.c=b.Math.min(t.c,e),t.b=b.Math.max(t.b,e),t.d=Xa(t.d,e)}function Mgn(t,e){return e1||t.Ob())return++t.a,t.g=0,e=t.i,t.Ob(),e;throw nt(new ac)}function ece(t){switch(t.a.g){case 1:return new aXt;case 3:return new ahe;default:return new Zet}}function S4t(t,e){switch(e){case 1:return!!t.n&&t.n.i!=0;case 2:return t.k!=null}return Zyt(t,e)}function Oc(t){return eP>22),s=t.h+e.h+(r>>22),ku(n&Il,r&Il,s&Og)}function uce(t,e){var n,r,s;return n=t.l-e.l,r=t.m-e.m+(n>>22),s=t.h-e.h+(r>>22),ku(n&Il,r&Il,s&Og)}function Qgn(t){var e,n;for(V9n(t),n=new J(t.d);n.ar)throw nt(new My(e,r));return t.Si()&&(n=Sne(t,n)),t.Ei(e,n)}function o7(t,e,n,r,s){var o,h;for(h=n;h<=s;h++)for(o=e;o<=r;o++)a5(t,o,h)||rV(t,o,h,!0,!1)}function hpn(t){g5();var e,n,r;for(n=Vt(ua,le,8,2,0,1),r=0,e=0;e<2;e++)r+=.5,n[e]=imn(r,t);return n}function c7(t){var e,n,r;return e=~t.l+1&Il,n=~t.m+(e==0?1:0)&Il,r=~t.h+(e==0&&n==0?1:0)&Og,ku(e,n,r)}function N4t(t){var e;if(t<0)return Va;if(t==0)return 0;for(e=DS;!(e&t);e>>=1);return e}function hat(t,e,n){return t>=128?!1:t<64?a_(ia(Rf(1,t),n),0):a_(ia(Rf(1,t-64),e),0)}function eO(t,e,n){return n==null?(!t.q&&(t.q=new Er),tk(t.q,e)):(!t.q&&(t.q=new Er),di(t.q,e,n)),t}function Zt(t,e,n){return n==null?(!t.q&&(t.q=new Er),tk(t.q,e)):(!t.q&&(t.q=new Er),di(t.q,e,n)),t}function yce(t){var e,n;return n=new dq,Yo(n,t),Zt(n,(Mb(),Bk),t),e=new Er,$En(t,n,e),g9n(t,n,e),n}function xce(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function kce(t,e){var n,r,s,o;for(n=!1,r=t.a[e].length,o=0;o=0,"Negative initial capacity"),hI(e>=0,"Non-positive load factor"),dl(this)}function dpn(t,e,n,r,s){var o,h;if(h=t.length,o=n.length,e<0||r<0||s<0||e+s>h||r+s>o)throw nt(new S2t)}function j4t(t,e){wn();var n,r,s,o,h;for(h=!1,r=e,s=0,o=r.length;s1||e>=0&&t.b<3)}function gat(t){var e,n,r;e=~t.l+1&Il,n=~t.m+(e==0?1:0)&Il,r=~t.h+(e==0&&n==0?1:0)&Og,t.l=e,t.m=n,t.h=r}function q4t(t){wn();var e,n,r;for(r=1,n=t.Kc();n.Ob();)e=n.Pb(),r=31*r+(e!=null?Hi(e):0),r=r|0;return r}function mpn(t,e,n,r,s){var o;return o=M6t(t,e),n&&gat(o),s&&(t=hmn(t,e),r?Wb=c7(t):Wb=ku(t.l,t.m,t.h)),o}function Ice(t,e,n){t.g=Iot(t,e,(ve(),Jn),t.b),t.d=Iot(t,n,Jn,t.b),!(t.g.c==0||t.d.c==0)&&ufe(t)}function Oce(t,e,n){t.g=Iot(t,e,(ve(),Gn),t.j),t.d=Iot(t,n,Gn,t.j),!(t.g.c==0||t.d.c==0)&&ufe(t)}function H4t(t,e){switch(e){case 7:return!!t.e&&t.e.i!=0;case 8:return!!t.d&&t.d.i!=0}return S5t(t,e)}function vpn(t,e){switch(e.g){case 0:At(t.b,641)||(t.b=new Xoe);break;case 1:At(t.b,642)||(t.b=new YZt)}}function Pce(t){switch(t.g){case 0:return new Stt;default:throw nt(new zn(rU+(t.f!=null?t.f:""+t.g)))}}function Nce(t){switch(t.g){case 0:return new _tt;default:throw nt(new zn(rU+(t.f!=null?t.f:""+t.g)))}}function ypn(t,e,n){return!gE(Ai(new ln(null,new gn(t.c,16)),new Mf(new xXt(e,n)))).Bd((j2(),Nk))}function Fce(t,e){return N6(E7(u(K(e,(xc(),Mv)),88)),new se(t.c.e.a-t.b.e.a,t.c.e.b-t.b.e.b))<=0}function xpn(t,e){for(;t.g==null&&!t.c?Hyt(t):t.g==null||t.i!=0&&u(t.g[t.i-1],51).Ob();)Crn(e,UH(t))}function nw(t){var e,n;for(n=new J(t.a.b);n.ar?1:0}function Tpn(t){return pe(t.c,(sk(),_Ee)),W3t(t.a,Rt(Ht(_e(($at(),VG)))))?new Rtt:new GUt(t)}function Cpn(t){for(;!t.d||!t.d.Ob();)if(t.b&&!RC(t.b))t.d=u(V6(t.b),51);else return null;return t.d}function U4t(t){switch(t.g){case 1:return E2e;default:case 2:return 0;case 3:return Eut;case 4:return u7t}}function _pn(){xi();var t;return e0t||(t=Gin(zb("M",!0)),t=_z(zb("M",!1),t),e0t=t,e0t)}function tH(){tH=V,zdt=new V$("ELK",0),lIt=new V$("JSON",1),uIt=new V$("DOT",2),hIt=new V$("SVG",3)}function W_(){W_=V,y1t=new xrt("STACKED",0),v1t=new xrt("REVERSE_STACKED",1),iN=new xrt("SEQUENCED",2)}function Y_(){Y_=V,JAt=new Srt(Zd,0),_1t=new Srt("MIDDLE_TO_MIDDLE",1),oN=new Srt("AVOID_OVERLAP",2)}function h7(){h7=V,a_t=new RM,o_t=new CQ,c4e=new Xx,o4e=new _Q,a4e=new TQ,s_t=(Wn(a4e),new xt)}function eH(){eH=V,WDt=new ym(15),c7e=new Ta((si(),Kp),WDt),sL=Yk,VDt=zEe,UDt=Ow,KDt=ox,GDt=R3}function t5(t,e){var n,r,s,o,h;for(r=e,s=0,o=r.length;s=t.b.c.length||(K4t(t,2*e+1),n=2*e+2,n0&&(e.Cd(n),n.i&&Abn(n))}function W4t(t,e,n){var r;for(r=n-1;r>=0&&t[r]===e[r];r--);return r<0?0:art(ia(t[r],Eo),ia(e[r],Eo))?-1:1}function jce(t,e,n){var r,s;this.g=t,this.c=e,this.a=this,this.d=this,s=voe(n),r=Vt(yve,JO,227,s,0,1),this.b=r}function vat(t,e,n,r,s){var o,h;for(h=n;h<=s;h++)for(o=e;o<=r;o++)if(a5(t,o,h))return!0;return!1}function Ipn(t,e){var n,r;for(r=t.Zb().Cc().Kc();r.Ob();)if(n=u(r.Pb(),16),n.Hc(e))return!0;return!1}function $ce(t,e,n){var r,s,o,h;for(Wn(n),h=!1,o=t.fd(e),s=n.Kc();s.Ob();)r=s.Pb(),o.Rb(r),h=!0;return h}function yat(t,e){var n,r;return r=u($n(t.a,4),129),n=Vt(Kdt,Qlt,424,e,0,1),r!=null&&Wc(r,0,n,0,r.length),n}function zce(t,e){var n;return n=new Wot((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,e),t.e!=null||(n.c=t),n}function Opn(t,e){var n;return t===e?!0:At(e,85)?(n=u(e,85),Qxt(z2(t),n.vc())):!1}function qce(t,e,n){var r,s;for(s=n.Kc();s.Ob();)if(r=u(s.Pb(),44),t.Be(e,r.md()))return!0;return!1}function Hce(t,e,n){return t.d[e.p][n.p]||(Fwn(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function Ppn(t,e){var n;return!t||t==e||!Ui(e,(ae(),vv))?!1:(n=u(K(e,(ae(),vv)),10),n!=t)}function xat(t){switch(t.i){case 2:return!0;case 1:return!1;case-1:++t.c;default:return t.$l()}}function Vce(t){switch(t.i){case-2:return!0;case-1:return!1;case 1:--t.c;default:return t._l()}}function Uce(t){Ine.call(this,"The given string does not match the expected format for individual spacings.",t)}function Npn(t,e){var n;e.Ug("Min Size Preprocessing",1),n=a6t(t),Oi(t,(D0(),GA),n.a),Oi(t,hK,n.b),e.Vg()}function Fpn(t){var e,n,r;for(e=0,r=Vt(ua,le,8,t.b,0,1),n=_r(t,0);n.b!=n.d.c;)r[e++]=u(Tr(n),8);return r}function kat(t,e,n){var r,s,o;for(r=new Qi,o=_r(n,0);o.b!=o.d.c;)s=u(Tr(o),8),Zr(r,new eo(s));$ce(t,e,r)}function Bpn(t,e){var n;return n=Xa(t,e),art(hst(t,e),0)|K$(hst(t,n),0)?n:Xa(QO,hst(Eb(n,63),1))}function Rpn(t,e){var n,r;return n=u(t.d.Bc(e),16),n?(r=t.e.hc(),r.Gc(n),t.e.d-=n.gc(),n.$b(),r):null}function Gce(t){var e;if(e=t.a.c.length,e>0)return LE(e-1,t.a.c.length),xp(t.a,e-1);throw nt(new GGt)}function Kce(t,e,n){if(t>e)throw nt(new zn(yV+t+ube+e));if(t<0||e>n)throw nt(new ewt(yV+t+h8t+e+c8t+n))}function f7(t,e){t.D==null&&t.B!=null&&(t.D=t.B,t.B=null),Wst(t,e==null?null:(Wn(e),e)),t.C&&t.hl(null)}function jpn(t,e){var n;n=_e(($at(),VG))!=null&&e.Sg()!=null?Rt(Ht(e.Sg()))/Rt(Ht(_e(VG))):1,di(t.b,e,n)}function Y4t(t,e){var n,r;if(r=t.c[e],r!=0)for(t.c[e]=0,t.d-=r,n=e+1;nXV?t-n>XV:n-t>XV}function iue(t,e){var n;for(n=0;ns&&(Phe(e.q,s),r=n!=e.q.d)),r}function sue(t,e){var n,r,s,o,h,d,m,k;return m=e.i,k=e.j,r=t.f,s=r.i,o=r.j,h=m-s,d=k-o,n=b.Math.sqrt(h*h+d*d),n}function e5t(t,e){var n,r;return r=bH(t),r||(n=(bct(),K1e(e)),r=new NGt(n),Mr(r.El(),t)),r}function sO(t,e){var n,r;return n=u(t.c.Bc(e),16),n?(r=t.hc(),r.Gc(n),t.d-=n.gc(),n.$b(),t.mc(r)):t.jc()}function Xpn(t,e){var n,r;for(r=Ml(t.d,1)!=0,n=!0;n;)n=!1,n=e.c.mg(e.e,r),n=n|FO(t,e,r,!1),r=!r;v4t(t)}function aue(t,e,n,r){var s,o;t.a=e,o=r?0:1,t.f=(s=new vfe(t.c,t.a,n,o),new Jde(n,t.a,s,t.e,t.b,t.c==(qm(),NA)))}function rH(t){var e;return cr(t.a!=t.b),e=t.d.a[t.a],PJt(t.b==t.d.c&&e!=null),t.c=t.a,t.a=t.a+1&t.d.a.length-1,e}function oue(t){var e;if(t.c!=0)return t.c;for(e=0;e=t.c.b:t.a<=t.c.b))throw nt(new ac);return e=t.a,t.a+=t.c.c,++t.b,fe(e)}function Sat(t){var e;return e=new bmt(t.a),Yo(e,t),Zt(e,(ae(),Di),t),e.o.a=t.g,e.o.b=t.f,e.n.a=t.i,e.n.b=t.j,e}function Aat(t){return(ve(),Uu).Hc(t.j)?Rt(Ht(K(t,(ae(),AT)))):hc(ot(st(ua,1),le,8,0,[t.i.n,t.n,t.a])).b}function Jpn(t){var e;return e=J$(F6e),u(K(t,(ae(),uu)),21).Hc((ko(),ST))&&ri(e,(Ha(),Yc),(Ja(),iG)),e}function Zpn(t){var e,n,r,s;for(s=new Os,r=new J(t);r.a=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function ibn(t,e){var n,r,s;for(s=1,n=t,r=e>=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function Pb(t,e){var n,r,s,o;return o=(s=t?bH(t):null,Hfe((r=e,s&&s.Gl(),r))),o==e&&(n=bH(t),n&&n.Gl()),o}function cue(t,e,n){var r,s;return s=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&(r=new la(t,1,0,s,e),n?n.nj(r):n=r),n}function uue(t,e,n){var r,s;return s=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&(r=new la(t,1,3,s,e),n?n.nj(r):n=r),n}function r5t(t,e,n){var r,s;return s=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&(r=new la(t,1,1,s,e),n?n.nj(r):n=r),n}function lue(t){var e,n;if(t!=null)for(n=0;n=r||e-129&&t<128?(WZt(),e=t+128,n=t9t[e],!n&&(n=t9t[e]=new wr(t)),n):new wr(t)}function g7(t){var e,n;return t>-129&&t<128?(hte(),e=t+128,n=i9t[e],!n&&(n=i9t[e]=new ci(t)),n):new ci(t)}function due(t,e){var n;t.a.c.length>0&&(n=u(Oe(t.a,t.a.c.length-1),579),G4t(n,e))||pe(t.a,new Die(e))}function lbn(t){Bf();var e,n;e=t.d.c-t.e.c,n=u(t.g,154),Tu(n.b,new AVt(e)),Tu(n.c,new LVt(e)),Oa(n.i,new MVt(e))}function gue(t){var e;return e=new pb,e.a+="VerticalSegment ",Zc(e,t.e),e.a+=" ",ni(e,Emt(new Knt,new J(t.k))),e.a}function Lat(t,e){var n,r,s;for(n=0,s=fc(t,e).Kc();s.Ob();)r=u(s.Pb(),12),n+=K(r,(ae(),ml))!=null?1:0;return n}function r5(t,e,n){var r,s,o;for(r=0,o=_r(t,0);o.b!=o.d.c&&(s=Rt(Ht(Tr(o))),!(s>n));)s>=e&&++r;return r}function pue(t,e){Hr(t);try{return t._b(e)}catch(n){if(n=is(n),At(n,212)||At(n,169))return!1;throw nt(n)}}function s5t(t,e){Hr(t);try{return t.Hc(e)}catch(n){if(n=is(n),At(n,212)||At(n,169))return!1;throw nt(n)}}function hbn(t,e){Hr(t);try{return t.Mc(e)}catch(n){if(n=is(n),At(n,212)||At(n,169))return!1;throw nt(n)}}function Gy(t,e){Hr(t);try{return t.xc(e)}catch(n){if(n=is(n),At(n,212)||At(n,169))return null;throw nt(n)}}function fbn(t,e){Hr(t);try{return t.Bc(e)}catch(n){if(n=is(n),At(n,212)||At(n,169))return null;throw nt(n)}}function J_(t,e){switch(e.g){case 2:case 1:return fc(t,e);case 3:case 4:return Oh(fc(t,e))}return wn(),wn(),so}function Z_(t){var e;return t.Db&64?qf(t):(e=new Jh(qf(t)),e.a+=" (name: ",Lo(e,t.zb),e.a+=")",e.a)}function dbn(t){var e;return e=u(ed(t.c.c,""),233),e||(e=new X6(fE(hE(new lb,""),"Other")),Dp(t.c.c,"",e)),e}function a5t(t,e,n){var r,s;return s=t.sb,t.sb=e,t.Db&4&&!(t.Db&1)&&(r=new la(t,1,4,s,e),n?n.nj(r):n=r),n}function o5t(t,e,n){var r,s;return s=t.r,t.r=e,t.Db&4&&!(t.Db&1)&&(r=new la(t,1,8,s,t.r),n?n.nj(r):n=r),n}function gbn(t,e,n){var r,s;return r=new xg(t.e,4,13,(s=e.c,s||(bn(),yd)),null,Ip(t,e),!1),n?n.nj(r):n=r,n}function pbn(t,e,n){var r,s;return r=new xg(t.e,3,13,null,(s=e.c,s||(bn(),yd)),Ip(t,e),!1),n?n.nj(r):n=r,n}function Sp(t,e){var n,r;return n=u(e,691),r=n.el(),!r&&n.fl(r=At(e,90)?new KXt(t,u(e,29)):new bre(t,u(e,156))),r}function aO(t,e,n){var r;t._i(t.i+1),r=t.Zi(e,n),e!=t.i&&Wc(t.g,e,t.g,e+1,t.i-e),hs(t.g,e,r),++t.i,t.Mi(e,n),t.Ni()}function bbn(t,e){var n;return e.a&&(n=e.a.a.length,t.a?ni(t.a,t.b):t.a=new Jl(t.d),Ere(t.a,e.a,e.d.length,n)),t}function wbn(t,e){var n;t.c=e,t.a=k2n(e),t.a<54&&(t.f=(n=e.d>1?xre(e.a[0],e.a[1]):xre(e.a[0],0),W2(e.e>0?n:Ep(n))))}function oO(t,e){var n;return n=new Qe,t.a.Bd(n)?(yE(),new znt(Wn(nae(t,n.a,e)))):(_b(t),yE(),yE(),p9t)}function bue(t,e){var n;t.c.length!=0&&(n=u(id(t,Vt(z0,Bp,10,t.c.length,0,1)),199),cmt(n,new I8),l1e(n,e))}function wue(t,e){var n;t.c.length!=0&&(n=u(id(t,Vt(z0,Bp,10,t.c.length,0,1)),199),cmt(n,new m0),l1e(n,e))}function Ci(t,e){return pa(t)?hn(t,e):Cy(t)?hZt(t,e):Ty(t)?(Wn(t),$t(t)===$t(e)):eyt(t)?t.Fb(e):Wvt(t)?uQt(t,e):Wyt(t,e)}function Dh(t,e,n){if(e<0)f6t(t,n);else{if(!n.rk())throw nt(new zn(Kb+n.xe()+XS));u(n,69).wk().Ek(t,t.hi(),e)}}function mue(t,e,n){if(t<0||e>n)throw nt(new No(yV+t+h8t+e+", size: "+n));if(t>e)throw nt(new zn(yV+t+ube+e))}function vue(t){var e;return t.Db&64?qf(t):(e=new Jh(qf(t)),e.a+=" (source: ",Lo(e,t.d),e.a+=")",e.a)}function yue(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function mbn(t){pV();var e,n,r,s;for(n=Wat(),r=0,s=n.length;r=0?Fb(t):__(Fb(Ep(t))))}function Eue(t,e,n,r,s,o){this.e=new ge,this.f=(xo(),OA),pe(this.e,t),this.d=e,this.a=n,this.b=r,this.f=s,this.c=o}function xbn(t,e,n){t.n=$2(b2,[le,tut],[376,28],14,[n,Xs(b.Math.ceil(e/32))],2),t.o=e,t.p=n,t.j=e-1>>1,t.k=n-1>>1}function Tue(t){return t-=t>>1&1431655765,t=(t>>2&858993459)+(t&858993459),t=(t>>4)+t&252645135,t+=t>>8,t+=t>>16,t&63}function Cue(t,e){var n,r;for(r=new Zn(t);r.e!=r.i.gc();)if(n=u(sr(r),142),$t(e)===$t(n))return!0;return!1}function kbn(t,e,n){var r,s,o;return o=(s=D7(t.b,e),s),o&&(r=u(lV(RI(t,o),""),29),r)?P6t(t,r,e,n):null}function Mat(t,e,n){var r,s,o;return o=(s=D7(t.b,e),s),o&&(r=u(lV(RI(t,o),""),29),r)?N6t(t,r,e,n):null}function Ebn(t,e){var n;if(n=Z4(t.i,e),n==null)throw nt(new Pd("Node did not exist in input."));return _4t(e,n),null}function Tbn(t,e){var n;if(n=NO(t,e),At(n,331))return u(n,35);throw nt(new zn(Kb+e+"' is not a valid attribute"))}function eS(t,e,n){var r;if(r=t.gc(),e>r)throw nt(new My(e,r));if(t.Si()&&t.Hc(n))throw nt(new zn(kP));t.Gi(e,n)}function Cbn(t,e){e.Ug("Sort end labels",1),xs(Ai(lc(new ln(null,new gn(t.b,16)),new _B),new Gx),new tQ),e.Vg()}function Rs(){Rs=V,wd=new GD(FS,0),Jo=new GD(Ck,1),Ho=new GD(Tk,2),bd=new GD(dut,3),qh=new GD("UP",4)}function uO(){uO=V,gK=new Prt("P1_STRUCTURE",0),pK=new Prt("P2_PROCESSING_ORDER",1),bK=new Prt("P3_EXECUTION",2)}function _ue(){_ue=V,Qke=Ud(Ud(GC(Ud(Ud(GC(ri(new Fs,(dk(),RA),(kS(),C1t)),jA),WAt),XAt),$A),VAt),QAt)}function _bn(t){switch(u(K(t,(ae(),kw)),311).g){case 1:Zt(t,kw,(kg(),jk));break;case 2:Zt(t,kw,(kg(),$5))}}function Sbn(t){switch(t){case 0:return new pKt;case 1:return new dKt;case 2:return new gKt;default:throw nt(new TD)}}function Sue(t){switch(t.g){case 2:return Jo;case 1:return Ho;case 4:return bd;case 3:return qh;default:return wd}}function h5t(t,e){switch(t.b.g){case 0:case 1:return e;case 2:case 3:return new Th(e.d,0,e.a,e.b);default:return null}}function f5t(t){switch(t.g){case 1:return Gn;case 2:return Hn;case 3:return Jn;case 4:return vr;default:return gc}}function lO(t){switch(t.g){case 1:return vr;case 2:return Gn;case 3:return Hn;case 4:return Jn;default:return gc}}function aH(t){switch(t.g){case 1:return Jn;case 2:return vr;case 3:return Gn;case 4:return Hn;default:return gc}}function d5t(t,e,n,r){switch(e){case 1:return!t.n&&(t.n=new Jt(Oo,t,1,7)),t.n;case 2:return t.k}return sxt(t,e,n,r)}function nS(t,e,n){var r,s;return t.Pj()?(s=t.Qj(),r=Bot(t,e,n),t.Jj(t.Ij(7,fe(n),r,e,s)),r):Bot(t,e,n)}function Dat(t,e){var n,r,s;t.d==null?(++t.e,--t.f):(s=e.ld(),n=e.Bi(),r=(n&ki)%t.d.length,fdn(t,r,Q1e(t,r,n,s)))}function p7(t,e){var n;n=(t.Bb&Uf)!=0,e?t.Bb|=Uf:t.Bb&=-1025,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,10,n,e))}function b7(t,e){var n;n=(t.Bb&u3)!=0,e?t.Bb|=u3:t.Bb&=-4097,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,12,n,e))}function w7(t,e){var n;n=(t.Bb&al)!=0,e?t.Bb|=al:t.Bb&=-8193,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,15,n,e))}function m7(t,e){var n;n=(t.Bb&b3)!=0,e?t.Bb|=b3:t.Bb&=-2049,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,11,n,e))}function Abn(t){var e;t.g&&(e=t.c.kg()?t.f:t.a,W6t(e.a,t.o,!0),W6t(e.a,t.o,!1),Zt(t.o,(Me(),ms),(xa(),Nw)))}function Lbn(t){var e;if(!t.a)throw nt(new Fo("Cannot offset an unassigned cut."));e=t.c-t.b,t.b+=e,Jee(t,e),Qee(t,e)}function Mbn(t,e){var n;if(n=tr(t.k,e),n==null)throw nt(new Pd("Port did not exist in input."));return _4t(e,n),null}function Dbn(t){var e,n;for(n=W1e(nh(t)).Kc();n.Ob();)if(e=Gr(n.Pb()),ES(t,e))return I1n((LYt(),X7e),e);return null}function Aue(t){var e,n;for(n=t.p.a.ec().Kc();n.Ob();)if(e=u(n.Pb(),218),e.f&&t.b[e.c]<-1e-10)return e;return null}function Ibn(t){var e,n;for(n=Cb(new pb,91),e=!0;t.Ob();)e||(n.a+=ro),e=!1,Zc(n,t.Pb());return(n.a+="]",n).a}function Obn(t){var e,n,r;for(e=new ge,r=new J(t.b);r.ae?1:t==e?t==0?ji(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function Nbn(t){var e;return e=t.a[t.c-1&t.a.length-1],e==null?null:(t.c=t.c-1&t.a.length-1,hs(t.a,t.c,null),e)}function Fbn(t){var e,n,r;for(r=0,n=t.length,e=0;e=1?Jo:bd):n}function $bn(t){switch(u(K(t,(Me(),Rg)),223).g){case 1:return new vJ;case 3:return new TJ;default:return new mJ}}function Nb(t){if(t.c)Nb(t.c);else if(t.d)throw nt(new Fo("Stream already terminated, can't be modified or used"))}function Gm(t,e,n){var r;return r=t.a.get(e),t.a.set(e,n===void 0?null:n),r===void 0?(++t.c,++t.b.g):++t.d,r}function zbn(t,e,n){var r,s;for(s=t.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),10),QI(n,u(Oe(e,r.p),16)))return r;return null}function p5t(t,e,n){var r;return r=0,e&&(j4(t.a)?r+=e.f.a/2:r+=e.f.b/2),n&&(j4(t.a)?r+=n.f.a/2:r+=n.f.b/2),r}function qbn(t,e,n){var r;r=n,!r&&(r=Fvt(new E6,0)),r.Ug(zbe,2),Ole(t.b,e,r.eh(1)),rTn(t,e,r.eh(1)),aCn(e,r.eh(1)),r.Vg()}function b5t(t,e,n){var r,s;return r=(wb(),s=new sC,s),Oq(r,e),Iq(r,n),t&&Mr((!t.a&&(t.a=new Ns(bh,t,5)),t.a),r),r}function Oat(t){var e;return t.Db&64?qf(t):(e=new Jh(qf(t)),e.a+=" (identifier: ",Lo(e,t.k),e.a+=")",e.a)}function Pat(t,e){var n;n=(t.Bb&Pc)!=0,e?t.Bb|=Pc:t.Bb&=-32769,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,18,n,e))}function w5t(t,e){var n;n=(t.Bb&Pc)!=0,e?t.Bb|=Pc:t.Bb&=-32769,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,18,n,e))}function v7(t,e){var n;n=(t.Bb&Wd)!=0,e?t.Bb|=Wd:t.Bb&=-16385,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,16,n,e))}function m5t(t,e){var n;n=(t.Bb&fo)!=0,e?t.Bb|=fo:t.Bb&=-65537,t.Db&4&&!(t.Db&1)&&Ti(t,new jf(t,1,20,n,e))}function v5t(t){var e;return e=Vt(Uh,Yd,28,2,15,1),t-=fo,e[0]=(t>>10)+nP&js,e[1]=(t&1023)+56320&js,nf(e,0,e.length)}function Hbn(t){var e;return e=Jy(t),e>34028234663852886e22?ns:e<-34028234663852886e22?Vs:e}function Xa(t,e){var n;return Zo(t)&&Zo(e)&&(n=t+e,eP"+K2(e.c):"e_"+Hi(e),t.b&&t.c?K2(t.b)+"->"+K2(t.c):"e_"+Hi(t))}function Gbn(t,e){return hn(e.b&&e.c?K2(e.b)+"->"+K2(e.c):"e_"+Hi(e),t.b&&t.c?K2(t.b)+"->"+K2(t.c):"e_"+Hi(t))}function Km(t,e){return K1(),$f(qb),b.Math.abs(t-e)<=qb||t==e||isNaN(t)&&isNaN(e)?0:te?1:vm(isNaN(t),isNaN(e))}function _g(){_g=V,Fdt=new $$(FS,0),_N=new $$("POLYLINE",1),UT=new $$("ORTHOGONAL",2),Jk=new $$("SPLINES",3)}function cH(){cH=V,WLt=new Irt("ASPECT_RATIO_DRIVEN",0),rdt=new Irt("MAX_SCALE_DRIVEN",1),KLt=new Irt("AREA_DRIVEN",2)}function Kbn(t,e,n){var r;try{bpn(t,e,n)}catch(s){throw s=is(s),At(s,606)?(r=s,nt(new v3t(r))):nt(s)}return e}function Wbn(t){var e,n,r;for(n=0,r=t.length;ne&&r.Ne(t[o-1],t[o])>0;--o)h=t[o],hs(t,o,t[o-1]),hs(t,o-1,h)}function Xe(t,e){var n,r,s,o,h;if(n=e.f,Dp(t.c.d,n,e),e.g!=null)for(s=e.g,o=0,h=s.length;oe){_re(n);break}}bI(n,e)}function Jbn(t,e){var n,r,s;r=Y4(e),s=Rt(Ht(Wy(r,(Me(),Yf)))),n=b.Math.max(0,s/2-.5),hS(e,n,1),pe(t,new UYt(e,n))}function Zbn(t,e,n){var r;n.Ug("Straight Line Edge Routing",1),n.dh(e,v7t),r=u(ne(e,(G4(),J5)),27),pge(t,r),n.dh(e,ZV)}function y5t(t,e){t.n.c.length==0&&pe(t.n,new eq(t.s,t.t,t.i)),pe(t.b,e),txt(u(Oe(t.n,t.n.c.length-1),209),e),Q0e(t,e)}function rS(t){var e;this.a=(e=u(t.e&&t.e(),9),new Eh(e,u(Ff(e,e.length),9),0)),this.b=Vt(sa,Ln,1,this.a.a.length,5,1)}function ec(t){var e;return Array.isArray(t)&&t.Tm===Et?R2(Gl(t))+"@"+(e=Hi(t)>>>0,e.toString(16)):t.toString()}function t2n(t,e){return t.h==tP&&t.m==0&&t.l==0?(e&&(Wb=ku(0,0,0)),hQt((UE(),WTt))):(e&&(Wb=ku(t.l,t.m,t.h)),ku(0,0,0))}function e2n(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function Iue(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function x5t(t,e,n,r){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return d5t(t,e,n,r)}function uH(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw nt(new zn("Node "+e+" not part of edge "+t))}function n2n(t,e){var n;if(n=NO(t.Dh(),e),At(n,102))return u(n,19);throw nt(new zn(Kb+e+"' is not a valid reference"))}function Ih(t,e,n,r){if(e<0)j6t(t,n,r);else{if(!n.rk())throw nt(new zn(Kb+n.xe()+XS));u(n,69).wk().Ck(t,t.hi(),e,r)}}function Ll(t){var e;if(t.b){if(Ll(t.b),t.b.d!=t.c)throw nt(new yh)}else t.d.dc()&&(e=u(t.f.c.xc(t.e),16),e&&(t.d=e))}function r2n(t){Ay();var e,n,r,s;for(e=t.o.b,r=u(u(Mi(t.r,(ve(),vr)),21),87).Kc();r.Ob();)n=u(r.Pb(),117),s=n.e,s.b+=e}function i2n(t){var e,n,r;for(this.a=new Bd,r=new J(t);r.a=s)return e.c+n;return e.c+e.b.gc()}function a2n(t,e){TE();var n,r,s,o;for(r=Vse(t),s=e,HE(r,0,r.length,s),n=0;n0&&(r+=s,++n);return n>1&&(r+=t.d*(n-1)),r}function c2n(t){var e,n,r,s,o;return o=jxt(t),n=AD(t.c),r=!n,r&&(s=new lg,C1(o,"knownLayouters",s),e=new kGt(s),Oa(t.c,e)),o}function T5t(t){var e,n,r;for(r=new hp,r.a+="[",e=0,n=t.gc();e0&&(qn(e-1,t.length),t.charCodeAt(e-1)==58)&&!Bat(t,pL,bL))}function C5t(t,e){var n;return $t(t)===$t(e)?!0:At(e,92)?(n=u(e,92),t.e==n.e&&t.d==n.d&&N1n(t,n.a)):!1}function ck(t){switch(ve(),t.g){case 4:return Hn;case 1:return Jn;case 3:return vr;case 2:return Gn;default:return gc}}function f2n(t){var e,n;if(t.b)return t.b;for(n=hd?null:t.d;n;){if(e=hd?null:n.b,e)return e;n=hd?null:n.d}return mE(),m9t}function _5t(t){var e,n,r;for(r=Rt(Ht(t.a.of((si(),TK)))),n=new J(t.a.Sf());n.a>5,e=t&31,r=Vt(Or,ii,28,n+1,15,1),r[n]=1<3;)s*=10,--o;t=(t+(s>>1))/s|0}return r.i=t,!0}function ss(t,e){var n,r,s;if(n=(t.i==null&&Kd(t),t.i),r=e.Lj(),r!=-1){for(s=n.length;r=0;--r)for(e=n[r],s=0;s>1,this.k=e-1>>1}function S2n(t){vq(),u(t.of((si(),s2)),181).Hc((Dl(),DK))&&(u(t.of(j3),181).Fc((wl(),Zk)),u(t.of(s2),181).Mc(DK))}function jue(t){var e,n;e=t.d==(gk(),vT),n=Lxt(t),e&&!n||!e&&n?Zt(t.a,(Me(),s0),(L0(),mN)):Zt(t.a,(Me(),s0),(L0(),wN))}function $at(){$at=V,y$(),VG=(Me(),Sv),u6e=J1(ot(st(mdt,1),a7t,149,0,[tN,Yf,G5,_v,O3,n1t,OT,PT,r1t,LA,U5,Lw,K5]))}function A2n(t,e){var n;return n=u(tc(t,gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),n.Qc(ate(n.gc()))}function $ue(t,e){var n,r;if(r=new b1(t.a.ad(e,!0)),r.a.gc()<=1)throw nt(new y6);return n=r.a.ec().Kc(),n.Pb(),u(n.Pb(),39)}function L2n(t,e,n){var r,s;return r=Rt(t.p[e.i.p])+Rt(t.d[e.i.p])+e.n.b+e.a.b,s=Rt(t.p[n.i.p])+Rt(t.d[n.i.p])+n.n.b+n.a.b,s-r}function O5t(t,e){var n;return t.i>0&&(e.lengtht.i&&hs(e,t.i,null),e}function hH(t){var e;return t.Db&64?Z_(t):(e=new Jh(Z_(t)),e.a+=" (instanceClassName: ",Lo(e,t.D),e.a+=")",e.a)}function fH(t){var e,n,r,s;for(s=0,n=0,r=t.length;n0?(t._j(),r=e==null?0:Hi(e),s=(r&ki)%t.d.length,n=Q1e(t,s,r,e),n!=-1):!1}function zue(t,e){var n,r;t.a=Xa(t.a,1),t.c=b.Math.min(t.c,e),t.b=b.Math.max(t.b,e),t.d+=e,n=e-t.f,r=t.e+n,t.f=r-t.e-n,t.e=r}function P5t(t,e){switch(e){case 3:$m(t,0);return;case 4:zm(t,0);return;case 5:Cu(t,0);return;case 6:_u(t,0);return}i5t(t,e)}function Wm(t,e){switch(e.g){case 1:return $6(t.j,(nl(),yCt));case 2:return $6(t.j,(nl(),kCt));default:return wn(),wn(),so}}function N5t(t){Lm();var e;switch(e=t.Pc(),e.length){case 0:return pht;case 1:return new yit(Hr(e[0]));default:return new est(Wbn(e))}}function que(t,e){t.Xj();try{t.d.bd(t.e++,e),t.f=t.d.j,t.g=-1}catch(n){throw n=is(n),At(n,77)?nt(new yh):nt(n)}}function qat(){qat=V,Qdt=new eD,MIt=new nD,DIt=new o6,IIt=new Ktt,OIt=new Wtt,PIt=new Ytt,NIt=new Xtt,FIt=new gy,BIt=new KR}function dH(t,e){imt();var n,r;return n=sI((a$(),a$(),cA)),r=null,e==n&&(r=u(eu(GTt,t),624)),r||(r=new oee(t),e==n&&Bo(GTt,t,r)),r}function Hue(t){Yy();var e;return(t.q?t.q:(wn(),wn(),j0))._b((Me(),Tv))?e=u(K(t,Tv),203):e=u(K(Ia(t),AA),203),e}function Wy(t,e){var n,r;return r=null,Ui(t,(Me(),qG))&&(n=u(K(t,qG),96),n.pf(e)&&(r=n.of(e))),r==null&&(r=K(Ia(t),e)),r}function Vue(t,e){var n,r,s;return At(e,44)?(n=u(e,44),r=n.ld(),s=Gy(t.Rc(),r),zd(s,n.md())&&(s!=null||t.Rc()._b(r))):!1}function S1(t,e){var n,r,s;return t.f>0&&(t._j(),r=e==null?0:Hi(e),s=(r&ki)%t.d.length,n=v6t(t,s,r,e),n)?n.md():null}function mu(t,e,n){var r,s,o;return t.Pj()?(r=t.i,o=t.Qj(),aO(t,r,e),s=t.Ij(3,null,e,r,o),n?n.nj(s):n=s):aO(t,t.i,e),n}function D2n(t,e,n){var r,s;return r=new xg(t.e,4,10,(s=e.c,At(s,90)?u(s,29):(bn(),mf)),null,Ip(t,e),!1),n?n.nj(r):n=r,n}function I2n(t,e,n){var r,s;return r=new xg(t.e,3,10,null,(s=e.c,At(s,90)?u(s,29):(bn(),mf)),Ip(t,e),!1),n?n.nj(r):n=r,n}function Uue(t){Ay();var e;return e=new eo(u(t.e.of((si(),ox)),8)),t.B.Hc((Dl(),KT))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function Fb(t){Gd();var e,n;return n=qr(t),e=qr(Eb(t,32)),e!=0?new Zne(n,e):n>10||n<0?new vg(1,n):Ive[n]}function fO(t,e){var n;return Zo(t)&&Zo(e)&&(n=t%e,eP=0?o=o.a[1]:(s=o,o=o.a[0])}return s}function gO(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.Ne(e,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(s=o,o=o.a[1])}return s}function R2n(t,e,n,r){var s,o,h;return s=!1,zTn(t.f,n,r)&&(awn(t.f,t.a[e][n],t.a[e][r]),o=t.a[e],h=o[r],o[r]=o[n],o[n]=h,s=!0),s}function Yue(t,e,n){var r,s,o,h;for(s=u(tr(t.b,n),183),r=0,h=new J(e.j);h.a>5,e&=31,s=t.d+n+(e==0?0:1),r=Vt(Or,ii,28,s,15,1),Fyn(r,t.a,n,e),o=new H2(t.e,s,r),I_(o),o}function j2n(t,e){var n,r,s;for(r=new nr(ir(As(t).a.Kc(),new q));Sr(r);)if(n=u(lr(r),18),s=n.d.i,s.c==e)return!1;return!0}function R5t(t,e,n){var r,s,o,h,d;return h=t.k,d=e.k,r=n[h.g][d.g],s=Ht(Wy(t,r)),o=Ht(Wy(e,r)),b.Math.max((Wn(s),s),(Wn(o),o))}function $2n(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function z2n(t,e){return K1(),K1(),$f(qb),(b.Math.abs(t-e)<=qb||t==e||isNaN(t)&&isNaN(e)?0:te?1:vm(isNaN(t),isNaN(e)))>0}function j5t(t,e){return K1(),K1(),$f(qb),(b.Math.abs(t-e)<=qb||t==e||isNaN(t)&&isNaN(e)?0:te?1:vm(isNaN(t),isNaN(e)))<0}function Que(t,e){return K1(),K1(),$f(qb),(b.Math.abs(t-e)<=qb||t==e||isNaN(t)&&isNaN(e)?0:te?1:vm(isNaN(t),isNaN(e)))<=0}function Vat(t,e){for(var n=0;!e[n]||e[n]=="";)n++;for(var r=e[n++];n0&&this.b>0&&(this.g=Cz(this.c,this.b,this.a))}function q2n(t,e){var n=t.a,r;e=String(e),n.hasOwnProperty(e)&&(r=n[e]);var s=(fat(),xht)[typeof r],o=s?s(r):Z4t(typeof r);return o}function x7(t){var e,n,r;if(r=null,e=n0 in t.a,n=!e,n)throw nt(new Pd("Every element must have an id."));return r=pk(bg(t,n0)),r}function Ym(t){var e,n;for(n=Efe(t),e=null;t.c==2;)vi(t),e||(e=(xi(),xi(),new l_(2)),cw(e,n),n=e),n.Jm(Efe(t));return n}function pH(t,e){var n,r,s;return t._j(),r=e==null?0:Hi(e),s=(r&ki)%t.d.length,n=v6t(t,s,r,e),n?(soe(t,n),n.md()):null}function ile(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+b.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function H2n(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw nt(new zn("Input edge is not connected to the input port."))}function V2n(t){if(wH(aT,t))return Nn(),dT;if(wH(Dlt,t))return Nn(),Yb;throw nt(new zn("Expecting true or false"))}function q5t(t){switch(typeof t){case _ct:return Cp(t);case Xkt:return O6(t);case vk:return jJt(t);default:return t==null?0:km(t)}}function Ud(t,e){if(t.a<0)throw nt(new Fo("Did not call before(...) or after(...) before calling add(...)."));return Fmt(t,t.a,e),t}function H5t(t){return nq(),At(t,162)?u(tr(RN,Bve),294).Rg(t):Eu(RN,Gl(t))?u(tr(RN,Gl(t)),294).Rg(t):null}function Su(t){var e,n;return t.Db&32||(n=(e=u($n(t,16),29),ur(e||t.ii())-ur(t.ii())),n!=0&&uk(t,32,Vt(sa,Ln,1,n,5,1))),t}function uk(t,e,n){var r;t.Db&e?n==null?S5n(t,e):(r=hot(t,e),r==-1?t.Eb=n:hs(X2(t.Eb),r,n)):n!=null&&X6n(t,e,n)}function U2n(t,e,n,r){var s,o;e.c.length!=0&&(s=$xn(n,r),o=z4n(e),xs(Mq(new ln(null,new gn(o,1)),new pZ),new Fee(t,n,s,r)))}function G2n(t,e){var n,r,s,o;return r=t.a.length-1,n=e-t.b&r,o=t.c-e&r,s=t.c-t.b&r,PJt(n=o?(Vpn(t,e),-1):(Hpn(t,e),1)}function bH(t){var e,n,r;if(r=t.Jh(),!r)for(e=0,n=t.Ph();n;n=n.Ph()){if(++e>eut)return n.Qh();if(r=n.Jh(),r||n==t)break}return r}function ale(t,e){var n;return $t(e)===$t(t)?!0:!At(e,21)||(n=u(e,21),n.gc()!=t.gc())?!1:t.Ic(n)}function K2n(t,e){return t.ee.e?1:t.fe.f?1:Hi(t)-Hi(e)}function wH(t,e){return Wn(t),e==null?!1:hn(t,e)?!0:t.length==e.length&&hn(t.toLowerCase(),e.toLowerCase())}function Ag(t){var e,n;return Rc(t,-129)>0&&Rc(t,128)<0?(lte(),e=qr(t)+128,n=e9t[e],!n&&(n=e9t[e]=new Ar(t)),n):new Ar(t)}function iw(){iw=V,x3=new I$(Zd,0),pCt=new I$("INSIDE_PORT_SIDE_GROUPS",1),eft=new I$("GROUP_MODEL_ORDER",2),nft=new I$(j8t,3)}function W2n(t){var e;return t.b||znn(t,(e=$sn(t.e,t.a),!e||!hn(Dlt,S1((!e.b&&(e.b=new Hl((bn(),po),Sc,e)),e.b),"qualified")))),t.c}function Y2n(t,e){var n,r;for(n=(qn(e,t.length),t.charCodeAt(e)),r=e+1;r2e3&&(kve=t,SU=b.setTimeout(Gnn,10))),_U++==0?(c0n((X2t(),UTt)),!0):!1}function uwn(t,e,n){var r;(Vve?(f2n(t),!0):Uve||Kve?(mE(),!0):Gve&&(mE(),!1))&&(r=new EZt(e),r.b=n,w3n(t,r))}function Gat(t,e){var n;n=!t.A.Hc((Kl(),Fw))||t.q==(xa(),lu),t.u.Hc((wl(),$g))?n?J9n(t,e):npe(t,e):t.u.Hc(u2)&&(n?m9n(t,e):wpe(t,e))}function fle(t){var e;$t(ne(t,(si(),sx)))===$t((Cg(),SK))&&(es(t)?(e=u(ne(es(t),sx),346),Oi(t,sx,e)):Oi(t,sx,aL))}function lwn(t){var e,n;return Ui(t.d.i,(Me(),MT))?(e=u(K(t.c.i,MT),17),n=u(K(t.d.i,MT),17),Bc(e.a,n.a)>0):!1}function dle(t,e,n){return new Th(b.Math.min(t.a,e.a)-n/2,b.Math.min(t.b,e.b)-n/2,b.Math.abs(t.a-e.a)+n,b.Math.abs(t.b-e.b)+n)}function gle(t){var e;this.d=new ge,this.j=new Ea,this.g=new Ea,e=t.g.b,this.f=u(K(Ia(e),(Me(),fh)),88),this.e=Rt(Ht(xH(e,O3)))}function ple(t){this.d=new ge,this.e=new yp,this.c=Vt(Or,ii,28,(ve(),ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn])).length,15,1),this.b=t}function G5t(t,e,n){var r;switch(r=n[t.g][e],t.g){case 1:case 3:return new se(0,r);case 2:case 4:return new se(r,0);default:return null}}function ble(t,e,n){var r,s;s=u(xI(e.f),205);try{s.rf(t,n),xee(e.f,s)}catch(o){throw o=is(o),At(o,103)?(r=o,nt(r)):nt(o)}}function wle(t,e,n){var r,s,o,h,d,m;return r=null,d=Fkt(JE(),e),o=null,d&&(s=null,m=Pkt(d,n),h=null,m!=null&&(h=t.qf(d,m)),s=h,o=s),r=o,r}function Kat(t,e,n,r){var s;if(s=t.length,e>=s)return s;for(e=e>0?e:0;er&&hs(e,r,null),e}function mle(t,e){var n,r;for(r=t.a.length,e.lengthr&&hs(e,r,null),e}function k7(t,e){var n,r;if(++t.j,e!=null&&(n=(r=t.a.Cb,At(r,99)?u(r,99).th():null),p5n(e,n))){uk(t.a,4,n);return}uk(t.a,4,u(e,129))}function hwn(t){var e;if(t==null)return null;if(e=bxn(iu(t,!0)),e==null)throw nt(new Gnt("Invalid hexBinary value: '"+t+"'"));return e}function mH(t,e,n){var r;e.a.length>0&&(pe(t.b,new jZt(e.a,n)),r=e.a.length,0r&&(e.a+=zQt(Vt(Uh,Yd,28,-r,15,1))))}function vle(t,e,n){var r,s,o;if(!n[e.d])for(n[e.d]=!0,s=new J(n5(e));s.a=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n=0?t.Wh(s):Fot(t,r)):n<0?Fot(t,r):u(r,69).wk().Bk(t,t.hi(),n)}function Ele(t){var e,n,r;for(r=(!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),t.o),n=r.c.Kc();n.e!=n.i.gc();)e=u(n.Yj(),44),e.md();return II(r)}function _e(t){var e;if(At(t.a,4)){if(e=H5t(t.a),e==null)throw nt(new Fo(G2e+t.b+"'. "+U2e+(gg(jN),jN.k)+Q7t));return e}else return t.a}function vwn(t,e){var n,r;if(t.j.length!=e.j.length)return!1;for(n=0,r=t.j.length;n=64&&e<128&&(s=k1(s,Rf(1,e-64)));return s}function xH(t,e){var n,r;return r=null,Ui(t,(si(),Xk))&&(n=u(K(t,Xk),96),n.pf(e)&&(r=n.of(e))),r==null&&Ia(t)&&(r=K(Ia(t),e)),r}function ywn(t,e){var n;return n=u(K(t,(Me(),qo)),75),Krt(e,U3e)?n?Zl(n):(n=new Xu,Zt(t,qo,n)):n&&Zt(t,qo,null),n}function aS(){aS=V,Y9t=(si(),SDt),qht=oDt,Vye=nx,W9t=Kp,Wye=(OH(),S9t),Kye=C9t,Yye=L9t,Gye=T9t,Uye=(Eat(),U9t),zht=zye,K9t=qye,RU=Hye}function kH(t){switch(vwt(),this.c=new ge,this.d=t,t.g){case 0:case 2:this.a=Syt(gCt),this.b=ns;break;case 3:case 1:this.a=gCt,this.b=Vs}}function xwn(t){var e;j6(u(K(t,(Me(),ms)),101))&&(e=t.b,f1e((mn(0,e.c.length),u(e.c[0],30))),f1e(u(Oe(e,e.c.length-1),30)))}function kwn(t,e){e.Ug("Self-Loop post-processing",1),xs(Ai(Ai(lc(new ln(null,new gn(t.b,16)),new OQ),new PQ),new jB),new NQ),e.Vg()}function Tle(t,e,n){var r,s;if(t.c)Cu(t.c,t.c.i+e),_u(t.c,t.c.j+n);else for(s=new J(t.b);s.a=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t)}t.C&&(n.b=t.C.b,n.c=t.C.c)}function oS(){oS=V,wAt=new $D(o7t,0),f1t=new $D(Put,1),d1t=new $D("LINEAR_SEGMENTS",2),DA=new $D("BRANDES_KOEPF",3),IA=new $D(y2e,4)}function cS(){cS=V,BP=new M$(kV,0),FU=new M$(gut,1),BU=new M$(put,2),RP=new M$(but,3),BP.a=!1,FU.a=!0,BU.a=!1,RP.a=!0}function lk(){lk=V,PP=new L$(kV,0),OP=new L$(gut,1),NP=new L$(put,2),FP=new L$(but,3),PP.a=!1,OP.a=!0,NP.a=!1,FP.a=!0}function hk(t,e,n,r){var s;return n>=0?t.Sh(e,n,r):(t.Ph()&&(r=(s=t.Fh(),s>=0?t.Ah(r):t.Ph().Th(t,-1-s,null,r))),t.Ch(e,n,r))}function K5t(t,e){switch(e){case 7:!t.e&&(t.e=new En(Cs,t,7,4)),Lr(t.e);return;case 8:!t.d&&(t.d=new En(Cs,t,8,5)),Lr(t.d);return}P5t(t,e)}function Oi(t,e,n){return n==null?(!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),pH(t.o,e)):(!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),yO(t.o,e,n)),t}function Ale(t,e){wn();var n,r,s,o;for(n=t,o=e,At(t,21)&&!At(e,21)&&(n=e,o=t),s=n.Kc();s.Ob();)if(r=s.Pb(),o.Hc(r))return!1;return!0}function Swn(t,e,n,r){if(e.an.b)return!0}return!1}function Jat(t,e){return pa(t)?!!pve[e]:t.Sm?!!t.Sm[e]:Cy(t)?!!gve[e]:Ty(t)?!!dve[e]:!1}function Awn(t){var e;e=t.a;do e=u(lr(new nr(ir(ca(e).a.Kc(),new q))),18).c.i,e.k==(Un(),ha)&&t.b.Fc(e);while(e.k==(Un(),ha));t.b=Oh(t.b)}function Lle(t,e){var n,r,s;for(s=t,r=new nr(ir(ca(e).a.Kc(),new q));Sr(r);)n=u(lr(r),18),n.c.i.c&&(s=b.Math.max(s,n.c.i.c.p));return s}function Lwn(t,e){var n,r,s;for(s=0,r=u(u(Mi(t.r,e),21),87).Kc();r.Ob();)n=u(r.Pb(),117),s+=n.d.d+n.b.Mf().b+n.d.a,r.Ob()&&(s+=t.w);return s}function Mwn(t,e){var n,r,s;for(s=0,r=u(u(Mi(t.r,e),21),87).Kc();r.Ob();)n=u(r.Pb(),117),s+=n.d.b+n.b.Mf().a+n.d.c,r.Ob()&&(s+=t.w);return s}function Mle(t){var e,n,r,s;if(r=0,s=n3(t),s.c.length==0)return 1;for(n=new J(s);n.a=0?t.Lh(h,n,!0):Zm(t,o,n)):u(o,69).wk().yk(t,t.hi(),s,n,r)}function Pwn(t,e,n,r){var s,o;o=e.pf((si(),ax))?u(e.of(ax),21):t.j,s=mbn(o),s!=(pV(),Bht)&&(n&&!$5t(s)||Jxt(wxn(t,s,r),e))}function Nwn(t){switch(t.g){case 1:return Um(),IP;case 3:return Um(),DP;case 2:return Um(),jht;case 4:return Um(),Rht;default:return null}}function Fwn(t,e,n){if(t.e)switch(t.b){case 1:_ln(t.c,e,n);break;case 0:Sln(t.c,e,n)}else Qre(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e}function Dle(t){var e,n;if(t==null)return null;for(n=Vt(z0,le,199,t.length,0,2),e=0;e=0)return s;if(t.ol()){for(r=0;r=s)throw nt(new My(e,s));if(t.Si()&&(r=t.dd(n),r>=0&&r!=e))throw nt(new zn(kP));return t.Xi(e,n)}function W5t(t,e){if(this.a=u(Hr(t),253),this.b=u(Hr(e),253),t.Ed(e)>0||t==(jnt(),dht)||e==($nt(),ght))throw nt(new zn("Invalid range: "+tie(t,e)))}function Ile(t){var e,n;for(this.b=new ge,this.c=t,this.a=!1,n=new J(t.a);n.a0),(e&-e)==e)return Xs(e*Ml(t,31)*4656612873077393e-25);do n=Ml(t,31),r=n%e;while(n-r+(e-1)<0);return Xs(r)}function qwn(t,e,n){switch(n.g){case 1:t.a=e.a/2,t.b=0;break;case 2:t.a=e.a,t.b=e.b/2;break;case 3:t.a=e.a/2,t.b=e.b;break;case 4:t.a=0,t.b=e.b/2}}function pO(t,e,n,r){var s,o;for(s=e;s1&&(o=Rwn(t,e)),o}function Nle(t){var e;return e=Rt(Ht(ne(t,(si(),CN))))*b.Math.sqrt((!t.a&&(t.a=new Jt(wi,t,10,11)),t.a).i),new se(e,e/Rt(Ht(ne(t,CK))))}function tot(t){var e;return t.f&&t.f.Vh()&&(e=u(t.f,54),t.f=u(Pb(t,e),84),t.f!=e&&t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,9,8,e,t.f))),t.f}function eot(t){var e;return t.i&&t.i.Vh()&&(e=u(t.i,54),t.i=u(Pb(t,e),84),t.i!=e&&t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,9,7,e,t.i))),t.i}function wo(t){var e;return t.b&&t.b.Db&64&&(e=t.b,t.b=u(Pb(t,e),19),t.b!=e&&t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,9,21,e,t.b))),t.b}function SH(t,e){var n,r,s;t.d==null?(++t.e,++t.f):(r=e.Bi(),h6n(t,t.f+1),s=(r&ki)%t.d.length,n=t.d[s],!n&&(n=t.d[s]=t.dk()),n.Fc(e),++t.f)}function Q5t(t,e,n){var r;return e.tk()?!1:e.Ik()!=-2?(r=e.ik(),r==null?n==null:Ci(r,n)):e.qk()==t.e.Dh()&&n==null}function AH(){var t;ih(16,Kpe),t=voe(16),this.b=Vt(bht,JO,302,t,0,1),this.c=Vt(bht,JO,302,t,0,1),this.a=null,this.e=null,this.i=0,this.f=t-1,this.g=0}function Lg(t){rvt.call(this),this.k=(Un(),Ts),this.j=(ih(6,c3),new bu(6)),this.b=(ih(2,c3),new bu(2)),this.d=new Pnt,this.f=new R2t,this.a=t}function Vwn(t){var e,n;t.c.length<=1||(e=$de(t,(ve(),vr)),_fe(t,u(e.a,17).a,u(e.b,17).a),n=$de(t,Gn),_fe(t,u(n.a,17).a,u(n.b,17).a))}function Uwn(t,e,n){var r,s;for(s=t.a.b,r=s.c.length;r102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function aot(t,e){if(t==null)throw nt(new C6("null key in entry: null="+e));if(e==null)throw nt(new C6("null value in entry: "+t+"=null"))}function Wwn(t,e){for(var n,r;t.Ob();)if(!e.Ob()||(n=t.Pb(),r=e.Pb(),!($t(n)===$t(r)||n!=null&&Ci(n,r))))return!1;return!e.Ob()}function Rle(t,e){var n;return n=ot(st(wa,1),Io,28,15,[Cat(t.a[0],e),Cat(t.a[1],e),Cat(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function jle(t,e){var n;return n=ot(st(wa,1),Io,28,15,[nH(t.a[0],e),nH(t.a[1],e),nH(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Z5t(t,e,n){j6(u(K(e,(Me(),ms)),101))||(d3t(t,e,Op(e,n)),d3t(t,e,Op(e,(ve(),vr))),d3t(t,e,Op(e,Hn)),wn(),Ms(e.j,new UVt(t)))}function $le(t){var e,n;for(t.c||dTn(t),n=new Xu,e=new J(t.a),et(e);e.a0&&(qn(0,e.length),e.charCodeAt(0)==43)?(qn(1,e.length+1),e.substr(1)):e))}function cmn(t){var e;return t==null?null:new xb((e=iu(t,!0),e.length>0&&(qn(0,e.length),e.charCodeAt(0)==43)?(qn(1,e.length+1),e.substr(1)):e))}function ext(t,e,n,r,s,o,h,d){var m,k;r&&(m=r.a[0],m&&ext(t,e,n,m,s,o,h,d),pot(t,n,r.d,s,o,h,d)&&e.Fc(r),k=r.a[1],k&&ext(t,e,n,k,s,o,h,d))}function a5(t,e,n){try{return mm(Xst(t,e,n),1)}catch(r){throw r=is(r),At(r,333)?nt(new No(wut+t.o+"*"+t.p+mut+e+ro+n+vut)):nt(r)}}function Ule(t,e,n){try{return mm(Xst(t,e,n),0)}catch(r){throw r=is(r),At(r,333)?nt(new No(wut+t.o+"*"+t.p+mut+e+ro+n+vut)):nt(r)}}function Gle(t,e,n){try{return mm(Xst(t,e,n),2)}catch(r){throw r=is(r),At(r,333)?nt(new No(wut+t.o+"*"+t.p+mut+e+ro+n+vut)):nt(r)}}function Kle(t,e){if(t.g==-1)throw nt(new Yu);t.Xj();try{t.d.hd(t.g,e),t.f=t.d.j}catch(n){throw n=is(n),At(n,77)?nt(new yh):nt(n)}}function umn(t){var e,n,r,s,o;for(r=new J(t.b);r.ao&&hs(e,o,null),e}function lmn(t,e){var n,r;if(r=t.gc(),e==null){for(n=0;n0&&(m+=s),k[T]=h,h+=d*(m+r)}function Yle(t){var e,n,r;for(r=t.f,t.n=Vt(wa,Io,28,r,15,1),t.d=Vt(wa,Io,28,r,15,1),e=0;e0?t.c:0),++s;t.b=r,t.d=o}function the(t,e){var n;return n=ot(st(wa,1),Io,28,15,[X5t(t,(_1(),Tc),e),X5t(t,yu,e),X5t(t,Cc,e)]),t.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function mmn(t,e,n){var r;try{rV(t,e+t.j,n+t.k,!1,!0)}catch(s){throw s=is(s),At(s,77)?(r=s,nt(new No(r.g+TV+e+ro+n+")."))):nt(s)}}function vmn(t,e,n){var r;try{rV(t,e+t.j,n+t.k,!0,!1)}catch(s){throw s=is(s),At(s,77)?(r=s,nt(new No(r.g+TV+e+ro+n+")."))):nt(s)}}function ehe(t){var e;Ui(t,(Me(),Ev))&&(e=u(K(t,Ev),21),e.Hc((e3(),Qf))?(e.Mc(Qf),e.Fc(Jf)):e.Hc(Jf)&&(e.Mc(Jf),e.Fc(Qf)))}function nhe(t){var e;Ui(t,(Me(),Ev))&&(e=u(K(t,Ev),21),e.Hc((e3(),t1))?(e.Mc(t1),e.Fc(df)):e.Hc(df)&&(e.Mc(df),e.Fc(t1)))}function fot(t,e,n,r){var s,o,h,d;return t.a==null&&x3n(t,e),h=e.b.j.c.length,o=n.d.p,d=r.d.p,s=d-1,s<0&&(s=h-1),o<=s?t.a[s]-t.a[o]:t.a[h-1]-t.a[o]+t.a[s]}function ymn(t){var e,n;if(!t.b)for(t.b=aq(u(t.f,27).kh().i),n=new Zn(u(t.f,27).kh());n.e!=n.i.gc();)e=u(sr(n),135),pe(t.b,new Hnt(e));return t.b}function xmn(t){var e,n;if(!t.e)for(t.e=aq(Vit(u(t.f,27)).i),n=new Zn(Vit(u(t.f,27)));n.e!=n.i.gc();)e=u(sr(n),123),pe(t.e,new YUt(e));return t.e}function rhe(t){var e,n;if(!t.a)for(t.a=aq(Kz(u(t.f,27)).i),n=new Zn(Kz(u(t.f,27)));n.e!=n.i.gc();)e=u(sr(n),27),pe(t.a,new Qrt(t,e));return t.a}function Qm(t){var e;if(!t.C&&(t.D!=null||t.B!=null))if(e=c9n(t),e)t.hl(e);else try{t.hl(null)}catch(n){if(n=is(n),!At(n,63))throw nt(n)}return t.C}function kmn(t){switch(t.q.g){case 5:She(t,(ve(),Hn)),She(t,vr);break;case 4:Mge(t,(ve(),Hn)),Mge(t,vr);break;default:Ife(t,(ve(),Hn)),Ife(t,vr)}}function Emn(t){switch(t.q.g){case 5:Ahe(t,(ve(),Jn)),Ahe(t,Gn);break;case 4:Dge(t,(ve(),Jn)),Dge(t,Gn);break;default:Ofe(t,(ve(),Jn)),Ofe(t,Gn)}}function o5(t,e){var n,r,s;for(s=new Ea,r=t.Kc();r.Ob();)n=u(r.Pb(),36),P7(n,s.a,0),s.a+=n.f.a+e,s.b=b.Math.max(s.b,n.f.b);return s.b>0&&(s.b+=e),s}function DH(t,e){var n,r,s;for(s=new Ea,r=t.Kc();r.Ob();)n=u(r.Pb(),36),P7(n,0,s.b),s.b+=n.f.b+e,s.a=b.Math.max(s.a,n.f.a);return s.a>0&&(s.a+=e),s}function ihe(t){var e,n,r;for(r=ki,n=new J(t.a);n.a>16==6?t.Cb.Th(t,5,P1,e):(r=wo(u(Tn((n=u($n(t,16),29),n||t.ii()),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function Tmn(t){BE();var e=t.e;if(e&&e.stack){var n=e.stack,r=e+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function Cmn(t){var e;return e=(coe(),Sve),e[t>>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[t&15]<<28}function ohe(t){var e,n,r;t.b==t.c&&(r=t.a.length,n=N4t(b.Math.max(8,r))<<1,t.b!=0?(e=Ff(t.a,n),Eoe(t,e,r),t.a=e,t.b=0):wy(t.a,n),t.c=r)}function _mn(t,e){var n;return n=t.b,n.pf((si(),Nl))?n.ag()==(ve(),Gn)?-n.Mf().a-Rt(Ht(n.of(Nl))):e+Rt(Ht(n.of(Nl))):n.ag()==(ve(),Gn)?-n.Mf().a:e}function wO(t){var e;return t.b.c.length!=0&&u(Oe(t.b,0),72).a?u(Oe(t.b,0),72).a:(e=Uit(t),e??""+(t.c?Wo(t.c.a,t,0):-1))}function IH(t){var e;return t.f.c.length!=0&&u(Oe(t.f,0),72).a?u(Oe(t.f,0),72).a:(e=Uit(t),e??""+(t.i?Wo(t.i.j,t,0):-1))}function Smn(t,e){var n,r;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),s=b.Math.max(s,e.d),++r;t.e=o,t.b=s}function Lmn(t){var e,n;if(!t.b)for(t.b=aq(u(t.f,123).kh().i),n=new Zn(u(t.f,123).kh());n.e!=n.i.gc();)e=u(sr(n),135),pe(t.b,new Hnt(e));return t.b}function Mmn(t,e){var n,r,s;if(e.dc())return TE(),TE(),$N;for(n=new VJt(t,e.gc()),s=new Zn(t);s.e!=s.i.gc();)r=sr(s),e.Hc(r)&&Mr(n,r);return n}function sxt(t,e,n,r){return e==0?r?(!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),t.o):(!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),II(t.o)):EH(t,e,n,r)}function got(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22),s+=r>>22,s<0)?!1:(t.l=n&Il,t.m=r&Il,t.h=s&Og,!0)}function pot(t,e,n,r,s,o,h){var d,m;return!(e.Te()&&(m=t.a.Ne(n,r),m<0||!s&&m==0)||e.Ue()&&(d=t.a.Ne(n,o),d>0||!h&&d==0))}function Pmn(t,e){h7();var n;if(n=t.j.g-e.j.g,n!=0)return 0;switch(t.j.g){case 2:return Nat(e,o_t)-Nat(t,o_t);case 4:return Nat(t,a_t)-Nat(e,a_t)}return 0}function Nmn(t){switch(t.g){case 0:return Cft;case 1:return _ft;case 2:return Sft;case 3:return Aft;case 4:return wG;case 5:return Lft;default:return null}}function $o(t,e,n){var r,s;return r=(s=new Bnt,rw(s,e),wu(s,n),Mr((!t.c&&(t.c=new Jt(Iv,t,12,10)),t.c),s),s),Tp(r,0),Hy(r,1),Lp(r,!0),Ap(r,!0),r}function fk(t,e){var n,r;if(e>=t.i)throw nt(new Rrt(e,t.i));return++t.j,n=t.g[e],r=t.i-e-1,r>0&&Wc(t.g,e+1,t.g,e,r),hs(t.g,--t.i,null),t.Qi(e,n),t.Ni(),n}function che(t,e){var n,r;return t.Db>>16==17?t.Cb.Th(t,21,pf,e):(r=wo(u(Tn((n=u($n(t,16),29),n||t.ii()),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function Fmn(t){var e,n,r,s;for(wn(),Ms(t.c,t.a),s=new J(t.c);s.an.a.c.length))throw nt(new zn("index must be >= 0 and <= layer node count"));t.c&&$u(t.c.a,t),t.c=n,n&&Cm(n.a,e,t)}function dhe(t,e){var n,r,s;for(r=new nr(ir(Sg(t).a.Kc(),new q));Sr(r);)return n=u(lr(r),18),s=u(e.Kb(n),10),new CC(Hr(s.n.b+s.o.b/2));return NC(),NC(),fht}function ghe(t,e){this.c=new Er,this.a=t,this.b=e,this.d=u(K(t,(ae(),H5)),312),$t(K(t,(Me(),USt)))===$t((FI(),mG))?this.e=new uKt:this.e=new cKt}function lS(t,e){var n,r;return r=null,t.pf((si(),Xk))&&(n=u(t.of(Xk),96),n.pf(e)&&(r=n.of(e))),r==null&&t.Tf()&&(r=t.Tf().of(e)),r==null&&(r=_e(e)),r}function bot(t,e){var n,r;n=t.fd(e);try{return r=n.Pb(),n.Qb(),r}catch(s){throw s=is(s),At(s,112)?nt(new No("Can't remove element "+e)):nt(s)}}function Vmn(t,e){var n,r,s;if(r=new b$,s=new R4t(r.q.getFullYear()-Hb,r.q.getMonth(),r.q.getDate()),n=e7n(t,e,s),n==0||n0?e:0),++n;return new se(r,s)}function lxt(t,e){var n,r;return t.Db>>16==6?t.Cb.Th(t,6,Cs,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(jc(),NK)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function hxt(t,e){var n,r;return t.Db>>16==7?t.Cb.Th(t,1,NN,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(jc(),dIt)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function fxt(t,e){var n,r;return t.Db>>16==9?t.Cb.Th(t,9,wi,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(jc(),pIt)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function whe(t,e){var n,r;return t.Db>>16==5?t.Cb.Th(t,9,VK,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(bn(),Qp)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function mhe(t,e){var n,r;return t.Db>>16==7?t.Cb.Th(t,6,P1,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(bn(),Zp)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function dxt(t,e){var n,r;return t.Db>>16==3?t.Cb.Th(t,0,BN,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(bn(),Xp)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function vhe(){this.a=new aC,this.g=new AH,this.j=new AH,this.b=new Er,this.d=new AH,this.i=new AH,this.k=new Er,this.c=new Er,this.e=new Er,this.f=new Er}function Kmn(t,e,n){var r,s,o;for(n<0&&(n=0),o=t.i,s=n;seut)return T7(t,r);if(r==t)return!0}}return!1}function Ymn(t){switch(az(),t.q.g){case 5:n1e(t,(ve(),Hn)),n1e(t,vr);break;case 4:rde(t,(ve(),Hn)),rde(t,vr);break;default:ape(t,(ve(),Hn)),ape(t,vr)}}function Xmn(t){switch(az(),t.q.g){case 5:x1e(t,(ve(),Jn)),x1e(t,Gn);break;case 4:Cle(t,(ve(),Jn)),Cle(t,Gn);break;default:ope(t,(ve(),Jn)),ope(t,Gn)}}function Qmn(t){var e,n;e=u(K(t,(Vf(),f3e)),17),e?(n=e.a,n==0?Zt(t,(Mb(),HU),new jat):Zt(t,(Mb(),HU),new lq(n))):Zt(t,(Mb(),HU),new lq(1))}function Jmn(t,e){var n;switch(n=t.i,e.g){case 1:return-(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return-(t.n.a+t.o.a)}return 0}function Zmn(t,e){switch(t.g){case 0:return e==(Ph(),t2)?uG:lG;case 1:return e==(Ph(),t2)?uG:HP;case 2:return e==(Ph(),t2)?HP:lG;default:return HP}}function vO(t,e){var n,r,s;for($u(t.a,e),t.e-=e.r+(t.a.c.length==0?0:t.c),s=y7t,r=new J(t.a);r.a>16==3?t.Cb.Th(t,12,wi,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(jc(),fIt)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function pxt(t,e){var n,r;return t.Db>>16==11?t.Cb.Th(t,10,wi,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(jc(),gIt)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function yhe(t,e){var n,r;return t.Db>>16==10?t.Cb.Th(t,11,pf,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(bn(),Jp)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function xhe(t,e){var n,r;return t.Db>>16==10?t.Cb.Th(t,12,bf,e):(r=wo(u(Tn((n=u($n(t,16),29),n||(bn(),K3)),t.Db>>16),19)),t.Cb.Th(t,r.n,r.f,e))}function rf(t){var e;return!(t.Bb&1)&&t.r&&t.r.Vh()&&(e=u(t.r,54),t.r=u(Pb(t,e),142),t.r!=e&&t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,9,8,e,t.r))),t.r}function wot(t,e,n){var r;return r=ot(st(wa,1),Io,28,15,[zxt(t,(_1(),Tc),e,n),zxt(t,yu,e,n),zxt(t,Cc,e,n)]),t.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function tvn(t,e){var n,r,s;if(s=Twn(t,e),s.c.length!=0)for(Ms(s,new vQ),n=s.c.length,r=0;r>19,k=e.h>>19,m!=k?k-m:(s=t.h,d=e.h,s!=d?s-d:(r=t.m,h=e.m,r!=h?r-h:(n=t.l,o=e.l,n-o)))}function OH(){OH=V,M9t=(eV(),Nht),L9t=new un(g8t,M9t),A9t=(_q(),Pht),S9t=new un(p8t,A9t),_9t=(vH(),Oht),C9t=new un(b8t,_9t),T9t=new un(w8t,(Nn(),!0))}function hS(t,e,n){var r,s;r=e*n,At(t.g,154)?(s=J6(t),s.f.d?s.f.a||(t.d.a+=r+cd):(t.d.d-=r+cd,t.d.a+=r+cd)):At(t.g,10)&&(t.d.d-=r,t.d.a+=2*r)}function khe(t,e,n){var r,s,o,h,d;for(s=t[n.g],d=new J(e.d);d.a0?t.b:0),++n;e.b=r,e.e=s}function Ehe(t){var e,n,r;if(r=t.b,gYt(t.i,r.length)){for(n=r.length*2,t.b=Vt(bht,JO,302,n,0,1),t.c=Vt(bht,JO,302,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)AO(t,e,e);++t.g}}function ovn(t,e,n,r){var s,o,h,d;for(s=0;sh&&(d=h/r),s>o&&(m=o/s),Rd(t,b.Math.min(d,m)),t}function uvn(){oV();var t,e;try{if(e=u(_xt((mb(),wf),cT),2113),e)return e}catch(n){if(n=is(n),At(n,103))t=n,pyt((Ur(),t));else throw nt(n)}return new BR}function lvn(){oV();var t,e;try{if(e=u(_xt((mb(),wf),cf),2040),e)return e}catch(n){if(n=is(n),At(n,103))t=n,pyt((Ur(),t));else throw nt(n)}return new WR}function hvn(){Ose();var t,e;try{if(e=u(_xt((mb(),wf),vw),2122),e)return e}catch(n){if(n=is(n),At(n,103))t=n,pyt((Ur(),t));else throw nt(n)}return new pC}function fvn(t,e,n){var r,s;return s=t.e,t.e=e,t.Db&4&&!(t.Db&1)&&(r=new la(t,1,4,s,e),n?n.nj(r):n=r),s!=e&&(e?n=$7(t,GH(t,e),n):n=$7(t,t.a,n)),n}function The(){b$.call(this),this.e=-1,this.a=!1,this.p=Va,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=Va}function dvn(t,e){var n,r,s;if(r=t.b.d.d,t.a||(r+=t.b.d.a),s=e.b.d.d,e.a||(s+=e.b.d.a),n=ji(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function gvn(t,e){var n,r,s;if(r=t.b.b.d,t.a||(r+=t.b.b.a),s=e.b.b.d,e.a||(s+=e.b.b.a),n=ji(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function pvn(t,e){var n,r,s;if(r=t.b.g.d,t.a||(r+=t.b.g.a),s=e.b.g.d,e.a||(s+=e.b.g.a),n=ji(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function wxt(){wxt=V,M3e=tl(ri(ri(ri(new Fs,(Ha(),ou),(Ja(),GCt)),ou,KCt),Qo,WCt),Qo,NCt),I3e=ri(ri(new Fs,ou,ACt),ou,FCt),D3e=tl(new Fs,Qo,RCt)}function bvn(t){var e,n,r,s,o;for(e=u(K(t,(ae(),xA)),85),o=t.n,r=e.Cc().Kc();r.Ob();)n=u(r.Pb(),314),s=n.i,s.c+=o.a,s.d+=o.b,n.c?Vde(n):Ude(n);Zt(t,xA,null)}function wvn(t,e,n){var r,s;switch(s=t.b,r=s.d,e.g){case 1:return-r.d-n;case 2:return s.o.a+r.c+n;case 3:return s.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function mvn(t,e,n){var r,s;for(n.Ug("Interactive node placement",1),t.a=u(K(e,(ae(),H5)),312),s=new J(e.b);s.a0&&(h=(o&ki)%t.d.length,s=v6t(t,h,o,e),s)?(d=s.nd(n),d):(r=t.ck(o,e,n),t.c.Fc(r),null)}function yxt(t,e){var n,r,s,o;switch(Sp(t,e).Kl()){case 3:case 2:{for(n=b5(e),s=0,o=n.i;s=0;r--)if(hn(t[r].d,e)||hn(t[r].d,n)){t.length>=r+1&&t.splice(0,r+1);break}return t}function xO(t,e){var n;return Zo(t)&&Zo(e)&&(n=t/e,eP0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=b.Math.min(r,s))}function Dhe(t){var e;e=u(K(u(Nh(t.b,0),39),(xc(),dLt)),107),Zt(t,(zi(),RT),new se(0,0)),E0e(new MI,t,e.b+e.c-Rt(Ht(K(t,M1t))),e.d+e.a-Rt(Ht(K(t,D1t))))}function Ihe(t,e){var n,r;if(r=!1,pa(e)&&(r=!0,G6(t,new Oy(Gr(e)))),r||At(e,242)&&(r=!0,G6(t,(n=gvt(u(e,242)),new _C(n)))),!r)throw nt(new Unt(bTt))}function Nvn(t,e,n,r){var s,o,h;return s=new xg(t.e,1,10,(h=e.c,At(h,90)?u(h,29):(bn(),mf)),(o=n.c,At(o,90)?u(o,29):(bn(),mf)),Ip(t,e),!1),r?r.nj(s):r=s,r}function Ext(t){var e,n;switch(u(K(Ia(t),(Me(),RSt)),429).g){case 0:return e=t.n,n=t.o,new se(e.a+n.a/2,e.b+n.b/2);case 1:return new eo(t.n);default:return null}}function kO(){kO=V,vG=new ZC(Zd,0),E_t=new ZC("LEFTUP",1),C_t=new ZC("RIGHTUP",2),k_t=new ZC("LEFTDOWN",3),T_t=new ZC("RIGHTDOWN",4),Mft=new ZC("BALANCED",5)}function Fvn(t,e,n){var r,s,o;if(r=ji(t.a[e.p],t.a[n.p]),r==0){if(s=u(K(e,(ae(),qk)),15),o=u(K(n,qk),15),s.Hc(n))return-1;if(o.Hc(e))return 1}return r}function Bvn(t){switch(t.g){case 1:return new dtt;case 2:return new gtt;case 3:return new ftt;case 0:return null;default:throw nt(new zn(wlt+(t.f!=null?t.f:""+t.g)))}}function Txt(t,e,n){switch(e){case 1:!t.n&&(t.n=new Jt(Oo,t,1,7)),Lr(t.n),!t.n&&(t.n=new Jt(Oo,t,1,7)),bs(t.n,u(n,16));return;case 2:ZE(t,Gr(n));return}V4t(t,e,n)}function Cxt(t,e,n){switch(e){case 3:$m(t,Rt(Ht(n)));return;case 4:zm(t,Rt(Ht(n)));return;case 5:Cu(t,Rt(Ht(n)));return;case 6:_u(t,Rt(Ht(n)));return}Txt(t,e,n)}function PH(t,e,n){var r,s,o;o=(r=new Bnt,r),s=sd(o,e,null),s&&s.oj(),wu(o,n),Mr((!t.c&&(t.c=new Jt(Iv,t,12,10)),t.c),o),Tp(o,0),Hy(o,1),Lp(o,!0),Ap(o,!0)}function _xt(t,e){var n,r,s;return n=WC(t.i,e),At(n,241)?(s=u(n,241),s.zi()==null,s.wi()):At(n,507)?(r=u(n,2037),s=r.b,s):null}function Rvn(t,e,n,r){var s,o;return Hr(e),Hr(n),o=u(w_(t.d,e),17),sae(!!o,"Row %s not in %s",e,t.e),s=u(w_(t.b,n),17),sae(!!s,"Column %s not in %s",n,t.c),bce(t,o.a,s.a,r)}function Ohe(t,e,n,r,s,o,h){var d,m,k,T,A;if(T=s[o],k=o==h-1,d=k?r:0,A=Jle(d,T),r!=10&&ot(st(t,h-o),e[o],n[o],d,A),!k)for(++o,m=0;m1||d==-1?(o=u(m,15),s.Wb(x2n(t,o))):s.Wb(nct(t,u(m,58)))))}function Uvn(t,e,n,r){HWt();var s=hht;function o(){for(var h=0;h0)return!1;return!0}function Wvn(t){var e,n,r,s,o;for(r=new Z2(new ps(t.b).a);r.b;)n=Vm(r),e=u(n.ld(),10),o=u(u(n.md(),42).a,10),s=u(u(n.md(),42).b,8),Ei(y1(e.n),Ei(Ma(o.n),s))}function Yvn(t){switch(u(K(t.b,(Me(),DSt)),387).g){case 1:xs(Go(lc(new ln(null,new gn(t.d,16)),new m4),new dJ),new gJ);break;case 2:Vkn(t);break;case 0:k4n(t)}}function Xvn(t,e,n){var r,s,o;for(r=n,!r&&(r=new E6),r.Ug("Layout",t.a.c.length),o=new J(t.a);o.adlt)return n;s>-1e-6&&++n}return n}function Axt(t,e){var n;e!=t.b?(n=null,t.b&&(n=Qz(t.b,t,-4,n)),e&&(n=hk(e,t,-4,n)),n=uue(t,e,n),n&&n.oj()):t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,3,e,e))}function Fhe(t,e){var n;e!=t.f?(n=null,t.f&&(n=Qz(t.f,t,-1,n)),e&&(n=hk(e,t,-1,n)),n=cue(t,e,n),n&&n.oj()):t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,0,e,e))}function tyn(t,e,n,r){var s,o,h,d;return zl(t.e)&&(s=e.Lk(),d=e.md(),o=n.md(),h=Sb(t,1,s,d,o,s.Jk()?B7(t,s,o,At(s,102)&&(u(s,19).Bb&fo)!=0):-1,!0),r?r.nj(h):r=h),r}function Bhe(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new hp,e=n.Kc();e.Ob();)Lo(r,(Fi(),Gr(e.Pb()))),r.a+=" ";return $rt(r,r.a.length-1)}function Rhe(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new hp,e=n.Kc();e.Ob();)Lo(r,(Fi(),Gr(e.Pb()))),r.a+=" ";return $rt(r,r.a.length-1)}function eyn(t,e,n){var r,s;return r=t.c[e.c.p][e.p],s=t.c[n.c.p][n.p],r.a!=null&&s.a!=null?Ait(r.a,s.a):r.a!=null?-1:s.a!=null?1:0}function nyn(t,e,n){return n.Ug("Tree layout",1),wI(t.b),x1(t.b,(dk(),tK),tK),x1(t.b,RA,RA),x1(t.b,jA,jA),x1(t.b,$A,$A),t.a=VO(t.b,e),Xvn(t,e,n.eh(1)),n.Vg(),e}function ryn(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new q2(o),d=(n.b-n.a)*n.c<0?(vb(),p2):new kb(n);d.Ob();)h=u(d.Pb(),17),s=jE(e,h.a),r=new sGt(t),hln(r.a,s)}function iyn(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new q2(o),d=(n.b-n.a)*n.c<0?(vb(),p2):new kb(n);d.Ob();)h=u(d.Pb(),17),s=jE(e,h.a),r=new XUt(t),lln(r.a,s)}function syn(t){var e;if(t!=null&&t.length>0&&qa(t,t.length-1)==33)try{return e=K1e(Ch(t,0,t.length-1)),e.e==null}catch(n){if(n=is(n),!At(n,33))throw nt(n)}return!1}function ayn(t,e,n){var r,s,o;switch(r=Ia(e),s=oH(r),o=new Kc,uc(o,e),n.g){case 1:Qs(o,lO(ck(s)));break;case 2:Qs(o,ck(s))}return Zt(o,(Me(),M3),Ht(K(t,M3))),o}function Lxt(t){var e,n;return e=u(lr(new nr(ir(ca(t.a).a.Kc(),new q))),18),n=u(lr(new nr(ir(As(t.a).a.Kc(),new q))),18),Ie(De(K(e,(ae(),dd))))||Ie(De(K(n,dd)))}function Qy(){Qy=V,VP=new BD("ONE_SIDE",0),dG=new BD("TWO_SIDES_CORNER",1),gG=new BD("TWO_SIDES_OPPOSING",2),fG=new BD("THREE_SIDES",3),hG=new BD("FOUR_SIDES",4)}function jhe(t,e){var n,r,s,o;for(o=new ge,s=0,r=e.Kc();r.Ob();){for(n=fe(u(r.Pb(),17).a+s);n.a=t.f)break;In(o.c,n)}return o}function oyn(t,e){var n,r,s,o,h;for(o=new J(e.a);o.a0&&uhe(this,this.c-1,(ve(),Jn)),this.c0&&t[0].length>0&&(this.c=Ie(De(K(Ia(t[0][0]),(ae(),$_t))))),this.a=Vt(P6e,le,2117,t.length,0,2),this.b=Vt(N6e,le,2118,t.length,0,2),this.d=new rue}function fyn(t){return t.c.length==0?!1:(mn(0,t.c.length),u(t.c[0],18)).c.i.k==(Un(),ha)?!0:Q4(Go(new ln(null,new gn(t,16)),new HJ),new VJ)}function qhe(t,e){var n,r,s,o,h,d,m;for(d=n3(e),o=e.f,m=e.g,h=b.Math.sqrt(o*o+m*m),s=0,r=new J(d);r.a=0?(n=xO(t,mV),r=fO(t,mV)):(e=Eb(t,1),n=xO(e,5e8),r=fO(e,5e8),r=Xa(Rf(r,1),ia(t,1))),k1(Rf(r,32),ia(n,Eo))}function Uhe(t,e,n){var r,s;switch(r=(cr(e.b!=0),u(Lh(e,e.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=t.f;break;case 3:r.a=0;break;default:r.a=t.g}return s=_r(e,0),bI(s,r),e}function Ghe(t,e,n,r){var s,o,h,d,m;switch(m=t.b,o=e.d,h=o.j,d=G5t(h,m.d[h.g],n),s=Ei(Ma(o.n),o.a),o.j.g){case 1:case 3:d.a+=s.a;break;case 2:case 4:d.b+=s.b}fs(r,d,r.c.b,r.c)}function Tyn(t,e,n){var r,s,o,h;for(h=Wo(t.e,e,0),o=new N2t,o.b=n,r=new _a(t.e,h);r.b1;e>>=1)e&1&&(r=X4(r,n)),n.d==1?n=X4(n,n):n=new cle(L0e(n.a,n.d,Vt(Or,ii,28,n.d<<1,15,1)));return r=X4(r,n),r}function Rxt(){Rxt=V;var t,e,n,r;for(b9t=Vt(wa,Io,28,25,15,1),w9t=Vt(wa,Io,28,33,15,1),r=152587890625e-16,e=32;e>=0;e--)w9t[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)b9t[t]=n,n*=.5}function Myn(t){var e,n;if(Ie(De(ne(t,(Me(),L3))))){for(n=new nr(ir(Mg(t).a.Kc(),new q));Sr(n);)if(e=u(lr(n),74),Jm(e)&&Ie(De(ne(e,Cw))))return!0}return!1}function Khe(t,e){var n,r,s;qs(t.f,e)&&(e.b=t,r=e.c,Wo(t.j,r,0)!=-1||pe(t.j,r),s=e.d,Wo(t.j,s,0)!=-1||pe(t.j,s),n=e.a.b,n.c.length!=0&&(!t.i&&(t.i=new gle(t)),Ngn(t.i,n)))}function Dyn(t){var e,n,r,s,o;return n=t.c.d,r=n.j,s=t.d.d,o=s.j,r==o?n.p=0&&hn(t.substr(e,3),"GMT")||e>=0&&hn(t.substr(e,3),"UTC"))&&(n[0]=e+3),bkt(t,n,r)}function Oyn(t,e){var n,r,s,o,h;for(o=t.g.a,h=t.g.b,r=new J(t.d);r.an;o--)t[o]|=e[o-n-1]>>>h,t[o-1]=e[o-n-1]<0&&Wc(t.g,e,t.g,e+r,d),h=n.Kc(),t.i+=r,s=0;s>4&15,o=t[r]&15,h[s++]=bIt[n],h[s++]=bIt[o];return nf(h,0,h.length)}function qu(t){var e,n;return t>=fo?(e=nP+(t-fo>>10&1023)&js,n=56320+(t-fo&1023)&js,String.fromCharCode(e)+(""+String.fromCharCode(n))):String.fromCharCode(t&js)}function Vyn(t,e){Ay();var n,r,s,o;return s=u(u(Mi(t.r,e),21),87),s.gc()>=2?(r=u(s.Kc().Pb(),117),n=t.u.Hc((wl(),lL)),o=t.u.Hc(Zk),!r.a&&!n&&(s.gc()==2||o)):!1}function Xhe(t,e,n,r,s){var o,h,d;for(o=Fde(t,e,n,r,s),d=!1;!o;)VH(t,s,!0),d=!0,o=Fde(t,e,n,r,s);d&&VH(t,s,!1),h=lat(s),h.c.length!=0&&(t.d&&t.d.Gg(h),Xhe(t,s,n,r,h))}function RH(){RH=V,Rdt=new r_(Zd,0),$Dt=new r_("DIRECTED",1),qDt=new r_("UNDIRECTED",2),RDt=new r_("ASSOCIATION",3),zDt=new r_("GENERALIZATION",4),jDt=new r_("DEPENDENCY",5)}function Uyn(t,e){var n;if(!Y1(t))throw nt(new Fo(dwe));switch(n=Y1(t),e.g){case 1:return-(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return-(t.i+t.g)}return 0}function Gyn(t,e,n){var r,s,o;return r=e.Lk(),o=e.md(),s=r.Jk()?Sb(t,4,r,o,null,B7(t,r,o,At(r,102)&&(u(r,19).Bb&fo)!=0),!0):Sb(t,r.tk()?2:1,r,o,r.ik(),-1,!0),n?n.nj(s):n=s,n}function S7(t,e){var n,r;for(Wn(e),r=t.b.c.length,pe(t.b,e);r>0;){if(n=r,r=(r-1)/2|0,t.a.Ne(Oe(t.b,r),e)<=0)return Sh(t.b,n,e),!0;Sh(t.b,n,Oe(t.b,r))}return Sh(t.b,r,e),!0}function zxt(t,e,n,r){var s,o;if(s=0,n)s=nH(t.a[n.g][e.g],r);else for(o=0;o=d)}function Qhe(t){switch(t.g){case 0:return new ytt;case 1:return new xtt;default:throw nt(new zn("No implementation is available for the width approximator "+(t.f!=null?t.f:""+t.g)))}}function qxt(t,e,n,r){var s;if(s=!1,pa(r)&&(s=!0,AE(e,n,Gr(r))),s||Ty(r)&&(s=!0,qxt(t,e,n,r)),s||At(r,242)&&(s=!0,U2(e,n,u(r,242))),!s)throw nt(new Unt(bTt))}function Wyn(t,e){var n,r,s;if(n=e.qi(t.a),n&&(s=S1((!n.b&&(n.b=new Hl((bn(),po),Sc,n)),n.b),of),s!=null)){for(r=1;r<(rl(),$It).length;++r)if(hn($It[r],s))return r}return 0}function Yyn(t,e){var n,r,s;if(n=e.qi(t.a),n&&(s=S1((!n.b&&(n.b=new Hl((bn(),po),Sc,n)),n.b),of),s!=null)){for(r=1;r<(rl(),zIt).length;++r)if(hn(zIt[r],s))return r}return 0}function Jhe(t,e){var n,r,s,o;if(Wn(e),o=t.a.gc(),o0?1:0;o.a[s]!=n;)o=o.a[s],s=t.a.Ne(n.d,o.d)>0?1:0;o.a[s]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function Jyn(t){var e,n,r,s;for(e=new ge,n=Vt(Fl,B0,28,t.a.c.length,16,1),lyt(n,n.length),s=new J(t.a);s.a0&&C0e((mn(0,n.c.length),u(n.c[0],30)),t),n.c.length>1&&C0e(u(Oe(n,n.c.length-1),30),t),e.Vg()}function t3n(t){wl();var e,n;return e=Gi($g,ot(st(AK,1),te,279,0,[u2])),!(WI(Zz(e,t))>1||(n=Gi(lL,ot(st(AK,1),te,279,0,[uL,Zk])),WI(Zz(n,t))>1))}function Vxt(t,e){var n;n=eu((mb(),wf),t),At(n,507)?Bo(wf,t,new VXt(this,e)):Bo(wf,t,this),Aot(this,e),e==(dE(),AIt)?(this.wb=u(this,2038),u(e,2040)):this.wb=(Tb(),Fn)}function e3n(t){var e,n,r;if(t==null)return null;for(e=null,n=0;n=Fp?"error":r>=900?"warn":r>=800?"info":"log"),hee(n,t.a),t.b&&U6t(e,n,t.b,"Exception: ",!0))}function K(t,e){var n,r;return r=(!t.q&&(t.q=new Er),tr(t.q,e)),r??(n=e.Sg(),At(n,4)&&(n==null?(!t.q&&(t.q=new Er),tk(t.q,e)):(!t.q&&(t.q=new Er),di(t.q,e,n))),n)}function Ha(){Ha=V,Wf=new FD("P1_CYCLE_BREAKING",0),$0=new FD("P2_LAYERING",1),Yc=new FD("P3_NODE_ORDERING",2),ou=new FD("P4_NODE_PLACEMENT",3),Qo=new FD("P5_EDGE_ROUTING",4)}function n3n(t,e){j_();var n;if(t.c==e.c){if(t.b==e.b||ugn(t.b,e.b)){if(n=Prn(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return Bc(t.b.g,e.b.g)}else return ji(t.c,e.c)}function rfe(t,e){var n,r,s;if(Gxt(t,e))return!0;for(r=new J(e);r.a=s||e<0)throw nt(new No(Ult+e+ww+s));if(n>=s||n<0)throw nt(new No(Glt+n+ww+s));return e!=n?r=(o=t.Cj(n),t.qj(e,o),o):r=t.xj(n),r}function afe(t){var e,n,r;if(r=t,t)for(e=0,n=t.Eh();n;n=n.Eh()){if(++e>eut)return afe(n);if(r=n,n==t)throw nt(new Fo("There is a cycle in the containment hierarchy of "+t))}return r}function Rb(t){var e,n,r;for(r=new tw(ro,"[","]"),n=t.Kc();n.Ob();)e=n.Pb(),yg(r,$t(e)===$t(t)?"(this Collection)":e==null?Hu:ec(e));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function Gxt(t,e){var n,r;if(r=!1,e.gc()<2)return!1;for(n=0;n1&&(t.j.b+=t.e)):(t.j.a+=n.a,t.j.b=b.Math.max(t.j.b,n.b),t.d.c.length>1&&(t.j.a+=t.e))}function jb(){jb=V,m4e=ot(st(go,1),$c,64,0,[(ve(),Hn),Jn,vr]),w4e=ot(st(go,1),$c,64,0,[Jn,vr,Gn]),v4e=ot(st(go,1),$c,64,0,[vr,Gn,Hn]),y4e=ot(st(go,1),$c,64,0,[Gn,Hn,Jn])}function i3n(t,e,n,r){var s,o,h,d,m,k,T;if(h=t.c.d,d=t.d.d,h.j!=d.j)for(T=t.b,s=h.j,m=null;s!=d.j;)m=e==0?aH(s):f5t(s),o=G5t(s,T.d[s.g],n),k=G5t(m,T.d[m.g],n),Zr(r,Ei(o,k)),s=m}function s3n(t,e,n,r){var s,o,h,d,m;return h=lhe(t.a,e,n),d=u(h.a,17).a,o=u(h.b,17).a,r&&(m=u(K(e,(ae(),ml)),10),s=u(K(n,ml),10),m&&s&&(Qre(t.b,m,s),d+=t.b.i,o+=t.b.e)),d>o}function cfe(t){var e,n,r,s,o,h,d,m,k;for(this.a=Dle(t),this.b=new ge,n=t,r=0,s=n.length;rrit(t.d).c?(t.i+=t.g.c,Hat(t.d)):rit(t.d).c>rit(t.g).c?(t.e+=t.d.c,Hat(t.g)):(t.i+=vte(t.g),t.e+=vte(t.d),Hat(t.g),Hat(t.d))}function u3n(t,e,n){var r,s,o,h;for(o=e.q,h=e.r,new G2((E1(),n2),e,o,1),new G2(n2,o,h,1),s=new J(n);s.ad&&(m=d/r),s>o&&(k=o/s),h=b.Math.min(m,k),t.a+=h*(e.a-t.a),t.b+=h*(e.b-t.b)}function d3n(t,e,n,r,s){var o,h;for(h=!1,o=u(Oe(n.b,0),27);qEn(t,e,o,r,s)&&(h=!0,Hvn(n,o),n.b.c.length!=0);)o=u(Oe(n.b,0),27);return n.b.c.length==0&&vO(n.j,n),h&&MH(e.q),h}function g3n(t,e){g5();var n,r,s,o;if(e.b<2)return!1;for(o=_r(e,0),n=u(Tr(o),8),r=n;o.b!=o.d.c;){if(s=u(Tr(o),8),Vot(t,r,s))return!0;r=s}return!!Vot(t,r,n)}function Wxt(t,e,n,r){var s,o;return n==0?(!t.o&&(t.o=new el((jc(),K0),Yp,t,0)),lz(t.o,e,r)):(o=u(Tn((s=u($n(t,16),29),s||t.ii()),n),69),o.wk().Ak(t,Su(t),n-ur(t.ii()),e,r))}function Aot(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=u(t.sb,54).Th(t,1,dL,n)),e&&(n=u(e,54).Rh(t,1,dL,n)),n=a5t(t,e,n),n&&n.oj()):t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,4,e,e))}function p3n(t,e){var n,r,s,o;if(e)s=Tg(e,"x"),n=new nGt(t),KE(n.a,(Wn(s),s)),o=Tg(e,"y"),r=new rGt(t),YE(r.a,(Wn(o),o));else throw nt(new Pd("All edge sections need an end point."))}function b3n(t,e){var n,r,s,o;if(e)s=Tg(e,"x"),n=new ZUt(t),WE(n.a,(Wn(s),s)),o=Tg(e,"y"),r=new tGt(t),XE(r.a,(Wn(o),o));else throw nt(new Pd("All edge sections need a start point."))}function w3n(t,e){var n,r,s,o,h,d,m;for(r=Rce(t),o=0,d=r.length;o>22-e,s=t.h<>22-e):e<44?(n=0,r=t.l<>44-e):(n=0,r=0,s=t.l<t)throw nt(new zn("k must be smaller than n"));return e==0||e==t?1:t==0?0:xxt(t)/(xxt(e)*xxt(t-e))}function Yxt(t,e){var n,r,s,o;for(n=new hmt(t);n.g==null&&!n.c?Hyt(n):n.g==null||n.i!=0&&u(n.g[n.i-1],51).Ob();)if(o=u(UH(n),58),At(o,167))for(r=u(o,167),s=0;s>4],e[n*2+1]=YK[o&15];return nf(e,0,e.length)}function O3n(t){zz();var e,n,r;switch(r=t.c.length,r){case 0:return bve;case 1:return e=u(Xfe(new J(t)),44),_cn(e.ld(),e.md());default:return n=u(id(t,Vt(yw,bV,44,t.c.length,0,1)),173),new W2t(n)}}function P3n(t){var e,n,r,s,o,h;for(e=new V4,n=new V4,Ab(e,t),Ab(n,t);n.b!=n.c;)for(s=u(V6(n),36),h=new J(s.a);h.a0&&RO(t,n,e),s):k5n(t,e,n)}function $b(){$b=V,x8e=(si(),Yk),k8e=Pw,w8e=Ow,m8e=ox,v8e=s2,b8e=ax,OLt=EN,y8e=j3,G1t=(ckt(),s8e),K1t=a8e,NLt=l8e,W1t=d8e,FLt=h8e,BLt=f8e,PLt=o8e,cK=c8e,uK=u8e,hN=g8e,RLt=p8e,ILt=i8e}function bfe(t,e){var n,r,s,o,h;if(t.e<=e||ifn(t,t.g,e))return t.g;for(o=t.r,r=t.g,h=t.r,s=(o-r)/2+r;r+11&&(t.e.b+=t.a)):(t.e.a+=n.a,t.e.b=b.Math.max(t.e.b,n.b),t.d.c.length>1&&(t.e.a+=t.a))}function j3n(t){var e,n,r,s;switch(s=t.i,e=s.b,r=s.j,n=s.g,s.a.g){case 0:n.a=(t.g.b.o.a-r.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-r.a;break;case 3:n.b=e.d.n.b+e.d.a.b}}function $3n(t,e,n){var r,s,o;for(s=new nr(ir(Sg(n).a.Kc(),new q));Sr(s);)r=u(lr(s),18),!ho(r)&&!(!ho(r)&&r.c.i.c==r.d.i.c)&&(o=ode(t,r,n,new lKt),o.c.length>1&&In(e.c,o))}function mfe(t,e,n,r,s){if(rr&&(t.a=r),t.bs&&(t.b=s),t}function z3n(t){if(At(t,143))return m6n(u(t,143));if(At(t,233))return c2n(u(t,233));if(At(t,23))return v3n(u(t,23));throw nt(new zn(wTt+Rb(new hl(ot(st(sa,1),Ln,1,5,[t])))))}function q3n(t,e,n,r,s){var o,h,d;for(o=!0,h=0;h>>s|n[h+r+1]<>>s,++h}return o}function Zxt(t,e,n,r){var s,o,h;if(e.k==(Un(),ha)){for(o=new nr(ir(ca(e).a.Kc(),new q));Sr(o);)if(s=u(lr(o),18),h=s.c.i.k,h==ha&&t.c.a[s.c.i.c.p]==r&&t.c.a[e.c.p]==n)return!0}return!1}function H3n(t,e){var n,r,s,o;return e&=63,n=t.h&Og,e<22?(o=n>>>e,s=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(o=0,s=n>>>e-22,r=t.m>>e-22|t.h<<44-e):(o=0,s=0,r=n>>>e-44),ku(r&Il,s&Il,o&Og)}function vfe(t,e,n,r){var s;this.b=r,this.e=t==(qm(),NA),s=e[n],this.d=$2(Fl,[le,B0],[183,28],16,[s.length,s.length],2),this.a=$2(Or,[le,ii],[53,28],15,[s.length,s.length],2),this.c=new Pxt(e,n)}function V3n(t){var e,n,r;for(t.k=new Gyt((ve(),ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn])).length,t.j.c.length),r=new J(t.j);r.a=n)return L7(t,e,r.p),!0;return!1}function l5(t,e,n,r){var s,o,h,d,m,k;for(h=n.length,o=0,s=-1,k=fae((qn(e,t.length+1),t.substr(e)),(cit(),g9t)),d=0;do&&wun(k,fae(n[d],g9t))&&(s=d,o=m);return s>=0&&(r[0]=e+o),s}function xfe(t){var e;return t.Db&64?Lot(t):(e=new Jl(aTt),!t.a||ni(ni((e.a+=' "',e),t.a),'"'),ni(gm(ni(gm(ni(gm(ni(gm((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function kfe(t,e,n){var r,s,o,h,d;for(d=Au(t.e.Dh(),e),s=u(t.g,124),r=0,h=0;hn?c6t(t,n,"start index"):e<0||e>n?c6t(e,n,"end index"):xS("end index (%s) must not be less than start index (%s)",ot(st(sa,1),Ln,1,5,[fe(e),fe(t)]))}function Tfe(t,e){var n,r,s,o;for(r=0,s=t.length;r0&&Cfe(t,o,n));e.p=0}function qe(t){var e;this.c=new Qi,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=(e=u(m1(H0),9),new Eh(e,u(Ff(e,e.length),9),0)),this.g=t.f}function X3n(t){var e,n,r,s;for(e=Cb(ni(new Jl("Predicates."),"and"),40),n=!0,s=new $r(t);s.b0?d[h-1]:Vt(z0,Bp,10,0,0,1),s=d[h],k=h=0?t.ki(s):f6t(t,r);else throw nt(new zn(Kb+r.xe()+XS));else throw nt(new zn(Twe+e+Cwe));else Dh(t,n,r)}function t6t(t){var e,n;if(n=null,e=!1,At(t,211)&&(e=!0,n=u(t,211).a),e||At(t,263)&&(e=!0,n=""+u(t,263).a),e||At(t,492)&&(e=!0,n=""+u(t,492).a),!e)throw nt(new Unt(bTt));return n}function e6t(t,e,n){var r,s,o,h,d,m;for(m=Au(t.e.Dh(),e),r=0,d=t.i,s=u(t.g,124),h=0;h=t.d.b.c.length&&(e=new tu(t.d),e.p=r.p-1,pe(t.d.b,e),n=new tu(t.d),n.p=r.p,pe(t.d.b,n)),Ca(r,u(Oe(t.d.b,r.p),30))}function i6t(t,e,n){var r,s,o;if(!t.b[e.g]){for(t.b[e.g]=!0,r=n,!r&&(r=new MI),Zr(r.b,e),o=t.a[e.g].Kc();o.Ob();)s=u(o.Pb(),65),s.b!=e&&i6t(t,s.b,r),s.c!=e&&i6t(t,s.c,r),Zr(r.a,s);return r}return null}function t4n(t){switch(t.g){case 0:case 1:case 2:return ve(),Hn;case 3:case 4:case 5:return ve(),vr;case 6:case 7:case 8:return ve(),Gn;case 9:case 10:case 11:return ve(),Jn;default:return ve(),gc}}function e4n(t,e){var n;return t.c.length==0?!1:(n=Hue((mn(0,t.c.length),u(t.c[0],18)).c.i),th(),n==(Yy(),Y5)||n==W5?!0:Q4(Go(new ln(null,new gn(t,16)),new UJ),new uUt(e)))}function Oot(t,e){if(At(e,207))return Yrn(t,u(e,27));if(At(e,193))return Xrn(t,u(e,123));if(At(e,451))return Wrn(t,u(e,166));throw nt(new zn(wTt+Rb(new hl(ot(st(sa,1),Ln,1,5,[e])))))}function Dfe(t,e,n){var r,s;if(this.f=t,r=u(tr(t.b,e),260),s=r?r.a:0,k3t(n,s),n>=(s/2|0))for(this.e=r?r.c:null,this.d=s;n++0;)G3t(this);this.b=e,this.a=null}function n4n(t,e){var n,r;e.a?F6n(t,e):(n=u(nrt(t.b,e.b),60),n&&n==t.a[e.b.f]&&n.a&&n.a!=e.b.a&&n.c.Fc(e.b),r=u(ert(t.b,e.b),60),r&&t.a[r.f]==e.b&&r.a&&r.a!=e.b.a&&e.b.c.Fc(r),Yrt(t.b,e.b))}function Ife(t,e){var n,r;if(n=u(Mo(t.b,e),127),u(u(Mi(t.r,e),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((Kl(),Fw))&&s0e(t,e),r=Mwn(t,e),Got(t,e)==(i5(),o2)&&(r+=2*t.w),n.a.a=r}function Ofe(t,e){var n,r;if(n=u(Mo(t.b,e),127),u(u(Mi(t.r,e),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((Kl(),Fw))&&a0e(t,e),r=Lwn(t,e),Got(t,e)==(i5(),o2)&&(r+=2*t.w),n.a.b=r}function r4n(t,e){var n,r,s,o;for(o=new ge,r=new J(e);r.ar&&(qn(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return r>0||en.a&&(r.Hc((aw(),JA))?s=(e.a-n.a)/2:r.Hc(ZA)&&(s=e.a-n.a)),e.b>n.b&&(r.Hc((aw(),eL))?o=(e.b-n.b)/2:r.Hc(tL)&&(o=e.b-n.b)),Hxt(t,s,o)}function zfe(t,e,n,r,s,o,h,d,m,k,T,A,N){At(t.Cb,90)&&t3(Sl(u(t.Cb,90)),4),wu(t,n),t.f=h,b7(t,d),m7(t,m),p7(t,k),w7(t,T),Lp(t,A),v7(t,N),Ap(t,!0),Tp(t,s),t.Zk(o),rw(t,e),r!=null&&(t.i=null,zq(t,r))}function c6t(t,e,n){if(t<0)return xS(Rpe,ot(st(sa,1),Ln,1,5,[n,fe(t)]));if(e<0)throw nt(new zn(jpe+e));return xS("%s (%s) must not be greater than size (%s)",ot(st(sa,1),Ln,1,5,[n,fe(t),fe(e)]))}function u6t(t,e,n,r,s,o){var h,d,m,k;if(h=r-n,h<7){Qbn(e,n,r,o);return}if(m=n+s,d=r+s,k=m+(d-m>>1),u6t(e,t,m,k,-s,o),u6t(e,t,k,d,-s,o),o.Ne(t[k-1],t[k])<=0){for(;n=0?t.bi(o,n):j6t(t,s,n);else throw nt(new zn(Kb+s.xe()+XS));else throw nt(new zn(Twe+e+Cwe));else Ih(t,r,s,n)}function qfe(t){var e,n;if(t.f){for(;t.n>0;){if(e=u(t.k.Xb(t.n-1),76),n=e.Lk(),At(n,102)&&u(n,19).Bb&Pc&&(!t.e||n.pk()!=WT||n.Lj()!=0)&&e.md()!=null)return!0;--t.n}return!1}else return t.n>0}function Hfe(t){var e,n,r,s;if(n=u(t,54)._h(),n)try{if(r=null,e=D7((mb(),wf),A0e(u2n(n))),e&&(s=e.ai(),s&&(r=s.Fl(lnn(n.e)))),r&&r!=t)return Hfe(r)}catch(o){if(o=is(o),!At(o,63))throw nt(o)}return t}function v4n(t,e,n){var r,s,o;n.Ug("Remove overlaps",1),n.dh(e,v7t),r=u(ne(e,(G4(),J5)),27),t.f=r,t.a=Zat(u(ne(e,($b(),hN)),299)),s=Ht(ne(e,(si(),Pw))),Pt(t,(Wn(s),s)),o=n3(r),Xge(t,e,o,n),n.dh(e,ZV)}function y4n(t){var e,n,r;if(Ie(De(ne(t,(si(),xN))))){for(r=new ge,n=new nr(ir(Mg(t).a.Kc(),new q));Sr(n);)e=u(lr(n),74),Jm(e)&&Ie(De(ne(e,_dt)))&&In(r.c,e);return r}else return wn(),wn(),so}function Vfe(t){if(!t)return HKt(),Cve;var e=t.valueOf?t.valueOf():t;if(e!==t){var n=xht[typeof e];return n?n(e):Z4t(typeof e)}else return t instanceof Array||t instanceof b.Array?new Hj(t):new g6(t)}function Ufe(t,e,n){var r,s,o;switch(o=t.o,r=u(Mo(t.p,n),252),s=r.i,s.b=MO(r),s.a=LO(r),s.b=b.Math.max(s.b,o.a),s.b>o.a&&!e&&(s.b=o.a),s.c=-(s.b-o.a)/2,n.g){case 1:s.d=-s.a;break;case 3:s.d=o.b}sct(r),act(r)}function Gfe(t,e,n){var r,s,o;switch(o=t.o,r=u(Mo(t.p,n),252),s=r.i,s.b=MO(r),s.a=LO(r),s.a=b.Math.max(s.a,o.b),s.a>o.b&&!e&&(s.a=o.b),s.d=-(s.a-o.b)/2,n.g){case 4:s.c=-s.b;break;case 2:s.c=o.a}sct(r),act(r)}function x4n(t,e){var n,r,s,o,h;if(!e.dc()){if(s=u(e.Xb(0),131),e.gc()==1){Ede(t,s,s,1,0,e);return}for(n=1;n0)try{s=oh(e,Va,ki)}catch(o){throw o=is(o),At(o,130)?(r=o,nt(new kq(r))):nt(o)}return n=(!t.a&&(t.a=new Lnt(t)),t.a),s=0?u(Lt(n,s),58):null}function C4n(t,e){if(t<0)return xS(Rpe,ot(st(sa,1),Ln,1,5,["index",fe(t)]));if(e<0)throw nt(new zn(jpe+e));return xS("%s (%s) must be less than size (%s)",ot(st(sa,1),Ln,1,5,["index",fe(t),fe(e)]))}function _4n(t){var e,n,r,s,o;if(t==null)return Hu;for(o=new tw(ro,"[","]"),n=t,r=0,s=n.length;r=0?t.Lh(n,!0,!0):Zm(t,s,!0),160)),u(r,220).Zl(e);else throw nt(new zn(Kb+e.xe()+XS))}function d6t(t){var e,n;return t>-0x800000000000&&t<0x800000000000?t==0?0:(e=t<0,e&&(t=-t),n=Xs(b.Math.floor(b.Math.log(t)/.6931471805599453)),(!e||t!=b.Math.pow(2,n))&&++n,n):cce(Oc(t))}function z4n(t){var e,n,r,s,o,h,d;for(o=new Bd,n=new J(t);n.a2&&d.e.b+d.j.b<=2&&(s=d,r=h),o.a.zc(s,o),s.q=r);return o}function q4n(t,e,n){n.Ug("Eades radial",1),n.dh(e,ZV),t.d=u(ne(e,(G4(),J5)),27),t.c=Rt(Ht(ne(e,($b(),uK)))),t.e=Zat(u(ne(e,hN),299)),t.a=w2n(u(ne(e,RLt),434)),t.b=Bvn(u(ne(e,PLt),354)),vvn(t),n.dh(e,ZV)}function H4n(t,e){if(e.Ug("Target Width Setter",1),td(t,(ad(),sdt)))Oi(t,(D0(),B3),Ht(ne(t,sdt)));else throw nt(new lp("A target width has to be set if the TargetWidthWidthApproximator should be used."));e.Vg()}function Qfe(t,e){var n,r,s;return r=new Lg(t),Yo(r,e),Zt(r,(ae(),_G),e),Zt(r,(Me(),ms),(xa(),lu)),Zt(r,s0,(L0(),xK)),C(r,(Un(),Ds)),n=new Kc,uc(n,r),Qs(n,(ve(),Gn)),s=new Kc,uc(s,r),Qs(s,Jn),r}function Jfe(t){switch(t.g){case 0:return new qnt((qm(),sN));case 1:return new Wet;case 2:return new Yet;default:throw nt(new zn("No implementation is available for the crossing minimizer "+(t.f!=null?t.f:""+t.g)))}}function Zfe(t,e){var n,r,s,o,h;for(t.c[e.p]=!0,pe(t.a,e),h=new J(e.j);h.a=o)h.$b();else for(s=h.Kc(),r=0;r0?Z2t():h<0&&r1e(t,e,-h),!0):!1}function LO(t){var e,n,r,s,o,h,d;if(d=0,t.b==0){for(h=Rle(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}else d=eWt(nat(Py(Ai(cyt(t.a),new ka),new du)));return d>0?d+t.n.d+t.n.a:0}function MO(t){var e,n,r,s,o,h,d;if(d=0,t.b==0)d=eWt(nat(Py(Ai(cyt(t.a),new Ac),new pc)));else{for(h=jle(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}return d>0?d+t.n.b+t.n.c:0}function X4n(t){var e,n;if(t.c.length!=2)throw nt(new Fo("Order only allowed for two paths."));e=(mn(0,t.c.length),u(t.c[0],18)),n=(mn(1,t.c.length),u(t.c[1],18)),e.d.i!=n.c.i&&(t.c.length=0,In(t.c,n),In(t.c,e))}function i1e(t,e,n){var r;for($4(n,e.g,e.f),xh(n,e.i,e.j),r=0;r<(!e.a&&(e.a=new Jt(wi,e,10,11)),e.a).i;r++)i1e(t,u(Lt((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a),r),27),u(Lt((!n.a&&(n.a=new Jt(wi,n,10,11)),n.a),r),27))}function Q4n(t,e){var n,r,s,o;for(o=u(Mo(t.b,e),127),n=o.a,s=u(u(Mi(t.r,e),21),87).Kc();s.Ob();)r=u(s.Pb(),117),r.c&&(n.a=b.Math.max(n.a,jvt(r.c)));if(n.a>0)switch(e.g){case 2:o.n.c=t.s;break;case 4:o.n.b=t.s}}function J4n(t,e){var n,r,s;return n=u(K(e,(Vf(),Fk)),17).a-u(K(t,Fk),17).a,n==0?(r=ra(Ma(u(K(t,(Mb(),jP)),8)),u(K(t,gA),8)),s=ra(Ma(u(K(e,jP),8)),u(K(e,gA),8)),ji(r.a*r.b,s.a*s.b)):n}function Z4n(t,e){var n,r,s;return n=u(K(e,(xc(),iK)),17).a-u(K(t,iK),17).a,n==0?(r=ra(Ma(u(K(t,(zi(),cN)),8)),u(K(t,RT),8)),s=ra(Ma(u(K(e,cN),8)),u(K(e,RT),8)),ji(r.a*r.b,s.a*s.b)):n}function s1e(t){var e,n;return n=new pb,n.a+="e_",e=Ggn(t),e!=null&&(n.a+=""+e),t.c&&t.d&&(ni((n.a+=" ",n),IH(t.c)),ni(Zc((n.a+="[",n),t.c.i),"]"),ni((n.a+=Lut,n),IH(t.d)),ni(Zc((n.a+="[",n),t.d.i),"]")),n.a}function a1e(t){switch(t.g){case 0:return new ent;case 1:return new tE;case 2:return new Z8;case 3:return new tnt;default:throw nt(new zn("No implementation is available for the layout phase "+(t.f!=null?t.f:""+t.g)))}}function b6t(t,e,n,r,s){var o;switch(o=0,s.g){case 1:o=b.Math.max(0,e.b+t.b-(n.b+r));break;case 3:o=b.Math.max(0,-t.b-r);break;case 2:o=b.Math.max(0,-t.a-r);break;case 4:o=b.Math.max(0,e.a+t.a-(n.a+r))}return o}function t5n(t,e,n){var r,s,o,h,d;if(n)for(s=n.a.length,r=new q2(s),d=(r.b-r.a)*r.c<0?(vb(),p2):new kb(r);d.Ob();)h=u(d.Pb(),17),o=jE(n,h.a),lTt in o.a||Hlt in o.a?g8n(t,o,e):OCn(t,o,e),Iin(u(tr(t.b,x7(o)),74))}function w6t(t){var e,n;switch(t.b){case-1:return!0;case 0:return n=t.t,n>1||n==-1?(t.b=-1,!0):(e=rf(t),e&&(bo(),e.lk()==_me)?(t.b=-1,!0):(t.b=1,!1));default:case 1:return!1}}function m6t(t,e){var n,r,s,o;if(vi(t),t.c!=0||t.a!=123)throw nt(new Yr(Qr((Ur(),Wwe))));if(o=e==112,r=t.d,n=xE(t.i,125,r),n<0)throw nt(new Yr(Qr((Ur(),Ywe))));return s=Ch(t.i,r,n),t.d=n+1,Lse(s,o,(t.e&512)==512)}function o1e(t){var e,n,r,s,o,h,d;if(r=t.a.c.length,r>0)for(h=t.c.d,d=t.d.d,s=Rd(ra(new se(d.a,d.b),h),1/(r+1)),o=new se(h.a,h.b),n=new J(t.a);n.a=0&&r=0?t.Lh(n,!0,!0):Zm(t,s,!0),160)),u(r,220).Wl(e);throw nt(new zn(Kb+e.xe()+Plt))}function i5n(){xwt();var t;return lTe?u(D7((mb(),wf),cf),2038):(hi(yw,new gC),ZTn(),t=u(At(eu((mb(),wf),cf),560)?eu(wf,cf):new Eee,560),lTe=!0,t_n(t),o_n(t),di((ywt(),SIt),t,new YR),Bo(wf,cf,t),t)}function s5n(t,e){var n,r,s,o;t.j=-1,zl(t.e)?(n=t.i,o=t.i!=0,LI(t,e),r=new xg(t.e,3,t.c,null,e,n,o),s=e.zl(t.e,t.c,null),s=$he(t,e,s),s?(s.nj(r),s.oj()):Ti(t.e,r)):(LI(t,e),s=e.zl(t.e,t.c,null),s&&s.oj())}function qH(t,e){var n,r,s;if(s=0,r=e[0],r>=t.length)return-1;for(n=(qn(r,t.length),t.charCodeAt(r));n>=48&&n<=57&&(s=s*10+(n-48),++r,!(r>=t.length));)n=(qn(r,t.length),t.charCodeAt(r));return r>e[0]?e[0]=r:s=-1,s}function a5n(t){var e,n,r,s,o;return s=u(t.a,17).a,o=u(t.b,17).a,n=s,r=o,e=b.Math.max(b.Math.abs(s),b.Math.abs(o)),s<=0&&s==o?(n=0,r=o-1):s==-e&&o!=e?(n=o,r=s,o>=0&&++n):(n=-o,r=s),new Ys(fe(n),fe(r))}function o5n(t,e,n,r){var s,o,h,d,m,k;for(s=0;s=0&&k>=0&&m=t.i)throw nt(new No(Ult+e+ww+t.i));if(n>=t.i)throw nt(new No(Glt+n+ww+t.i));return r=t.g[n],e!=n&&(e>16),e=r>>16&16,n=16-e,t=t>>e,r=t-256,e=r>>16&8,n+=e,t<<=e,r=t-u3,e=r>>16&4,n+=e,t<<=e,r=t-Wd,e=r>>16&2,n+=e,t<<=e,r=t>>14,e=r&~(r>>1),n+2-e)}function u5n(t){Y6();var e,n,r,s;for(jU=new ge,Vht=new Er,Hht=new ge,e=(!t.a&&(t.a=new Jt(wi,t,10,11)),t.a),Z9n(e),s=new Zn(e);s.e!=s.i.gc();)r=u(sr(s),27),Wo(jU,r,0)==-1&&(n=new ge,pe(Hht,n),lle(r,n));return Hht}function l5n(t,e,n){var r,s,o,h;t.a=n.b.d,At(e,326)?(s=d5(u(e,74),!1,!1),o=CO(s),r=new gb(t),Oa(o,r),zO(o,s),e.of((si(),Dv))!=null&&Oa(u(e.of(Dv),75),r)):(h=u(e,422),h.rh(h.nh()+t.a.a),h.sh(h.oh()+t.a.b))}function h5n(t,e){var n,r,s;for(s=new ge,r=_r(e.a,0);r.b!=r.d.c;)n=u(Tr(r),65),n.c.g==t.g&&$t(K(n.b,(xc(),o0)))!==$t(K(n.c,o0))&&!Q4(new ln(null,new gn(s,16)),new xUt(n))&&In(s.c,n);return Ms(s,new CZ),s}function u1e(t,e,n){var r,s,o,h;return At(e,153)&&At(n,153)?(o=u(e,153),h=u(n,153),t.a[o.a][h.a]+t.a[h.a][o.a]):At(e,250)&&At(n,250)&&(r=u(e,250),s=u(n,250),r.a==s.a)?u(K(s.a,(Vf(),Fk)),17).a:0}function l1e(t,e){var n,r,s,o,h,d,m,k;for(k=Rt(Ht(K(e,(Me(),LA)))),m=t[0].n.a+t[0].o.a+t[0].d.c+k,d=1;d=0?n:(d=A_(ra(new se(h.c+h.b/2,h.d+h.a/2),new se(o.c+o.b/2,o.d+o.a/2))),-(F0e(o,h)-1)*d)}function d5n(t,e,n){var r;xs(new ln(null,(!n.a&&(n.a=new Jt(Ji,n,6,6)),new gn(n.a,16))),new TXt(t,e)),xs(new ln(null,(!n.n&&(n.n=new Jt(Oo,n,1,7)),new gn(n.n,16))),new CXt(t,e)),r=u(ne(n,(si(),Dv)),75),r&&k4t(r,t,e)}function Zm(t,e,n){var r,s,o;if(o=w5((rl(),Fa),t.Dh(),e),o)return bo(),u(o,69).xk()||(o=Q6(Ro(Fa,o))),s=(r=t.Ih(o),u(r>=0?t.Lh(r,!0,!0):Zm(t,o,!0),160)),u(s,220).Sl(e,n);throw nt(new zn(Kb+e.xe()+Plt))}function v6t(t,e,n,r){var s,o,h,d,m;if(s=t.d[e],s){if(o=s.g,m=s.i,r!=null){for(d=0;d=n&&(r=e,k=(m.c+m.a)/2,h=k-n,m.c<=k-n&&(s=new fit(m.c,h),Cm(t,r++,s)),d=k+n,d<=m.a&&(o=new fit(d,m.a),Fy(r,t.c.length),YC(t.c,r,o)))}function d1e(t,e,n){var r,s,o,h,d,m;if(!e.dc()){for(s=new Qi,m=e.Kc();m.Ob();)for(d=u(m.Pb(),39),di(t.a,fe(d.g),fe(n)),h=(r=_r(new hg(d).a.d,0),new A4(r));_D(h.a);)o=u(Tr(h.a),65).c,fs(s,o,s.c.b,s.c);d1e(t,s,n+1)}}function y6t(t){var e;if(!t.c&&t.g==null)t.d=t.bj(t.f),Mr(t,t.d),e=t.d;else{if(t.g==null)return!0;if(t.i==0)return!1;e=u(t.g[t.i-1],51)}return e==t.b&&null.Vm>=null.Um()?(UH(t),y6t(t)):e.Ob()}function g1e(t){if(this.a=t,t.c.i.k==(Un(),Ds))this.c=t.c,this.d=u(K(t.c.i,(ae(),_c)),64);else if(t.d.i.k==Ds)this.c=t.d,this.d=u(K(t.d.i,(ae(),_c)),64);else throw nt(new zn("Edge "+t+" is not an external edge."))}function p1e(t,e){var n,r,s;s=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,3,s,t.b)),e?e!=t&&(wu(t,e.zb),Ust(t,e.d),n=(r=e.c,r??e.zb),Kst(t,n==null||hn(n,e.zb)?null:n)):(wu(t,null),Ust(t,0),Kst(t,null))}function b1e(t,e){var n;this.e=(Lm(),Hr(t),Lm(),N5t(t)),this.c=(Hr(e),N5t(e)),Tmt(this.e.Rd().dc()==this.c.Rd().dc()),this.d=Mue(this.e),this.b=Mue(this.c),n=$2(sa,[le,Ln],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,q0n(this)}function w1e(t){!vht&&(vht=hCn());var e=t.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return phn(n)});return'"'+e+'"'}function x6t(t,e,n,r,s,o){var h,d,m,k,T;if(s!=0)for($t(t)===$t(n)&&(t=t.slice(e,e+s),e=0),m=n,d=e,k=e+s;d=h)throw nt(new My(e,h));return s=n[e],h==1?r=null:(r=Vt(Kdt,Qlt,424,h-1,0,1),Wc(n,0,r,0,e),o=h-e-1,o>0&&Wc(n,e+1,r,e,o)),k7(t,r),jfe(t,e,s),s}function v1e(t){var e,n;if(t.f){for(;t.n0?o=ck(n):o=lO(ck(n))),Oi(e,DT,o)}function y5n(t,e){var n;e.Ug("Partition preprocessing",1),n=u(tc(Ai(lc(Ai(new ln(null,new gn(t.a,16)),new EQ),new NB),new Yx),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),xs(n.Oc(),new FB),e.Vg()}function x5n(t,e){var n,r,s,o,h;for(h=t.j,e.a!=e.b&&Ms(h,new pJ),s=h.c.length/2|0,r=0;r0&&RO(t,n,e),o):r.a!=null?(RO(t,e,n),-1):s.a!=null?(RO(t,n,e),1):0}function E5n(t,e){var n,r,s,o,h;for(s=e.b.b,t.a=Vt($h,l3,15,s,0,1),t.b=Vt(Fl,B0,28,s,16,1),h=_r(e.b,0);h.b!=h.d.c;)o=u(Tr(h),39),t.a[o.g]=new Qi;for(r=_r(e.a,0);r.b!=r.d.c;)n=u(Tr(r),65),t.a[n.b.g].Fc(n),t.a[n.c.g].Fc(n)}function E1e(t,e){var n,r,s,o;t.Pj()?(n=t.Ej(),o=t.Qj(),++t.j,t.qj(n,t.Zi(n,e)),r=t.Ij(3,null,e,n,o),t.Mj()?(s=t.Nj(e,null),s?(s.nj(r),s.oj()):t.Jj(r)):t.Jj(r)):(fee(t,e),t.Mj()&&(s=t.Nj(e,null),s&&s.oj()))}function k6t(t,e,n){var r,s,o;t.Pj()?(o=t.Qj(),aO(t,e,n),r=t.Ij(3,null,n,e,o),t.Mj()?(s=t.Nj(n,null),t.Tj()&&(s=t.Uj(n,s)),s?(s.nj(r),s.oj()):t.Jj(r)):t.Jj(r)):(aO(t,e,n),t.Mj()&&(s=t.Nj(n,null),s&&s.oj()))}function HH(t,e){var n,r,s,o,h;for(h=Au(t.e.Dh(),e),s=new V8,n=u(t.g,124),o=t.i;--o>=0;)r=n[o],h.am(r.Lk())&&Mr(s,r);!mpe(t,s)&&zl(t.e)&&cE(t,e.Jk()?Sb(t,6,e,(wn(),so),null,-1,!1):Sb(t,e.tk()?2:1,e,null,null,-1,!1))}function T5n(t,e){var n,r,s,o,h;return t.a==(A7(),mA)?!0:(o=e.a.c,n=e.a.c+e.a.b,!(e.j&&(r=e.A,h=r.c.c.a-r.o.a/2,s=o-(r.n.a+r.o.a),s>h)||e.q&&(r=e.C,h=r.c.c.a-r.o.a/2,s=r.n.a-n,s>h)))}function T1e(t){ast();var e,n,r,s,o,h,d;for(n=new yp,s=new J(t.e.b);s.a1?t.e*=Rt(t.a):t.f/=Rt(t.a),Gpn(t),J2n(t),Ykn(t),Zt(t.b,(aS(),RU),t.g)}function A1e(t,e,n){var r,s,o,h,d,m;for(r=0,m=n,e||(r=n*(t.c.length-1),m*=-1),o=new J(t);o.a=0?t.Ah(null):t.Ph().Th(t,-1-e,null,null)),t.Bh(u(s,54),n),r&&r.oj(),t.vh()&&t.wh()&&n>-1&&Ti(t,new la(t,9,n,o,s)),s):o}function C6t(t,e){var n,r,s,o,h;for(o=t.b.Ce(e),r=(n=t.a.get(o),n??Vt(sa,Ln,1,0,5,1)),h=0;h>5,s>=t.d)return t.e<0;if(n=t.a[s],e=1<<(e&31),t.e<0){if(r=zoe(t),s>16)),15).dd(o),d0&&(!(dg(t.a.c)&&e.n.d)&&!(j4(t.a.c)&&e.n.b)&&(e.g.d+=b.Math.max(0,r/2-.5)),!(dg(t.a.c)&&e.n.a)&&!(j4(t.a.c)&&e.n.c)&&(e.g.a-=r-1))}function B1e(t){var e,n,r,s,o;if(s=new ge,o=I0e(t,s),e=u(K(t,(ae(),ml)),10),e)for(r=new J(e.j);r.a>e,o=t.m>>e|n<<22-e,s=t.l>>e|t.m<<22-e):e<44?(h=r?Og:0,o=n>>e-22,s=t.m>>e-22|n<<44-e):(h=r?Og:0,o=r?Il:0,s=n>>e-44),ku(s&Il,o&Il,h&Og)}function $ot(t){var e,n,r,s,o,h;for(this.c=new ge,this.d=t,r=ns,s=ns,e=Vs,n=Vs,h=_r(t,0);h.b!=h.d.c;)o=u(Tr(h),8),r=b.Math.min(r,o.a),s=b.Math.min(s,o.b),e=b.Math.max(e,o.a),n=b.Math.max(n,o.b);this.a=new Th(r,s,e-r,n-s)}function j1e(t,e){var n,r,s,o,h,d;for(o=new J(t.b);o.a0&&At(e,44)&&(t.a._j(),k=u(e,44),m=k.ld(),o=m==null?0:Hi(m),h=Qmt(t.a,o),n=t.a.d[h],n)){for(r=u(n.g,379),T=n.i,d=0;d=2)for(n=s.Kc(),e=Ht(n.Pb());n.Ob();)o=e,e=Ht(n.Pb()),r=b.Math.min(r,(Wn(e),e-(Wn(o),o)));return r}function G5n(t,e){var n,r,s;for(s=new ge,r=_r(e.a,0);r.b!=r.d.c;)n=u(Tr(r),65),n.b.g==t.g&&!hn(n.b.c,QV)&&$t(K(n.b,(xc(),o0)))!==$t(K(n.c,o0))&&!Q4(new ln(null,new gn(s,16)),new kUt(n))&&In(s.c,n);return Ms(s,new LZ),s}function K5n(t,e){var n,r,s;if($t(e)===$t(Hr(t)))return!0;if(!At(e,15)||(r=u(e,15),s=t.gc(),s!=r.gc()))return!1;if(At(r,59)){for(n=0;n0&&(s=n),h=new J(t.f.e);h.a0?(e-=1,n-=1):r>=0&&s<0?(e+=1,n+=1):r>0&&s>=0?(e-=1,n+=1):(e+=1,n-=1),new Ys(fe(e),fe(n))}function oxn(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?Hi(t.a)-Hi(e.a):t.d==(N_(),BA)&&e.d==FA?-1:t.d==FA&&e.d==BA?1:0}function G1e(t,e){var n,r,s,o,h;return o=e.a,o.c.i==e.b?h=o.d:h=o.c,o.c.i==e.b?r=o.c:r=o.d,s=L2n(t.a,h,r),s>0&&s0):s<0&&-s0):!1}function cxn(t,e,n,r){var s,o,h,d,m,k,T,A;for(s=(e-t.d)/t.c.c.length,o=0,t.a+=n,t.d=e,A=new J(t.c);A.a>24;return h}function lxn(t){if(t.ze()){var e=t.c;e.Ae()?t.o="["+e.n:e.ze()?t.o="["+e.xe():t.o="[L"+e.xe()+";",t.b=e.we()+"[]",t.k=e.ye()+"[]";return}var n=t.j,r=t.d;r=r.split("/"),t.o=Vat(".",[n,Vat("$",r)]),t.b=Vat(".",[n,Vat(".",r)]),t.k=r[r.length-1]}function hxn(t,e){var n,r,s,o,h;for(h=null,o=new J(t.e.a);o.a=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(r=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=r,r=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=r);t.c=!0}}function gxn(t,e){var n,r,s,o,h,d,m,k,T;for(k=-1,T=0,h=t,d=0,m=h.length;d0&&++T;++k}return T}function qf(t){var e,n;return n=new Jl(R2(t.Rm)),n.a+="@",ni(n,(e=Hi(t)>>>0,e.toString(16))),t.Vh()?(n.a+=" (eProxyURI: ",Zc(n,t._h()),t.Kh()&&(n.a+=" eClass: ",Zc(n,t.Kh())),n.a+=")"):t.Kh()&&(n.a+=" (eClass: ",Zc(n,t.Kh()),n.a+=")"),n.a}function wS(t){var e,n,r,s;if(t.e)throw nt(new Fo((gg(Iht),uut+Iht.k+lut)));for(t.d==(Rs(),wd)&&hV(t,Ho),n=new J(t.a.a);n.a>24}return n}function wxn(t,e,n){var r,s,o;if(s=u(Mo(t.i,e),314),!s)if(s=new Dae(t.d,e,n),U6(t.i,e,s),$5t(e))xin(t.a,e.c,e.b,s);else switch(o=t4n(e),r=u(Mo(t.p,o),252),o.g){case 1:case 3:s.j=!0,Vnt(r,e.b,s);break;case 4:case 2:s.k=!0,Vnt(r,e.c,s)}return s}function mxn(t,e){var n,r,s,o,h,d,m,k,T;for(m=k0(t.c-t.b&t.a.length-1),k=null,T=null,o=new M_(t);o.a!=o.b;)s=u(rH(o),10),n=(d=u(K(s,(ae(),I1)),12),d?d.i:null),r=(h=u(K(s,hf),12),h?h.i:null),(k!=n||T!=r)&&(L1e(m,e),k=n,T=r),In(m.c,s);L1e(m,e)}function vxn(t,e,n,r){var s,o,h,d,m,k;if(d=new V8,m=Au(t.e.Dh(),e),s=u(t.g,124),bo(),u(e,69).xk())for(h=0;h=0)return s;for(o=1,d=new J(e.j);d.a=0)return s;for(o=1,d=new J(e.j);d.a0&&e.Ne((mn(s-1,t.c.length),u(t.c[s-1],10)),o)>0;)Sh(t,s,(mn(s-1,t.c.length),u(t.c[s-1],10))),--s;mn(s,t.c.length),t.c[s]=o}n.a=new Er,n.b=new Er}function yxn(t,e,n){var r,s,o,h,d,m,k,T;for(T=(r=u(e.e&&e.e(),9),new Eh(r,u(Ff(r,r.length),9),0)),m=s3(n,"[\\[\\]\\s,]+"),o=m,h=0,d=o.length;h=0?(e||(e=new jC,r>0&&Lo(e,(Sa(0,r,t.length),t.substr(0,r)))),e.a+="\\",IE(e,n&js)):e&&IE(e,n&js);return e?e.a:t}function kxn(t){var e,n,r;for(n=new J(t.a.a.b);n.a0&&(!(dg(t.a.c)&&e.n.d)&&!(j4(t.a.c)&&e.n.b)&&(e.g.d-=b.Math.max(0,r/2-.5)),!(dg(t.a.c)&&e.n.a)&&!(j4(t.a.c)&&e.n.c)&&(e.g.a+=b.Math.max(0,r-1)))}function ede(t,e,n){var r,s;if((t.c-t.b&t.a.length-1)==2)e==(ve(),Hn)||e==Jn?(Lq(u(K_(t),15),(ah(),V0)),Lq(u(K_(t),15),a2)):(Lq(u(K_(t),15),(ah(),a2)),Lq(u(K_(t),15),V0));else for(s=new M_(t);s.a!=s.b;)r=u(rH(s),15),Lq(r,n)}function Exn(t,e){var n,r,s,o,h,d,m;for(s=SE(new y2t(t)),d=new _a(s,s.c.length),o=SE(new y2t(e)),m=new _a(o,o.c.length),h=null;d.b>0&&m.b>0&&(n=(cr(d.b>0),u(d.a.Xb(d.c=--d.b),27)),r=(cr(m.b>0),u(m.a.Xb(m.c=--m.b),27)),n==r);)h=n;return h}function nde(t,e,n){var r,s,o,h;nre(t,e)>nre(t,n)?(r=fc(n,(ve(),Jn)),t.d=r.dc()?0:mit(u(r.Xb(0),12)),h=fc(e,Gn),t.b=h.dc()?0:mit(u(h.Xb(0),12))):(s=fc(n,(ve(),Gn)),t.d=s.dc()?0:mit(u(s.Xb(0),12)),o=fc(e,Jn),t.b=o.dc()?0:mit(u(o.Xb(0),12)))}function rde(t,e){var n,r,s,o;for(n=t.o.a,o=u(u(Mi(t.r,e),21),87).Kc();o.Ob();)s=u(o.Pb(),117),s.e.a=n*Rt(Ht(s.b.of(NU))),s.e.b=(r=s.b,r.pf((si(),Nl))?r.ag()==(ve(),Hn)?-r.Mf().b-Rt(Ht(r.of(Nl))):Rt(Ht(r.of(Nl))):r.ag()==(ve(),Hn)?-r.Mf().b:0)}function Txn(t,e){var n,r,s,o;for(e.Ug("Self-Loop pre-processing",1),r=new J(t.a);r.at.c));h++)s.a>=t.s&&(o<0&&(o=h),d=h);return m=(t.s+t.c)/2,o>=0&&(r=f8n(t,e,o,d),m=lrn((mn(r,e.c.length),u(e.c[r],339))),w5n(e,r,n)),m}function zr(t,e,n){var r,s,o,h,d,m,k;for(h=(o=new HR,o),g4t(h,(Wn(e),e)),k=(!h.b&&(h.b=new Hl((bn(),po),Sc,h)),h.b),m=1;m0&&cTn(this,s)}function F6t(t,e,n,r,s,o){var h,d,m;if(!s[e.a]){for(s[e.a]=!0,h=r,!h&&(h=new dq),pe(h.e,e),m=o[e.a].Kc();m.Ob();)d=u(m.Pb(),289),!(d.d==n||d.c==n)&&(d.c!=e&&F6t(t,d.c,e,h,s,o),d.d!=e&&F6t(t,d.d,e,h,s,o),pe(h.c,d),Hs(h.d,d.b));return h}return null}function Sxn(t){var e,n,r,s,o,h,d;for(e=0,s=new J(t.e);s.a=2}function Axn(t,e,n,r,s){var o,h,d,m,k,T;for(o=t.c.d.j,h=u(Nh(n,0),8),T=1;T1||(e=Gi(Qf,ot(st(_o,1),te,95,0,[jg,Jf])),WI(Zz(e,t))>1)||(r=Gi(t1,ot(st(_o,1),te,95,0,[U0,df])),WI(Zz(r,t))>1))}function B6t(t,e,n){var r,s,o;for(o=new J(t.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&Zr(e,r.b));for(s=new J(t.i);s.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&Zr(n,r.a))}function UH(t){var e,n,r,s,o;if(t.g==null&&(t.d=t.bj(t.f),Mr(t,t.d),t.c))return o=t.f,o;if(e=u(t.g[t.i-1],51),s=e.Pb(),t.e=e,n=t.bj(s),n.Ob())t.d=n,Mr(t,n);else for(t.d=null;!e.Ob()&&(hs(t.g,--t.i,null),t.i!=0);)r=u(t.g[t.i-1],51),e=r;return s}function Mxn(t,e){var n,r,s,o,h,d;if(r=e,s=r.Lk(),Dg(t.e,s)){if(s.Si()&&cq(t,s,r.md()))return!1}else for(d=Au(t.e.Dh(),s),n=u(t.g,124),o=0;o1||n>1)return 2;return e+n==1?2:0}function Ml(t,e){var n,r,s,o,h,d;return o=t.a*sut+t.b*1502,d=t.b*sut+11,n=b.Math.floor(d*iP),o+=n,d-=n*o8t,o%=o8t,t.a=o,t.b=d,e<=24?b.Math.floor(t.a*b9t[e]):(s=t.a*(1<=2147483648&&(r-=4294967296),r)}function cde(t,e,n){var r,s,o,h,d,m,k;for(o=new ge,k=new Qi,h=new Qi,JEn(t,k,h,e),MTn(t,k,h,e,n),m=new J(t);m.ar.b.g&&In(o.c,r);return o}function Fxn(t,e,n){var r,s,o,h,d,m;for(d=t.c,h=(n.q?n.q:(wn(),wn(),j0)).vc().Kc();h.Ob();)o=u(h.Pb(),44),r=!gE(Ai(new ln(null,new gn(d,16)),new Mf(new wXt(e,o)))).Bd((j2(),Nk)),r&&(m=o.md(),At(m,4)&&(s=H5t(m),s!=null&&(m=s)),e.qf(u(o.ld(),149),m))}function Bxn(t,e,n){var r,s;if(wI(t.b),x1(t.b,(uO(),gK),(VC(),bN)),x1(t.b,pK,e.g),x1(t.b,bK,e.a),t.a=VO(t.b,e),n.Ug("Compaction by shrinking a tree",t.a.c.length),e.i.c.length>1)for(s=new J(t.a);s.a=0?t.Lh(r,!0,!0):Zm(t,o,!0),160)),u(s,220).Xl(e,n)}else throw nt(new zn(Kb+e.xe()+XS))}function GH(t,e){var n,r,s,o,h;if(e){for(o=At(t.Cb,90)||At(t.Cb,102),h=!o&&At(t.Cb,331),r=new Zn((!e.a&&(e.a=new y_(e,So,e)),e.a));r.e!=r.i.gc();)if(n=u(sr(r),89),s=sV(n),o?At(s,90):h?At(s,156):s)return s;return o?(bn(),mf):(bn(),yd)}else return null}function Rxn(t,e){var n,r,s,o;for(e.Ug("Resize child graph to fit parent.",1),r=new J(t.b);r.a=2*e&&pe(n,new fit(h[r-1]+e,h[r]-e));return n}function zxn(t,e,n){var r,s,o,h,d,m,k,T;if(n)for(o=n.a.length,r=new q2(o),d=(r.b-r.a)*r.c<0?(vb(),p2):new kb(r);d.Ob();)h=u(d.Pb(),17),s=jE(n,h.a),s&&(m=w1n(t,(k=(wb(),T=new j2t,T),e&&$6t(k,e),k),s),ZE(m,wg(s,n0)),BH(s,m),l6t(s,m),dat(t,s,m))}function KH(t){var e,n,r,s,o,h;if(!t.j){if(h=new cC,e=wL,o=e.a.zc(t,e),o==null){for(r=new Zn(Ko(t));r.e!=r.i.gc();)n=u(sr(r),29),s=KH(n),bs(h,s),Mr(h,n);e.a.Bc(t)!=null}Uy(h),t.j=new B4((u(Lt(Xt((Tb(),Fn).o),11),19),h.i),h.g),Sl(t).b&=-33}return t.j}function qxn(t){var e,n,r,s;if(t==null)return null;if(r=iu(t,!0),s=AP.length,hn(r.substr(r.length-s,s),AP)){if(n=r.length,n==4){if(e=(qn(0,r.length),r.charCodeAt(0)),e==43)return KIt;if(e==45)return DTe}else if(n==3)return KIt}return new A2t(r)}function Hxn(t){var e,n,r;return n=t.l,n&n-1||(r=t.m,r&r-1)||(e=t.h,e&e-1)||e==0&&r==0&&n==0?-1:e==0&&r==0&&n!=0?i4t(n):e==0&&r!=0&&n==0?i4t(r)+22:e!=0&&r==0&&n==0?i4t(e)+44:-1}function f5(t,e){var n,r,s,o,h;for(s=e.a&t.f,o=null,r=t.b[s];;r=r.b){if(r==e){o?o.b=e.b:t.b[s]=e.b;break}o=r}for(h=e.f&t.f,o=null,n=t.c[h];;n=n.d){if(n==e){o?o.d=e.d:t.c[h]=e.d;break}o=n}e.e?e.e.c=e.c:t.a=e.c,e.c?e.c.e=e.e:t.e=e.e,--t.i,++t.g}function Vxn(t,e){var n;e.d?e.d.b=e.b:t.a=e.b,e.b?e.b.d=e.d:t.e=e.d,!e.e&&!e.c?(n=u(Zh(u(tk(t.b,e.a),260)),260),n.a=0,++t.c):(n=u(Zh(u(tr(t.b,e.a),260)),260),--n.a,e.e?e.e.c=e.c:n.b=u(Zh(e.c),511),e.c?e.c.e=e.e:n.c=u(Zh(e.e),511)),--t.d}function Uxn(t){var e,n,r,s,o,h,d,m,k,T;for(n=t.o,e=t.p,h=ki,s=Va,d=ki,o=Va,k=0;k0),o.a.Xb(o.c=--o.b),Ly(o,s),cr(o.b3&&A0(t,0,e-3))}function Kxn(t){var e,n,r,s;return $t(K(t,(Me(),A3)))===$t((Cg(),Wp))?!t.e&&$t(K(t,JP))!==$t((s7(),GP)):(r=u(K(t,Kft),298),s=Ie(De(K(t,Wft)))||$t(K(t,_A))===$t((z_(),UP)),e=u(K(t,CSt),17).a,n=t.a.c.length,!s&&r!=(s7(),GP)&&(e==0||e>n))}function Wxn(t){var e,n;for(n=0;n0);n++);if(n>0&&n0);e++);return e>0&&n>16!=6&&e){if(T7(t,e))throw nt(new zn(QS+C1e(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?lxt(t,r):t.Cb.Th(t,-1-n,null,r))),e&&(r=hk(e,t,6,r)),r=Wmt(t,e,r),r&&r.oj()}else t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,6,e,e))}function WH(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(T7(t,e))throw nt(new zn(QS+fge(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?gxt(t,r):t.Cb.Th(t,-1-n,null,r))),e&&(r=hk(e,t,12,r)),r=Ymt(t,e,r),r&&r.oj()}else t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,3,e,e))}function $6t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=9&&e){if(T7(t,e))throw nt(new zn(QS+l0e(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?fxt(t,r):t.Cb.Th(t,-1-n,null,r))),e&&(r=hk(e,t,9,r)),r=Xmt(t,e,r),r&&r.oj()}else t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,9,e,e))}function I7(t){var e,n,r,s,o;if(r=rf(t),o=t.j,o==null&&r)return t.Jk()?null:r.ik();if(At(r,156)){if(n=r.jk(),n&&(s=n.wi(),s!=t.i)){if(e=u(r,156),e.nk())try{t.g=s.ti(e,o)}catch(h){if(h=is(h),At(h,82))t.g=null;else throw nt(h)}t.i=s}return t.g}return null}function fde(t){var e;return e=new ge,pe(e,new M6(new se(t.c,t.d),new se(t.c+t.b,t.d))),pe(e,new M6(new se(t.c,t.d),new se(t.c,t.d+t.a))),pe(e,new M6(new se(t.c+t.b,t.d+t.a),new se(t.c+t.b,t.d))),pe(e,new M6(new se(t.c+t.b,t.d+t.a),new se(t.c,t.d+t.a))),e}function Yxn(t){var e,n,r;if(t==null)return Hu;try{return ec(t)}catch(s){if(s=is(s),At(s,103))return e=s,r=R2(Gl(t))+"@"+(n=(fg(),q5t(t)>>>0),n.toString(16)),uwn(Wgn(),(mE(),"Exception during lenientFormat for "+r),e),"<"+r+" threw "+R2(e.Rm)+">";throw nt(s)}}function Xxn(t,e,n){var r,s,o;for(o=e.a.ec().Kc();o.Ob();)s=u(o.Pb(),74),r=u(tr(t.b,s),272),!r&&(es(M0(s))==es(Bb(s))?B6n(t,s,n):M0(s)==es(Bb(s))?tr(t.c,s)==null&&tr(t.b,Bb(s))!=null&&Vge(t,s,n,!1):tr(t.d,s)==null&&tr(t.b,M0(s))!=null&&Vge(t,s,n,!0))}function Qxn(t,e){var n,r,s,o,h,d,m;for(s=t.Kc();s.Ob();)for(r=u(s.Pb(),10),d=new Kc,uc(d,r),Qs(d,(ve(),Jn)),Zt(d,(ae(),SG),(Nn(),!0)),h=e.Kc();h.Ob();)o=u(h.Pb(),10),m=new Kc,uc(m,o),Qs(m,Gn),Zt(m,SG,!0),n=new Pm,Zt(n,SG,!0),Ya(n,d),ya(n,m)}function Jxn(t,e,n,r){var s,o,h,d;s=Yue(t,e,n),o=Yue(t,n,e),h=u(tr(t.c,e),118),d=u(tr(t.c,n),118),s1)for(e=xm((n=new B2,++t.b,n),t.d),d=_r(o,0);d.b!=d.d.c;)h=u(Tr(d),125),Hf(Of(If(Pf(Df(new Qh,1),0),e),h))}function e6n(t,e,n){var r,s,o,h,d;for(n.Ug("Breaking Point Removing",1),t.a=u(K(e,(Me(),Rg)),223),o=new J(e.b);o.a>16!=11&&e){if(T7(t,e))throw nt(new zn(QS+akt(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?pxt(t,r):t.Cb.Th(t,-1-n,null,r))),e&&(r=hk(e,t,10,r)),r=svt(t,e,r),r&&r.oj()}else t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,11,e,e))}function n6n(t){var e,n,r,s;for(r=new Z2(new ps(t.b).a);r.b;)n=Vm(r),s=u(n.ld(),12),e=u(n.md(),10),Zt(e,(ae(),Di),s),Zt(s,ml,e),Zt(s,YP,(Nn(),!0)),Qs(s,u(K(e,_c),64)),K(e,_c),Zt(s.i,(Me(),ms),(xa(),GT)),u(K(Ia(s.i),uu),21).Fc((ko(),ST))}function r6n(t,e,n){var r,s,o,h,d,m;if(o=0,h=0,t.c)for(m=new J(t.d.i.j);m.ao.a?-1:s.am){for(T=t.d,t.d=Vt(mIt,_Tt,66,2*m+4,0,1),o=0;o=9223372036854776e3?(UE(),KTt):(s=!1,t<0&&(s=!0,t=-t),r=0,t>=lw&&(r=Xs(t/lw),t-=r*lw),n=0,t>=Ek&&(n=Xs(t/Ek),t-=n*Ek),e=Xs(t),o=ku(e,n,r),s&&gat(o),o)}function g6n(t){var e,n,r,s,o;if(o=new ge,Tu(t.b,new knt(o)),t.b.c.length=0,o.c.length!=0){for(e=(mn(0,o.c.length),u(o.c[0],82)),n=1,r=o.c.length;n=-e&&r==e?new Ys(fe(n-1),fe(r)):new Ys(fe(n),fe(r-1))}function pde(){return Ja(),ot(st(__n,1),te,81,0,[PCt,DCt,P5,aft,ZCt,QU,oG,E3,QCt,qCt,YCt,k3,JCt,jCt,t_t,CCt,eG,oft,YU,iG,n_t,rG,_Ct,XCt,r_t,sG,e_t,XU,FCt,KCt,GCt,cG,LCt,WU,ZU,ACt,bT,VCt,$Ct,WCt,pA,ICt,MCt,UCt,zCt,tG,aG,SCt,nG,HCt,JU,BCt,NCt,qP,KU,RCt,OCt])}function w6n(t,e,n){t.d=0,t.b=0,e.k==(Un(),cu)&&n.k==cu&&u(K(e,(ae(),Di)),10)==u(K(n,Di),10)&&(Pst(e).j==(ve(),Hn)?nde(t,e,n):nde(t,n,e)),e.k==cu&&n.k==ha?Pst(e).j==(ve(),Hn)?t.d=1:t.b=1:n.k==cu&&e.k==ha&&(Pst(n).j==(ve(),Hn)?t.b=1:t.d=1),emn(t,e,n)}function m6n(t){var e,n,r,s,o,h,d,m,k,T,A;return A=jxt(t),e=t.a,m=e!=null,m&&AE(A,"category",t.a),s=AD(new ui(t.d)),h=!s,h&&(k=new lg,C1(A,"knownOptions",k),n=new yGt(k),Oa(new ui(t.d),n)),o=AD(t.g),d=!o,d&&(T=new lg,C1(A,"supportedFeatures",T),r=new xGt(T),Oa(t.g,r)),A}function v6n(t){var e,n,r,s,o,h,d,m,k;for(r=!1,e=336,n=0,o=new rZt(t.length),d=t,m=0,k=d.length;m>16!=7&&e){if(T7(t,e))throw nt(new zn(QS+xfe(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?hxt(t,r):t.Cb.Th(t,-1-n,null,r))),e&&(r=u(e,54).Rh(t,1,NN,r)),r=Jvt(t,e,r),r&&r.oj()}else t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,7,e,e))}function bde(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(T7(t,e))throw nt(new zn(QS+vue(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?dxt(t,r):t.Cb.Th(t,-1-n,null,r))),e&&(r=u(e,54).Rh(t,0,BN,r)),r=Zvt(t,e,r),r&&r.oj()}else t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,3,e,e))}function Uot(t,e){O7();var n,r,s,o,h,d,m,k,T;return e.d>t.d&&(d=t,t=e,e=d),e.d<63?okn(t,e):(h=(t.d&-2)<<4,k=m3t(t,h),T=m3t(e,h),r=hct(t,Z6(k,h)),s=hct(e,Z6(T,h)),m=Uot(k,T),n=Uot(r,s),o=Uot(hct(k,r),hct(s,T)),o=mct(mct(o,m),n),o=Z6(o,h),m=Z6(m,h<<1),mct(mct(m,o),n))}function Np(){Np=V,c1t=new O4(y2e,0),hAt=new O4("LONGEST_PATH",1),fAt=new O4("LONGEST_PATH_SOURCE",2),o1t=new O4("COFFMAN_GRAHAM",3),lAt=new O4(Put,4),dAt=new O4("STRETCH_WIDTH",5),UG=new O4("MIN_WIDTH",6),NT=new O4("BF_MODEL_ORDER",7),FT=new O4("DF_MODEL_ORDER",8)}function x6n(t,e,n){var r,s,o,h,d;for(h=J_(t,n),d=Vt(z0,Bp,10,e.length,0,1),r=0,o=h.Kc();o.Ob();)s=u(o.Pb(),12),Ie(De(K(s,(ae(),YP))))&&(d[r++]=u(K(s,ml),10));if(r=0;o+=n?1:-1)h=h|e.c.lg(m,o,n,r&&!Ie(De(K(e.j,(ae(),Zb))))&&!Ie(De(K(e.j,(ae(),q5))))),h=h|e.q.ug(m,o,n),h=h|r0e(t,m[o],n,r);return qs(t.c,e),h}function QH(t,e,n){var r,s,o,h,d,m,k,T,A,N;for(T=Nre(t.j),A=0,N=T.length;A1&&(t.a=!0),tun(u(n.b,68),Ei(Ma(u(e.b,68).c),Rd(ra(Ma(u(n.b,68).a),u(e.b,68).a),s))),qne(t,e),wde(t,n)}function mde(t){var e,n,r,s,o,h,d;for(o=new J(t.a.a);o.a0&&o>0?h.p=e++:r>0?h.p=n++:o>0?h.p=s++:h.p=n++}wn(),Ms(t.j,new FM)}function _6n(t){var e,n;n=null,e=u(Oe(t.g,0),18);do{if(n=e.d.i,Ui(n,(ae(),hf)))return u(K(n,hf),12).i;if(n.k!=(Un(),Ts)&&Sr(new nr(ir(As(n).a.Kc(),new q))))e=u(lr(new nr(ir(As(n).a.Kc(),new q))),18);else if(n.k!=Ts)return null}while(n&&n.k!=(Un(),Ts));return n}function S6n(t,e){var n,r,s,o,h,d,m,k,T;for(d=e.j,h=e.g,m=u(Oe(d,d.c.length-1),113),T=(mn(0,d.c.length),u(d.c[0],113)),k=fot(t,h,m,T),o=1;ok&&(m=n,T=s,k=r);e.a=T,e.c=m}function A6n(t,e,n){var r,s,o,h,d,m,k;for(k=new dp(new iUt(t)),h=ot(st(Y3e,1),Vbe,12,0,[e,n]),d=0,m=h.length;dm-t.b&&dm-t.a&&d0?o.a?(d=o.b.Mf().a,n>d&&(s=(n-d)/2,o.d.b=s,o.d.c=s)):o.d.c=t.s+n:k_(t.u)&&(r=$xt(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.Mf().a&&(o.d.c=r.c+r.b-o.b.Mf().a))}function U6n(t,e){var n,r,s,o,h;h=new ge,n=e;do o=u(tr(t.b,n),131),o.B=n.c,o.D=n.d,In(h.c,o),n=u(tr(t.k,n),18);while(n);return r=(mn(0,h.c.length),u(h.c[0],131)),r.j=!0,r.A=u(r.d.a.ec().Kc().Pb(),18).c.i,s=u(Oe(h,h.c.length-1),131),s.q=!0,s.C=u(s.d.a.ec().Kc().Pb(),18).d.i,h}function G6n(t){var e,n;if(e=u(t.a,17).a,n=u(t.b,17).a,e>=0){if(e==n)return new Ys(fe(-e-1),fe(-e-1));if(e==-n)return new Ys(fe(-e),fe(n+1))}return b.Math.abs(e)>b.Math.abs(n)?e<0?new Ys(fe(-e),fe(n)):new Ys(fe(-e),fe(n+1)):new Ys(fe(e+1),fe(n))}function K6n(t){var e,n;n=u(K(t,(Me(),Du)),171),e=u(K(t,(ae(),kw)),311),n==(Ph(),t2)?(Zt(t,Du,QP),Zt(t,kw,(kg(),$5))):n==_3?(Zt(t,Du,QP),Zt(t,kw,(kg(),jk))):e==(kg(),$5)?(Zt(t,Du,t2),Zt(t,kw,KP)):e==jk&&(Zt(t,Du,_3),Zt(t,kw,KP))}function JH(){JH=V,aN=new lZ,cke=ri(new Fs,(Ha(),Yc),(Ja(),YU)),hke=tl(ri(new Fs,Yc,rG),Qo,nG),fke=Ud(Ud(GC(tl(ri(new Fs,Wf,oG),Qo,aG),ou),sG),cG),uke=tl(ri(ri(ri(new Fs,$0,QU),ou,ZU),ou,bT),Qo,JU),lke=tl(ri(ri(new Fs,ou,bT),ou,WU),Qo,KU)}function yS(){yS=V,pke=ri(tl(new Fs,(Ha(),Qo),(Ja(),BCt)),Yc,YU),vke=Ud(Ud(GC(tl(ri(new Fs,Wf,oG),Qo,aG),ou),sG),cG),bke=tl(ri(ri(ri(new Fs,$0,QU),ou,ZU),ou,bT),Qo,JU),mke=ri(ri(new Fs,Yc,rG),Qo,nG),wke=tl(ri(ri(new Fs,ou,bT),ou,WU),Qo,KU)}function W6n(t,e,n,r,s){var o,h;(!ho(e)&&e.c.i.c==e.d.i.c||!yoe(hc(ot(st(ua,1),le,8,0,[s.i.n,s.n,s.a])),n))&&!ho(e)&&(e.c==s?kE(e.a,0,new eo(n)):Zr(e.a,new eo(n)),r&&!v1(t.a,n)&&(h=u(K(e,(Me(),qo)),75),h||(h=new Xu,Zt(e,qo,h)),o=new eo(n),fs(h,o,h.c.b,h.c),qs(t.a,o)))}function xde(t,e){var n,r,s,o;for(o=qr(Qa(P0,_0(qr(Qa(e==null?0:Hi(e),N0)),15))),n=o&t.b.length-1,s=null,r=t.b[n];r;s=r,r=r.a)if(r.d==o&&zd(r.i,e))return s?s.a=r.a:t.b[n]=r.a,QKt(u(Zh(r.c),604),u(Zh(r.f),604)),ED(u(Zh(r.b),227),u(Zh(r.e),227)),--t.f,++t.e,!0;return!1}function Y6n(t){var e,n;for(n=new nr(ir(ca(t).a.Kc(),new q));Sr(n);)if(e=u(lr(n),18),e.c.i.k!=(Un(),qc))throw nt(new lp(Out+wO(t)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function X6n(t,e,n){var r,s,o,h,d,m,k;if(s=Tue(t.Db&254),s==0)t.Eb=n;else{if(s==1)d=Vt(sa,Ln,1,2,5,1),o=hot(t,e),o==0?(d[0]=n,d[1]=t.Eb):(d[0]=t.Eb,d[1]=n);else for(d=Vt(sa,Ln,1,s+1,5,1),h=X2(t.Eb),r=2,m=0,k=0;r<=128;r<<=1)r==e?d[k++]=n:t.Db&r&&(d[k++]=h[m++]);t.Eb=d}t.Db|=e}function kde(t,e,n){var r,s,o,h;for(this.b=new ge,s=0,r=0,h=new J(t);h.a0&&(o=u(Oe(this.b,0),176),s+=o.o,r+=o.p),s*=2,r*=2,e>1?s=Xs(b.Math.ceil(s*e)):r=Xs(b.Math.ceil(r/e)),this.a=new I5t(s,r)}function Ede(t,e,n,r,s,o){var h,d,m,k,T,A,N,j,U,W,tt,ct;for(T=r,e.j&&e.o?(j=u(tr(t.f,e.A),60),W=j.d.c+j.d.b,--T):W=e.a.c+e.a.b,A=s,n.q&&n.o?(j=u(tr(t.f,n.C),60),k=j.d.c,++A):k=n.a.c,tt=k-W,m=b.Math.max(2,A-T),d=tt/m,U=W+d,N=T;N=0;h+=s?1:-1){for(d=e[h],m=r==(ve(),Jn)?s?fc(d,r):Oh(fc(d,r)):s?Oh(fc(d,r)):fc(d,r),o&&(t.c[d.p]=m.gc()),A=m.Kc();A.Ob();)T=u(A.Pb(),12),t.d[T.p]=k++;Hs(n,m)}}function Cde(t,e,n){var r,s,o,h,d,m,k,T;for(o=Rt(Ht(t.b.Kc().Pb())),k=Rt(Ht(Kgn(e.b))),r=Rd(Ma(t.a),k-n),s=Rd(Ma(e.a),n-o),T=Ei(r,s),Rd(T,1/(k-o)),this.a=T,this.b=new ge,d=!0,h=t.b.Kc(),h.Pb();h.Ob();)m=Rt(Ht(h.Pb())),d&&m-n>dlt&&(this.b.Fc(n),d=!1),this.b.Fc(m);d&&this.b.Fc(n)}function Q6n(t){var e,n,r,s;if(p8n(t,t.n),t.d.c.length>0){for(BC(t.c);A6t(t,u(et(new J(t.e.a)),125))>5,e&=31,r>=t.d)return t.e<0?(Gd(),Dve):(Gd(),lA);if(o=t.d-r,s=Vt(Or,ii,28,o+1,15,1),q3n(s,o,t.a,r,e),t.e<0){for(n=0;n0&&t.a[n]<<32-e){for(n=0;n=0?!1:(n=w5((rl(),Fa),s,e),n?(r=n.Ik(),(r>1||r==-1)&&Im(Ro(Fa,n))!=3):!0)):!1}function ekn(t,e,n,r){var s,o,h,d,m;return d=Xo(u(Lt((!e.b&&(e.b=new En(gr,e,4,7)),e.b),0),84)),m=Xo(u(Lt((!e.c&&(e.c=new En(gr,e,5,8)),e.c),0),84)),es(d)==es(m)||qy(m,d)?null:(h=kI(e),h==n?r:(o=u(tr(t.a,h),10),o&&(s=o.e,s)?s:null))}function nkn(t,e,n){var r,s,o,h,d;for(n.Ug("Longest path to source layering",1),t.a=e,d=t.a.a,t.b=Vt(Or,ii,28,d.c.length,15,1),r=0,h=new J(d);h.a0&&(n[0]+=t.d,h-=n[0]),n[2]>0&&(n[2]+=t.d,h-=n[2]),o=b.Math.max(0,h),n[1]=b.Math.max(n[1],h),y3t(t,yu,s.c+r.b+n[0]-(n[1]-h)/2,n),e==yu&&(t.c.b=o,t.c.c=s.c+r.b+(o-h)/2)}function Nde(){this.c=Vt(wa,Io,28,(ve(),ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn])).length,15,1),this.b=Vt(wa,Io,28,ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn]).length,15,1),this.a=Vt(wa,Io,28,ot(st(go,1),$c,64,0,[gc,Hn,Jn,vr,Gn]).length,15,1),Ewt(this.c,ns),Ewt(this.b,Vs),Ewt(this.a,Vs)}function ru(t,e,n){var r,s,o,h;if(e<=n?(s=e,o=n):(s=n,o=e),r=0,t.b==null)t.b=Vt(Or,ii,28,2,15,1),t.b[0]=s,t.b[1]=o,t.c=!0;else{if(r=t.b.length,t.b[r-1]+1==s){t.b[r-1]=o;return}h=Vt(Or,ii,28,r+2,15,1),Wc(t.b,0,h,0,r),t.b=h,t.b[r-1]>=s&&(t.c=!1,t.a=!1),t.b[r++]=s,t.b[r]=o,t.c||h5(t)}}function ckn(t,e,n){var r,s,o,h,d,m,k;for(k=e.d,t.a=new bu(k.c.length),t.c=new Er,d=new J(k);d.a=0?t.Lh(k,!1,!0):Zm(t,n,!1),61));t:for(o=A.Kc();o.Ob();){for(s=u(o.Pb(),58),T=0;T1;)r3(s,s.i-1);return r}function Bde(t,e){var n,r,s,o,h,d,m;for(n=new V4,o=new J(t.b);o.at.d[h.p]&&(n+=f3t(t.b,o),Ab(t.a,fe(o)));for(;!RC(t.a);)U3t(t.b,u(V6(t.a),17).a)}return n}function gkn(t){var e,n,r,s,o,h,d,m,k;for(t.a=new ivt,k=0,s=0,r=new J(t.i.b);r.ad.d&&(T=d.d+d.a+k));n.c.d=T,e.a.zc(n,e),m=b.Math.max(m,n.c.d+n.c.a)}return m}function ko(){ko=V,yG=new ky("COMMENTS",0),zh=new ky("EXTERNAL_PORTS",1),vA=new ky("HYPEREDGES",2),xG=new ky("HYPERNODES",3),ST=new ky("NON_FREE_PORTS",4),j5=new ky("NORTH_SOUTH_PORTS",5),yA=new ky(c2e,6),CT=new ky("CENTER_LABELS",7),_T=new ky("END_LABELS",8),kG=new ky("PARTITIONS",9)}function bkn(t,e,n,r,s){return r<0?(r=l5(t,s,ot(st(Ne,1),le,2,6,[Pct,Nct,Fct,Bct,xk,Rct,jct,$ct,zct,qct,Hct,Vct]),e),r<0&&(r=l5(t,s,ot(st(Ne,1),le,2,6,["Jan","Feb","Mar","Apr",xk,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function wkn(t,e,n,r,s){return r<0?(r=l5(t,s,ot(st(Ne,1),le,2,6,[Pct,Nct,Fct,Bct,xk,Rct,jct,$ct,zct,qct,Hct,Vct]),e),r<0&&(r=l5(t,s,ot(st(Ne,1),le,2,6,["Jan","Feb","Mar","Apr",xk,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function mkn(t,e,n,r,s,o){var h,d,m,k;if(d=32,r<0){if(e[0]>=t.length||(d=qa(t,e[0]),d!=43&&d!=45)||(++e[0],r=qH(t,e),r<0))return!1;d==45&&(r=-r)}return d==32&&e[0]-n==2&&s.b==2&&(m=new b$,k=m.q.getFullYear()-Hb+Hb-80,h=k%100,o.a=r==h,r+=(k/100|0)*100+(r=0?Fb(t):__(Fb(Ep(t)))),hA[e]=K$(Rf(t,e),0)?Fb(Rf(t,e)):__(Fb(Ep(Rf(t,e)))),t=Qa(t,5);for(;e=k&&(m=r);m&&(T=b.Math.max(T,m.a.o.a)),T>N&&(A=k,N=T)}return A}function Tkn(t){var e,n,r,s,o,h,d;for(o=new dp(u(Hr(new mh),50)),d=Vs,n=new J(t.d);n.aP2e?Ms(m,t.b):r<=P2e&&r>N2e?Ms(m,t.d):r<=N2e&&r>F2e?Ms(m,t.c):r<=F2e&&Ms(m,t.a),o=qde(t,m,o);return s}function Hde(t,e,n,r){var s,o,h,d,m,k;for(s=(r.c+r.a)/2,Zl(e.j),Zr(e.j,s),Zl(n.e),Zr(n.e,s),k=new lWt,d=new J(t.f);d.a1,d&&(r=new se(s,n.b),Zr(e.a,r)),$_(e.a,ot(st(ua,1),le,8,0,[N,A]))}function Q6t(t,e,n){var r,s;for(e=48;n--)xL[n]=n-48<<24>>24;for(r=70;r>=65;r--)xL[r]=r-65+10<<24>>24;for(s=102;s>=97;s--)xL[s]=s-97+10<<24>>24;for(o=0;o<10;o++)YK[o]=48+o&js;for(t=10;t<=15;t++)YK[t]=65+t-10&js}function Akn(t,e){e.Ug("Process graph bounds",1),Zt(t,(zi(),M1t),zD(rat(Py(new ln(null,new gn(t.b,16)),new FZ)))),Zt(t,D1t,zD(rat(Py(new ln(null,new gn(t.b,16)),new BZ)))),Zt(t,nLt,zD(nat(Py(new ln(null,new gn(t.b,16)),new RZ)))),Zt(t,rLt,zD(nat(Py(new ln(null,new gn(t.b,16)),new pR)))),e.Vg()}function Lkn(t){var e,n,r,s,o;s=u(K(t,(Me(),Sw)),21),o=u(K(t,zG),21),n=new se(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),e=new eo(n),s.Hc((Kl(),z3))&&(r=u(K(t,LT),8),o.Hc((Dl(),KT))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),e.a=b.Math.max(n.a,r.a),e.b=b.Math.max(n.b,r.b)),Ie(De(K(t,t1t)))||s7n(t,n,e)}function Mkn(t,e){var n,r,s,o;for(o=fc(e,(ve(),vr)).Kc();o.Ob();)r=u(o.Pb(),12),n=u(K(r,(ae(),ml)),10),n&&Hf(Of(If(Pf(Df(new Qh,0),.1),t.i[e.p].d),t.i[n.p].a));for(s=fc(e,Hn).Kc();s.Ob();)r=u(s.Pb(),12),n=u(K(r,(ae(),ml)),10),n&&Hf(Of(If(Pf(Df(new Qh,0),.1),t.i[n.p].d),t.i[e.p].a))}function Kot(t){var e,n,r,s,o,h;if(!t.c){if(h=new VR,e=wL,o=e.a.zc(t,e),o==null){for(r=new Zn(Gc(t));r.e!=r.i.gc();)n=u(sr(r),89),s=sV(n),At(s,90)&&bs(h,Kot(u(s,29))),Mr(h,n);e.a.Bc(t)!=null,e.a.gc()==0}C2n(h),Uy(h),t.c=new B4((u(Lt(Xt((Tb(),Fn).o),15),19),h.i),h.g),Sl(t).b&=-33}return t.c}function Z6t(t){var e;if(t.c!=10)throw nt(new Yr(Qr((Ur(),lU))));switch(e=t.a,e){case 110:e=10;break;case 114:e=13;break;case 116:e=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw nt(new Yr(Qr((Ur(),jh))))}return e}function Kde(t){var e,n,r,s,o;if(t.l==0&&t.m==0&&t.h==0)return"0";if(t.h==tP&&t.m==0&&t.l==0)return"-9223372036854775808";if(t.h>>19)return"-"+Kde(c7(t));for(n=t,r="";!(n.l==0&&n.m==0&&n.h==0);){if(s=Est(mV),n=Okt(n,s,!0),e=""+bWt(Wb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-e.length;o>0;o--)e="0"+e;r=e+r}return r}function Dkn(t){var e,n,r,s,o,h,d;for(e=!1,n=0,s=new J(t.d.b);s.a=t.a||!Fxt(e,n))return-1;if($E(u(r.Kb(e),20)))return 1;for(s=0,h=u(r.Kb(e),20).Kc();h.Ob();)if(o=u(h.Pb(),18),m=o.c.i==e?o.d.i:o.c.i,d=tkt(t,m,n,r),d==-1||(s=b.Math.max(s,d),s>t.c-1))return-1;return s+1}function Wde(t,e){var n,r,s,o,h,d;if($t(e)===$t(t))return!0;if(!At(e,15)||(r=u(e,15),d=t.gc(),r.gc()!=d))return!1;if(h=r.Kc(),t.Yi()){for(n=0;n0){if(t._j(),e!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return t-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return t-65+10<<24>>24;default:throw nt(new Nd("Invalid hexadecimal"))}}function eV(){eV=V,R9t=new I4("SPIRAL",0),P9t=new I4("LINE_BY_LINE",1),N9t=new I4("MANHATTAN",2),O9t=new I4("JITTER",3),Nht=new I4("QUADRANTS_LINE_BY_LINE",4),B9t=new I4("QUADRANTS_MANHATTAN",5),F9t=new I4("QUADRANTS_JITTER",6),I9t=new I4("COMBINE_LINE_BY_LINE_MANHATTAN",7),D9t=new I4("COMBINE_JITTER_MANHATTAN",8)}function Xde(t,e,n,r){var s,o,h,d,m,k;for(m=mot(t,n),k=mot(e,n),s=!1;m&&k&&(r||Amn(m,k,n));)h=mot(m,n),d=mot(k,n),BI(e),BI(t),o=m.c,vct(m,!1),vct(k,!1),n?(Xy(e,k.p,o),e.p=k.p,Xy(t,m.p+1,o),t.p=m.p):(Xy(t,m.p,o),t.p=m.p,Xy(e,k.p+1,o),e.p=k.p),Ca(m,null),Ca(k,null),m=h,k=d,s=!0;return s}function Qde(t){switch(t.g){case 0:return new Het;case 1:return new zet;case 3:return new TYt;case 4:return new FJ;case 5:return new JJt;case 6:return new qet;case 2:return new $et;case 7:return new Cj;case 8:return new _j;default:throw nt(new zn("No implementation is available for the layerer "+(t.f!=null?t.f:""+t.g)))}}function Bkn(t,e,n,r){var s,o,h,d,m;for(s=!1,o=!1,d=new J(r.j);d.a=e.length)throw nt(new No("Greedy SwitchDecider: Free layer not in graph."));this.c=e[t],this.e=new oI(r),Jst(this.e,this.c,(ve(),Gn)),this.i=new oI(r),Jst(this.i,this.c,Jn),this.f=new pte(this.c),this.a=!o&&s.i&&!s.s&&this.c[0].k==(Un(),Ds),this.a&&Q3n(this,t,e.length)}function Zde(t,e){var n,r,s,o,h,d;o=!t.B.Hc((Dl(),ON)),h=t.B.Hc(jdt),t.a=new Rue(h,o,t.c),t.n&&Oyt(t.a.n,t.n),Vnt(t.g,(_1(),yu),t.a),e||(r=new sS(1,o,t.c),r.n.a=t.k,U6(t.p,(ve(),Hn),r),s=new sS(1,o,t.c),s.n.d=t.k,U6(t.p,vr,s),d=new sS(0,o,t.c),d.n.c=t.k,U6(t.p,Gn,d),n=new sS(0,o,t.c),n.n.b=t.k,U6(t.p,Jn,n))}function jkn(t){var e,n,r;switch(e=u(K(t.d,(Me(),Rg)),223),e.g){case 2:n=SCn(t);break;case 3:n=(r=new ge,xs(Ai(Go(lc(lc(new ln(null,new gn(t.d.b,16)),new cJ),new uJ),new Q9),new JQ),new PVt(r)),r);break;default:throw nt(new Fo("Compaction not supported for "+e+" edges."))}Y7n(t,n),Oa(new ui(t.g),new IVt(t))}function $kn(t,e){var n,r,s,o,h,d,m;if(e.Ug("Process directions",1),n=u(K(t,(xc(),Mv)),88),n!=(Rs(),bd))for(s=_r(t.b,0);s.b!=s.d.c;){switch(r=u(Tr(s),39),d=u(K(r,(zi(),uN)),17).a,m=u(K(r,lN),17).a,n.g){case 4:m*=-1;break;case 1:o=d,d=m,m=o;break;case 2:h=d,d=-m,m=h}Zt(r,uN,fe(d)),Zt(r,lN,fe(m))}e.Vg()}function zkn(t,e){var n;return n=new Ls,e&&Yo(n,u(tr(t.a,NN),96)),At(e,422)&&Yo(n,u(tr(t.a,FN),96)),At(e,366)?(Yo(n,u(tr(t.a,Oo),96)),n):(At(e,84)&&Yo(n,u(tr(t.a,gr),96)),At(e,207)?(Yo(n,u(tr(t.a,wi),96)),n):At(e,193)?(Yo(n,u(tr(t.a,kl),96)),n):(At(e,326)&&Yo(n,u(tr(t.a,Cs),96)),n))}function qkn(t){var e,n,r,s,o,h,d,m;for(m=new Iie,d=new J(t.a);d.a0&&e=0)return!1;if(e.p=n.b,pe(n.e,e),s==(Un(),ha)||s==cu){for(h=new J(e.j);h.at.d[d.p]&&(n+=f3t(t.b,o),Ab(t.a,fe(o)))):++h;for(n+=t.b.d*h;!RC(t.a);)U3t(t.b,u(V6(t.a),17).a)}return n}function u0e(t){var e,n,r,s,o,h;return o=0,e=rf(t),e.kk()&&(o|=4),t.Bb&al&&(o|=2),At(t,102)?(n=u(t,19),s=wo(n),n.Bb&Pc&&(o|=32),s&&(ur(Ny(s)),o|=8,h=s.t,(h>1||h==-1)&&(o|=16),s.Bb&Pc&&(o|=64)),n.Bb&fo&&(o|=b3),o|=Uf):At(e,468)?o|=512:(r=e.kk(),r&&r.i&1&&(o|=256)),t.Bb&512&&(o|=128),o}function t8n(t,e){var n;return t.f==Jdt?(n=Im(Ro((rl(),Fa),e)),t.e?n==4&&e!=(bk(),n8)&&e!=(bk(),e8)&&e!=(bk(),Zdt)&&e!=(bk(),t0t):n==2):t.d&&(t.d.Hc(e)||t.d.Hc(Q6(Ro((rl(),Fa),e)))||t.d.Hc(w5((rl(),Fa),t.b,e)))?!0:t.f&&z6t((rl(),t.f),mI(Ro(Fa,e)))?(n=Im(Ro(Fa,e)),t.e?n==4:n==2):!1}function e8n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j;for(N=-1,j=0,k=t,T=0,A=k.length;T0&&++j;++N}return j}function n8n(t,e,n,r){var s,o,h,d,m,k,T,A;return h=u(ne(n,(si(),Yk)),8),m=h.a,T=h.b+t,s=b.Math.atan2(T,m),s<0&&(s+=pw),s+=e,s>pw&&(s-=pw),d=u(ne(r,Yk),8),k=d.a,A=d.b+t,o=b.Math.atan2(A,k),o<0&&(o+=pw),o+=e,o>pw&&(o-=pw),K1(),$f(1e-10),b.Math.abs(s-o)<=1e-10||s==o||isNaN(s)&&isNaN(o)?0:so?1:vm(isNaN(s),isNaN(o))}function Xot(t){var e,n,r,s,o,h,d;for(d=new Er,r=new J(t.a.b);r.a=t.o)throw nt(new F2t);d=e>>5,h=e&31,o=Rf(1,qr(Rf(h,1))),s?t.n[n][d]=k1(t.n[n][d],o):t.n[n][d]=ia(t.n[n][d],Ovt(o)),o=Rf(o,1),r?t.n[n][d]=k1(t.n[n][d],o):t.n[n][d]=ia(t.n[n][d],Ovt(o))}catch(m){throw m=is(m),At(m,333)?nt(new No(wut+t.o+"*"+t.p+mut+e+ro+n+vut)):nt(m)}}function s8n(t,e,n,r){var s,o,h,d,m,k,T,A,N;for(N=new dp(new rUt(t)),d=ot(st(z0,1),Bp,10,0,[e,n]),m=0,k=d.length;m0&&(r=(!t.n&&(t.n=new Jt(Oo,t,1,7)),u(Lt(t.n,0),135)).a,!r||ni(ni((e.a+=' "',e),r),'"'))),ni(gm(ni(gm(ni(gm(ni(gm((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function l0e(t){var e,n,r;return t.Db&64?Lot(t):(e=new Jl(cTt),n=t.k,n?ni(ni((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new Jt(Oo,t,1,7)),t.n.i>0&&(r=(!t.n&&(t.n=new Jt(Oo,t,1,7)),u(Lt(t.n,0),135)).a,!r||ni(ni((e.a+=' "',e),r),'"'))),ni(gm(ni(gm(ni(gm(ni(gm((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function c8n(t,e){var n,r,s,o,h;for(e==(W_(),v1t)&&_O(u(Mi(t.a,(Qy(),VP)),15)),s=u(Mi(t.a,(Qy(),VP)),15).Kc();s.Ob();)switch(r=u(s.Pb(),105),n=u(Oe(r.j,0),113).d.j,o=new fl(r.j),Ms(o,new eR),e.g){case 2:Eot(t,o,n,(Hm(),Jb),1);break;case 1:case 0:h=Wxn(o),Eot(t,new vp(o,0,h),n,(Hm(),Jb),0),Eot(t,new vp(o,h,o.c.length),n,Jb,1)}}function Jot(t,e){var n,r,s,o,h,d,m;if(e==null||e.length==0)return null;if(s=u(eu(t.a,e),143),!s){for(r=(d=new li(t.b).a.vc().Kc(),new qi(d));r.a.Ob();)if(n=(o=u(r.a.Pb(),44),u(o.md(),143)),h=n.c,m=e.length,hn(h.substr(h.length-m,m),e)&&(e.length==h.length||qa(h,h.length-e.length-1)==46)){if(s)return null;s=n}s&&Bo(t.a,e,s)}return s}function u8n(t,e){var n,r,s,o;return n=new Yi,r=u(tc(Go(new ln(null,new gn(t.f,16)),n),jy(new we,new Ri,new Pn,new Bn,ot(st(zo,1),te,108,0,[(bl(),w3),rc]))),21),s=r.gc(),r=u(tc(Go(new ln(null,new gn(e.f,16)),n),jy(new we,new Ri,new Pn,new Bn,ot(st(zo,1),te,108,0,[w3,rc]))),21),o=r.gc(),ss.p?(Qs(o,vr),o.d&&(d=o.o.b,e=o.a.b,o.a.b=d-e)):o.j==vr&&s.p>t.p&&(Qs(o,Hn),o.d&&(d=o.o.b,e=o.a.b,o.a.b=-(d-e)));break}return s}function BO(t,e,n,r,s){var o,h,d,m,k,T,A;if(!(At(e,207)||At(e,366)||At(e,193)))throw nt(new zn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return h=t.a/2,m=e.i+r-h,T=e.j+s-h,k=m+e.g+t.a,A=T+e.f+t.a,o=new Xu,Zr(o,new se(m,T)),Zr(o,new se(m,A)),Zr(o,new se(k,A)),Zr(o,new se(k,T)),d=new $ot(o),Yo(d,e),n&&di(t.b,e,d),d}function P7(t,e,n){var r,s,o,h,d,m,k,T,A,N;for(o=new se(e,n),T=new J(t.a);T.a1,d&&(r=new se(s,n.b),Zr(e.a,r)),$_(e.a,ot(st(ua,1),le,8,0,[N,A]))}function sf(){sf=V,WG=new Ey(Zd,0),nN=new Ey("NIKOLOV",1),rN=new Ey("NIKOLOV_PIXEL",2),yAt=new Ey("NIKOLOV_IMPROVED",3),xAt=new Ey("NIKOLOV_IMPROVED_PIXEL",4),vAt=new Ey("DUMMYNODE_PERCENTAGE",5),kAt=new Ey("NODECOUNT_PERCENTAGE",6),YG=new Ey("NO_BOUNDARY",7),Av=new Ey("MODEL_ORDER_LEFT_TO_RIGHT",8),P3=new Ey("MODEL_ORDER_RIGHT_TO_LEFT",9)}function v8n(t){var e,n,r,s,o;for(r=t.length,e=new jC,o=0;o=40,h&&yEn(t),L7n(t),Q6n(t),n=Aue(t),r=0;n&&r0&&Zr(t.f,o)):(t.c[h]-=k+1,t.c[h]<=0&&t.a[h]>0&&Zr(t.e,o))))}function E0e(t,e,n,r){var s,o,h,d,m,k,T;for(m=new se(n,r),ra(m,u(K(e,(zi(),RT)),8)),T=_r(e.b,0);T.b!=T.d.c;)k=u(Tr(T),39),Ei(k.e,m),Zr(t.b,k);for(d=u(tc(Vyt(new ln(null,new gn(e.a,16))),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15).Kc();d.Ob();){for(h=u(d.Pb(),65),o=_r(h.a,0);o.b!=o.d.c;)s=u(Tr(o),8),s.a+=m.a,s.b+=m.b;Zr(t.a,h)}}function pkt(t,e){var n,r,s,o;if(0<(At(t,16)?u(t,16).gc():mg(t.Kc()))){if(s=e,1=0&&mo*2?(T=new Dq(A),k=Zu(h)/Vl(h),m=Ect(T,e,new k6,n,r,s,k),Ei(y1(T.e),m),A.c.length=0,o=0,In(A.c,T),In(A.c,h),o=Zu(T)*Vl(T)+Zu(h)*Vl(h)):(In(A.c,h),o+=Zu(h)*Vl(h));return A}function C0e(t,e){var n,r,s,o,h,d;if(d=u(K(e,(Me(),ms)),101),d==(xa(),G0)||d==lu)for(s=new se(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a).b,h=new J(t.a);h.an?e:n;k<=A;++k)k==n?d=r++:(o=s[k],T=U.am(o.Lk()),k==e&&(m=k==A&&!T?r-1:r),T&&++r);return N=u(nS(t,e,n),76),d!=m&&cE(t,new OI(t.e,7,h,fe(d),j.md(),m)),N}}else return u(Bot(t,e,n),76);return u(nS(t,e,n),76)}function j8n(t,e){var n,r,s,o,h,d,m;for(e.Ug("Port order processing",1),m=u(K(t,(Me(),JSt)),430),r=new J(t.b);r.a=0&&(d=Omn(t,h),!(d&&(k<22?m.l|=1<>>1,h.m=T>>>1|(A&1)<<21,h.l=N>>>1|(T&1)<<21,--k;return n&&gat(m),o&&(r?(Wb=c7(t),s&&(Wb=uce(Wb,(UE(),WTt)))):Wb=ku(t.l,t.m,t.h)),m}function q8n(t,e){var n,r,s,o,h,d,m,k,T,A;for(k=t.e[e.c.p][e.p]+1,m=e.c.a.c.length+1,d=new J(t.a);d.a0&&(qn(0,t.length),t.charCodeAt(0)==45||(qn(0,t.length),t.charCodeAt(0)==43))?1:0,r=h;rn)throw nt(new Nd(sv+t+'"'));return d}function H8n(t){var e,n,r,s,o,h,d;for(h=new Qi,o=new J(t.a);o.a1)&&e==1&&u(t.a[t.b],10).k==(Un(),qc)?mk(u(t.a[t.b],10),(ah(),V0)):r&&(!n||(t.c-t.b&t.a.length-1)>1)&&e==1&&u(t.a[t.c-1&t.a.length-1],10).k==(Un(),qc)?mk(u(t.a[t.c-1&t.a.length-1],10),(ah(),a2)):(t.c-t.b&t.a.length-1)==2?(mk(u(K_(t),10),(ah(),V0)),mk(u(K_(t),10),a2)):mxn(t,s),l3t(t)}function G8n(t,e,n){var r,s,o,h,d;for(o=0,s=new Zn((!t.a&&(t.a=new Jt(wi,t,10,11)),t.a));s.e!=s.i.gc();)r=u(sr(s),27),h="",(!r.n&&(r.n=new Jt(Oo,r,1,7)),r.n).i==0||(h=u(Lt((!r.n&&(r.n=new Jt(Oo,r,1,7)),r.n),0),135).a),d=new pat(o++,e,h),Yo(d,r),Zt(d,(zi(),qA),r),d.e.b=r.j+r.f/2,d.f.a=b.Math.max(r.g,1),d.e.a=r.i+r.g/2,d.f.b=b.Math.max(r.f,1),Zr(e.b,d),vu(n.f,r,d)}function K8n(t){var e,n,r,s,o;r=u(K(t,(ae(),Di)),27),o=u(ne(r,(Me(),Sw)),181).Hc((Kl(),Fw)),t.e||(s=u(K(t,uu),21),e=new se(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),s.Hc((ko(),zh))?(Oi(r,ms,(xa(),lu)),nv(r,e.a,e.b,!1,!0)):Ie(De(ne(r,t1t)))||nv(r,e.a,e.b,!0,!0)),o?Oi(r,Sw,Ze(Fw)):Oi(r,Sw,(n=u(m1(hL),9),new Eh(n,u(Ff(n,n.length),9),0)))}function bkt(t,e,n){var r,s,o,h;if(e[0]>=t.length)return n.o=0,!0;switch(qa(t,e[0])){case 43:s=1;break;case 45:s=-1;break;default:return n.o=0,!0}if(++e[0],o=e[0],h=qH(t,e),h==0&&e[0]==o)return!1;if(e[0]d&&(d=s,T.c.length=0),s==d&&pe(T,new Ys(n.c.i,n)));wn(),Ms(T,t.c),Cm(t.b,m.p,T)}}function Q8n(t,e){var n,r,s,o,h,d,m,k,T;for(h=new J(e.b);h.ad&&(d=s,T.c.length=0),s==d&&pe(T,new Ys(n.d.i,n)));wn(),Ms(T,t.c),Cm(t.f,m.p,T)}}function J8n(t,e){var n,r,s,o,h,d,m,k;if(k=De(K(e,(xc(),qke))),k==null||(Wn(k),k)){for(E5n(t,e),s=new ge,m=_r(e.b,0);m.b!=m.d.c;)h=u(Tr(m),39),n=i6t(t,h,null),n&&(Yo(n,e),In(s.c,n));if(t.a=null,t.b=null,s.c.length>1)for(r=new J(s);r.a=0&&d!=n&&(o=new la(t,1,d,h,null),r?r.nj(o):r=o),n>=0&&(o=new la(t,1,n,d==n?h:null,e),r?r.nj(o):r=o)),r}function A0e(t){var e,n,r;if(t.b==null){if(r=new hp,t.i!=null&&(Lo(r,t.i),r.a+=":"),t.f&256){for(t.f&256&&t.a!=null&&(bln(t.i)||(r.a+="//"),Lo(r,t.a)),t.d!=null&&(r.a+="/",Lo(r,t.d)),t.f&16&&(r.a+="/"),e=0,n=t.j.length;eN?!1:(A=(m=SS(r,N,!1),m.a),T+d+A<=e.b&&(PI(n,o-n.s),n.c=!0,PI(r,o-n.s),bO(r,n.s,n.t+n.d+d),r.k=!0,C4t(n.q,r),j=!0,s&&(Fq(e,r),r.j=e,t.c.length>h&&(vO((mn(h,t.c.length),u(t.c[h],186)),r),(mn(h,t.c.length),u(t.c[h],186)).a.c.length==0&&xp(t,h)))),j)}function sEn(t,e){var n,r,s,o,h,d;if(e.Ug("Partition midprocessing",1),s=new Nm,xs(Ai(new ln(null,new gn(t.a,16)),new xQ),new xVt(s)),s.d!=0){for(d=u(tc(Kyt((o=s.i,new ln(null,(o||(s.i=new U4(s,s.c))).Nc()))),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),r=d.Kc(),n=u(r.Pb(),17);r.Ob();)h=u(r.Pb(),17),Qxn(u(Mi(s,n),21),u(Mi(s,h),21)),n=h;e.Vg()}}function D0e(t,e,n){var r,s,o,h,d,m,k,T;if(e.p==0){for(e.p=1,h=n,h||(s=new ge,o=(r=u(m1(go),9),new Eh(r,u(Ff(r,r.length),9),0)),h=new Ys(s,o)),u(h.a,15).Fc(e),e.k==(Un(),Ds)&&u(h.b,21).Fc(u(K(e,(ae(),_c)),64)),m=new J(e.j);m.a0){if(s=u(t.Ab.g,2033),e==null){for(o=0;on.s&&dh)return ve(),Jn;break;case 4:case 3:if(T<0)return ve(),Hn;if(T+n>o)return ve(),vr}return m=(k+d/2)/h,r=(T+n/2)/o,m+r<=1&&m-r<=0?(ve(),Gn):m+r>=1&&m-r>=0?(ve(),Jn):r<.5?(ve(),Hn):(ve(),vr)}function lEn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W;for(n=!1,T=Rt(Ht(K(e,(Me(),Sv)))),U=qb*T,s=new J(e.b);s.am+U&&(W=A.g+N.g,N.a=(N.g*N.a+A.g*A.a)/W,N.g=W,A.f=N,n=!0)),o=d,A=N;return n}function N0e(t,e,n,r,s,o,h){var d,m,k,T,A,N;for(N=new P6,k=e.Kc();k.Ob();)for(d=u(k.Pb(),853),A=new J(d.Rf());A.a0?d.a?(k=d.b.Mf().b,s>k&&(t.v||d.c.d.c.length==1?(h=(s-k)/2,d.d.d=h,d.d.a=h):(n=u(Oe(d.c.d,0),187).Mf().b,r=(n-k)/2,d.d.d=b.Math.max(0,r),d.d.a=s-r-k))):d.d.a=t.t+s:k_(t.u)&&(o=$xt(d.b),o.d<0&&(d.d.d=-o.d),o.d+o.a>d.b.Mf().b&&(d.d.a=o.d+o.a-d.b.Mf().b))}function Vf(){Vf=V,Fk=new Ta((si(),TN),fe(1)),qU=new Ta(Pw,80),g3e=new Ta(ADt,5),i3e=new Ta(nx,Q7),f3e=new Ta(Pdt,fe(1)),d3e=new Ta(Ndt,(Nn(),!0)),eCt=new ym(50),l3e=new Ta(Kp,eCt),J9t=kN,nCt=nL,s3e=new Ta(Tdt,!1),tCt=EN,c3e=R3,u3e=s2,o3e=Ow,a3e=ax,h3e=j3,Z9t=(Xxt(),Qye),Kht=e3e,zU=Xye,Ght=Jye,rCt=t3e,w3e=rL,m3e=_K,b3e=CN,p3e=CK,iCt=(ok(),q3),new Ta(Qk,iCt)}function dEn(t,e){var n;switch(qI(t)){case 6:return pa(e);case 7:return Cy(e);case 8:return Ty(e);case 3:return Array.isArray(e)&&(n=qI(e),!(n>=14&&n<=16));case 11:return e!=null&&typeof e===Sct;case 12:return e!=null&&(typeof e===KO||typeof e==Sct);case 0:return Jat(e,t.__elementTypeId$);case 2:return Iit(e)&&e.Tm!==Et;case 1:return Iit(e)&&e.Tm!==Et||Jat(e,t.__elementTypeId$);default:return!0}}function F0e(t,e){var n,r,s,o;return r=b.Math.min(b.Math.abs(t.c-(e.c+e.b)),b.Math.abs(t.c+t.b-e.c)),o=b.Math.min(b.Math.abs(t.d-(e.d+e.a)),b.Math.abs(t.d+t.a-e.d)),n=b.Math.abs(t.c+t.b/2-(e.c+e.b/2)),n>t.b/2+e.b/2||(s=b.Math.abs(t.d+t.a/2-(e.d+e.a/2)),s>t.a/2+e.a/2)?1:n==0&&s==0?0:n==0?o/s+1:s==0?r/n+1:b.Math.min(r/n,o/s)+1}function gEn(t,e){var n,r,s,o,h,d,m;for(o=0,d=0,m=0,s=new J(t.f.e);s.a0&&t.d!=(R_(),Xht)&&(d+=h*(r.d.a+t.a[e.a][r.a]*(e.d.a-r.d.a)/n)),n>0&&t.d!=(R_(),Wht)&&(m+=h*(r.d.b+t.a[e.a][r.a]*(e.d.b-r.d.b)/n)));switch(t.d.g){case 1:return new se(d/o,e.d.b);case 2:return new se(e.d.a,m/o);default:return new se(d/o,m/o)}}function B0e(t){var e,n,r,s,o,h;for(n=(!t.a&&(t.a=new Ns(bh,t,5)),t.a).i+2,h=new bu(n),pe(h,new se(t.j,t.k)),xs(new ln(null,(!t.a&&(t.a=new Ns(bh,t,5)),new gn(t.a,16))),new KUt(h)),pe(h,new se(t.b,t.c)),e=1;e0&&(tO(m,!1,(Rs(),Ho)),tO(m,!0,Jo)),Tu(e.g,new XYt(t,n)),di(t.g,e,n)}function $0e(){$0e=V;var t;for(n9t=ot(st(Or,1),ii,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),kht=Vt(Or,ii,28,37,15,1),Ave=ot(st(Or,1),ii,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),r9t=Vt(b2,tut,28,37,14,1),t=2;t<=36;t++)kht[t]=Xs(b.Math.pow(t,n9t[t])),r9t[t]=xO(QO,kht[t])}function pEn(t){var e;if((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a).i!=1)throw nt(new zn(gwe+(!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a).i));return e=new Xu,JI(u(Lt((!t.b&&(t.b=new En(gr,t,4,7)),t.b),0),84))&&Aa(e,Ape(t,JI(u(Lt((!t.b&&(t.b=new En(gr,t,4,7)),t.b),0),84)),!1)),JI(u(Lt((!t.c&&(t.c=new En(gr,t,5,8)),t.c),0),84))&&Aa(e,Ape(t,JI(u(Lt((!t.c&&(t.c=new En(gr,t,5,8)),t.c),0),84)),!0)),e}function z0e(t,e){var n,r,s,o,h;for(e.d?s=t.a.c==(qd(),Lv)?ca(e.b):As(e.b):s=t.a.c==(qd(),Vp)?ca(e.b):As(e.b),o=!1,r=new nr(ir(s.a.Kc(),new q));Sr(r);)if(n=u(lr(r),18),h=Ie(t.a.f[t.a.g[e.b.p].p]),!(!h&&!ho(n)&&n.c.i.c==n.d.i.c)&&!(Ie(t.a.n[t.a.g[e.b.p].p])||Ie(t.a.n[t.a.g[e.b.p].p]))&&(o=!0,v1(t.b,t.a.g[pmn(n,e.b).p])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function mkt(t,e,n){var r,s,o,h,d,m,k;if(r=n.gc(),r==0)return!1;if(t.Pj())if(m=t.Qj(),A5t(t,e,n),h=r==1?t.Ij(3,null,n.Kc().Pb(),e,m):t.Ij(5,null,n,e,m),t.Mj()){for(d=r<100?null:new bb(r),o=e+r,s=e;s0){for(h=0;h>16==-15&&t.Cb.Yh()&&Fst(new Dst(t.Cb,9,13,n,t.c,Ip(Al(u(t.Cb,62)),t))):At(t.Cb,90)&&t.Db>>16==-23&&t.Cb.Yh()&&(e=t.c,At(e,90)||(e=(bn(),mf)),At(n,90)||(n=(bn(),mf)),Fst(new Dst(t.Cb,9,10,n,e,Ip(Gc(u(t.Cb,29)),t)))))),t.c}function mEn(t,e,n){var r,s,o,h,d,m,k,T,A;for(n.Ug("Hyperedge merging",1),q5n(t,e),m=new _a(e.b,0);m.b0,d=uH(e,o),Imt(n?d.b:d.g,e),n5(d).c.length==1&&fs(r,d,r.c.b,r.c),s=new Ys(o,e),Ab(t.o,s),$u(t.e.a,o))}function W0e(t,e){var n,r,s,o,h,d,m;return r=b.Math.abs(Fz(t.b).a-Fz(e.b).a),d=b.Math.abs(Fz(t.b).b-Fz(e.b).b),s=0,m=0,n=1,h=1,r>t.b.b/2+e.b.b/2&&(s=b.Math.min(b.Math.abs(t.b.c-(e.b.c+e.b.b)),b.Math.abs(t.b.c+t.b.b-e.b.c)),n=1-s/r),d>t.b.a/2+e.b.a/2&&(m=b.Math.min(b.Math.abs(t.b.d-(e.b.d+e.b.a)),b.Math.abs(t.b.d+t.b.a-e.b.d)),h=1-m/d),o=b.Math.min(n,h),(1-o)*b.Math.sqrt(r*r+d*d)}function xEn(t){var e,n,r,s;for(kct(t,t.e,t.f,(Fm(),r2),!0,t.c,t.i),kct(t,t.e,t.f,r2,!1,t.c,t.i),kct(t,t.e,t.f,X5,!0,t.c,t.i),kct(t,t.e,t.f,X5,!1,t.c,t.i),wEn(t,t.c,t.e,t.f,t.i),r=new _a(t.i,0);r.b=65;n--)xd[n]=n-65<<24>>24;for(r=122;r>=97;r--)xd[r]=r-97+26<<24>>24;for(s=57;s>=48;s--)xd[s]=s-48+52<<24>>24;for(xd[43]=62,xd[47]=63,o=0;o<=25;o++)tb[o]=65+o&js;for(h=26,m=0;h<=51;++h,m++)tb[h]=97+m&js;for(t=52,d=0;t<=61;++t,d++)tb[t]=48+d&js;tb[62]=43,tb[63]=47}function Y0e(t,e){var n,r,s,o,h,d;return s=y4t(t),d=y4t(e),s==d?t.e==e.e&&t.a<54&&e.a<54?t.fe.f?1:0:(r=t.e-e.e,n=(t.d>0?t.d:b.Math.floor((t.a-1)*nbe)+1)-(e.d>0?e.d:b.Math.floor((e.a-1)*nbe)+1),n>r+1?s:n0&&(h=X4(h,age(r))),ile(o,h))):sk&&(N=0,j+=m+e,m=0),P7(h,N,j),n=b.Math.max(n,N+T.a),m=b.Math.max(m,T.b),N+=T.a+e;return new se(n+e,j+m+e)}function kkt(t,e){var n,r,s,o,h,d,m;if(!Y1(t))throw nt(new Fo(dwe));if(r=Y1(t),o=r.g,s=r.f,o<=0&&s<=0)return ve(),gc;switch(d=t.i,m=t.j,e.g){case 2:case 1:if(d<0)return ve(),Gn;if(d+t.g>o)return ve(),Jn;break;case 4:case 3:if(m<0)return ve(),Hn;if(m+t.f>s)return ve(),vr}return h=(d+t.g/2)/o,n=(m+t.f/2)/s,h+n<=1&&h-n<=0?(ve(),Gn):h+n>=1&&h-n>=0?(ve(),Jn):n<.5?(ve(),Hn):(ve(),vr)}function TEn(t,e,n,r,s){var o,h;if(o=Xa(ia(e[0],Eo),ia(r[0],Eo)),t[0]=qr(o),o=_m(o,32),n>=s){for(h=1;h0&&(s.b[h++]=0,s.b[h++]=o.b[0]-1),e=1;e0&&(Q(m,m.d-s.d),s.c==(E1(),n2)&&z(m,m.a-s.d),m.d<=0&&m.i>0&&fs(e,m,e.c.b,e.c)));for(o=new J(t.f);o.a0&&(it(d,d.i-s.d),s.c==(E1(),n2)&&G(d,d.b-s.d),d.i<=0&&d.d>0&&fs(n,d,n.c.b,n.c)))}function SEn(t,e,n,r,s){var o,h,d,m,k,T,A,N,j;for(wn(),Ms(t,new PR),h=lI(t),j=new ge,N=new ge,d=null,m=0;h.b!=0;)o=u(h.b==0?null:(cr(h.b!=0),Lh(h,h.a.a)),163),!d||Zu(d)*Vl(d)/21&&(m>Zu(d)*Vl(d)/2||h.b==0)&&(A=new Dq(N),T=Zu(d)/Vl(d),k=Ect(A,e,new k6,n,r,s,T),Ei(y1(A.e),k),d=A,In(j.c,A),m=0,N.c.length=0));return Hs(j,N),j}function Wc(t,e,n,r,s){fg();var o,h,d,m,k,T,A;if(dyt(t,"src"),dyt(n,"dest"),A=Gl(t),m=Gl(n),Ivt((A.i&4)!=0,"srcType is not an array"),Ivt((m.i&4)!=0,"destType is not an array"),T=A.c,h=m.c,Ivt(T.i&1?T==h:(h.i&1)==0,"Array types don't match"),dpn(t,e,n,r,s),!(T.i&1)&&A!=m)if(k=X2(t),o=X2(n),$t(t)===$t(n)&&er;)hs(o,d,k[--e]);else for(d=r+s;r0),r.a.Xb(r.c=--r.b),A>N+m&&Ul(r);for(h=new J(j);h.a0),r.a.Xb(r.c=--r.b)}}function LEn(){xi();var t,e,n,r,s,o;if(n0t)return n0t;for(t=new eh(4),a3(t,zb(uht,!0)),MS(t,zb("M",!0)),MS(t,zb("C",!0)),o=new eh(4),r=0;r<11;r++)ru(o,r,r);return e=new eh(4),a3(e,zb("M",!0)),ru(e,4448,4607),ru(e,65438,65439),s=new l_(2),cw(s,t),cw(s,EL),n=new l_(2),n.Jm(_z(o,zb("L",!0))),n.Jm(e),n=new By(3,n),n=new fyt(s,n),n0t=n,n0t}function s3(t,e){var n,r,s,o,h,d,m,k;for(n=new RegExp(e,"g"),m=Vt(Ne,le,2,0,6,1),r=0,k=t,o=null;;)if(d=n.exec(k),d==null||k==""){m[r]=k;break}else h=d.index,m[r]=(Sa(0,h,k.length),k.substr(0,h)),k=Ch(k,h+d[0].length,k.length),n.lastIndex=0,o==k&&(m[r]=(Sa(0,1,k.length),k.substr(0,1)),k=(qn(1,k.length+1),k.substr(1))),o=k,++r;if(t.length>0){for(s=m.length;s>0&&m[s-1]=="";)--s;s0&&(A-=r[0]+t.c,r[0]+=t.c),r[2]>0&&(A-=r[2]+t.c),r[1]=b.Math.max(r[1],A),Mz(t.a[1],n.c+e.b+r[0]-(r[1]-A)/2,r[1]);for(o=t.a,d=0,k=o.length;d0?(t.n.c.length-1)*t.i:0,r=new J(t.n);r.a1)for(r=_r(s,0);r.b!=r.d.c;)for(n=u(Tr(r),235),o=0,m=new J(n.e);m.a0&&(e[0]+=t.c,A-=e[0]),e[2]>0&&(A-=e[2]+t.c),e[1]=b.Math.max(e[1],A),Dz(t.a[1],r.d+n.d+e[0]-(e[1]-A)/2,e[1]);else for(U=r.d+n.d,j=r.a-n.d-n.a,h=t.a,m=0,T=h.length;m0||Km(s.b.d,t.b.d+t.b.a)==0&&r.b<0||Km(s.b.d+s.b.a,t.b.d)==0&&r.b>0){d=0;break}}else d=b.Math.min(d,Wfe(t,s,r));d=b.Math.min(d,Z0e(t,o,d,r))}return d}function zO(t,e){var n,r,s,o,h,d,m;if(t.b<2)throw nt(new zn("The vector chain must contain at least a source and a target point."));for(s=(cr(t.b!=0),u(t.a.a.c,8)),QD(e,s.a,s.b),m=new F6((!e.a&&(e.a=new Ns(bh,e,5)),e.a)),h=_r(t,1);h.a=0&&o!=n))throw nt(new zn(kP));for(s=0,m=0;mRt(W1(h.g,h.d[0]).a)?(cr(m.b>0),m.a.Xb(m.c=--m.b),Ly(m,h),s=!0):d.e&&d.e.gc()>0&&(o=(!d.e&&(d.e=new ge),d.e).Mc(e),k=(!d.e&&(d.e=new ge),d.e).Mc(n),(o||k)&&((!d.e&&(d.e=new ge),d.e).Fc(h),++h.c));s||In(r.c,h)}function FEn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct;return A=t.a.i+t.a.g/2,N=t.a.i+t.a.g/2,U=e.i+e.g/2,tt=e.j+e.f/2,d=new se(U,tt),k=u(ne(e,(si(),Yk)),8),k.a=k.a+A,k.b=k.b+N,o=(d.b-k.b)/(d.a-k.a),r=d.b-o*d.a,W=n.i+n.g/2,ct=n.j+n.f/2,m=new se(W,ct),T=u(ne(n,Yk),8),T.a=T.a+A,T.b=T.b+N,h=(m.b-T.b)/(m.a-T.a),s=m.b-h*m.a,j=(r-s)/(h-o),k.a>>0,"0"+e.toString(16)),r="\\x"+Ch(n,n.length-2,n.length)):t>=fo?(n=(e=t>>>0,"0"+e.toString(16)),r="\\v"+Ch(n,n.length-6,n.length)):r=""+String.fromCharCode(t&js)}return r}function rge(t){var e,n,r;if(R4(u(K(t,(Me(),ms)),101)))for(n=new J(t.j);n.a=e.o&&n.f<=e.f||e.a*.5<=n.f&&e.a*1.5>=n.f){if(h=u(Oe(e.n,e.n.c.length-1),209),h.e+h.d+n.g+s<=r&&(o=u(Oe(e.n,e.n.c.length-1),209),o.f-t.f+n.f<=t.b||t.a.c.length==1))return y5t(e,n),!0;if(e.s+n.g<=r&&(e.t+e.d+n.f+s<=t.b||t.a.c.length==1))return pe(e.b,n),d=u(Oe(e.n,e.n.c.length-1),209),pe(e.n,new eq(e.s,d.f+d.a+e.i,e.i)),txt(u(Oe(e.n,e.n.c.length-1),209),n),Q0e(e,n),!0}return!1}function sge(t,e,n){var r,s,o,h;return t.Pj()?(s=null,o=t.Qj(),r=t.Ij(1,h=jst(t,e,n),n,e,o),t.Mj()&&!(t.Yi()&&h!=null?Ci(h,n):$t(h)===$t(n))?(h!=null&&(s=t.Oj(h,s)),s=t.Nj(n,s),t.Tj()&&(s=t.Wj(h,n,s)),s?(s.nj(r),s.oj()):t.Jj(r)):(t.Tj()&&(s=t.Wj(h,n,s)),s?(s.nj(r),s.oj()):t.Jj(r)),h):(h=jst(t,e,n),t.Mj()&&!(t.Yi()&&h!=null?Ci(h,n):$t(h)===$t(n))&&(s=null,h!=null&&(s=t.Oj(h,null)),s=t.Nj(n,s),s&&s.oj()),h)}function HEn(t,e){var n,r,s,o,h;if(e.Ug("Path-Like Graph Wrapping",1),t.b.c.length==0){e.Vg();return}if(s=new L6t(t),h=(s.i==null&&(s.i=x4t(s,new oR)),Rt(s.i)*s.f),n=h/(s.i==null&&(s.i=x4t(s,new oR)),Rt(s.i)),s.b>n){e.Vg();return}switch(u(K(t,(Me(),s1t)),351).g){case 2:o=new uR;break;case 0:o=new HM;break;default:o=new lR}if(r=o.og(t,s),!o.pg())switch(u(K(t,HG),352).g){case 2:r=Yfe(s,r);break;case 1:r=jhe(s,r)}j7n(t,s,r),e.Vg()}function TS(t,e){var n,r,s,o,h,d,m,k;e%=24,t.q.getHours()!=e&&(r=new b.Date(t.q.getTime()),r.setDate(r.getDate()+1),d=t.q.getTimezoneOffset()-r.getTimezoneOffset(),d>0&&(m=d/60|0,k=d%60,s=t.q.getDate(),n=t.q.getHours(),n+m>=24&&++s,o=new b.Date(t.q.getFullYear(),t.q.getMonth(),s,e+m,t.q.getMinutes()+k,t.q.getSeconds(),t.q.getMilliseconds()),t.q.setTime(o.getTime()))),h=t.q.getTime(),t.q.setTime(h+36e5),t.q.getHours()!=e&&t.q.setTime(h)}function VEn(t,e){var n,r,s,o;if(rfn(t.d,t.e),t.c.a.$b(),Rt(Ht(K(e.j,(Me(),DG))))!=0||Rt(Ht(K(e.j,DG)))!=0)for(n=E5,$t(K(e.j,q0))!==$t((Vd(),Hp))&&Zt(e.j,(ae(),Zb),(Nn(),!0)),o=u(K(e.j,MA),17).a,s=0;ss&&++k,pe(h,(mn(d+k,e.c.length),u(e.c[d+k],17))),m+=(mn(d+k,e.c.length),u(e.c[d+k],17)).a-r,++n;n=tt&&t.e[m.p]>U*t.b||St>=n*tt)&&(In(N.c,d),d=new ge,Aa(h,o),o.a.$b(),k-=T,j=b.Math.max(j,k*t.b+W),k+=St,Tt=St,St=0,T=0,W=0);return new Ys(j,N)}function oct(t){var e,n,r,s,o,h,d;if(!t.d){if(d=new oC,e=wL,o=e.a.zc(t,e),o==null){for(r=new Zn(Ko(t));r.e!=r.i.gc();)n=u(sr(r),29),bs(d,oct(n));e.a.Bc(t)!=null,e.a.gc()==0}for(h=d.i,s=(!t.q&&(t.q=new Jt(bf,t,11,10)),new Zn(t.q));s.e!=s.i.gc();++h)u(sr(s),411);bs(d,(!t.q&&(t.q=new Jt(bf,t,11,10)),t.q)),Uy(d),t.d=new B4((u(Lt(Xt((Tb(),Fn).o),9),19),d.i),d.g),t.e=u(d.g,688),t.e==null&&(t.e=cTe),Sl(t).b&=-17}return t.d}function B7(t,e,n,r){var s,o,h,d,m,k;if(k=Au(t.e.Dh(),e),m=0,s=u(t.g,124),bo(),u(e,69).xk()){for(h=0;h1||U==-1)if(A=u(W,71),N=u(T,71),A.dc())N.$b();else for(h=!!wo(e),o=0,d=t.a?A.Kc():A.Ii();d.Ob();)k=u(d.Pb(),58),s=u(ed(t,k),58),s?(h?(m=N.dd(s),m==-1?N.Gi(o,s):o!=m&&N.Ui(o,s)):N.Gi(o,s),++o):t.b&&!h&&(N.Gi(o,k),++o);else W==null?T.Wb(null):(s=ed(t,W),s==null?t.b&&!wo(e)&&T.Wb(W):T.Wb(s))}function YEn(t,e){var n,r,s,o,h,d,m,k;for(n=new cQ,s=new nr(ir(ca(e).a.Kc(),new q));Sr(s);)if(r=u(lr(s),18),!ho(r)&&(d=r.c.i,Fxt(d,GU))){if(k=tkt(t,d,GU,UU),k==-1)continue;n.b=b.Math.max(n.b,k),!n.a&&(n.a=new ge),pe(n.a,d)}for(h=new nr(ir(As(e).a.Kc(),new q));Sr(h);)if(o=u(lr(h),18),!ho(o)&&(m=o.d.i,Fxt(m,UU))){if(k=tkt(t,m,UU,GU),k==-1)continue;n.d=b.Math.max(n.d,k),!n.c&&(n.c=new ge),pe(n.c,m)}return n}function XEn(t,e,n,r){var s,o,h,d,m,k,T;if(n.d.i!=e.i){for(s=new Lg(t),C(s,(Un(),ha)),Zt(s,(ae(),Di),n),Zt(s,(Me(),ms),(xa(),lu)),In(r.c,s),h=new Kc,uc(h,s),Qs(h,(ve(),Gn)),d=new Kc,uc(d,s),Qs(d,Jn),T=n.d,ya(n,h),o=new Pm,Yo(o,n),Zt(o,qo,null),Ya(o,d),ya(o,T),k=new _a(n.b,0);k.b1e6)throw nt(new o$("power of ten too big"));if(t<=ki)return Z6(IO(Pk[1],e),e);for(r=IO(Pk[1],ki),s=r,n=Oc(t-ki),e=Xs(t%ki);Rc(n,ki)>0;)s=X4(s,r),n=ef(n,ki);for(s=X4(s,IO(Pk[1],e)),s=Z6(s,ki),n=Oc(t-ki);Rc(n,ki)>0;)s=Z6(s,ki),n=ef(n,ki);return s=Z6(s,e),s}function oge(t){var e,n,r,s,o,h,d,m,k,T;for(m=new J(t.a);m.ak&&r>k)T=d,k=Rt(e.p[d.p])+Rt(e.d[d.p])+d.o.b+d.d.a;else{s=!1,n._g()&&n.bh("bk node placement breaks on "+d+" which should have been after "+T);break}if(!s)break}return n._g()&&n.bh(e+" is feasible: "+s),s}function _kt(t,e,n,r){var s,o,h,d,m,k,T,A,N;if(o=new Lg(t),C(o,(Un(),cu)),Zt(o,(Me(),ms),(xa(),lu)),s=0,e){for(h=new Kc,Zt(h,(ae(),Di),e),Zt(o,Di,e.i),Qs(h,(ve(),Gn)),uc(h,o),N=Hd(e.e),k=N,T=0,A=k.length;T0){if(s<0&&T.a&&(s=m,o=k[0],r=0),s>=0){if(d=T.b,m==s&&(d-=r++,d==0))return 0;if(!hpe(e,k,T,d,h)){m=s-1,k[0]=o;continue}}else if(s=-1,!hpe(e,k,T,0,h))return 0}else{if(s=-1,qa(T.c,0)==32){if(A=k[0],hae(e,k),k[0]>A)continue}else if(Rln(e,T.c,k[0])){k[0]+=T.c.length;continue}return 0}return $9n(h,n)?k[0]:0}function n7n(t,e,n){var r,s,o,h,d,m,k,T,A,N;for(T=new Oz(new xD(n)),d=Vt(Fl,B0,28,t.f.e.c.length,16,1),lyt(d,d.length),n[e.a]=0,k=new J(t.f.e);k.a=0&&!a5(t,T,A);)--A;s[T]=A}for(j=0;j=0&&!a5(t,d,U);)--d;o[U]=d}for(m=0;me[N]&&Nr[m]&&rV(t,m,N,!1,!0)}function Skt(t){var e,n,r,s,o,h,d,m;n=Ie(De(K(t,(Vf(),s3e)))),o=t.a.c.d,d=t.a.d.d,n?(h=Rd(ra(new se(d.a,d.b),o),.5),m=Rd(Ma(t.e),.5),e=ra(Ei(new se(o.a,o.b),h),m),Bmt(t.d,e)):(s=Rt(Ht(K(t.a,g3e))),r=t.d,o.a>=d.a?o.b>=d.b?(r.a=d.a+(o.a-d.a)/2+s,r.b=d.b+(o.b-d.b)/2-s-t.e.b):(r.a=d.a+(o.a-d.a)/2+s,r.b=o.b+(d.b-o.b)/2+s):o.b>=d.b?(r.a=o.a+(d.a-o.a)/2+s,r.b=d.b+(o.b-d.b)/2+s):(r.a=o.a+(d.a-o.a)/2+s,r.b=o.b+(d.b-o.b)/2-s-t.e.b))}function _S(t){var e,n,r,s,o,h,d,m;if(!t.f){if(m=new UR,d=new UR,e=wL,h=e.a.zc(t,e),h==null){for(o=new Zn(Ko(t));o.e!=o.i.gc();)s=u(sr(o),29),bs(m,_S(s));e.a.Bc(t)!=null,e.a.gc()==0}for(r=(!t.s&&(t.s=new Jt(Ku,t,21,17)),new Zn(t.s));r.e!=r.i.gc();)n=u(sr(r),179),At(n,102)&&Mr(d,u(n,19));Uy(d),t.r=new JZt(t,(u(Lt(Xt((Tb(),Fn).o),6),19),d.i),d.g),bs(m,t.r),Uy(m),t.f=new B4((u(Lt(Xt(Fn.o),5),19),m.i),m.g),Sl(t).b&=-3}return t.f}function uge(t){bm(t,new ow(dm(lm(fm(hm(new cg,dw),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new h1))),he(t,dw,xut,_e(Y9t)),he(t,dw,kut,_e(qht)),he(t,dw,Sk,_e(Vye)),he(t,dw,av,_e(W9t)),he(t,dw,p8t,_e(Wye)),he(t,dw,b8t,_e(Kye)),he(t,dw,g8t,_e(Yye)),he(t,dw,w8t,_e(Gye)),he(t,dw,T8t,_e(Uye)),he(t,dw,C8t,_e(zht)),he(t,dw,_8t,_e(K9t)),he(t,dw,S8t,_e(RU))}function oV(){oV=V,bIt=ot(st(Uh,1),Yd,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),R7e=new RegExp(`[ +\r\f]+`);try{gL=ot(st(R_n,1),Ln,2114,0,[new kD((imt(),dH("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",sI((a$(),a$(),cA))))),new kD(dH("yyyy-MM-dd'T'HH:mm:ss'.'SSS",sI(cA))),new kD(dH("yyyy-MM-dd'T'HH:mm:ss",sI(cA))),new kD(dH("yyyy-MM-dd'T'HH:mm",sI(cA))),new kD(dH("yyyy-MM-dd",sI(cA)))])}catch(t){if(t=is(t),!At(t,82))throw nt(t)}}function i7n(t,e){var n,r,s,o;if(s=Ml(t.d,1)!=0,r=okt(t,e),r==0&&Ie(De(K(e.j,(ae(),Zb)))))return 0;!Ie(De(K(e.j,(ae(),Zb))))&&!Ie(De(K(e.j,q5)))||$t(K(e.j,(Me(),q0)))===$t((Vd(),Hp))?e.c.mg(e.e,s):s=Ie(De(K(e.j,Zb))),FO(t,e,s,!0),Ie(De(K(e.j,q5)))&&Zt(e.j,q5,(Nn(),!1)),Ie(De(K(e.j,Zb)))&&(Zt(e.j,Zb,(Nn(),!1)),Zt(e.j,q5,!0)),n=okt(t,e);do{if(v4t(t),n==0)return 0;s=!s,o=n,FO(t,e,s,!1),n=okt(t,e)}while(o>n);return o}function lge(t,e){var n,r,s,o;if(s=Ml(t.d,1)!=0,r=zH(t,e),r==0&&Ie(De(K(e.j,(ae(),Zb)))))return 0;!Ie(De(K(e.j,(ae(),Zb))))&&!Ie(De(K(e.j,q5)))||$t(K(e.j,(Me(),q0)))===$t((Vd(),Hp))?e.c.mg(e.e,s):s=Ie(De(K(e.j,Zb))),FO(t,e,s,!0),Ie(De(K(e.j,q5)))&&Zt(e.j,q5,(Nn(),!1)),Ie(De(K(e.j,Zb)))&&(Zt(e.j,Zb,(Nn(),!1)),Zt(e.j,q5,!0)),n=zH(t,e);do{if(v4t(t),n==0)return 0;s=!s,o=n,FO(t,e,s,!1),n=zH(t,e)}while(o>n);return o}function Akt(t,e,n,r){var s,o,h,d,m,k,T,A,N;return m=ra(new se(n.a,n.b),t),k=m.a*e.b-m.b*e.a,T=e.a*r.b-e.b*r.a,A=(m.a*r.b-m.b*r.a)/T,N=k/T,T==0?k==0?(s=Ei(new se(n.a,n.b),Rd(new se(r.a,r.b),.5)),o=Lb(t,s),h=Lb(Ei(new se(t.a,t.b),e),s),d=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&A<=1&&N>=0&&N<=1?Ei(new se(t.a,t.b),Rd(new se(e.a,e.b),A)):null}function s7n(t,e,n){var r,s,o,h,d;if(r=u(K(t,(Me(),Gft)),21),n.a>e.a&&(r.Hc((aw(),JA))?t.c.a+=(n.a-e.a)/2:r.Hc(ZA)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((aw(),eL))?t.c.b+=(n.b-e.b)/2:r.Hc(tL)&&(t.c.b+=n.b-e.b)),u(K(t,(ae(),uu)),21).Hc((ko(),zh))&&(n.a>e.a||n.b>e.b))for(d=new J(t.a);d.ae.a&&(r.Hc((aw(),JA))?t.c.a+=(n.a-e.a)/2:r.Hc(ZA)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((aw(),eL))?t.c.b+=(n.b-e.b)/2:r.Hc(tL)&&(t.c.b+=n.b-e.b)),u(K(t,(ae(),uu)),21).Hc((ko(),zh))&&(n.a>e.a||n.b>e.b))for(h=new J(t.a);h.a0?t.i:0)>e&&m>0&&(o=0,h+=m+t.i,s=b.Math.max(s,N),r+=m+t.i,m=0,N=0,n&&(++A,pe(t.n,new eq(t.s,h,t.i))),d=0),N+=k.g+(d>0?t.i:0),m=b.Math.max(m,k.f),n&&txt(u(Oe(t.n,A),209),k),o+=k.g+(d>0?t.i:0),++d;return s=b.Math.max(s,N),r+=m,n&&(t.r=s,t.d=r,ixt(t.j)),new Th(t.s,t.t,s,r)}function cct(t){var e,n,r,s,o,h,d,m,k,T,A,N;for(t.b=!1,A=ns,m=Vs,N=ns,k=Vs,r=t.e.a.ec().Kc();r.Ob();)for(n=u(r.Pb(),272),s=n.a,A=b.Math.min(A,s.c),m=b.Math.max(m,s.c+s.b),N=b.Math.min(N,s.d),k=b.Math.max(k,s.d+s.a),h=new J(n.c);h.at.o.a&&(T=(m-t.o.a)/2,d.b=b.Math.max(d.b,T),d.c=b.Math.max(d.c,T))}}function u7n(t){var e,n,r,s,o,h,d,m;for(o=new ire,$rn(o,(sk(),CEe)),r=(s=tat(t,Vt(Ne,le,2,0,6,1)),new $r(new hl(new trt(t,s).b)));r.bd?1:-1:W4t(t.a,e.a,o),s==-1)A=-m,T=h==m?Cst(e.a,d,t.a,o):Sst(e.a,d,t.a,o);else if(A=h,h==m){if(s==0)return Gd(),lA;T=Cst(t.a,o,e.a,d)}else T=Sst(t.a,o,e.a,d);return k=new H2(A,T.length,T),I_(k),k}function l7n(t,e){var n,r,s,o;if(o=K0e(e),!e.c&&(e.c=new Jt(kl,e,9,9)),xs(new ln(null,(!e.c&&(e.c=new Jt(kl,e,9,9)),new gn(e.c,16))),new ZHt(o)),s=u(K(o,(ae(),uu)),21),n9n(e,s),s.Hc((ko(),zh)))for(r=new Zn((!e.c&&(e.c=new Jt(kl,e,9,9)),e.c));r.e!=r.i.gc();)n=u(sr(r),123),D9n(t,e,o,n);return u(ne(e,(Me(),Sw)),181).gc()!=0&&jde(e,o),Ie(De(K(o,YSt)))&&s.Fc(kG),Ui(o,ZP)&&KKt(new D5t(Rt(Ht(K(o,ZP)))),o),$t(ne(e,A3))===$t((Cg(),Wp))?e_n(t,e,o):jCn(t,e,o),o}function h7n(t){var e,n,r,s,o,h,d,m;for(s=new J(t.b);s.a0?Ch(n.a,0,o-1):""):(Sa(0,o-1,t.length),t.substr(0,o-1)):n?n.a:t}function f7n(t,e){var n,r,s,o,h,d,m;for(e.Ug("Sort By Input Model "+K(t,(Me(),q0)),1),s=0,r=new J(t.b);r.a=t.b.length?(o[s++]=h.b[r++],o[s++]=h.b[r++]):r>=h.b.length?(o[s++]=t.b[n++],o[s++]=t.b[n++]):h.b[r]0?t.i:0)),++e;for(g5t(t.n,m),t.d=n,t.r=r,t.g=0,t.f=0,t.e=0,t.o=ns,t.p=ns,o=new J(t.b);o.a0&&(s=(!t.n&&(t.n=new Jt(Oo,t,1,7)),u(Lt(t.n,0),135)).a,!s||ni(ni((e.a+=' "',e),s),'"'))),n=(!t.b&&(t.b=new En(gr,t,4,7)),!(t.b.i<=1&&(!t.c&&(t.c=new En(gr,t,5,8)),t.c.i<=1))),n?e.a+=" [":e.a+=" ",ni(e,Emt(new Knt,new Zn(t.b))),n&&(e.a+="]"),e.a+=Lut,n&&(e.a+="["),ni(e,Emt(new Knt,new Zn(t.c))),n&&(e.a+="]"),e.a)}function g7n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On;for(Kt=t.c,ie=e.c,n=Wo(Kt.a,t,0),r=Wo(ie.a,e,0),St=u(Wm(t,(xo(),vl)).Kc().Pb(),12),Je=u(Wm(t,xu).Kc().Pb(),12),Bt=u(Wm(e,vl).Kc().Pb(),12),On=u(Wm(e,xu).Kc().Pb(),12),ct=Hd(St.e),Ce=Hd(Je.g),Tt=Hd(Bt.e),en=Hd(On.g),Xy(t,r,ie),h=Tt,T=0,U=h.length;TT?new G2((E1(),F3),n,e,k-T):k>0&&T>0&&(new G2((E1(),F3),e,n,0),new G2(F3,n,e,0))),h)}function w7n(t,e,n){var r,s,o;for(t.a=new ge,o=_r(e.b,0);o.b!=o.d.c;){for(s=u(Tr(o),39);u(K(s,(xc(),o0)),17).a>t.a.c.length-1;)pe(t.a,new Ys(E5,l7t));r=u(K(s,o0),17).a,n==(Rs(),Ho)||n==Jo?(s.e.aRt(Ht(u(Oe(t.a,r),42).b))&&ue(u(Oe(t.a,r),42),s.e.a+s.f.a)):(s.e.bRt(Ht(u(Oe(t.a,r),42).b))&&ue(u(Oe(t.a,r),42),s.e.b+s.f.b))}}function dge(t,e,n,r){var s,o,h,d,m,k,T;if(o=oH(r),d=Ie(De(K(r,(Me(),HSt)))),(d||Ie(De(K(t,FG))))&&!R4(u(K(t,ms),101)))s=ck(o),m=wkt(t,n,n==(xo(),xu)?s:lO(s));else switch(m=new Kc,uc(m,t),e?(T=m.n,T.a=e.a-t.n.a,T.b=e.b-t.n.b,mfe(T,0,0,t.o.a,t.o.b),Qs(m,P0e(m,o))):(s=ck(o),Qs(m,n==(xo(),xu)?s:lO(s))),h=u(K(r,(ae(),uu)),21),k=m.j,o.g){case 2:case 1:(k==(ve(),Hn)||k==vr)&&h.Fc((ko(),j5));break;case 4:case 3:(k==(ve(),Jn)||k==Gn)&&h.Fc((ko(),j5))}return m}function gge(t,e){var n,r,s,o,h,d;for(h=new Z2(new ps(t.f.b).a);h.b;){if(o=Vm(h),s=u(o.ld(),602),e==1){if(s.Af()!=(Rs(),qh)&&s.Af()!=bd)continue}else if(s.Af()!=(Rs(),Ho)&&s.Af()!=Jo)continue;switch(r=u(u(o.md(),42).b,86),d=u(u(o.md(),42).a,194),n=d.c,s.Af().g){case 2:r.g.c=t.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=t.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function m7n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W;for(d=Vt(Or,ii,28,e.b.c.length,15,1),k=Vt(ift,te,273,e.b.c.length,0,1),m=Vt(z0,Bp,10,e.b.c.length,0,1),A=t.a,N=0,j=A.length;N0&&m[r]&&(U=q4(t.b,m[r],s)),W=b.Math.max(W,s.c.c.b+U);for(o=new J(T.e);o.a1)throw nt(new zn(SP));m||(o=S0(e,r.Kc().Pb()),h.Fc(o))}return P4t(t,e6t(t,e,n),h)}function uV(t,e,n){var r,s,o,h,d,m,k,T;if(Dg(t.e,e))m=(bo(),u(e,69).xk()?new xz(e,t):new YD(e,t)),HH(m.c,m.b),h_(m,u(n,16));else{for(T=Au(t.e.Dh(),e),r=u(t.g,124),h=0;h"}m!=null&&(e.a+=""+m)}else t.e?(d=t.e.zb,d!=null&&(e.a+=""+d)):(e.a+="?",t.b?(e.a+=" super ",dct(t.b,e)):t.f&&(e.a+=" extends ",dct(t.f,e)))}function T7n(t){t.b=null,t.a=null,t.o=null,t.q=null,t.v=null,t.w=null,t.B=null,t.p=null,t.Q=null,t.R=null,t.S=null,t.T=null,t.U=null,t.V=null,t.W=null,t.bb=null,t.eb=null,t.ab=null,t.H=null,t.db=null,t.c=null,t.d=null,t.f=null,t.n=null,t.r=null,t.s=null,t.u=null,t.G=null,t.J=null,t.e=null,t.j=null,t.i=null,t.g=null,t.k=null,t.t=null,t.F=null,t.I=null,t.L=null,t.M=null,t.O=null,t.P=null,t.$=null,t.N=null,t.Z=null,t.cb=null,t.K=null,t.D=null,t.A=null,t.C=null,t._=null,t.fb=null,t.X=null,t.Y=null,t.gb=!1,t.hb=!1}function C7n(t){var e,n,r,s;if(r=Cct((!t.c&&(t.c=TI(Oc(t.f))),t.c),0),t.e==0||t.a==0&&t.f!=-1&&t.e<0)return r;if(e=y4t(t)<0?1:0,n=t.e,s=(r.length+1+b.Math.abs(Xs(t.e)),new L4),e==1&&(s.a+="-"),t.e>0)if(n-=r.length-e,n>=0){for(s.a+="0.";n>xw.length;n-=xw.length)cte(s,xw);GJt(s,xw,Xs(n)),ni(s,(qn(e,r.length+1),r.substr(e)))}else n=e-n,ni(s,Ch(r,e,Xs(n))),s.a+=".",ni(s,vyt(r,Xs(n)));else{for(ni(s,(qn(e,r.length+1),r.substr(e)));n<-xw.length;n+=xw.length)cte(s,xw);GJt(s,xw,Xs(-n))}return s.a}function gct(t){var e,n,r,s,o,h,d,m,k;return!(t.k!=(Un(),Ts)||t.j.c.length<=1||(o=u(K(t,(Me(),ms)),101),o==(xa(),lu))||(s=(Yy(),(t.q?t.q:(wn(),wn(),j0))._b(Tv)?r=u(K(t,Tv),203):r=u(K(Ia(t),AA),203),r),s==KG)||!(s==Y5||s==W5)&&(h=Rt(Ht(Wy(t,LA))),e=u(K(t,eN),140),!e&&(e=new nvt(h,h,h,h)),k=fc(t,(ve(),Gn)),m=e.d+e.a+(k.gc()-1)*h,m>t.o.b||(n=fc(t,Jn),d=e.d+e.a+(n.gc()-1)*h,d>t.o.b)))}function _7n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt;e.Ug("Orthogonal edge routing",1),k=Rt(Ht(K(t,(Me(),K5)))),n=Rt(Ht(K(t,U5))),r=Rt(Ht(K(t,Lw))),N=new Bit(0,n),tt=0,h=new _a(t.b,0),d=null,T=null,m=null,A=null;do T=h.b0?(j=(U-1)*n,d&&(j+=r),T&&(j+=r),je||Ie(De(ne(m,(ad(),gN)))))&&(s=0,o+=T.b+n,In(A.c,T),T=new Qyt(o,n),r=new bat(0,T.f,T,n),Fq(T,r),s=0),r.b.c.length==0||!Ie(De(ne(es(m),(ad(),idt))))&&(m.f>=r.o&&m.f<=r.f||r.a*.5<=m.f&&r.a*1.5>=m.f)?y5t(r,m):(h=new bat(r.s+r.r+n,T.f,T,n),Fq(T,h),y5t(h,m)),s=m.i+m.g;return In(A.c,T),A}function AS(t){var e,n,r,s;if(!(t.b==null||t.b.length<=2)&&!t.a){for(e=0,s=0;s=t.b[s+1])s+=2;else if(n0)for(r=new fl(u(Mi(t.a,o),21)),wn(),Ms(r,new w2t(e)),s=new _a(o.b,0);s.b0&&r>=-6?r>=0?JD(o,n-Xs(t.e),String.fromCharCode(46)):(sat(o,e-1,e-1,"0."),JD(o,e+1,nf(xw,0,-Xs(r)-1))):(n-e>=1&&(JD(o,e,String.fromCharCode(46)),++n),JD(o,n,String.fromCharCode(69)),r>0&&JD(o,++n,String.fromCharCode(43)),JD(o,++n,""+E_(Oc(r)))),t.g=o.a,t.g))}function F7n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce;r=Rt(Ht(K(e,(Me(),GSt)))),Kt=u(K(e,MA),17).a,N=4,s=3,ie=20/Kt,j=!1,m=0,h=ki;do{for(o=m!=1,A=m!=0,Ce=0,tt=t.a,Tt=0,Bt=tt.length;TtKt)?(m=2,h=ki):m==0?(m=1,h=Ce):(m=0,h=Ce)):(j=Ce>=h||h-Ce0?1:vm(isNaN(r),isNaN(0)))>=0^($f(e0),(b.Math.abs(d)<=e0||d==0||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:vm(isNaN(d),isNaN(0)))>=0)?b.Math.max(d,r):($f(e0),(b.Math.abs(r)<=e0||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:vm(isNaN(r),isNaN(0)))>0?b.Math.sqrt(d*d+r*r):-b.Math.sqrt(d*d+r*r))}function cw(t,e){var n,r,s,o,h,d;if(e){if(!t.a&&(t.a=new i$),t.e==2){r$(t.a,e);return}if(e.e==1){for(s=0;s=fo?Lo(n,v5t(r)):IE(n,r&js),h=new nst(10,null,0),yun(t.a,h,d-1)):(n=(h.Mm().length+o,new jC),Lo(n,h.Mm())),e.e==0?(r=e.Km(),r>=fo?Lo(n,v5t(r)):IE(n,r&js)):Lo(n,e.Mm()),u(h,530).b=n.a}}function j7n(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt;if(!n.dc()){for(d=0,N=0,r=n.Kc(),U=u(r.Pb(),17).a;d1&&(m=k.Hg(m,t.a,d));return m.c.length==1?u(Oe(m,m.c.length-1),238):m.c.length==2?A7n((mn(0,m.c.length),u(m.c[0],238)),(mn(1,m.c.length),u(m.c[1],238)),h,o):null}function H7n(t,e,n){var r,s,o,h,d,m,k;for(n.Ug("Find roots",1),t.a.c.length=0,s=_r(e.b,0);s.b!=s.d.c;)r=u(Tr(s),39),r.b.b==0&&(Zt(r,(zi(),i2),(Nn(),!0)),pe(t.a,r));switch(t.a.c.length){case 0:o=new pat(0,e,"DUMMY_ROOT"),Zt(o,(zi(),i2),(Nn(),!0)),Zt(o,A1t,!0),Zr(e.b,o);break;case 1:break;default:for(h=new pat(0,e,QV),m=new J(t.a);m.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>h.d&&o.dh.c&&o.c0){if(e=new tmt(t.i,t.g),n=t.i,o=n<100?null:new bb(n),t.Tj())for(r=0;r0){for(d=t.g,k=t.i,B_(t),o=k<100?null:new bb(k),r=0;r>13|(t.m&15)<<9,s=t.m>>4&8191,o=t.m>>17|(t.h&255)<<5,h=(t.h&1048320)>>8,d=e.l&8191,m=e.l>>13|(e.m&15)<<9,k=e.m>>4&8191,T=e.m>>17|(e.h&255)<<5,A=(e.h&1048320)>>8,en=n*d,Je=r*d,On=s*d,Mn=o*d,er=h*d,m!=0&&(Je+=n*m,On+=r*m,Mn+=s*m,er+=o*m),k!=0&&(On+=n*k,Mn+=r*k,er+=s*k),T!=0&&(Mn+=n*T,er+=r*T),A!=0&&(er+=n*A),j=en&Il,U=(Je&511)<<13,N=j+U,tt=en>>22,ct=Je>>9,Tt=(On&262143)<<4,St=(Mn&31)<<17,W=tt+ct+Tt+St,Kt=On>>18,ie=Mn>>5,Ce=(er&4095)<<8,Bt=Kt+ie+Ce,W+=N>>22,N&=Il,Bt+=W>>22,W&=Il,Bt&=Og,ku(N,W,Bt)}function Cge(t){var e,n,r,s,o,h,d;if(d=u(Oe(t.j,0),12),d.g.c.length!=0&&d.e.c.length!=0)throw nt(new Fo("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(d.g.c.length!=0){for(o=ns,n=new J(d.g);n.a4)if(t.fk(e)){if(t.al()){if(s=u(e,54),r=s.Eh(),m=r==t.e&&(t.ml()?s.yh(s.Fh(),t.il())==t.jl():-1-s.Fh()==t.Lj()),t.nl()&&!m&&!r&&s.Jh()){for(o=0;o0&&Cfe(t,d,A);for(s=new J(A);s.at.d[h.p]&&(n+=f3t(t.b,o)*u(m.b,17).a,Ab(t.a,fe(o)));for(;!RC(t.a);)U3t(t.b,u(V6(t.a),17).a)}return n}function W7n(t,e){var n,r,s,o,h,d,m,k,T,A;if(T=u(K(t,(ae(),_c)),64),r=u(Oe(t.j,0),12),T==(ve(),Hn)?Qs(r,vr):T==vr&&Qs(r,Hn),u(K(e,(Me(),Sw)),181).Hc((Kl(),Fw))){if(m=Rt(Ht(K(t,OT))),k=Rt(Ht(K(t,PT))),h=Rt(Ht(K(t,O3))),d=u(K(e,D3),21),d.Hc((wl(),$g)))for(n=k,A=t.o.a/2-r.n.a,o=new J(r.f);o.a0&&(k=t.n.a/o);break;case 2:case 4:s=t.i.o.b,s>0&&(k=t.n.b/s)}Zt(t,(ae(),yv),k)}if(m=t.o,h=t.a,r)h.a=r.a,h.b=r.b,t.d=!0;else if(e!=md&&e!=c2&&d!=gc)switch(d.g){case 1:h.a=m.a/2;break;case 2:h.a=m.a,h.b=m.b/2;break;case 3:h.a=m.a/2,h.b=m.b;break;case 4:h.b=m.b/2}else h.a=m.a/2,h.b=m.b/2}function LS(t){var e,n,r,s,o,h,d,m,k,T;if(t.Pj())if(T=t.Ej(),m=t.Qj(),T>0)if(e=new T4t(t.pj()),n=T,o=n<100?null:new bb(n),rI(t,n,e.g),s=n==1?t.Ij(4,Lt(e,0),null,0,m):t.Ij(6,e,null,-1,m),t.Mj()){for(r=new Zn(e);r.e!=r.i.gc();)o=t.Oj(sr(r),o);o?(o.nj(s),o.oj()):t.Jj(s)}else o?(o.nj(s),o.oj()):t.Jj(s);else rI(t,t.Ej(),t.Fj()),t.Jj(t.Ij(6,(wn(),so),null,-1,m));else if(t.Mj())if(T=t.Ej(),T>0){for(d=t.Fj(),k=T,rI(t,T,d),o=k<100?null:new bb(k),r=0;r1&&Zu(h)*Vl(h)/2>d[0]){for(o=0;od[o];)++o;U=new vp(W,0,o+1),A=new Dq(U),T=Zu(h)/Vl(h),m=Ect(A,e,new k6,n,r,s,T),Ei(y1(A.e),m),z6(S7(N,A),K7),j=new vp(W,o+1,W.c.length),cxt(N,j),W.c.length=0,k=0,Cte(d,d.length,0)}else tt=N.b.c.length==0?null:Oe(N.b,0),tt!=null&&Qst(N,0),k>0&&(d[k]=d[k-1]),d[k]+=Zu(h)*Vl(h),++k,In(W.c,h);return W}function tTn(t,e){var n,r,s,o;n=e.b,o=new fl(n.j),s=0,r=n.j,r.c.length=0,Sm(u(J2(t.b,(ve(),Hn),(Hm(),wv)),15),n),s=pO(o,s,new nR,r),Sm(u(J2(t.b,Hn,Jb),15),n),s=pO(o,s,new J9,r),Sm(u(J2(t.b,Hn,bv),15),n),Sm(u(J2(t.b,Jn,wv),15),n),Sm(u(J2(t.b,Jn,Jb),15),n),s=pO(o,s,new rR,r),Sm(u(J2(t.b,Jn,bv),15),n),Sm(u(J2(t.b,vr,wv),15),n),s=pO(o,s,new iR,r),Sm(u(J2(t.b,vr,Jb),15),n),s=pO(o,s,new sR,r),Sm(u(J2(t.b,vr,bv),15),n),Sm(u(J2(t.b,Gn,wv),15),n),s=pO(o,s,new ZB,r),Sm(u(J2(t.b,Gn,Jb),15),n),Sm(u(J2(t.b,Gn,bv),15),n)}function eTn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j;for(d=new J(e);d.a.5?ct-=h*2*(U-.5):U<.5&&(ct+=o*2*(.5-U)),s=d.d.b,cttt.a-W-T&&(ct=tt.a-W-T),d.n.a=e+ct}}function sTn(t){var e,n,r,s,o;if(r=u(K(t,(Me(),Du)),171),r==(Ph(),t2)){for(n=new nr(ir(ca(t).a.Kc(),new q));Sr(n);)if(e=u(lr(n),18),!jie(e))throw nt(new lp(Out+wO(t)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==_3){for(o=new nr(ir(As(t).a.Kc(),new q));Sr(o);)if(s=u(lr(o),18),!jie(s))throw nt(new lp(Out+wO(t)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function VO(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U;if(t.e&&t.c.c>19&&(e=c7(e),m=!m),h=Hxn(e),o=!1,s=!1,r=!1,t.h==tP&&t.m==0&&t.l==0)if(s=!0,o=!0,h==-1)t=hQt((UE(),KTt)),r=!0,m=!m;else return d=M6t(t,h),m&&gat(d),n&&(Wb=ku(0,0,0)),d;else t.h>>19&&(o=!0,t=c7(t),r=!0,m=!m);return h!=-1?mpn(t,h,m,o,n):bxt(t,e)<0?(n&&(o?Wb=c7(t):Wb=ku(t.l,t.m,t.h)),ku(0,0,0)):z8n(r?t:ku(t.l,t.m,t.h),e,m,o,s,n)}function mct(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U;if(h=t.e,m=e.e,h==0)return e;if(m==0)return t;if(o=t.d,d=e.d,o+d==2)return n=ia(t.a[0],Eo),r=ia(e.a[0],Eo),h==m?(T=Xa(n,r),U=qr(T),j=qr(Eb(T,32)),j==0?new vg(h,U):new H2(h,2,ot(st(Or,1),ii,28,15,[U,j]))):(Gd(),K$(h<0?ef(r,n):ef(n,r),0)?Fb(h<0?ef(r,n):ef(n,r)):__(Fb(Ep(h<0?ef(r,n):ef(n,r)))));if(h==m)N=h,A=o>=d?Sst(t.a,o,e.a,d):Sst(e.a,d,t.a,o);else{if(s=o!=d?o>d?1:-1:W4t(t.a,e.a,o),s==0)return Gd(),lA;s==1?(N=h,A=Cst(t.a,o,e.a,d)):(N=m,A=Cst(e.a,d,t.a,o))}return k=new H2(N,A.length,A),I_(k),k}function oTn(t,e){var n,r,s,o,h,d,m;if(!(t.g>e.f||e.g>t.f)){for(n=0,r=0,h=t.w.a.ec().Kc();h.Ob();)s=u(h.Pb(),12),_at(hc(ot(st(ua,1),le,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&++n;for(d=t.r.a.ec().Kc();d.Ob();)s=u(d.Pb(),12),_at(hc(ot(st(ua,1),le,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&--n;for(m=e.w.a.ec().Kc();m.Ob();)s=u(m.Pb(),12),_at(hc(ot(st(ua,1),le,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&++r;for(o=e.r.a.ec().Kc();o.Ob();)s=u(o.Pb(),12),_at(hc(ot(st(ua,1),le,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&--r;n=0)return n;switch(Im(Ro(t,n))){case 2:{if(hn("",Sp(t,n.qk()).xe())){if(m=mI(Ro(t,n)),d=NE(Ro(t,n)),T=P6t(t,e,m,d),T)return T;for(s=lkt(t,e),h=0,A=s.gc();h1)throw nt(new zn(SP));for(T=Au(t.e.Dh(),e),r=u(t.g,124),h=0;h1,k=new Z1(N.b);cc(k.a)||cc(k.b);)m=u(cc(k.a)?et(k.a):et(k.b),18),A=m.c==N?m.d:m.c,b.Math.abs(hc(ot(st(ua,1),le,8,0,[A.i.n,A.n,A.a])).b-h.b)>1&&W6n(t,m,h,o,N)}}function dTn(t){var e,n,r,s,o,h;if(s=new _a(t.e,0),r=new _a(t.a,0),t.d)for(n=0;ndlt;){for(o=e,h=0;b.Math.abs(e-o)0),s.a.Xb(s.c=--s.b),AEn(t,t.b-h,o,r,s),cr(s.b0),r.a.Xb(r.c=--r.b)}if(!t.d)for(n=0;n0?(t.f[T.p]=j/(T.e.c.length+T.g.c.length),t.c=b.Math.min(t.c,t.f[T.p]),t.b=b.Math.max(t.b,t.f[T.p])):d&&(t.f[T.p]=j)}}function pTn(t){t.b=null,t.bb=null,t.fb=null,t.qb=null,t.a=null,t.c=null,t.d=null,t.e=null,t.f=null,t.n=null,t.M=null,t.L=null,t.Q=null,t.R=null,t.K=null,t.db=null,t.eb=null,t.g=null,t.i=null,t.j=null,t.k=null,t.gb=null,t.o=null,t.p=null,t.q=null,t.r=null,t.$=null,t.ib=null,t.S=null,t.T=null,t.t=null,t.s=null,t.u=null,t.v=null,t.w=null,t.B=null,t.A=null,t.C=null,t.D=null,t.F=null,t.G=null,t.H=null,t.I=null,t.J=null,t.P=null,t.Z=null,t.U=null,t.V=null,t.W=null,t.X=null,t.Y=null,t._=null,t.ab=null,t.cb=null,t.hb=null,t.nb=null,t.lb=null,t.mb=null,t.ob=null,t.pb=null,t.jb=null,t.kb=null,t.N=!1,t.O=!1}function bTn(t,e,n){var r,s,o,h;for(n.Ug("Graph transformation ("+t.a+")",1),h=Bm(e.a),o=new J(e.b);o.a=d.b.c)&&(d.b=e),(!d.c||e.c<=d.c.c)&&(d.d=d.c,d.c=e),(!d.e||e.d>=d.e.d)&&(d.e=e),(!d.f||e.d<=d.f.d)&&(d.f=e);return r=new kH((a7(),pv)),CI(t,q3e,new hl(ot(st($P,1),Ln,382,0,[r]))),h=new kH(y3),CI(t,z3e,new hl(ot(st($P,1),Ln,382,0,[h]))),s=new kH(v3),CI(t,$3e,new hl(ot(st($P,1),Ln,382,0,[s]))),o=new kH(O5),CI(t,j3e,new hl(ot(st($P,1),Ln,382,0,[o]))),Hot(r.c,pv),Hot(s.c,v3),Hot(o.c,O5),Hot(h.c,y3),d.a.c.length=0,Hs(d.a,r.c),Hs(d.a,Oh(s.c)),Hs(d.a,o.c),Hs(d.a,Oh(h.c)),d}function vTn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U;for(e.Ug($2e,1),j=Rt(Ht(ne(t,(D0(),B3)))),h=Rt(Ht(ne(t,(ad(),WA)))),d=u(ne(t,KA),107),m4t((!t.a&&(t.a=new Jt(wi,t,10,11)),t.a)),T=xge((!t.a&&(t.a=new Jt(wi,t,10,11)),t.a),j,h),!t.a&&(t.a=new Jt(wi,t,10,11)),k=new J(T);k.a0&&(t.a=m+(j-1)*o,e.c.b+=t.a,e.f.b+=t.a)),U.a.gc()!=0&&(N=new Bit(1,o),j=Bkt(N,e,U,W,e.f.b+m-e.c.b),j>0&&(e.f.b+=m+(j-1)*o))}function Age(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;for(T=Rt(Ht(K(t,(Me(),_v)))),r=Rt(Ht(K(t,nAt))),N=new ZM,Zt(N,_v,T+r),k=e,ct=k.d,W=k.c.i,Tt=k.d.i,tt=omt(W.c),St=omt(Tt.c),s=new ge,A=tt;A<=St;A++)d=new Lg(t),C(d,(Un(),ha)),Zt(d,(ae(),Di),k),Zt(d,ms,(xa(),lu)),Zt(d,qG,N),j=u(Oe(t.b,A),30),A==tt?Xy(d,j.a.c.length-n,j):Ca(d,j),Bt=Rt(Ht(K(k,zp))),Bt<0&&(Bt=0,Zt(k,zp,Bt)),d.o.b=Bt,U=b.Math.floor(Bt/2),h=new Kc,Qs(h,(ve(),Gn)),uc(h,d),h.n.b=U,m=new Kc,Qs(m,Jn),uc(m,d),m.n.b=U,ya(k,h),o=new Pm,Yo(o,k),Zt(o,qo,null),Ya(o,m),ya(o,ct),cvn(d,k,o),In(s.c,o),k=o;return s}function vct(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St;for(m=u(Op(t,(ve(),Gn)).Kc().Pb(),12).e,j=u(Op(t,Jn).Kc().Pb(),12).g,d=m.c.length,St=Q1(u(Oe(t.j,0),12));d-- >0;){for(W=(mn(0,m.c.length),u(m.c[0],18)),s=(mn(0,j.c.length),u(j.c[0],18)),Tt=s.d.e,o=Wo(Tt,s,0),Hfn(W,s.d,o),Ya(s,null),ya(s,null),U=W.a,e&&Zr(U,new eo(St)),r=_r(s.a,0);r.b!=r.d.c;)n=u(Tr(r),8),Zr(U,new eo(n));for(ct=W.b,N=new J(s.b);N.ah)&&qs(t.b,u(tt.b,18));++d}o=h}}}function Pkt(t,e){var n;if(e==null||hn(e,Hu)||e.length==0&&t.k!=(Pp(),Wk))return null;switch(t.k.g){case 1:return wH(e,aT)?(Nn(),dT):wH(e,Dlt)?(Nn(),Yb):null;case 2:try{return fe(oh(e,Va,ki))}catch(r){if(r=is(r),At(r,130))return null;throw nt(r)}case 4:try{return Jy(e)}catch(r){if(r=is(r),At(r,130))return null;throw nt(r)}case 3:return e;case 5:return Wce(t),c1e(t,e);case 6:return Wce(t),yxn(t,t.a,e);case 7:try{return n=D5n(t),n.cg(e),n}catch(r){if(r=is(r),At(r,33))return null;throw nt(r)}default:throw nt(new Fo("Invalid type set for this layout option."))}}function Nkt(t){var e;switch(t.d){case 1:{if(t.Sj())return t.o!=-2;break}case 2:{if(t.Sj())return t.o==-2;break}case 3:case 5:case 4:case 6:case 7:return t.o>-2;default:return!1}switch(e=t.Rj(),t.p){case 0:return e!=null&&Ie(De(e))!=a_(t.k,0);case 1:return e!=null&&u(e,222).a!=qr(t.k)<<24>>24;case 2:return e!=null&&u(e,180).a!=(qr(t.k)&js);case 6:return e!=null&&a_(u(e,168).a,t.k);case 5:return e!=null&&u(e,17).a!=qr(t.k);case 7:return e!=null&&u(e,191).a!=qr(t.k)<<16>>16;case 3:return e!=null&&Rt(Ht(e))!=t.j;case 4:return e!=null&&u(e,161).a!=t.j;default:return e==null?t.n!=null:!Ci(e,t.n)}}function UO(t,e,n){var r,s,o,h;return t.ol()&&t.nl()&&(h=Dit(t,u(n,58)),$t(h)!==$t(n))?(t.xj(e),t.Dj(e,Dse(t,e,h)),t.al()&&(o=(s=u(n,54),t.ml()?t.kl()?s.Th(t.b,wo(u(Tn(ju(t.b),t.Lj()),19)).n,u(Tn(ju(t.b),t.Lj()).Hk(),29).kk(),null):s.Th(t.b,ss(s.Dh(),wo(u(Tn(ju(t.b),t.Lj()),19))),null,null):s.Th(t.b,-1-t.Lj(),null,null)),!u(h,54).Ph()&&(o=(r=u(h,54),t.ml()?t.kl()?r.Rh(t.b,wo(u(Tn(ju(t.b),t.Lj()),19)).n,u(Tn(ju(t.b),t.Lj()).Hk(),29).kk(),o):r.Rh(t.b,ss(r.Dh(),wo(u(Tn(ju(t.b),t.Lj()),19))),null,o):r.Rh(t.b,-1-t.Lj(),null,o))),o&&o.oj()),zl(t.b)&&t.Jj(t.Ij(9,n,h,e,!1)),h):n}function Lge(t){var e,n,r,s,o,h,d,m,k,T;for(r=new ge,h=new J(t.e.a);h.a0&&(h=b.Math.max(h,Ooe(t.C.b+r.d.b,s))),T=r,A=s,N=o;t.C&&t.C.c>0&&(j=N+t.C.c,k&&(j+=T.d.c),h=b.Math.max(h,(K1(),$f(cd),b.Math.abs(A-1)<=cd||A==1||isNaN(A)&&isNaN(1)?0:j/(1-A)))),n.n.b=0,n.a.a=h}function Dge(t,e){var n,r,s,o,h,d,m,k,T,A,N,j;if(n=u(Mo(t.b,e),127),m=u(u(Mi(t.r,e),21),87),m.dc()){n.n.d=0,n.n.a=0;return}for(k=t.u.Hc((wl(),$g)),h=0,t.A.Hc((Kl(),Fw))&&a0e(t,e),d=m.Kc(),T=null,N=0,A=0;d.Ob();)r=u(d.Pb(),117),o=Rt(Ht(r.b.of((az(),NU)))),s=r.b.Mf().b,T?(j=A+T.d.a+t.w+r.d.d,h=b.Math.max(h,(K1(),$f(cd),b.Math.abs(N-o)<=cd||N==o||isNaN(N)&&isNaN(o)?0:j/(o-N)))):t.C&&t.C.d>0&&(h=b.Math.max(h,Ooe(t.C.d+r.d.d,o))),T=r,N=o,A=s;t.C&&t.C.a>0&&(j=A+t.C.a,k&&(j+=T.d.a),h=b.Math.max(h,(K1(),$f(cd),b.Math.abs(N-1)<=cd||N==1||isNaN(N)&&isNaN(1)?0:j/(1-N)))),n.n.d=0,n.a.b=h}function kTn(t,e,n,r,s,o,h,d){var m,k,T,A,N,j,U,W,tt,ct;if(U=!1,k=q6t(n.q,e.f+e.b-n.q.f),j=r.f>e.b&&d,ct=s-(n.q.e+k-h),A=(m=SS(r,ct,!1),m.a),j&&A>r.f)return!1;if(j){for(N=0,tt=new J(e.d);tt.a=(mn(o,t.c.length),u(t.c[o],186)).e,!j&&A>e.b&&!T)?!1:((T||j||A<=e.b)&&(T&&A>e.b?(n.d=A,PI(n,bfe(n,A))):(Phe(n.q,k),n.c=!0),PI(r,s-(n.s+n.r)),bO(r,n.q.e+n.q.d,e.f),Fq(e,r),t.c.length>o&&(vO((mn(o,t.c.length),u(t.c[o],186)),r),(mn(o,t.c.length),u(t.c[o],186)).a.c.length==0&&xp(t,o)),U=!0),U)}function Ige(t,e,n){var r,s,o,h,d,m;for(this.g=t,d=e.d.length,m=n.d.length,this.d=Vt(z0,Bp,10,d+m,0,1),h=0;h0?Vst(this,this.f/this.a):W1(e.g,e.d[0]).a!=null&&W1(n.g,n.d[0]).a!=null?Vst(this,(Rt(W1(e.g,e.d[0]).a)+Rt(W1(n.g,n.d[0]).a))/2):W1(e.g,e.d[0]).a!=null?Vst(this,W1(e.g,e.d[0]).a):W1(n.g,n.d[0]).a!=null&&Vst(this,W1(n.g,n.d[0]).a)}function ETn(t,e){var n,r,s,o,h,d,m,k,T,A;for(t.a=new lee(spn(iL)),r=new J(e.a);r.a=1&&(tt-h>0&&A>=0?(m.n.a+=W,m.n.b+=o*h):tt-h<0&&T>=0&&(m.n.a+=W*tt,m.n.b+=o));t.o.a=e.a,t.o.b=e.b,Zt(t,(Me(),Sw),(Kl(),r=u(m1(hL),9),new Eh(r,u(Ff(r,r.length),9),0)))}function _Tn(t,e,n,r,s,o){var h;if(!(e==null||!Bat(e,TIt,CIt)))throw nt(new zn("invalid scheme: "+e));if(!t&&!(n!=null&&Fd(n,qu(35))==-1&&n.length>0&&(qn(0,n.length),n.charCodeAt(0)!=47)))throw nt(new zn("invalid opaquePart: "+n));if(t&&!(e!=null&&DD(HK,e.toLowerCase()))&&!(n==null||!Bat(n,pL,bL)))throw nt(new zn(gme+n));if(t&&e!=null&&DD(HK,e.toLowerCase())&&!syn(n))throw nt(new zn(gme+n));if(!h2n(r))throw nt(new zn("invalid device: "+r));if(!Ypn(s))throw h=s==null?"invalid segments: null":"invalid segment: "+Upn(s),nt(new zn(h));if(!(o==null||Fd(o,qu(35))==-1))throw nt(new zn("invalid query: "+o))}function STn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct;if(n.Ug("Network simplex layering",1),t.b=e,ct=u(K(e,(Me(),MA)),17).a*4,tt=t.b.a,tt.c.length<1){n.Vg();return}for(o=C8n(t,tt),W=null,s=_r(o,0);s.b!=s.d.c;){for(r=u(Tr(s),15),d=ct*Xs(b.Math.sqrt(r.gc())),h=$8n(r),ect(nwt(Snn(rwt(lit(h),d),W),!0),n.eh(1)),N=t.b.b,U=new J(h.a);U.a1)for(W=Vt(Or,ii,28,t.b.b.c.length,15,1),A=0,k=new J(t.b.b);k.a0){mH(t,n,0),n.a+=String.fromCharCode(r),s=Y2n(e,o),mH(t,n,s),o+=s-1;continue}r==39?o+10&&U.a<=0){m.c.length=0,In(m.c,U);break}j=U.i-U.d,j>=d&&(j>d&&(m.c.length=0,d=j),In(m.c,U))}m.c.length!=0&&(h=u(Oe(m,_H(s,m.c.length)),118),St.a.Bc(h)!=null,h.g=T++,Ekt(h,e,n,r),m.c.length=0)}for(tt=t.c.length+1,N=new J(t);N.aVs||e.o==Mw&&T=d&&s<=m)d<=s&&o<=m?(n[T++]=s,n[T++]=o,r+=2):d<=s?(n[T++]=s,n[T++]=m,t.b[r]=m+1,h+=2):o<=m?(n[T++]=d,n[T++]=o,r+=2):(n[T++]=d,n[T++]=m,t.b[r]=m+1);else if(mqb)&&d<10);swt(t.c,new Hx),Fge(t),kun(t.c),wTn(t.f)}function FTn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W;for(n=u(K(t,(Me(),ms)),101),h=t.f,o=t.d,d=h.a+o.b+o.c,m=0-o.d-t.c.b,T=h.b+o.d+o.a-t.c.b,k=new ge,A=new ge,s=new J(e);s.a=2){for(m=_r(n,0),h=u(Tr(m),8),d=u(Tr(m),8);d.a0&&tO(k,!0,(Rs(),Jo)),d.k==(Un(),Ds)&&vee(k),di(t.f,d,e)}}function jTn(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;for(s=u(K(t,(zi(),qA)),27),k=ki,T=ki,d=Va,m=Va,St=_r(t.b,0);St.b!=St.d.c;)ct=u(Tr(St),39),j=ct.e,U=ct.f,k=b.Math.min(k,j.a-U.a/2),T=b.Math.min(T,j.b-U.b/2),d=b.Math.max(d,j.a+U.a/2),m=b.Math.max(m,j.b+U.b/2);for(N=u(ne(s,(xc(),dLt)),107),Tt=_r(t.b,0);Tt.b!=Tt.d.c;)ct=u(Tr(Tt),39),A=K(ct,qA),At(A,207)&&(o=u(A,27),xh(o,ct.e.a,ct.e.b),PO(o,ct));for(tt=_r(t.a,0);tt.b!=tt.d.c;)W=u(Tr(tt),65),r=u(K(W,qA),74),r&&(e=W.a,n=d5(r,!0,!0),zO(e,n));Bt=d-k+(N.b+N.c),h=m-T+(N.d+N.a),Ie(De(ne(s,(si(),R3))))||nv(s,Bt,h,!1,!1),Oi(s,ix,Bt-(N.b+N.c)),Oi(s,rx,h-(N.d+N.a))}function Rge(t,e){var n,r,s,o,h,d,m,k,T,A;for(m=!0,s=0,k=t.g[e.p],T=e.o.b+t.o,n=t.d[e.p][2],Sh(t.b,k,fe(u(Oe(t.b,k),17).a-1+n)),Sh(t.c,k,Rt(Ht(Oe(t.c,k)))-T+n*t.f),++k,k>=t.j?(++t.j,pe(t.b,fe(1)),pe(t.c,T)):(r=t.d[e.p][1],Sh(t.b,k,fe(u(Oe(t.b,k),17).a+1-r)),Sh(t.c,k,Rt(Ht(Oe(t.c,k)))+T-r*t.f)),(t.r==(sf(),nN)&&(u(Oe(t.b,k),17).a>t.k||u(Oe(t.b,k-1),17).a>t.k)||t.r==rN&&(Rt(Ht(Oe(t.c,k)))>t.n||Rt(Ht(Oe(t.c,k-1)))>t.n))&&(m=!1),h=new nr(ir(ca(e).a.Kc(),new q));Sr(h);)o=u(lr(h),18),d=o.c.i,t.g[d.p]==k&&(A=Rge(t,d),s=s+u(A.a,17).a,m=m&&Ie(De(A.b)));return t.g[e.p]=k,s=s+t.d[e.p][0],new Ys(fe(s),(Nn(),!!m))}function jge(t,e){var n,r,s,o,h;n=Rt(Ht(K(e,(Me(),Yf)))),n<2&&Zt(e,Yf,2),r=u(K(e,fh),88),r==(Rs(),wd)&&Zt(e,fh,oH(e)),s=u(K(e,n6e),17),s.a==0?Zt(e,(ae(),Vk),new jat):Zt(e,(ae(),Vk),new lq(s.a)),o=De(K(e,SA)),o==null&&Zt(e,SA,(Nn(),$t(K(e,Rg))===$t((_g(),UT)))),xs(new ln(null,new gn(e.a,16)),new cp(t)),xs(lc(new ln(null,new gn(e.b,16)),new d4),new Xj(t)),h=new Oge(e),Zt(e,(ae(),H5),h),wI(t.a),x1(t.a,(Ha(),Wf),u(K(e,Tw),188)),x1(t.a,$0,u(K(e,_w),188)),x1(t.a,Yc,u(K(e,_A),188)),x1(t.a,ou,u(K(e,$G),188)),x1(t.a,Qo,jgn(u(K(e,Rg),223))),umt(t.a,PCn(e)),Zt(e,zft,VO(t.a,e))}function Bkt(t,e,n,r,s){var o,h,d,m,k,T,A,N,j,U,W,tt,ct;for(A=new Er,h=new ge,Bfe(t,n,t.d.Ag(),h,A),Bfe(t,r,t.d.Bg(),h,A),t.b=.2*(W=H1e(lc(new ln(null,new gn(h,16)),new vZ)),tt=H1e(lc(new ln(null,new gn(h,16)),new yZ)),b.Math.min(W,tt)),o=0,d=0;d=2&&(ct=cde(h,!0,N),!t.e&&(t.e=new mUt(t)),U2n(t.e,ct,h,t.b)),Vhe(h,N),UTn(h),j=-1,T=new J(h);T.ad)}function $ge(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt;for(k=ns,T=ns,d=Vs,m=Vs,N=new J(e.i);N.a-1){for(s=_r(d,0);s.b!=s.d.c;)r=u(Tr(s),131),r.v=h;for(;d.b!=0;)for(r=u(bot(d,0),131),n=new J(r.i);n.a-1){for(o=new J(d);o.a0)&&(lt(m,b.Math.min(m.o,s.o-1)),it(m,m.i-1),m.i==0&&In(d.c,m))}}function qge(t,e,n,r,s){var o,h,d,m;return m=ns,h=!1,d=Akt(t,ra(new se(e.a,e.b),t),Ei(new se(n.a,n.b),s),ra(new se(r.a,r.b),n)),o=!!d&&!(b.Math.abs(d.a-t.a)<=uv&&b.Math.abs(d.b-t.b)<=uv||b.Math.abs(d.a-e.a)<=uv&&b.Math.abs(d.b-e.b)<=uv),d=Akt(t,ra(new se(e.a,e.b),t),n,s),d&&((b.Math.abs(d.a-t.a)<=uv&&b.Math.abs(d.b-t.b)<=uv)==(b.Math.abs(d.a-e.a)<=uv&&b.Math.abs(d.b-e.b)<=uv)||o?m=b.Math.min(m,A_(ra(d,n))):h=!0),d=Akt(t,ra(new se(e.a,e.b),t),r,s),d&&(h||(b.Math.abs(d.a-t.a)<=uv&&b.Math.abs(d.b-t.b)<=uv)==(b.Math.abs(d.a-e.a)<=uv&&b.Math.abs(d.b-e.b)<=uv)||o)&&(m=b.Math.min(m,A_(ra(d,r)))),m}function Hge(t){bm(t,new ow(l$(dm(lm(fm(hm(new cg,Vb),$be),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new q1),Lu))),he(t,Vb,jS,_e(uCt)),he(t,Vb,AV,(Nn(),!0)),he(t,Vb,T5,_e(C3e)),he(t,Vb,Lk,_e(_3e)),he(t,Vb,Ak,_e(S3e)),he(t,Vb,Z7,_e(T3e)),he(t,Vb,$S,_e(hCt)),he(t,Vb,tT,_e(A3e)),he(t,Vb,P8t,_e(cCt)),he(t,Vb,F8t,_e(aCt)),he(t,Vb,B8t,_e(oCt)),he(t,Vb,R8t,_e(lCt)),he(t,Vb,N8t,_e(VU))}function GTn(t){var e,n,r,s,o,h,d,m;for(e=null,r=new J(t);r.a0&&n.c==0&&(!e&&(e=new ge),In(e.c,n));if(e)for(;e.c.length!=0;){if(n=u(xp(e,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new ge),new J(n.b));o.aWo(t,n,0))return new Ys(s,n)}else if(Rt(W1(s.g,s.d[0]).a)>Rt(W1(n.g,n.d[0]).a))return new Ys(s,n)}for(d=(!n.e&&(n.e=new ge),n.e).Kc();d.Ob();)h=u(d.Pb(),239),m=(!h.b&&(h.b=new ge),h.b),Fy(0,m.c.length),YC(m.c,0,n),h.c==m.c.length&&In(e.c,h)}return null}function KTn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct;for(e.Ug("Interactive crossing minimization",1),h=0,o=new J(t.b);o.a0&&(n+=m.n.a+m.o.a/2,++A),U=new J(m.j);U.a0&&(n/=A),ct=Vt(wa,Io,28,r.a.c.length,15,1),d=0,k=new J(r.a);k.a=d&&s<=m)d<=s&&o<=m?r+=2:d<=s?(t.b[r]=m+1,h+=2):o<=m?(n[T++]=s,n[T++]=d-1,r+=2):(n[T++]=s,n[T++]=d-1,t.b[r]=m+1,h+=2);else if(m2?(T=new ge,Hs(T,new vp(ct,1,ct.b)),o=Mpe(T,St+t.a),Tt=new $ot(o),Yo(Tt,e),In(n.c,Tt)):r?Tt=u(tr(t.b,M0(e)),272):Tt=u(tr(t.b,Bb(e)),272),m=M0(e),r&&(m=Bb(e)),h=G3n(tt,m),k=St+t.a,h.a?(k+=b.Math.abs(tt.b-A.b),W=new se(A.a,(A.b+tt.b)/2)):(k+=b.Math.abs(tt.a-A.a),W=new se((A.a+tt.a)/2,A.b)),r?di(t.d,e,new nxt(Tt,h,W,k)):di(t.c,e,new nxt(Tt,h,W,k)),di(t.b,e,Tt),U=(!e.n&&(e.n=new Jt(Oo,e,1,7)),e.n),j=new Zn(U);j.e!=j.i.gc();)N=u(sr(j),135),s=BO(t,N,!0,0,0),In(n.c,s)}function WTn(t){var e,n,r,s,o,h,d;if(!t.A.dc()){if(t.A.Hc((Kl(),IN))&&(u(Mo(t.b,(ve(),Hn)),127).k=!0,u(Mo(t.b,vr),127).k=!0,e=t.q!=(xa(),G0)&&t.q!=lu,mD(u(Mo(t.b,Jn),127),e),mD(u(Mo(t.b,Gn),127),e),mD(t.g,e),t.A.Hc(Fw)&&(u(Mo(t.b,Hn),127).j=!0,u(Mo(t.b,vr),127).j=!0,u(Mo(t.b,Jn),127).k=!0,u(Mo(t.b,Gn),127).k=!0,t.g.k=!0)),t.A.Hc(DN))for(t.a.j=!0,t.a.k=!0,t.g.j=!0,t.g.k=!0,d=t.B.Hc((Dl(),fL)),s=Wat(),o=0,h=s.length;o0),u(T.a.Xb(T.c=--T.b),18));o!=r&&T.b>0;)t.a[o.p]=!0,t.a[r.p]=!0,o=(cr(T.b>0),u(T.a.Xb(T.c=--T.b),18));T.b>0&&Ul(T)}}function Uge(t,e,n){var r,s,o,h,d,m,k,T,A,N,j;if(!t.b)return!1;for(h=null,N=null,m=new Mst(null,null),s=1,m.a[1]=t.b,A=m;A.a[s];)k=s,d=N,N=A,A=A.a[s],r=t.a.Ne(e,A.d),s=r<0?0:1,r==0&&(!n.c||Ic(A.e,n.d))&&(h=A),!(A&&A.b)&&!vy(A.a[s])&&(vy(A.a[1-s])?N=N.a[k]=Hq(A,s):vy(A.a[1-s])||(j=N.a[1-k],j&&(!vy(j.a[1-k])&&!vy(j.a[k])?(N.b=!1,j.b=!0,A.b=!0):(o=d.a[1]==N?1:0,vy(j.a[k])?d.a[o]=yre(N,k):vy(j.a[1-k])&&(d.a[o]=Hq(N,k)),A.b=d.a[o].b=!0,d.a[o].a[0].b=!1,d.a[o].a[1].b=!1))));return h&&(n.b=!0,n.d=h.e,A!=h&&(T=new Mst(A.d,A.e),Qyn(t,m,h,T),N==h&&(N=T)),N.a[N.a[1]==A?1:0]=A.a[A.a[0]?0:1],--t.c),t.b=m.a[1],t.b&&(t.b.b=!1),n.b}function QTn(t){var e,n,r,s,o,h,d,m,k,T,A,N;for(s=new J(t.a.a.b);s.a0?s-=864e5:s+=864e5,m=new Kmt(Xa(Oc(e.q.getTime()),s))),T=new L4,k=t.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(h=o+1;h=k)throw nt(new zn("Missing trailing '"));h+1=14&&T<=16))?e.a._b(r)?(n.a?ni(n.a,n.b):n.a=new Jl(n.d),c_(n.a,"[...]")):(d=X2(r),k=new v_(e),yg(n,Kge(d,k))):At(r,183)?yg(n,L4n(u(r,183))):At(r,195)?yg(n,gyn(u(r,195))):At(r,201)?yg(n,T3n(u(r,201))):At(r,2111)?yg(n,pyn(u(r,2111))):At(r,53)?yg(n,A4n(u(r,53))):At(r,376)?yg(n,G4n(u(r,376))):At(r,846)?yg(n,S4n(u(r,846))):At(r,109)&&yg(n,_4n(u(r,109))):yg(n,r==null?Hu:ec(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function j7(t,e){var n,r,s,o;o=t.F,e==null?(t.F=null,f7(t,null)):(t.F=(Wn(e),e),r=Fd(e,qu(60)),r!=-1?(s=(Sa(0,r,e.length),e.substr(0,r)),Fd(e,qu(46))==-1&&!hn(s,vk)&&!hn(s,tA)&&!hn(s,fU)&&!hn(s,eA)&&!hn(s,nA)&&!hn(s,rA)&&!hn(s,iA)&&!hn(s,sA)&&(s=Sme),n=rz(e,qu(62)),n!=-1&&(s+=""+(qn(n+1,e.length+1),e.substr(n+1))),f7(t,s)):(s=e,Fd(e,qu(46))==-1&&(r=Fd(e,qu(91)),r!=-1&&(s=(Sa(0,r,e.length),e.substr(0,r))),!hn(s,vk)&&!hn(s,tA)&&!hn(s,fU)&&!hn(s,eA)&&!hn(s,nA)&&!hn(s,rA)&&!hn(s,iA)&&!hn(s,sA)?(s=Sme,r!=-1&&(s+=""+(qn(r,e.length+1),e.substr(r)))):s=e),f7(t,s),s==e&&(t.F=t.D))),t.Db&4&&!(t.Db&1)&&Ti(t,new la(t,1,5,o,e))}function Wge(t,e){var n,r,s,o,h,d,m,k,T,A;if(m=e.length-1,d=(qn(m,e.length),e.charCodeAt(m)),d==93){if(h=Fd(e,qu(91)),h>=0)return s=n2n(t,(Sa(1,h,e.length),e.substr(1,h-1))),T=(Sa(h+1,m,e.length),e.substr(h+1,m-(h+1))),ACn(t,T,s)}else{if(n=-1,JTt==null&&(JTt=new RegExp("\\d")),JTt.test(String.fromCharCode(d))&&(n=hvt(e,qu(46),m-1),n>=0)){r=u(Tst(t,Nae(t,(Sa(1,n,e.length),e.substr(1,n-1))),!1),61),k=0;try{k=oh((qn(n+1,e.length+1),e.substr(n+1)),Va,ki)}catch(N){throw N=is(N),At(N,130)?(o=N,nt(new kq(o))):nt(N)}if(k>16==-10?n=u(t.Cb,291).Yk(e,n):t.Db>>16==-15&&(!e&&(e=(bn(),yd)),!k&&(k=(bn(),yd)),t.Cb.Yh()&&(m=new xg(t.Cb,1,13,k,e,Ip(Al(u(t.Cb,62)),t),!1),n?n.nj(m):n=m));else if(At(t.Cb,90))t.Db>>16==-23&&(At(e,90)||(e=(bn(),mf)),At(k,90)||(k=(bn(),mf)),t.Cb.Yh()&&(m=new xg(t.Cb,1,10,k,e,Ip(Gc(u(t.Cb,29)),t),!1),n?n.nj(m):n=m));else if(At(t.Cb,456))for(d=u(t.Cb,850),h=(!d.b&&(d.b=new t$(new Rnt)),d.b),o=(r=new Z2(new ps(h.a).a),new e$(r));o.a.b;)s=u(Vm(o.a).ld(),89),n=$7(s,GH(s,d),n)}return n}function n9n(t,e){var n,r,s,o,h,d,m,k,T,A,N;for(h=Ie(De(ne(t,(Me(),L3)))),N=u(ne(t,D3),21),m=!1,k=!1,A=new Zn((!t.c&&(t.c=new Jt(kl,t,9,9)),t.c));A.e!=A.i.gc()&&(!m||!k);){for(o=u(sr(A),123),d=0,s=C0(rh(ot(st(hh,1),Ln,20,0,[(!o.d&&(o.d=new En(Cs,o,8,5)),o.d),(!o.e&&(o.e=new En(Cs,o,7,4)),o.e)])));Sr(s)&&(r=u(lr(s),74),T=h&&Jm(r)&&Ie(De(ne(r,Cw))),n=_ge((!r.b&&(r.b=new En(gr,r,4,7)),r.b),o)?t==es(Xo(u(Lt((!r.c&&(r.c=new En(gr,r,5,8)),r.c),0),84))):t==es(Xo(u(Lt((!r.b&&(r.b=new En(gr,r,4,7)),r.b),0),84))),!((T||n)&&(++d,d>1))););(d>0||N.Hc((wl(),$g))&&(!o.n&&(o.n=new Jt(Oo,o,1,7)),o.n).i>0)&&(m=!0),d>1&&(k=!0)}m&&e.Fc((ko(),zh)),k&&e.Fc((ko(),vA))}function Yge(t){var e,n,r,s,o,h,d,m,k,T,A,N;if(N=u(ne(t,(si(),Ow)),21),N.dc())return null;if(d=0,h=0,N.Hc((Kl(),IN))){for(T=u(ne(t,nL),101),r=2,n=2,s=2,o=2,e=es(t)?u(ne(es(t),Iw),88):u(ne(t,Iw),88),k=new Zn((!t.c&&(t.c=new Jt(kl,t,9,9)),t.c));k.e!=k.i.gc();)if(m=u(sr(k),123),A=u(ne(m,cx),64),A==(ve(),gc)&&(A=kkt(m,e),Oi(m,cx,A)),T==(xa(),lu))switch(A.g){case 1:r=b.Math.max(r,m.i+m.g);break;case 2:n=b.Math.max(n,m.j+m.f);break;case 3:s=b.Math.max(s,m.i+m.g);break;case 4:o=b.Math.max(o,m.j+m.f)}else switch(A.g){case 1:r+=m.g+2;break;case 2:n+=m.f+2;break;case 3:s+=m.g+2;break;case 4:o+=m.f+2}d=b.Math.max(r,s),h=b.Math.max(n,o)}return nv(t,d,h,!0,!0)}function yct(t,e,n,r,s){var o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;for(Tt=u(tc(Mq(Ai(new ln(null,new gn(e.d,16)),new RVt(n)),new jVt(n)),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),A=ki,T=Va,m=new J(e.b.j);m.a0,k?k&&(N=ct.p,h?++N:--N,A=u(Oe(ct.c.a,N),10),r=mce(A),j=!(Vot(r,ie,n[0])||qte(r,ie,n[0]))):j=!0),U=!1,Kt=e.D.i,Kt&&Kt.c&&d.e&&(T=h&&Kt.p>0||!h&&Kt.p=0){for(m=null,d=new _a(T.a,k+1);d.bh?1:vm(isNaN(0),isNaN(h)))<0&&($f(e0),(b.Math.abs(h-1)<=e0||h==1||isNaN(h)&&isNaN(1)?0:h<1?-1:h>1?1:vm(isNaN(h),isNaN(1)))<0)&&($f(e0),(b.Math.abs(0-d)<=e0||d==0||isNaN(0)&&isNaN(d)?0:0d?1:vm(isNaN(0),isNaN(d)))<0)&&($f(e0),(b.Math.abs(d-1)<=e0||d==1||isNaN(d)&&isNaN(1)?0:d<1?-1:d>1?1:vm(isNaN(d),isNaN(1)))<0)),o)}function c9n(t){var e,n,r,s;if(n=t.D!=null?t.D:t.B,e=Fd(n,qu(91)),e!=-1){r=(Sa(0,e,n.length),n.substr(0,e)),s=new hp;do s.a+="[";while((e=xE(n,91,++e))!=-1);hn(r,vk)?s.a+="Z":hn(r,tA)?s.a+="B":hn(r,fU)?s.a+="C":hn(r,eA)?s.a+="D":hn(r,nA)?s.a+="F":hn(r,rA)?s.a+="I":hn(r,iA)?s.a+="J":hn(r,sA)?s.a+="S":(s.a+="L",s.a+=""+r,s.a+=";");try{return null}catch(o){if(o=is(o),!At(o,63))throw nt(o)}}else if(Fd(n,qu(46))==-1){if(hn(n,vk))return Fl;if(hn(n,tA))return cl;if(hn(n,fU))return Uh;if(hn(n,eA))return wa;if(hn(n,nA))return Y3;if(hn(n,rA))return Or;if(hn(n,iA))return b2;if(hn(n,sA))return gx}return null}function u9n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce;for(t.e=e,d=u5n(e),ie=new ge,r=new J(d);r.a=0&&W=k.c.c.length?T=u3t((Un(),Ts),ha):T=u3t((Un(),ha),ha),T*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(T-o)),h=n.b.g,n.b.g=b.Math.max(h,h+(T-h)),s=e}}function d9n(t){var e,n,r,s;for(xs(Ai(new ln(null,new gn(t.a.b,16)),new tJ),new eJ),Wvn(t),xs(Ai(new ln(null,new gn(t.a.b,16)),new nJ),new rJ),t.c==(_g(),Jk)&&(xs(Ai(lc(new ln(null,new gn(new ui(t.f),1)),new iJ),new sJ),new DVt(t)),xs(Ai(Go(lc(lc(new ln(null,new gn(t.d.b,16)),new XB),new aJ),new QB),new oJ),new OVt(t))),s=new se(ns,ns),e=new se(Vs,Vs),r=new J(t.a.b);r.a0&&(e.a+=ro),fV(u(sr(d),167),e);for(e.a+=Lut,m=new F6((!r.c&&(r.c=new En(gr,r,5,8)),r.c));m.e!=m.i.gc();)m.e>0&&(e.a+=ro),fV(u(sr(m),167),e);e.a+=")"}}function g9n(t,e,n){var r,s,o,h,d,m,k,T;for(m=new Zn((!t.a&&(t.a=new Jt(wi,t,10,11)),t.a));m.e!=m.i.gc();)for(d=u(sr(m),27),s=new nr(ir(Mg(d).a.Kc(),new q));Sr(s);){if(r=u(lr(s),74),!r.b&&(r.b=new En(gr,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new En(gr,r,5,8)),r.c.i<=1)))throw nt(new _6("Graph must not contain hyperedges."));if(!bS(r)&&d!=Xo(u(Lt((!r.c&&(r.c=new En(gr,r,5,8)),r.c),0),84)))for(k=new XJt,Yo(k,r),Zt(k,(Mb(),Bk),r),b6(k,u(Uo(yo(n.f,d)),153)),x(k,u(tr(n,Xo(u(Lt((!r.c&&(r.c=new En(gr,r,5,8)),r.c),0),84))),153)),pe(e.c,k),h=new Zn((!r.n&&(r.n=new Jt(Oo,r,1,7)),r.n));h.e!=h.i.gc();)o=u(sr(h),135),T=new Jre(k,o.a),Yo(T,o),Zt(T,Bk,o),T.e.a=b.Math.max(o.g,1),T.e.b=b.Math.max(o.f,1),Skt(T),pe(e.d,T)}}function p9n(t,e,n){var r,s,o,h,d,m,k,T,A,N;switch(n.Ug("Node promotion heuristic",1),t.i=e,t.r=u(K(e,(Me(),e2)),243),t.r!=(sf(),Av)&&t.r!=P3?q9n(t):gkn(t),T=u(K(t.i,qSt),17).a,o=new OB,t.r.g){case 2:case 1:R7(t,o);break;case 3:for(t.r=YG,R7(t,o),m=0,d=new J(t.b);d.at.k&&(t.r=nN,R7(t,o));break;case 4:for(t.r=YG,R7(t,o),k=0,s=new J(t.c);s.at.n&&(t.r=rN,R7(t,o));break;case 6:N=Xs(b.Math.ceil(t.g.length*T/100)),R7(t,new vVt(N));break;case 5:A=Xs(b.Math.ceil(t.e*T/100)),R7(t,new yVt(A));break;case 8:Ope(t,!0);break;case 9:Ope(t,!1);break;default:R7(t,o)}t.r!=Av&&t.r!=P3?R6n(t,e):i8n(t,e),n.Vg()}function b9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St;for(A=t.b,T=new _a(A,0),Ly(T,new tu(t)),Tt=!1,h=1;T.b0&&(N.d+=T.n.d,N.d+=T.d),N.a>0&&(N.a+=T.n.a,N.a+=T.d),N.b>0&&(N.b+=T.n.b,N.b+=T.d),N.c>0&&(N.c+=T.n.c,N.c+=T.d),N}function Qge(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U;for(N=n.d,A=n.c,o=new se(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),h=o.b,k=new J(t.a);k.a0&&(t.c[e.c.p][e.p].d+=Ml(t.i,24)*iP*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}function v9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt;for(U=new J(t);U.ar.d,r.d=b.Math.max(r.d,e),d&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+s);break;case 3:n=e>r.a,r.a=b.Math.max(r.a,e),d&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+s);break;case 2:n=e>r.c,r.c=b.Math.max(r.c,e),d&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+s);break;case 4:n=e>r.b,r.b=b.Math.max(r.b,e),d&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+s)}}}function Zge(t,e){var n,r,s,o,h,d,m,k,T;return k="",e.length==0?t.ne(r8t,Ict,-1,-1):(T=Zy(e),hn(T.substr(0,3),"at ")&&(T=(qn(3,T.length+1),T.substr(3))),T=T.replace(/\[.*?\]/g,""),h=T.indexOf("("),h==-1?(h=T.indexOf("@"),h==-1?(k=T,T=""):(k=Zy((qn(h+1,T.length+1),T.substr(h+1))),T=Zy((Sa(0,h,T.length),T.substr(0,h))))):(n=T.indexOf(")",h),k=(Sa(h+1,n,T.length),T.substr(h+1,n-(h+1))),T=Zy((Sa(0,h,T.length),T.substr(0,h)))),h=Fd(T,qu(46)),h!=-1&&(T=(qn(h+1,T.length+1),T.substr(h+1))),(T.length==0||hn(T,"Anonymous function"))&&(T=Ict),d=rz(k,qu(58)),s=hvt(k,qu(58),d-1),m=-1,r=-1,o=r8t,d!=-1&&s!=-1&&(o=(Sa(0,s,k.length),k.substr(0,s)),m=pJt((Sa(s+1,d,k.length),k.substr(s+1,d-(s+1)))),r=pJt((qn(d+1,k.length+1),k.substr(d+1)))),t.ne(o,T,m,r))}function k9n(t){var e,n,r,s,o,h,d,m,k,T,A;for(k=new J(t);k.a0||T.j==Gn&&T.e.c.length-T.g.c.length<0)){e=!1;break}for(s=new J(T.g);s.a=k&&Kt>=tt&&(N+=U.n.b+W.n.b+W.a.b-Bt,++d));if(n)for(h=new J(Tt.e);h.a=k&&Kt>=tt&&(N+=U.n.b+W.n.b+W.a.b-Bt,++d))}d>0&&(ie+=N/d,++j)}j>0?(e.a=s*ie/j,e.g=j):(e.a=0,e.g=0)}function T9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce;for(o=t.f.b,N=o.a,T=o.b,U=t.e.g,j=t.e.f,$4(t.e,o.a,o.b),ie=N/U,Ce=T/j,k=new Zn(qz(t.e));k.e!=k.i.gc();)m=u(sr(k),135),Cu(m,m.i*ie),_u(m,m.j*Ce);for(Tt=new Zn(Vit(t.e));Tt.e!=Tt.i.gc();)ct=u(sr(Tt),123),Bt=ct.i,Kt=ct.j,Bt>0&&Cu(ct,Bt*ie),Kt>0&&_u(ct,Kt*Ce);for(U_(t.b,new og),e=new ge,d=new Z2(new ps(t.c).a);d.b;)h=Vm(d),r=u(h.ld(),74),n=u(h.md(),407).a,s=d5(r,!1,!1),A=Uhe(M0(r),CO(s),n),zO(A,s),St=ife(r),St&&Wo(e,St,0)==-1&&(In(e.c,St),Oee(St,(cr(A.b!=0),u(A.a.a.c,8)),n));for(tt=new Z2(new ps(t.d).a);tt.b;)W=Vm(tt),r=u(W.ld(),74),n=u(W.md(),407).a,s=d5(r,!1,!1),A=Uhe(Bb(r),nO(CO(s)),n),A=nO(A),zO(A,s),St=sfe(r),St&&Wo(e,St,0)==-1&&(In(e.c,St),Oee(St,(cr(A.b!=0),u(A.c.b.c,8)),n))}function tpe(t,e,n,r){var s,o,h,d,m;return d=new $kt(e),p6n(d,r),s=!0,t&&t.pf((si(),Iw))&&(o=u(t.of((si(),Iw)),88),s=o==(Rs(),wd)||o==Ho||o==Jo),Zde(d,!1),Tu(d.e.Rf(),new mvt(d,!1,s)),rst(d,d.f,(_1(),Tc),(ve(),Hn)),rst(d,d.f,Cc,vr),rst(d,d.g,Tc,Gn),rst(d,d.g,Cc,Jn),Sle(d,Hn),Sle(d,vr),Mee(d,Jn),Mee(d,Gn),Ay(),h=d.A.Hc((Kl(),z3))&&d.B.Hc((Dl(),PN))?Uue(d):null,h&&Tnn(d.a,h),x9n(d),kmn(d),Emn(d),WTn(d),k8n(d),Ymn(d),Gat(d,Hn),Gat(d,vr),Zkn(d),k7n(d),n&&(r2n(d),Xmn(d),Gat(d,Jn),Gat(d,Gn),m=d.B.Hc((Dl(),fL)),Ufe(d,m,Hn),Ufe(d,m,vr),Gfe(d,m,Jn),Gfe(d,m,Gn),xs(new ln(null,new gn(new li(d.i),0)),new bc),xs(Ai(new ln(null,byt(d.r).a.oc()),new oa),new va),lyn(d),d.e.Pf(d.o),xs(new ln(null,byt(d.r).a.oc()),new na)),d.o}function C9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W;for(k=ns,r=new J(t.a.b);r.a1)for(j=new Dkt(U,St,r),Oa(St,new uXt(t,j)),In(h.c,j),A=St.a.ec().Kc();A.Ob();)T=u(A.Pb(),42),$u(o,T.b);if(d.a.gc()>1)for(j=new Dkt(U,d,r),Oa(d,new lXt(t,j)),In(h.c,j),A=d.a.ec().Kc();A.Ob();)T=u(A.Pb(),42),$u(o,T.b)}}function L9n(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct;if(W=t.n,tt=t.o,N=t.d,A=Rt(Ht(Wy(t,(Me(),e1t)))),e){for(T=A*(e.gc()-1),j=0,m=e.Kc();m.Ob();)h=u(m.Pb(),10),T+=h.o.a,j=b.Math.max(j,h.o.b);for(ct=W.a-(T-tt.a)/2,o=W.b-N.d+j,r=tt.a/(e.gc()+1),s=r,d=e.Kc();d.Ob();)h=u(d.Pb(),10),h.n.a=ct,h.n.b=o-h.o.b,ct+=h.o.a+A,k=ude(h),k.n.a=h.o.a/2-k.a.a,k.n.b=h.o.b,U=u(K(h,(ae(),EG)),12),U.e.c.length+U.g.c.length==1&&(U.n.a=s-U.a.a,U.n.b=0,uc(U,t)),s+=r}if(n){for(T=A*(n.gc()-1),j=0,m=n.Kc();m.Ob();)h=u(m.Pb(),10),T+=h.o.a,j=b.Math.max(j,h.o.b);for(ct=W.a-(T-tt.a)/2,o=W.b+tt.b+N.a-j,r=tt.a/(n.gc()+1),s=r,d=n.Kc();d.Ob();)h=u(d.Pb(),10),h.n.a=ct,h.n.b=o,ct+=h.o.a+A,k=ude(h),k.n.a=h.o.a/2-k.a.a,k.n.b=0,U=u(K(h,(ae(),EG)),12),U.e.c.length+U.g.c.length==1&&(U.n.a=s-U.a.a,U.n.b=tt.b,uc(U,t)),s+=r}}function M9n(t,e){var n,r,s,o,h,d;if(u(K(e,(ae(),uu)),21).Hc((ko(),zh))){for(d=new J(e.a);d.a=0&&h0&&(u(Mo(t.b,e),127).a.b=n)}function N9n(t,e,n,r){var s,o,h,d,m,k,T,A,N,j,U,W;if(N=Rt(Ht(K(t,(Me(),OT)))),j=Rt(Ht(K(t,PT))),A=Rt(Ht(K(t,O3))),d=t.o,o=u(Oe(t.j,0),12),h=o.n,W=J3n(o,A),!!W){if(e.Hc((wl(),$g)))switch(u(K(t,(ae(),_c)),64).g){case 1:W.c=(d.a-W.b)/2-h.a,W.d=j;break;case 3:W.c=(d.a-W.b)/2-h.a,W.d=-j-W.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(T=r?W.a:u(Oe(o.f,0),72).o.b,W.d=(d.b-T)/2-h.b):W.d=d.b+j-h.b,W.c=-N-W.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(T=r?W.a:u(Oe(o.f,0),72).o.b,W.d=(d.b-T)/2-h.b):W.d=d.b+j-h.b,W.c=N}else if(e.Hc(u2))switch(u(K(t,(ae(),_c)),64).g){case 1:case 3:W.c=h.a+N;break;case 2:case 4:n&&!o.c?(T=r?W.a:u(Oe(o.f,0),72).o.b,W.d=(d.b-T)/2-h.b):W.d=h.b+j}for(s=W.d,k=new J(o.f);k.a=e.length)return{done:!0};var s=e[r++];return{value:[s,n.get(s)],done:!1}}}},Ikn()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(e){return this.obj[":"+e]},t.prototype.set=function(e,n){this.obj[":"+e]=n},t.prototype[iut]=function(e){delete this.obj[":"+e]},t.prototype.keys=function(){var e=[];for(var n in this.obj)n.charCodeAt(0)==58&&e.push(n.substring(1));return e}),t}function zi(){zi=V,qA=new Ni(O8t),new os("DEPTH",fe(0)),L1t=new os("FAN",fe(0)),eLt=new os(_2e,fe(0)),i2=new os("ROOT",(Nn(),!1)),I1t=new os("LEFTNEIGHBOR",null),Cke=new os("RIGHTNEIGHBOR",null),nK=new os("LEFTSIBLING",null),O1t=new os("RIGHTSIBLING",null),A1t=new os("DUMMY",!1),new os("LEVEL",fe(0)),iLt=new os("REMOVABLE_EDGES",new Qi),uN=new os("XCOOR",fe(0)),lN=new os("YCOOR",fe(0)),rK=new os("LEVELHEIGHT",0),O1=new os("LEVELMIN",0),Xf=new os("LEVELMAX",0),M1t=new os("GRAPH_XMIN",0),D1t=new os("GRAPH_YMIN",0),nLt=new os("GRAPH_XMAX",0),rLt=new os("GRAPH_YMAX",0),tLt=new os("COMPACT_LEVEL_ASCENSION",!1),S1t=new os("COMPACT_CONSTRAINTS",new ge),zA=new os("ID",""),HA=new os("POSITION",fe(0)),Up=new os("PRELIM",0),jT=new os("MODIFIER",0),RT=new Ni(Rbe),cN=new Ni(jbe)}function j9n(t){xkt();var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt;if(t==null)return null;if(A=t.length*8,A==0)return"";for(d=A%24,j=A/24|0,N=d!=0?j+1:j,o=null,o=Vt(Uh,Yd,28,N*4,15,1),k=0,T=0,e=0,n=0,r=0,h=0,s=0,m=0;m>24,k=(e&3)<<24>>24,U=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,W=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,tt=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[h++]=tb[U],o[h++]=tb[W|k<<4],o[h++]=tb[T<<2|tt],o[h++]=tb[r&63];return d==8?(e=t[s],k=(e&3)<<24>>24,U=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,o[h++]=tb[U],o[h++]=tb[k<<4],o[h++]=61,o[h++]=61):d==16&&(e=t[s],n=t[s+1],T=(n&15)<<24>>24,k=(e&3)<<24>>24,U=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,W=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[h++]=tb[U],o[h++]=tb[W|k<<4],o[h++]=tb[T<<2],o[h++]=61),nf(o,0,o.length)}function $9n(t,e){var n,r,s,o,h,d,m;if(t.e==0&&t.p>0&&(t.p=-(t.p-1)),t.p>Va&&c3t(e,t.p-Hb),h=e.q.getDate(),EI(e,1),t.k>=0&&Ahn(e,t.k),t.c>=0?EI(e,t.c):t.k>=0?(m=new R4t(e.q.getFullYear()-Hb,e.q.getMonth(),35),r=35-m.q.getDate(),EI(e,b.Math.min(r,h))):EI(e,h),t.f<0&&(t.f=e.q.getHours()),t.b>0&&t.f<12&&(t.f+=12),vin(e,t.f==24&&t.g?0:t.f),t.j>=0&&ldn(e,t.j),t.n>=0&&kdn(e,t.n),t.i>=0&&cQt(e,Xa(Qa(xO(Oc(e.q.getTime()),Fp),Fp),t.i)),t.a&&(s=new b$,c3t(s,s.q.getFullYear()-Hb-80),art(Oc(e.q.getTime()),Oc(s.q.getTime()))&&c3t(e,s.q.getFullYear()-Hb+100)),t.d>=0){if(t.c==-1)n=(7+t.d-e.q.getDay())%7,n>3&&(n-=7),d=e.q.getMonth(),EI(e,e.q.getDate()+n),e.q.getMonth()!=d&&EI(e,e.q.getDate()+(n>0?-7:7));else if(e.q.getDay()!=t.d)return!1}return t.o>Va&&(o=e.q.getTimezoneOffset(),cQt(e,Xa(Oc(e.q.getTime()),(t.o-o)*60*Fp))),!0}function spe(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;if(s=K(e,(ae(),Di)),!!At(s,207)){for(U=u(s,27),W=e.e,N=new eo(e.c),o=e.d,N.a+=o.b,N.b+=o.d,Bt=u(ne(U,(Me(),zG)),181),Ju(Bt,(Dl(),LK))&&(j=u(ne(U,KSt),107),xnt(j,o.a),p(j,o.d),g2t(j,o.b),y(j,o.c)),n=new ge,T=new J(e.a);T.ar.c.length-1;)pe(r,new Ys(E5,l7t));n=u(K(s,o0),17).a,dg(u(K(t,Mv),88))?(s.e.aRt(Ht((mn(n,r.c.length),u(r.c[n],42)).b))&&ue((mn(n,r.c.length),u(r.c[n],42)),s.e.a+s.f.a)):(s.e.bRt(Ht((mn(n,r.c.length),u(r.c[n],42)).b))&&ue((mn(n,r.c.length),u(r.c[n],42)),s.e.b+s.f.b))}for(o=_r(t.b,0);o.b!=o.d.c;)s=u(Tr(o),39),n=u(K(s,(xc(),o0)),17).a,Zt(s,(zi(),O1),Ht((mn(n,r.c.length),u(r.c[n],42)).a)),Zt(s,Xf,Ht((mn(n,r.c.length),u(r.c[n],42)).b));e.Vg()}function q9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W;for(t.o=Rt(Ht(K(t.i,(Me(),Sv)))),t.f=Rt(Ht(K(t.i,Lw))),t.j=t.i.b.c.length,d=t.j-1,N=0,t.k=0,t.n=0,t.b=J1(Vt(Na,le,17,t.j,0,1)),t.c=J1(Vt(zs,le,345,t.j,7,1)),h=new J(t.i.b);h.a0&&pe(t.q,T),pe(t.p,T);e-=r,j=m+e,k+=e*t.f,Sh(t.b,d,fe(j)),Sh(t.c,d,k),t.k=b.Math.max(t.k,j),t.n=b.Math.max(t.n,k),t.e+=e,e+=W}}function ve(){ve=V;var t;gc=new WD(FS,0),Hn=new WD(kV,1),Jn=new WD(gut,2),vr=new WD(put,3),Gn=new WD(but,4),vd=(wn(),new lE((t=u(m1(go),9),new Eh(t,u(Ff(t,t.length),9),0)))),e1=_p(Gi(Hn,ot(st(go,1),$c,64,0,[]))),Hh=_p(Gi(Jn,ot(st(go,1),$c,64,0,[]))),gh=_p(Gi(vr,ot(st(go,1),$c,64,0,[]))),gf=_p(Gi(Gn,ot(st(go,1),$c,64,0,[]))),Uu=_p(Gi(Hn,ot(st(go,1),$c,64,0,[vr]))),Iu=_p(Gi(Jn,ot(st(go,1),$c,64,0,[Gn]))),n1=_p(Gi(Hn,ot(st(go,1),$c,64,0,[Gn]))),yl=_p(Gi(Hn,ot(st(go,1),$c,64,0,[Jn]))),ph=_p(Gi(vr,ot(st(go,1),$c,64,0,[Gn]))),Vh=_p(Gi(Jn,ot(st(go,1),$c,64,0,[vr]))),xl=_p(Gi(Hn,ot(st(go,1),$c,64,0,[Jn,Gn]))),Vu=_p(Gi(Jn,ot(st(go,1),$c,64,0,[vr,Gn]))),Gu=_p(Gi(Hn,ot(st(go,1),$c,64,0,[vr,Gn]))),ol=_p(Gi(Hn,ot(st(go,1),$c,64,0,[Jn,vr]))),hu=_p(Gi(Hn,ot(st(go,1),$c,64,0,[Jn,vr,Gn])))}function H9n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce;for(e.Ug(s2e,1),W=new ge,ie=new ge,k=new J(t.b);k.a0&&(St-=j),Ikt(h,St),T=0,N=new J(h.a);N.a0),d.a.Xb(d.c=--d.b)),m=.4*r*T,!o&&d.b0&&(m=(qn(0,e.length),e.charCodeAt(0)),m!=64)){if(m==37&&(A=e.lastIndexOf("%"),k=!1,A!=0&&(A==N-1||(k=(qn(A+1,e.length),e.charCodeAt(A+1)==46))))){if(h=(Sa(1,A,e.length),e.substr(1,A-1)),St=hn("%",h)?null:Hkt(h),r=0,k)try{r=oh((qn(A+2,e.length+1),e.substr(A+2)),Va,ki)}catch(Bt){throw Bt=is(Bt),At(Bt,130)?(d=Bt,nt(new kq(d))):nt(Bt)}for(tt=w4t(t.Gh());tt.Ob();)if(U=Xq(tt),At(U,519)&&(s=u(U,598),Tt=s.d,(St==null?Tt==null:hn(St,Tt))&&r--==0))return s;return null}if(T=e.lastIndexOf("."),j=T==-1?e:(Sa(0,T,e.length),e.substr(0,T)),n=0,T!=-1)try{n=oh((qn(T+1,e.length+1),e.substr(T+1)),Va,ki)}catch(Bt){if(Bt=is(Bt),At(Bt,130))j=e;else throw nt(Bt)}for(j=hn("%",j)?null:Hkt(j),W=w4t(t.Gh());W.Ob();)if(U=Xq(W),At(U,197)&&(o=u(U,197),ct=o.xe(),(j==null?ct==null:hn(j,ct))&&n--==0))return o;return null}return Wge(t,e)}function Q9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt;for(T=new Er,m=new Nm,r=new J(t.a.a.b);r.ae.d.c){if(j=t.c[e.a.d],tt=t.c[A.a.d],j==tt)continue;Hf(Of(If(Pf(Df(new Qh,1),100),j),tt))}}}}}function J9n(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie;if(N=u(u(Mi(t.r,e),21),87),e==(ve(),Jn)||e==Gn){npe(t,e);return}for(o=e==Hn?(Um(),DP):(Um(),IP),Bt=e==Hn?(zu(),D1):(zu(),Kf),n=u(Mo(t.b,e),127),r=n.i,s=r.c+J4(ot(st(wa,1),Io,28,15,[n.n.b,t.C.b,t.k])),ct=r.c+r.b-J4(ot(st(wa,1),Io,28,15,[n.n.c,t.C.c,t.k])),h=iwt(yvt(o),t.t),Tt=e==Hn?Vs:ns,A=N.Kc();A.Ob();)k=u(A.Pb(),117),!(!k.c||k.c.d.c.length<=0)&&(tt=k.b.Mf(),W=k.e,j=k.c,U=j.i,U.b=(m=j.n,j.e.a+m.b+m.c),U.a=(d=j.n,j.e.b+d.d+d.a),yI(Bt,v8t),j.f=Bt,T1(j,(pl(),Gf)),U.c=W.a-(U.b-tt.a)/2,Kt=b.Math.min(s,W.a),ie=b.Math.max(ct,W.a+tt.a),U.cie&&(U.c=ie-U.b),pe(h.d,new Cit(U,h5t(h,U))),Tt=e==Hn?b.Math.max(Tt,W.b+k.b.Mf().b):b.Math.min(Tt,W.b));for(Tt+=e==Hn?t.t:-t.t,St=M5t((h.e=Tt,h)),St>0&&(u(Mo(t.b,e),127).a.b=St),T=N.Kc();T.Ob();)k=u(T.Pb(),117),!(!k.c||k.c.d.c.length<=0)&&(U=k.c.i,U.c-=k.e.a,U.d-=k.e.b)}function Z9n(t){var e,n,r,s,o,h,d,m,k,T,A,N,j;for(e=new Er,m=new Zn(t);m.e!=m.i.gc();){for(d=u(sr(m),27),n=new Os,di(Vht,d,n),j=new rp,s=u(tc(new ln(null,new Am(new nr(ir(OO(d).a.Kc(),new q)))),Tte(j,gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)])))),85),ioe(n,u(s.xc((Nn(),!0)),16),new iy),r=u(tc(Ai(u(s.xc(!1),15).Lc(),new S8),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc]))),15),h=r.Kc();h.Ob();)o=u(h.Pb(),74),N=ife(o),N&&(k=u(Uo(yo(e.f,N)),21),k||(k=Ade(N),vu(e.f,N,k)),Aa(n,k));for(s=u(tc(new ln(null,new Am(new nr(ir(Mg(d).a.Kc(),new q)))),Tte(j,gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc])))),85),ioe(n,u(s.xc(!0),16),new f4),r=u(tc(Ai(u(s.xc(!1),15).Lc(),new Ql),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc]))),15),A=r.Kc();A.Ob();)T=u(A.Pb(),74),N=sfe(T),N&&(k=u(Uo(yo(e.f,N)),21),k||(k=Ade(N),vu(e.f,N,k)),Aa(n,k))}}function tCn(t,e){lct();var n,r,s,o,h,d,m,k,T,A,N,j,U,W;if(m=Rc(t,0)<0,m&&(t=Ep(t)),Rc(t,0)==0)switch(e){case 0:return"0";case 1:return G7;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return j=new pb,e<0?j.a+="0E+":j.a+="0E",j.a+=e==Va?"2147483648":""+-e,j.a}T=18,A=Vt(Uh,Yd,28,T+1,15,1),n=T,W=t;do k=W,W=xO(W,10),A[--n]=qr(Xa(48,ef(k,Qa(W,10))))&js;while(Rc(W,0)!=0);if(s=ef(ef(ef(T,n),e),1),e==0)return m&&(A[--n]=45),nf(A,n,T-n);if(e>0&&Rc(s,-6)>=0){if(Rc(s,0)>=0){for(o=n+qr(s),d=T-1;d>=o;d--)A[d+1]=A[d];return A[++o]=46,m&&(A[--n]=45),nf(A,n,T-n+1)}for(h=2;art(h,Xa(Ep(s),1));h++)A[--n]=48;return A[--n]=46,A[--n]=48,m&&(A[--n]=45),nf(A,n,T-n)}return U=n+1,r=T,N=new L4,m&&(N.a+="-"),r-U>=1?(Cb(N,A[n]),N.a+=".",N.a+=nf(A,n+1,T-n-1)):N.a+=nf(A,n,T-n),N.a+="E",Rc(s,0)>0&&(N.a+="+"),N.a+=""+E_(s),N.a}function nv(t,e,n,r,s){var o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie;if(tt=new se(t.g,t.f),W=a6t(t),W.a=b.Math.max(W.a,e),W.b=b.Math.max(W.b,n),ie=W.a/tt.a,T=W.b/tt.b,Bt=W.a-tt.a,m=W.b-tt.b,r)for(h=es(t)?u(ne(es(t),(si(),Iw)),88):u(ne(t,(si(),Iw)),88),d=$t(ne(t,(si(),nL)))===$t((xa(),lu)),Tt=new Zn((!t.c&&(t.c=new Jt(kl,t,9,9)),t.c));Tt.e!=Tt.i.gc();)switch(ct=u(sr(Tt),123),St=u(ne(ct,cx),64),St==(ve(),gc)&&(St=kkt(ct,h),Oi(ct,cx,St)),St.g){case 1:d||Cu(ct,ct.i*ie);break;case 2:Cu(ct,ct.i+Bt),d||_u(ct,ct.j*T);break;case 3:d||Cu(ct,ct.i*ie),_u(ct,ct.j+m);break;case 4:d||_u(ct,ct.j*T)}if($4(t,W.a,W.b),s)for(N=new Zn((!t.n&&(t.n=new Jt(Oo,t,1,7)),t.n));N.e!=N.i.gc();)A=u(sr(N),135),j=A.i+A.g/2,U=A.j+A.f/2,Kt=j/tt.a,k=U/tt.b,Kt+k>=1&&(Kt-k>0&&U>=0?(Cu(A,A.i+Bt),_u(A,A.j+m*k)):Kt-k<0&&j>=0&&(Cu(A,A.i+Bt*Kt),_u(A,A.j+m)));return Oi(t,(si(),Ow),(Kl(),o=u(m1(hL),9),new Eh(o,u(Ff(o,o.length),9),0))),new se(ie,T)}function upe(t){bm(t,new ow(l$(dm(lm(fm(hm(new cg,Bh),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new btt),Bh))),he(t,Bh,KV,_e(x8e)),he(t,Bh,h3,_e(k8e)),he(t,Bh,T5,_e(w8e)),he(t,Bh,Lk,_e(m8e)),he(t,Bh,Ak,_e(v8e)),he(t,Bh,Z7,_e(b8e)),he(t,Bh,$S,_e(OLt)),he(t,Bh,tT,_e(y8e)),he(t,Bh,vlt,_e(G1t)),he(t,Bh,mlt,_e(K1t)),he(t,Bh,tU,_e(NLt)),he(t,Bh,ylt,_e(W1t)),he(t,Bh,xlt,_e(FLt)),he(t,Bh,L7t,_e(BLt)),he(t,Bh,A7t,_e(PLt)),he(t,Bh,T7t,_e(cK)),he(t,Bh,C7t,_e(uK)),he(t,Bh,_7t,_e(hN)),he(t,Bh,S7t,_e(RLt)),he(t,Bh,E7t,_e(ILt))}function dV(t){var e,n,r,s,o,h,d,m,k,T,A;if(t==null)throw nt(new Nd(Hu));if(k=t,o=t.length,m=!1,o>0&&(e=(qn(0,t.length),t.charCodeAt(0)),(e==45||e==43)&&(t=(qn(1,t.length+1),t.substr(1)),--o,m=e==45)),o==0)throw nt(new Nd(sv+k+'"'));for(;t.length>0&&(qn(0,t.length),t.charCodeAt(0)==48);)t=(qn(1,t.length+1),t.substr(1)),--o;if(o>($0e(),Ave)[10])throw nt(new Nd(sv+k+'"'));for(s=0;s0&&(A=-parseInt((Sa(0,r,t.length),t.substr(0,r)),10),t=(qn(r,t.length+1),t.substr(r)),o-=r,n=!1);o>=h;){if(r=parseInt((Sa(0,h,t.length),t.substr(0,h)),10),t=(qn(h,t.length+1),t.substr(h)),o-=h,n)n=!1;else{if(Rc(A,d)<0)throw nt(new Nd(sv+k+'"'));A=Qa(A,T)}A=ef(A,r)}if(Rc(A,0)>0)throw nt(new Nd(sv+k+'"'));if(!m&&(A=Ep(A),Rc(A,0)<0))throw nt(new Nd(sv+k+'"'));return A}function Hkt(t){bct();var e,n,r,s,o,h,d,m;if(t==null)return null;if(s=Fd(t,qu(37)),s<0)return t;for(m=new Jl((Sa(0,s,t.length),t.substr(0,s))),e=Vt(cl,A5,28,4,15,1),d=0,r=0,h=t.length;ss+2&&hat((qn(s+1,t.length),t.charCodeAt(s+1)),kIt,EIt)&&hat((qn(s+2,t.length),t.charCodeAt(s+2)),kIt,EIt))if(n=xcn((qn(s+1,t.length),t.charCodeAt(s+1)),(qn(s+2,t.length),t.charCodeAt(s+2))),s+=2,r>0?(n&192)==128?e[d++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(e[d++]=n<<24>>24,r=2):(n&240)==224?(e[d++]=n<<24>>24,r=3):(n&248)==240&&(e[d++]=n<<24>>24,r=4)),r>0){if(d==r){switch(d){case 2:{Cb(m,((e[0]&31)<<6|e[1]&63)&js);break}case 3:{Cb(m,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&js);break}}d=0,r=0}}else{for(o=0;o=2){if((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a).i==0)n=(wb(),s=new k4,s),Mr((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a),n);else if((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a).i>1)for(N=new F6((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a));N.e!=N.i.gc();)dS(N);zO(e,u(Lt((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a),0),166))}if(A)for(r=new Zn((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a));r.e!=r.i.gc();)for(n=u(sr(r),166),k=new Zn((!n.a&&(n.a=new Ns(bh,n,5)),n.a));k.e!=k.i.gc();)m=u(sr(k),377),d.a=b.Math.max(d.a,m.a),d.b=b.Math.max(d.b,m.b);for(h=new Zn((!t.n&&(t.n=new Jt(Oo,t,1,7)),t.n));h.e!=h.i.gc();)o=u(sr(h),135),T=u(ne(o,sL),8),T&&xh(o,T.a,T.b),A&&(d.a=b.Math.max(d.a,o.i+o.g),d.b=b.Math.max(d.b,o.j+o.f));return d}function hpe(t,e,n,r,s){var o,h,d;if(hae(t,e),h=e[0],o=qa(n.c,0),d=-1,z4t(n))if(r>0){if(h+r>t.length)return!1;d=qH((Sa(0,h+r,t.length),t.substr(0,h+r)),e)}else d=qH(t,e);switch(o){case 71:return d=l5(t,h,ot(st(Ne,1),le,2,6,[Xpe,Qpe]),e),s.e=d,!0;case 77:return bkn(t,e,s,d,h);case 76:return wkn(t,e,s,d,h);case 69:return c4n(t,e,h,s);case 99:return u4n(t,e,h,s);case 97:return d=l5(t,h,ot(st(Ne,1),le,2,6,["AM","PM"]),e),s.b=d,!0;case 121:return mkn(t,e,h,d,n,s);case 100:return d<=0?!1:(s.c=d,!0);case 83:return d<0?!1:T2n(d,h,e[0],s);case 104:d==12&&(d=0);case 75:case 72:return d<0?!1:(s.f=d,s.g=!1,!0);case 107:return d<0?!1:(s.f=d,s.g=!0,!0);case 109:return d<0?!1:(s.j=d,!0);case 115:return d<0?!1:(s.n=d,!0);case 90:if(hen[m]&&(tt=m),A=new J(t.a.b);A.a1;){if(s=u6n(e),A=o.g,U=u(ne(e,KA),107),W=Rt(Ht(ne(e,dK))),(!e.a&&(e.a=new Jt(wi,e,10,11)),e.a).i>1&&Rt(Ht(ne(e,(D0(),ndt))))!=ns&&(o.c+(U.b+U.c))/(o.b+(U.d+U.a))1&&Rt(Ht(ne(e,(D0(),edt))))!=ns&&(o.c+(U.b+U.c))/(o.b+(U.d+U.a))>W&&Oi(s,(D0(),B3),b.Math.max(Rt(Ht(ne(e,GA))),Rt(Ht(ne(s,B3)))-Rt(Ht(ne(e,edt))))),j=new Qwt(r,T),m=Dpe(j,s,N),k=m.g,k>=A&&k==k){for(h=0;h<(!s.a&&(s.a=new Jt(wi,s,10,11)),s.a).i;h++)i1e(t,u(Lt((!s.a&&(s.a=new Jt(wi,s,10,11)),s.a),h),27),u(Lt((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a),h),27));Bae(e,j),dhn(o,m.c),fhn(o,m.b)}--d}Oi(e,(D0(),UA),o.b),Oi(e,$T,o.c),n.Vg()}function iCn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt;for(e.Ug("Interactive node layering",1),n=new ge,N=new J(t.a);N.a=d){cr(Tt.b>0),Tt.a.Xb(Tt.c=--Tt.b);break}else tt.a>m&&(r?(Hs(r.b,tt.b),r.a=b.Math.max(r.a,tt.a),Ul(Tt)):(pe(tt.b,T),tt.c=b.Math.min(tt.c,m),tt.a=b.Math.max(tt.a,d),r=tt));r||(r=new sKt,r.c=m,r.a=d,Ly(Tt,r),pe(r.b,T))}for(h=t.b,k=0,ct=new J(n);ct.aj&&(o&&(to(ie,N),to(en,fe(k.b-1))),Jr=n.b,cs+=N+e,N=0,T=b.Math.max(T,n.b+n.c+er)),Cu(d,Jr),_u(d,cs),T=b.Math.max(T,Jr+er+n.c),N=b.Math.max(N,A),Jr+=er+e;if(T=b.Math.max(T,r),Mn=cs+N+n.a,MnJd,Je=b.Math.abs(N.b-U.b)>Jd,(!n&&en&&Je||n&&(en||Je))&&Zr(tt.a,Bt)),Aa(tt.a,r),r.b==0?N=Bt:N=(cr(r.b!=0),u(r.c.b.c,8)),Vgn(j,A,W),Foe(s)==Ce&&(Ia(Ce.i)!=s.a&&(W=new Ea,n6t(W,Ia(Ce.i),Tt)),Zt(tt,Hft,W)),_3n(j,tt,Tt),T.a.zc(j,T);Ya(tt,Kt),ya(tt,Ce)}for(k=T.a.ec().Kc();k.Ob();)m=u(k.Pb(),18),Ya(m,null),ya(m,null);e.Vg()}function oCn(t,e){var n,r,s,o,h,d,m,k,T,A,N;for(s=u(K(t,(xc(),Mv)),88),T=s==(Rs(),Ho)||s==Jo?bd:Jo,n=u(tc(Ai(new ln(null,new gn(t.b,16)),new IZ),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),m=u(tc(Go(n.Oc(),new _Ut(e)),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc]))),15),m.Gc(u(tc(Go(n.Oc(),new SUt(e)),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc]))),16)),m.jd(new AUt(T)),N=new dp(new LUt(s)),r=new Er,d=m.Kc();d.Ob();)h=u(d.Pb(),240),k=u(h.a,39),Ie(De(h.c))?(N.a.zc(k,(Nn(),Yb))==null,new b1(N.a.Zc(k,!1)).a.gc()>0&&di(r,k,u(new b1(N.a.Zc(k,!1)).a.Vc(),39)),new b1(N.a.ad(k,!0)).a.gc()>1&&di(r,$ue(N,k),k)):(new b1(N.a.Zc(k,!1)).a.gc()>0&&(o=u(new b1(N.a.Zc(k,!1)).a.Vc(),39),$t(o)===$t(Uo(yo(r.f,k)))&&u(K(k,(zi(),S1t)),15).Fc(o)),new b1(N.a.ad(k,!0)).a.gc()>1&&(A=$ue(N,k),$t(Uo(yo(r.f,A)))===$t(k)&&u(K(A,(zi(),S1t)),15).Fc(k)),N.a.Bc(k)!=null)}function fpe(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;if(t.gc()==1)return u(t.Xb(0),235);if(t.gc()<=0)return new dq;for(s=t.Kc();s.Ob();){for(n=u(s.Pb(),235),U=0,T=ki,A=ki,m=Va,k=Va,j=new J(n.e);j.ad&&(St=0,Bt+=h+ct,h=0),P8n(W,n,St,Bt),e=b.Math.max(e,St+tt.a),h=b.Math.max(h,tt.b),St+=tt.a+ct;return W}function cCn(t){xkt();var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt;if(t==null||(o=Tq(t),U=Fbn(o),U%4!=0))return null;if(W=U/4|0,W==0)return Vt(cl,A5,28,0,15,1);for(A=null,e=0,n=0,r=0,s=0,h=0,d=0,m=0,k=0,j=0,N=0,T=0,A=Vt(cl,A5,28,W*3,15,1);j>4)<<24>>24,A[N++]=((n&15)<<4|r>>2&15)<<24>>24,A[N++]=(r<<6|s)<<24>>24}return!LD(h=o[T++])||!LD(d=o[T++])?null:(e=xd[h],n=xd[d],m=o[T++],k=o[T++],xd[m]==-1||xd[k]==-1?m==61&&k==61?n&15?null:(tt=Vt(cl,A5,28,j*3+1,15,1),Wc(A,0,tt,0,j*3),tt[N]=(e<<2|n>>4)<<24>>24,tt):m!=61&&k==61?(r=xd[m],r&3?null:(tt=Vt(cl,A5,28,j*3+2,15,1),Wc(A,0,tt,0,j*3),tt[N++]=(e<<2|n>>4)<<24>>24,tt[N]=((n&15)<<4|r>>2&15)<<24>>24,tt)):null:(r=xd[m],s=xd[k],A[N++]=(e<<2|n>>4)<<24>>24,A[N++]=((n&15)<<4|r>>2&15)<<24>>24,A[N++]=(r<<6|s)<<24>>24,A))}function uCn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt;for(e.Ug(s2e,1),U=u(K(t,(Me(),Rg)),223),s=new J(t.b);s.a=2){for(W=!0,N=new J(o.j),n=u(et(N),12),j=null;N.a0)if(r=A.gc(),k=Xs(b.Math.floor((r+1)/2))-1,s=Xs(b.Math.ceil((r+1)/2))-1,e.o==gd)for(T=s;T>=k;T--)e.a[Bt.p]==Bt&&(W=u(A.Xb(T),42),U=u(W.a,10),!v1(n,W.b)&&j>t.b.e[U.p]&&(e.a[U.p]=Bt,e.g[Bt.p]=e.g[U.p],e.a[Bt.p]=e.g[Bt.p],e.f[e.g[Bt.p].p]=(Nn(),!!(Ie(e.f[e.g[Bt.p].p])&Bt.k==(Un(),ha))),j=t.b.e[U.p]));else for(T=k;T<=s;T++)e.a[Bt.p]==Bt&&(ct=u(A.Xb(T),42),tt=u(ct.a,10),!v1(n,ct.b)&&j0&&(s=u(Oe(tt.c.a,ie-1),10),h=t.i[s.p],en=b.Math.ceil(q4(t.n,s,tt)),o=Kt.a.e-tt.d.d-(h.a.e+s.o.b+s.d.a)-en),k=ns,ie0&&Ce.a.e.e-Ce.a.a-(Ce.b.e.e-Ce.b.a)<0,U=St.a.e.e-St.a.a-(St.b.e.e-St.b.a)<0&&Ce.a.e.e-Ce.a.a-(Ce.b.e.e-Ce.b.a)>0,j=St.a.e.e+St.b.aCe.b.e.e+Ce.a.a,Bt=0,!W&&!U&&(N?o+A>0?Bt=A:k-r>0&&(Bt=r):j&&(o+d>0?Bt=d:k-Tt>0&&(Bt=Tt))),Kt.a.e+=Bt,Kt.b&&(Kt.d.e+=Bt),!1))}function gpe(t,e,n){var r,s,o,h,d,m,k,T,A,N;if(r=new Th(e.Lf().a,e.Lf().b,e.Mf().a,e.Mf().b),s=new P6,t.c)for(h=new J(e.Rf());h.ak&&(r.a+=zQt(Vt(Uh,Yd,28,-k,15,1))),r.a+="Is",Fd(m,qu(32))>=0)for(s=0;s=r.o.b/2}else Tt=!A;Tt?(ct=u(K(r,(ae(),Uk)),15),ct?N?o=ct:(s=u(K(r,$k),15),s?ct.gc()<=s.gc()?o=ct:o=s:(o=new ge,Zt(r,$k,o))):(o=new ge,Zt(r,Uk,o))):(s=u(K(r,(ae(),$k)),15),s?A?o=s:(ct=u(K(r,Uk),15),ct?s.gc()<=ct.gc()?o=s:o=ct:(o=new ge,Zt(r,Uk,o))):(o=new ge,Zt(r,$k,o))),o.Fc(t),Zt(t,(ae(),EG),n),e.d==n?(ya(e,null),n.e.c.length+n.g.c.length==0&&uc(n,null),Spn(n)):(Ya(e,null),n.e.c.length+n.g.c.length==0&&uc(n,null)),Zl(e.a)}function dCn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er,Jr,cs;for(n.Ug("MinWidth layering",1),j=e.b,Ce=e.a,cs=u(K(e,(Me(),$St)),17).a,d=u(K(e,zSt),17).a,t.b=Rt(Ht(K(e,Yf))),t.d=ns,Bt=new J(Ce);Bt.a0?(k=0,tt&&(k+=d),k+=(Je-1)*h,St&&(k+=d),en&&St&&(k=b.Math.max(k,O6n(St,h,Tt,Ce))),k=t.a&&(r=YEn(t,Tt),T=b.Math.max(T,r.b),Bt=b.Math.max(Bt,r.d),pe(d,new Ys(Tt,r)));for(en=new ge,k=0;k0),tt.a.Xb(tt.c=--tt.b),Je=new tu(t.b),Ly(tt,Je),cr(tt.b0){for(N=T<100?null:new bb(T),k=new T4t(e),U=k.g,ct=Vt(Or,ii,28,T,15,1),r=0,Bt=new jm(T),s=0;s=0;)if(j!=null?Ci(j,U[m]):$t(j)===$t(U[m])){ct.length<=r&&(tt=ct,ct=Vt(Or,ii,28,2*ct.length,15,1),Wc(tt,0,ct,0,r)),ct[r++]=s,Mr(Bt,U[m]);break t}if(j=j,$t(j)===$t(d))break}}if(k=Bt,U=Bt.g,T=r,r>ct.length&&(tt=ct,ct=Vt(Or,ii,28,r,15,1),Wc(tt,0,ct,0,r)),r>0){for(St=!0,o=0;o=0;)fk(t,ct[h]);if(r!=T){for(s=T;--s>=r;)fk(k,s);tt=ct,ct=Vt(Or,ii,28,r,15,1),Wc(tt,0,ct,0,r)}e=k}}}else for(e=Mmn(t,e),s=t.i;--s>=0;)e.Hc(t.g[s])&&(fk(t,s),St=!0);if(St){if(ct!=null){for(n=e.gc(),A=n==1?D_(t,4,e.Kc().Pb(),null,ct[0],W):D_(t,6,e,ct,ct[0],W),N=n<100?null:new bb(n),s=e.Kc();s.Ob();)j=s.Pb(),N=dvt(t,u(j,76),N);N?(N.nj(A),N.oj()):Ti(t.e,A)}else{for(N=Fsn(e.gc()),s=e.Kc();s.Ob();)j=s.Pb(),N=dvt(t,u(j,76),N);N&&N.oj()}return!0}else return!1}function bCn(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St;for(n=new Ile(e),n.a||U8n(e),k=qkn(e),m=new Nm,tt=new Nde,W=new J(e.a);W.a0||n.o==gd&&s=n}function mCn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er;for(St=e,Tt=new Nm,Bt=new Nm,T=Rm(St,hTt),r=new zee(t,n,Tt,Bt),R3n(r.a,r.b,r.c,r.d,T),m=(Ce=Tt.i,Ce||(Tt.i=new U4(Tt,Tt.c))),Je=m.Kc();Je.Ob();)for(en=u(Je.Pb(),166),s=u(Mi(Tt,en),21),W=s.Kc();W.Ob();)if(U=W.Pb(),Kt=u(Z4(t.d,U),166),Kt)d=(!en.e&&(en.e=new En(Ji,en,10,9)),en.e),Mr(d,Kt);else throw h=wg(St,n0),N=Iwe+U+Owe+h,j=N+uT,nt(new Pd(j));for(k=(ie=Bt.i,ie||(Bt.i=new U4(Bt,Bt.c))),Mn=k.Kc();Mn.Ob();)for(On=u(Mn.Pb(),166),o=u(Mi(Bt,On),21),ct=o.Kc();ct.Ob();)if(tt=ct.Pb(),Kt=u(Z4(t.d,tt),166),Kt)A=(!On.g&&(On.g=new En(Ji,On,9,10)),On.g),Mr(A,Kt);else throw h=wg(St,n0),N=Iwe+tt+Owe+h,j=N+uT,nt(new Pd(j));!n.b&&(n.b=new En(gr,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new En(gr,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new En(gr,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new En(gr,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new Jt(Ji,n,6,6)),n.a).i==1&&(er=u(Lt((!n.a&&(n.a=new Jt(Ji,n,6,6)),n.a),0),166),!tot(er)&&!eot(er)&&(jq(er,u(Lt((!n.b&&(n.b=new En(gr,n,4,7)),n.b),0),84)),$q(er,u(Lt((!n.c&&(n.c=new En(gr,n,5,8)),n.c),0),84))))}function vCn(t){var e,n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On;for(St=t.a,Bt=0,Kt=St.length;Bt0?(A=u(Oe(N.c.a,h-1),10),en=q4(t.b,N,A),tt=N.n.b-N.d.d-(A.n.b+A.o.b+A.d.a+en)):tt=N.n.b-N.d.d,k=b.Math.min(tt,k),h1&&(h=b.Math.min(h,b.Math.abs(u(Nh(d.a,1),8).b-T.b)))));else for(W=new J(e.j);W.as&&(o=N.a-s,h=ki,r.c.length=0,s=N.a),N.a>=s&&(In(r.c,d),d.a.b>1&&(h=b.Math.min(h,b.Math.abs(u(Nh(d.a,d.a.b-2),8).b-N.b)))));if(r.c.length!=0&&o>e.o.a/2&&h>e.o.b/2){for(j=new Kc,uc(j,e),Qs(j,(ve(),Hn)),j.n.a=e.o.a/2,ct=new Kc,uc(ct,e),Qs(ct,vr),ct.n.a=e.o.a/2,ct.n.b=e.o.b,m=new J(r);m.a=k.b?Ya(d,ct):Ya(d,j)):(k=u(lcn(d.a),8),tt=d.a.b==0?Q1(d.c):u(Nf(d.a),8),tt.b>=k.b?ya(d,ct):ya(d,j)),A=u(K(d,(Me(),qo)),75),A&&Ky(A,k,!0);e.n.a=s-e.o.a/2}}function xCn(t,e,n){var r,s,o,h,d,m,k,T,A,N;for(d=_r(t.b,0);d.b!=d.d.c;)if(h=u(Tr(d),39),!hn(h.c,QV))for(k=G5n(h,t),e==(Rs(),Ho)||e==Jo?Ms(k,new YZ):Ms(k,new XZ),m=k.c.length,r=0;r=0?j=ck(d):j=lO(ck(d)),t.qf(DT,j)),k=new Ea,N=!1,t.pf(Cv)?(Bmt(k,u(t.of(Cv),8)),N=!0):Din(k,h.a/2,h.b/2),j.g){case 4:Zt(T,Du,(Ph(),t2)),Zt(T,CG,(ew(),R5)),T.o.b=h.b,W<0&&(T.o.a=-W),Qs(A,(ve(),Jn)),N||(k.a=h.a),k.a-=h.a;break;case 2:Zt(T,Du,(Ph(),_3)),Zt(T,CG,(ew(),TT)),T.o.b=h.b,W<0&&(T.o.a=-W),Qs(A,(ve(),Gn)),N||(k.a=0);break;case 1:Zt(T,kw,(kg(),$5)),T.o.a=h.a,W<0&&(T.o.b=-W),Qs(A,(ve(),vr)),N||(k.b=h.b),k.b-=h.b;break;case 3:Zt(T,kw,(kg(),jk)),T.o.a=h.a,W<0&&(T.o.b=-W),Qs(A,(ve(),Hn)),N||(k.b=0)}if(Bmt(A.n,k),Zt(T,Cv,k),e==Nw||e==G0||e==lu){if(U=0,e==Nw&&t.pf(qp))switch(j.g){case 1:case 2:U=u(t.of(qp),17).a;break;case 3:case 4:U=-u(t.of(qp),17).a}else switch(j.g){case 4:case 2:U=o.b,e==G0&&(U/=s.b);break;case 1:case 3:U=o.a,e==G0&&(U/=s.a)}Zt(T,yv,U)}return Zt(T,_c,j),T}function kCn(){cwt();function t(r){var s=this;this.dispatch=function(o){var h=o.data;switch(h.cmd){case"algorithms":var d=L5t((wn(),new re(new li(h2.b))));r.postMessage({id:h.id,data:d});break;case"categories":var m=L5t((wn(),new re(new li(h2.c))));r.postMessage({id:h.id,data:m});break;case"options":var k=L5t((wn(),new re(new li(h2.d))));r.postMessage({id:h.id,data:k});break;case"register":CTn(h.algorithms),r.postMessage({id:h.id});break;case"layout":t7n(h.graph,h.layoutOptions||{},h.options||{}),r.postMessage({id:h.id,data:h.graph});break}},this.saveDispatch=function(o){try{s.dispatch(o)}catch(h){r.postMessage({id:o.data.id,error:h})}}}function e(r){var s=this;this.dispatcher=new t({postMessage:function(o){s.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){s.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===cut&&typeof self!==cut){var n=new t(self);self.onmessage=n.saveDispatch}else typeof g!==cut&&g.exports&&(Object.defineProperty(w,"__esModule",{value:!0}),g.exports={default:e,Worker:e})}function ype(t,e,n){var r,s,o,h,d,m,k,T,A,N;for(T=new Lg(n),Yo(T,e),Zt(T,(ae(),Di),e),T.o.a=e.g,T.o.b=e.f,T.n.a=e.i,T.n.b=e.j,pe(n.a,T),di(t.a,e,T),((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a).i!=0||Ie(De(ne(e,(Me(),L3)))))&&Zt(T,F_t,(Nn(),!0)),k=u(K(n,uu),21),A=u(K(T,(Me(),ms)),101),A==(xa(),c2)?Zt(T,ms,md):A!=md&&k.Fc((ko(),ST)),N=0,r=u(K(n,fh),88),m=new Zn((!e.c&&(e.c=new Jt(kl,e,9,9)),e.c));m.e!=m.i.gc();)d=u(sr(m),123),s=es(e),($t(ne(s,q0))!==$t((Vd(),Hp))||$t(ne(s,Tw))===$t((Mp(),ET))||$t(ne(s,Tw))===$t((Mp(),kT))||Ie(De(ne(s,kv)))||$t(ne(s,S3))!==$t((iw(),x3))||$t(ne(s,e2))===$t((sf(),Av))||$t(ne(s,e2))===$t((sf(),P3))||$t(ne(s,_w))===$t((Np(),NT))||$t(ne(s,_w))===$t((Np(),FT)))&&!Ie(De(ne(e,IG)))&&Oi(d,Bi,fe(N++)),Ie(De(ne(d,Aw)))||I9n(t,d,T,k,r,A);for(h=new Zn((!e.n&&(e.n=new Jt(Oo,e,1,7)),e.n));h.e!=h.i.gc();)o=u(sr(h),135),!Ie(De(ne(o,Aw)))&&o.a&&pe(T.b,Sat(o));return Ie(De(K(T,CA)))&&k.Fc((ko(),yG)),Ie(De(K(T,FG)))&&(k.Fc((ko(),xG)),k.Fc(vA),Zt(T,ms,md)),T}function Ect(t,e,n,r,s,o,h){var d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er,Jr,cs;for(W=0,On=0,k=new J(t.b);k.aW&&(o&&(to(ie,j),to(en,fe(T.b-1)),pe(t.d,U),d.c.length=0),Jr=n.b,cs+=j+e,j=0,A=b.Math.max(A,n.b+n.c+er)),In(d.c,m),Tle(m,Jr,cs),A=b.Math.max(A,Jr+er+n.c),j=b.Math.max(j,N),Jr+=er+e,U=m;if(Hs(t.a,d),pe(t.d,u(Oe(d,d.c.length-1),163)),A=b.Math.max(A,r),Mn=cs+j+n.a,Mns.d.d+s.d.a?T.f.d=!0:(T.f.d=!0,T.f.a=!0))),r.b!=r.d.c&&(e=n);T&&(o=u(tr(t.f,h.d.i),60),e.bo.d.d+o.d.a?T.f.d=!0:(T.f.d=!0,T.f.a=!0))}for(d=new nr(ir(ca(j).a.Kc(),new q));Sr(d);)h=u(lr(d),18),h.a.b!=0&&(e=u(Nf(h.a),8),h.d.j==(ve(),Hn)&&(tt=new CS(e,new se(e.a,s.d.d),s,h),tt.f.a=!0,tt.a=h.d,In(W.c,tt)),h.d.j==vr&&(tt=new CS(e,new se(e.a,s.d.d+s.d.a),s,h),tt.f.d=!0,tt.a=h.d,In(W.c,tt)))}return W}function ACn(t,e,n){var r,s,o,h,d,m,k,T,A,N;for(m=new ge,A=e.length,h=$4t(n),k=0;k=U&&(Tt>U&&(j.c.length=0,U=Tt),In(j.c,h));j.c.length!=0&&(N=u(Oe(j,_H(e,j.c.length)),131),Mn.a.Bc(N)!=null,N.s=W++,B6t(N,Je,ie),j.c.length=0)}for(Bt=t.c.length+1,d=new J(t);d.aOn.s&&(Ul(n),$u(On.i,r),r.c>0&&(r.a=On,pe(On.t,r),r.b=Ce,pe(Ce.i,r)))}function xpe(t,e,n,r,s){var o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn;for(W=new bu(e.b),Bt=new bu(e.b),N=new bu(e.b),en=new bu(e.b),tt=new bu(e.b),Ce=_r(e,0);Ce.b!=Ce.d.c;)for(Kt=u(Tr(Ce),12),d=new J(Kt.g);d.a0,ct=Kt.g.c.length>0,k&&ct?In(N.c,Kt):k?In(W.c,Kt):ct&&In(Bt.c,Kt);for(U=new J(W);U.aTt.nh()-k.b&&(N=Tt.nh()-k.b),j>Tt.oh()-k.d&&(j=Tt.oh()-k.d),T0){for(St=_r(t.f,0);St.b!=St.d.c;)Tt=u(Tr(St),10),Tt.p+=N-t.e;r6t(t),Zl(t.f),Q6t(t,r,j)}else{for(Zr(t.f,j),j.p=r,t.e=b.Math.max(t.e,r),o=new nr(ir(ca(j).a.Kc(),new q));Sr(o);)s=u(lr(o),18),!s.c.i.c&&s.c.i.k==(Un(),qc)&&(Zr(t.f,s.c.i),s.c.i.p=r-1);t.c=r}else r6t(t),Zl(t.f),r=0,Sr(new nr(ir(ca(j).a.Kc(),new q)))?(N=0,N=Lle(N,j),r=N+2,Q6t(t,r,j)):(Zr(t.f,j),j.p=0,t.e=b.Math.max(t.e,0),t.b=u(Oe(t.d.b,0),30),t.c=0);for(t.f.b==0||r6t(t),t.d.a.c.length=0,ct=new ge,k=new J(t.d.b);k.a=48&&e<=57){for(r=e-48;s=48&&e<=57;)if(r=r*10+e-48,r<0)throw nt(new Yr(Qr((Ur(),TTt))))}else throw nt(new Yr(Qr((Ur(),sme))));if(n=r,e==44){if(s>=t.j)throw nt(new Yr(Qr((Ur(),ome))));if((e=qa(t.i,s++))>=48&&e<=57){for(n=e-48;s=48&&e<=57;)if(n=n*10+e-48,n<0)throw nt(new Yr(Qr((Ur(),TTt))));if(r>n)throw nt(new Yr(Qr((Ur(),cme))))}else n=-1}if(e!=125)throw nt(new Yr(Qr((Ur(),ame))));t.bm(s)?(o=(xi(),xi(),new By(9,o)),t.d=s+1):(o=(xi(),xi(),new By(3,o)),t.d=s),o.Om(r),o.Nm(n),vi(t)}}return o}function PCn(t){var e,n,r,s,o;switch(n=u(K(t,(ae(),uu)),21),e=J$(M3e),s=u(K(t,(Me(),A3)),346),s==(Cg(),Wp)&&sh(e,D3e),Ie(De(K(t,Jft)))?ri(e,(Ha(),Wf),(Ja(),oft)):ri(e,(Ha(),Yc),(Ja(),oft)),K(t,(wq(),QA))!=null&&sh(e,I3e),(Ie(De(K(t,BSt)))||Ie(De(K(t,OSt))))&&tl(e,(Ha(),Qo),(Ja(),ICt)),u(K(t,fh),88).g){case 2:case 3:case 4:tl(ri(e,(Ha(),Wf),(Ja(),PCt)),Qo,OCt)}switch(n.Hc((ko(),yG))&&tl(ri(ri(e,(Ha(),Wf),(Ja(),DCt)),ou,LCt),Qo,MCt),$t(K(t,e2))!==$t((sf(),WG))&&ri(e,(Ha(),Yc),(Ja(),YCt)),n.Hc(kG)&&(ri(e,(Ha(),Wf),(Ja(),ZCt)),ri(e,$0,QCt),ri(e,Yc,JCt)),$t(K(t,MG))!==$t((A7(),mA))&&$t(K(t,Rg))!==$t((_g(),_N))&&tl(e,(Ha(),Qo),(Ja(),HCt)),Ie(De(K(t,NSt)))&&ri(e,(Ha(),Yc),(Ja(),qCt)),Ie(De(K(t,Wft)))&&ri(e,(Ha(),Yc),(Ja(),t_t)),Kxn(t)&&($t(K(t,A3))===$t(Wp)?r=u(K(t,JP),298):r=u(K(t,Kft),298),o=r==(s7(),Ift)?(Ja(),XCt):(Ja(),r_t),ri(e,(Ha(),ou),o)),u(K(t,uAt),388).g){case 1:ri(e,(Ha(),ou),(Ja(),e_t));break;case 2:tl(ri(ri(e,(Ha(),Yc),(Ja(),CCt)),ou,_Ct),Qo,SCt)}return $t(K(t,q0))!==$t((Vd(),Hp))&&ri(e,(Ha(),Yc),(Ja(),n_t)),e}function Cpe(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St;if(Eu(t.a,e)){if(v1(u(tr(t.a,e),49),n))return 1}else di(t.a,e,new Os);if(Eu(t.a,n)){if(v1(u(tr(t.a,n),49),e))return-1}else di(t.a,n,new Os);if(Eu(t.e,e)){if(v1(u(tr(t.e,e),49),n))return-1}else di(t.e,e,new Os);if(Eu(t.e,n)){if(v1(u(tr(t.a,n),49),e))return 1}else di(t.e,n,new Os);if(t.c==(Vd(),g1t)||!Ui(e,(ae(),Bi))||!Ui(n,(ae(),Bi))){for(A=null,k=new J(e.j);k.ah?N7(t,e,n):N7(t,n,e),sh?1:0}return r=u(K(e,(ae(),Bi)),17).a,o=u(K(n,Bi),17).a,r>o?N7(t,e,n):N7(t,n,e),ro?1:0}function rv(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt;if(n==null)return null;if(t.a!=e.jk())throw nt(new zn(oT+e.xe()+hv));if(At(e,468)){if(tt=Ckn(u(e,685),n),!tt)throw nt(new zn(Nlt+n+"' is not a valid enumerator of '"+e.xe()+"'"));return tt}switch(Sp((rl(),Fa),e).Nl()){case 2:{n=iu(n,!1);break}case 3:{n=iu(n,!0);break}}if(r=Sp(Fa,e).Jl(),r)return r.jk().wi().ti(r,n);if(N=Sp(Fa,e).Ll(),N){for(tt=new ge,k=mat(n),T=0,A=k.length;T1)for(U=new F6((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a));U.e!=U.i.gc();)dS(U);for(h=u(Lt((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a),0),166),tt=Jr,Jr>Kt+Bt?tt=Kt+Bt:Jrie+W?ct=ie+W:csKt-Bt&&ttie-W&&ctJr+er?en=Jr+er:Ktcs+Ce?Je=cs+Ce:ieJr-er&&encs-Ce&&Jen&&(N=n-1),j=eb+Ml(e,24)*iP*A-A/2,j<0?j=1:j>r&&(j=r-1),s=(wb(),m=new sC,m),Oq(s,N),Iq(s,j),Mr((!h.a&&(h.a=new Ns(bh,h,5)),h.a),s)}function _pe(t){bm(t,new ow(dm(lm(fm(hm(new cg,Ol),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new uy))),he(t,Ol,Sk,1.3),he(t,Ol,J7,(Nn(),!1)),he(t,Ol,av,iMt),he(t,Ol,h3,15),he(t,Ol,GV,_e(H8e)),he(t,Ol,T5,_e(G8e)),he(t,Ol,Lk,_e(W8e)),he(t,Ol,Ak,_e(Y8e)),he(t,Ol,Z7,_e(U8e)),he(t,Ol,$S,_e(eMt)),he(t,Ol,tT,_e(X8e)),he(t,Ol,R7t,_e(cMt)),he(t,Ol,j7t,_e(oMt)),he(t,Ol,B7t,_e(sdt)),he(t,Ol,F7t,_e(uMt)),he(t,Ol,$7t,_e(rMt)),he(t,Ol,z7t,_e(idt)),he(t,Ol,q7t,_e(nMt)),he(t,Ol,H7t,_e(aMt)),he(t,Ol,jS,_e(tMt)),he(t,Ol,WV,_e(V8e)),he(t,Ol,P7t,_e(dN)),he(t,Ol,O7t,_e(ZLt)),he(t,Ol,N7t,_e(gN)),he(t,Ol,I7t,_e(sMt))}function Cct(t,e){lct();var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er,Jr;if(en=t.e,U=t.d,s=t.a,en==0)switch(e){case 0:return"0";case 1:return G7;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ie=new pb,e<0?ie.a+="0E+":ie.a+="0E",ie.a+=-e,ie.a}if(St=U*10+1+7,Bt=Vt(Uh,Yd,28,St+1,15,1),n=St,U==1)if(d=s[0],d<0){Jr=ia(d,Eo);do W=Jr,Jr=xO(Jr,10),Bt[--n]=48+qr(ef(W,Qa(Jr,10)))&js;while(Rc(Jr,0)!=0)}else{Jr=d;do W=Jr,Jr=Jr/10|0,Bt[--n]=48+(W-Jr*10)&js;while(Jr!=0)}else{On=Vt(Or,ii,28,U,15,1),er=U,Wc(s,0,On,0,er);t:for(;;){for(Ce=0,k=er-1;k>=0;k--)Mn=Xa(Rf(Ce,32),ia(On[k],Eo)),ct=Eyn(Mn),On[k]=qr(ct),Ce=qr(_m(ct,32));Tt=qr(Ce),tt=n;do Bt[--n]=48+Tt%10&js;while((Tt=Tt/10|0)!=0&&n!=0);for(r=9-tt+n,m=0;m0;m++)Bt[--n]=48;for(A=er-1;On[A]==0;A--)if(A==0)break t;er=A+1}for(;Bt[n]==48;)++n}if(j=en<0,h=St-n-e-1,e==0)return j&&(Bt[--n]=45),nf(Bt,n,St-n);if(e>0&&h>=-6){if(h>=0){for(T=n+h,N=St-1;N>=T;N--)Bt[N+1]=Bt[N];return Bt[++T]=46,j&&(Bt[--n]=45),nf(Bt,n,St-n+1)}for(A=2;A<-h+1;A++)Bt[--n]=48;return Bt[--n]=46,Bt[--n]=48,j&&(Bt[--n]=45),nf(Bt,n,St-n)}return Je=n+1,o=St,Kt=new L4,j&&(Kt.a+="-"),o-Je>=1?(Cb(Kt,Bt[n]),Kt.a+=".",Kt.a+=nf(Bt,n+1,St-n-1)):Kt.a+=nf(Bt,n,St-n),Kt.a+="E",h>0&&(Kt.a+="+"),Kt.a+=""+h,Kt.a}function Spe(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie;switch(t.c=e,t.g=new Er,n=(xy(),new my(t.c)),r=new LC(n),_5t(r),St=Gr(ne(t.c,(EO(),AMt))),m=u(ne(t.c,pdt),324),Kt=u(ne(t.c,bdt),437),h=u(ne(t.c,CMt),489),Bt=u(ne(t.c,gdt),438),t.j=Rt(Ht(ne(t.c,lEe))),d=t.a,m.g){case 0:d=t.a;break;case 1:d=t.b;break;case 2:d=t.i;break;case 3:d=t.e;break;case 4:d=t.f;break;default:throw nt(new zn(rU+(m.f!=null?m.f:""+m.g)))}if(t.d=new vne(d,Kt,h),Zt(t.d,(n7(),dA),De(ne(t.c,cEe))),t.d.c=Ie(De(ne(t.c,_Mt))),Kz(t.c).i==0)return t.d;for(A=new Zn(Kz(t.c));A.e!=A.i.gc();){for(T=u(sr(A),27),j=T.g/2,N=T.f/2,ie=new se(T.i+j,T.j+N);Eu(t.g,ie);)Em(ie,(b.Math.random()-.5)*Jd,(b.Math.random()-.5)*Jd);W=u(ne(T,(si(),qT)),140),tt=new One(ie,new Th(ie.a-j-t.j/2-W.b,ie.b-N-t.j/2-W.d,T.g+t.j+(W.b+W.c),T.f+t.j+(W.d+W.a))),pe(t.d.i,tt),di(t.g,ie,new Ys(tt,T))}switch(Bt.g){case 0:if(St==null)t.d.d=u(Oe(t.d.i,0),68);else for(Tt=new J(t.d.i);Tt.a0?er+1:1);for(h=new J(ie.g);h.a0?er+1:1)}t.c[k]==0?Zr(t.e,W):t.a[k]==0&&Zr(t.f,W),++k}for(U=-1,j=1,A=new ge,t.d=u(K(e,(ae(),Vk)),234);wh>0;){for(;t.e.b!=0;)cs=u(bit(t.e),10),t.b[cs.p]=U--,gkt(t,cs),--wh;for(;t.f.b!=0;)El=u(bit(t.f),10),t.b[El.p]=j++,gkt(t,El),--wh;if(wh>0){for(N=Va,Tt=new J(St);Tt.a=N&&(Bt>N&&(A.c.length=0,N=Bt),In(A.c,W)));T=t.sg(A),t.b[T.p]=j++,gkt(t,T),--wh}}for(Jr=St.c.length+1,k=0;kt.b[Vo]&&(ev(r,!0),Zt(e,WP,(Nn(),!0)));t.a=null,t.c=null,t.b=null,Zl(t.f),Zl(t.e),n.Vg()}function Ape(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie;for(Kt=u(Lt((!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a),0),166),T=new Xu,Bt=new Er,ie=B0e(Kt),vu(Bt.f,Kt,ie),N=new Er,r=new Qi,U=C0(rh(ot(st(hh,1),Ln,20,0,[(!e.d&&(e.d=new En(Cs,e,8,5)),e.d),(!e.e&&(e.e=new En(Cs,e,7,4)),e.e)])));Sr(U);){if(j=u(lr(U),74),(!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a).i!=1)throw nt(new zn(gwe+(!t.a&&(t.a=new Jt(Ji,t,6,6)),t.a).i));j!=t&&(tt=u(Lt((!j.a&&(j.a=new Jt(Ji,j,6,6)),j.a),0),166),fs(r,tt,r.c.b,r.c),W=u(Uo(yo(Bt.f,tt)),13),W||(W=B0e(tt),vu(Bt.f,tt,W)),A=n?ra(new eo(u(Oe(ie,ie.c.length-1),8)),u(Oe(W,W.c.length-1),8)):ra(new eo((mn(0,ie.c.length),u(ie.c[0],8))),(mn(0,W.c.length),u(W.c[0],8))),vu(N.f,tt,A))}if(r.b!=0)for(ct=u(Oe(ie,n?ie.c.length-1:0),8),k=1;k1&&fs(T,ct,T.c.b,T.c),Hst(s)));ct=Tt}return T}function Lpe(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On;for(n.Ug(L2e,1),On=u(tc(Ai(new ln(null,new gn(e,16)),new ntt),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),T=u(tc(Ai(new ln(null,new gn(e,16)),new DUt(e)),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc]))),15),U=u(tc(Ai(new ln(null,new gn(e,16)),new MUt(e)),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[rc]))),15),W=Vt(eK,JV,39,e.gc(),0,1),h=0;h=0&&Je=0&&!W[j]){W[j]=s,T.gd(d),--d;break}if(j=Je-N,j=0&&!W[j]){W[j]=s,T.gd(d),--d;break}}for(U.jd(new rtt),m=W.length-1;m>=0;m--)!W[m]&&!U.dc()&&(W[m]=u(U.Xb(0),39),U.gd(0));for(k=0;k=0;m--)Zr(n,(mn(m,h.c.length),u(h.c[m],8)));return n}function Dpe(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;for(St=Rt(Ht(ne(e,(D0(),B3)))),j=Rt(Ht(ne(e,GA))),N=Rt(Ht(ne(e,hK))),m4t((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a)),ct=xge((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a),St,t.b),tt=0;ttN&&vO((mn(N,e.c.length),u(e.c[N],186)),T),T=null;e.c.length>N&&(mn(N,e.c.length),u(e.c[N],186)).a.c.length==0;)$u(e,(mn(N,e.c.length),e.c[N]));if(!T){--h;continue}if(!Ie(De(u(Oe(T.b,0),27).of((ad(),gN))))&&iEn(e,U,o,T,tt,n,N,r)){W=!0;continue}if(tt){if(j=U.b,A=T.f,!Ie(De(u(Oe(T.b,0),27).of(gN)))&&kTn(e,U,o,T,n,N,r,s)){if(W=!0,j=t.j){t.a=-1,t.c=1;return}if(e=qa(t.i,t.d++),t.a=e,t.b==1){switch(e){case 92:if(r=10,t.d>=t.j)throw nt(new Yr(Qr((Ur(),lU))));t.a=qa(t.i,t.d++);break;case 45:(t.e&512)==512&&t.d=t.j||qa(t.i,t.d)!=63)break;if(++t.d>=t.j)throw nt(new Yr(Qr((Ur(),Wlt))));switch(e=qa(t.i,t.d++),e){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(t.d>=t.j)throw nt(new Yr(Qr((Ur(),Wlt))));if(e=qa(t.i,t.d++),e==61)r=16;else if(e==33)r=17;else throw nt(new Yr(Qr((Ur(),zwe))));break;case 35:for(;t.d=t.j)throw nt(new Yr(Qr((Ur(),lU))));t.a=qa(t.i,t.d++);break;default:r=0}t.c=r}function VCn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt;if(n.Ug("Process compaction",1),!!Ie(De(K(e,(xc(),cLt))))){for(s=u(K(e,Mv),88),j=Rt(Ht(K(e,N1t))),w7n(t,e,s),oCn(e,j/2/2),U=e.b,Q2(U,new EUt(s)),k=_r(U,0);k.b!=k.d.c;)if(m=u(Tr(k),39),!Ie(De(K(m,(zi(),i2))))){if(r=Hkn(m,s),W=REn(m,e),A=0,N=0,r)switch(tt=r.e,s.g){case 2:A=tt.a-j-m.f.a,W.e.a-j-m.f.aA&&(A=W.e.a+W.f.a+j),N=A+m.f.a;break;case 4:A=tt.b-j-m.f.b,W.e.b-j-m.f.bA&&(A=W.e.b+W.f.b+j),N=A+m.f.b}else if(W)switch(s.g){case 2:A=W.e.a-j-m.f.a,N=A+m.f.a;break;case 1:A=W.e.a+W.f.a+j,N=A+m.f.a;break;case 4:A=W.e.b-j-m.f.b,N=A+m.f.b;break;case 3:A=W.e.b+W.f.b+j,N=A+m.f.b}$t(K(e,P1t))===$t((Y_(),oN))?(o=A,h=N,d=u7(Ai(new ln(null,new gn(t.a,16)),new fXt(o,h))),d.a!=null?s==(Rs(),Ho)||s==Jo?m.e.a=A:m.e.b=A:(s==(Rs(),Ho)||s==qh?d=u7(Ai(qae(new ln(null,new gn(t.a,16))),new TUt(o))):d=u7(Ai(qae(new ln(null,new gn(t.a,16))),new CUt(o))),d.a!=null&&(s==Ho||s==Jo?m.e.a=Rt(Ht((cr(d.a!=null),u(d.a,42)).a)):m.e.b=Rt(Ht((cr(d.a!=null),u(d.a,42)).a)))),d.a!=null&&(T=Wo(t.a,(cr(d.a!=null),d.a),0),T>0&&T!=u(K(m,o0),17).a&&(Zt(m,tLt,(Nn(),!0)),Zt(m,o0,fe(T))))):s==(Rs(),Ho)||s==Jo?m.e.a=A:m.e.b=A}n.Vg()}}function Ipe(t){var e,n,r,s,o,h,d,m,k;for(t.b=1,vi(t),e=null,t.c==0&&t.a==94?(vi(t),e=(xi(),xi(),new eh(4)),ru(e,0,hT),d=new eh(4)):d=(xi(),xi(),new eh(4)),s=!0;(k=t.c)!=1;){if(k==0&&t.a==93&&!s){e&&(MS(e,d),d=e);break}if(n=t.a,r=!1,k==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:a3(d,F7(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(a3(d,F7(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(m=m6t(t,n),!m)throw nt(new Yr(Qr((Ur(),Ylt))));a3(d,m),r=!0;break;default:n=Z6t(t)}else if(k==24&&!s){if(e&&(MS(e,d),d=e),o=Ipe(t),MS(d,o),t.c!=0||t.a!=93)throw nt(new Yr(Qr((Ur(),Qwe))));break}if(vi(t),!r){if(k==0){if(n==91)throw nt(new Yr(Qr((Ur(),kTt))));if(n==93)throw nt(new Yr(Qr((Ur(),ETt))));if(n==45&&!s&&t.a!=93)throw nt(new Yr(Qr((Ur(),Xlt))))}if(t.c!=0||t.a!=45||n==45&&s)ru(d,n,n);else{if(vi(t),(k=t.c)==1)throw nt(new Yr(Qr((Ur(),hU))));if(k==0&&t.a==93)ru(d,n,n),ru(d,45,45);else{if(k==0&&t.a==93||k==24)throw nt(new Yr(Qr((Ur(),Xlt))));if(h=t.a,k==0){if(h==91)throw nt(new Yr(Qr((Ur(),kTt))));if(h==93)throw nt(new Yr(Qr((Ur(),ETt))));if(h==45)throw nt(new Yr(Qr((Ur(),Xlt))))}else k==10&&(h=Z6t(t));if(vi(t),n>h)throw nt(new Yr(Qr((Ur(),tme))));ru(d,n,h)}}}s=!1}if(t.c==1)throw nt(new Yr(Qr((Ur(),hU))));return h5(d),AS(d),t.b=0,vi(t),d}function UCn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt;if(n.Ug("Coffman-Graham Layering",1),e.a.c.length==0){n.Vg();return}for(Kt=u(K(e,(Me(),jSt)),17).a,m=0,h=0,N=new J(e.a);N.a=Kt||!j2n(ct,r))&&(r=Lee(e,T)),Ca(ct,r),o=new nr(ir(ca(ct).a.Kc(),new q));Sr(o);)s=u(lr(o),18),!t.a[s.p]&&(W=s.c.i,--t.e[W.p],t.e[W.p]==0&&z6(S7(j,W),K7));for(k=T.c.length-1;k>=0;--k)pe(e.b,(mn(k,T.c.length),u(T.c[k],30)));e.a.c.length=0,n.Vg()}function Ope(t,e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt;Bt=!1;do for(Bt=!1,o=e?new ui(t.a.b).a.gc()-2:1;e?o>=0:ou(K(tt,Bi),17).a)&&(St=!1);if(St){for(m=e?o+1:o-1,d=s3t(t.a,fe(m)),h=!1,Tt=!0,r=!1,T=_r(d,0);T.b!=T.d.c;)k=u(Tr(T),10),Ui(k,Bi)?k.p!=A.p&&(h=h|(e?u(K(k,Bi),17).au(K(A,Bi),17).a),Tt=!1):!h&&Tt&&k.k==(Un(),qc)&&(r=!0,e?N=u(lr(new nr(ir(ca(k).a.Kc(),new q))),18).c.i:N=u(lr(new nr(ir(As(k).a.Kc(),new q))),18).d.i,N==A&&(e?n=u(lr(new nr(ir(As(k).a.Kc(),new q))),18).d.i:n=u(lr(new nr(ir(ca(k).a.Kc(),new q))),18).c.i,(e?u(_y(t.a,n),17).a-u(_y(t.a,N),17).a:u(_y(t.a,N),17).a-u(_y(t.a,n),17).a)<=2&&(Tt=!1)));if(r&&Tt&&(e?n=u(lr(new nr(ir(As(A).a.Kc(),new q))),18).d.i:n=u(lr(new nr(ir(ca(A).a.Kc(),new q))),18).c.i,(e?u(_y(t.a,n),17).a-u(_y(t.a,A),17).a:u(_y(t.a,A),17).a-u(_y(t.a,n),17).a)<=2&&n.k==(Un(),Ts)&&(Tt=!1)),h||Tt){for(W=lde(t,A,e);W.a.gc()!=0;)U=u(W.a.ec().Kc().Pb(),10),W.a.Bc(U)!=null,Aa(W,lde(t,U,e));--j,Bt=!0}}}while(Bt)}function GCn(t){zr(t.c,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#decimal"])),zr(t.d,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#integer"])),zr(t.e,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#boolean"])),zr(t.f,ti,ot(st(Ne,1),le,2,6,[Ua,"EBoolean",bi,"EBoolean:Object"])),zr(t.i,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#byte"])),zr(t.g,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#hexBinary"])),zr(t.j,ti,ot(st(Ne,1),le,2,6,[Ua,"EByte",bi,"EByte:Object"])),zr(t.n,ti,ot(st(Ne,1),le,2,6,[Ua,"EChar",bi,"EChar:Object"])),zr(t.t,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#double"])),zr(t.u,ti,ot(st(Ne,1),le,2,6,[Ua,"EDouble",bi,"EDouble:Object"])),zr(t.F,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#float"])),zr(t.G,ti,ot(st(Ne,1),le,2,6,[Ua,"EFloat",bi,"EFloat:Object"])),zr(t.I,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#int"])),zr(t.J,ti,ot(st(Ne,1),le,2,6,[Ua,"EInt",bi,"EInt:Object"])),zr(t.N,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#long"])),zr(t.O,ti,ot(st(Ne,1),le,2,6,[Ua,"ELong",bi,"ELong:Object"])),zr(t.Z,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#short"])),zr(t.$,ti,ot(st(Ne,1),le,2,6,[Ua,"EShort",bi,"EShort:Object"])),zr(t._,ti,ot(st(Ne,1),le,2,6,[Ua,"http://www.w3.org/2001/XMLSchema#string"]))}function KCn(t,e,n,r,s,o,h){var d,m,k,T,A,N,j,U;return N=u(r.a,17).a,j=u(r.b,17).a,A=t.b,U=t.c,d=0,T=0,e==(Rs(),Ho)||e==Jo?(T=zD(kue(Py(Go(new ln(null,new gn(n.b,16)),new stt),new xR))),A.e.b+A.f.b/2>T?(k=++j,d=Rt(Ht(ql(Dy(Go(new ln(null,new gn(n.b,16)),new pXt(s,k)),new VZ))))):(m=++N,d=Rt(Ht(ql(H6(Go(new ln(null,new gn(n.b,16)),new bXt(s,m)),new UZ)))))):(T=zD(kue(Py(Go(new ln(null,new gn(n.b,16)),new WZ),new HZ))),A.e.a+A.f.a/2>T?(k=++j,d=Rt(Ht(ql(Dy(Go(new ln(null,new gn(n.b,16)),new dXt(s,k)),new GM))))):(m=++N,d=Rt(Ht(ql(H6(Go(new ln(null,new gn(n.b,16)),new gXt(s,m)),new GZ)))))),e==Ho?(to(t.a,new se(Rt(Ht(K(A,(zi(),O1))))-s,d)),to(t.a,new se(U.e.a+U.f.a+s+o,d)),to(t.a,new se(U.e.a+U.f.a+s+o,U.e.b+U.f.b/2)),to(t.a,new se(U.e.a+U.f.a,U.e.b+U.f.b/2))):e==Jo?(to(t.a,new se(Rt(Ht(K(A,(zi(),Xf))))+s,A.e.b+A.f.b/2)),to(t.a,new se(A.e.a+A.f.a+s,d)),to(t.a,new se(U.e.a-s-o,d)),to(t.a,new se(U.e.a-s-o,U.e.b+U.f.b/2)),to(t.a,new se(U.e.a,U.e.b+U.f.b/2))):e==qh?(to(t.a,new se(d,Rt(Ht(K(A,(zi(),O1))))-s)),to(t.a,new se(d,U.e.b+U.f.b+s+o)),to(t.a,new se(U.e.a+U.f.a/2,U.e.b+U.f.b+s+o)),to(t.a,new se(U.e.a+U.f.a/2,U.e.b+U.f.b+s))):(t.a.b==0||(u(Nf(t.a),8).b=Rt(Ht(K(A,(zi(),Xf))))+s*u(h.b,17).a),to(t.a,new se(d,Rt(Ht(K(A,(zi(),Xf))))+s*u(h.b,17).a)),to(t.a,new se(d,U.e.b-s*u(h.a,17).a-o))),new Ys(fe(N),fe(j))}function WCn(t){var e,n,r,s,o,h,d,m,k,T,A,N,j;if(h=!0,A=null,r=null,s=null,e=!1,j=K7e,k=null,o=null,d=0,m=Kat(t,d,TIt,CIt),m=0&&hn(t.substr(d,2),"//")?(d+=2,m=Kat(t,d,pL,bL),r=(Sa(d,m,t.length),t.substr(d,m-d)),d=m):A!=null&&(d==t.length||(qn(d,t.length),t.charCodeAt(d)!=47))&&(h=!1,m=Lmt(t,qu(35),d),m==-1&&(m=t.length),r=(Sa(d,m,t.length),t.substr(d,m-d)),d=m);if(!n&&d0&&qa(T,T.length-1)==58&&(s=T,d=m)),dqot(o))&&(A=o);for(!A&&(A=(mn(0,tt.c.length),u(tt.c[0],185))),W=new J(e.b);W.aA&&(Mn=0,er+=T+Ce,T=0),E0e(Kt,h,Mn,er),e=b.Math.max(e,Mn+ie.a),T=b.Math.max(T,ie.b),Mn+=ie.a+Ce;for(Bt=new Er,n=new Er,Je=new J(t);Je.a=-1900?1:0,n>=4?ni(t,ot(st(Ne,1),le,2,6,[Xpe,Qpe])[d]):ni(t,ot(st(Ne,1),le,2,6,["BC","AD"])[d]);break;case 121:gwn(t,n,r);break;case 77:O8n(t,n,r);break;case 107:m=s.q.getHours(),m==0?A0(t,24,n):A0(t,m,n);break;case 83:Gxn(t,n,s);break;case 69:T=r.q.getDay(),n==5?ni(t,ot(st(Ne,1),le,2,6,["S","M","T","W","T","F","S"])[T]):n==4?ni(t,ot(st(Ne,1),le,2,6,[Uct,Gct,Kct,Wct,Yct,Xct,Qct])[T]):ni(t,ot(st(Ne,1),le,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[T]);break;case 97:s.q.getHours()>=12&&s.q.getHours()<24?ni(t,ot(st(Ne,1),le,2,6,["AM","PM"])[1]):ni(t,ot(st(Ne,1),le,2,6,["AM","PM"])[0]);break;case 104:A=s.q.getHours()%12,A==0?A0(t,12,n):A0(t,A,n);break;case 75:N=s.q.getHours()%12,A0(t,N,n);break;case 72:j=s.q.getHours(),A0(t,j,n);break;case 99:U=r.q.getDay(),n==5?ni(t,ot(st(Ne,1),le,2,6,["S","M","T","W","T","F","S"])[U]):n==4?ni(t,ot(st(Ne,1),le,2,6,[Uct,Gct,Kct,Wct,Yct,Xct,Qct])[U]):n==3?ni(t,ot(st(Ne,1),le,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[U]):A0(t,U,1);break;case 76:W=r.q.getMonth(),n==5?ni(t,ot(st(Ne,1),le,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[W]):n==4?ni(t,ot(st(Ne,1),le,2,6,[Pct,Nct,Fct,Bct,xk,Rct,jct,$ct,zct,qct,Hct,Vct])[W]):n==3?ni(t,ot(st(Ne,1),le,2,6,["Jan","Feb","Mar","Apr",xk,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[W]):A0(t,W+1,n);break;case 81:tt=r.q.getMonth()/3|0,n<4?ni(t,ot(st(Ne,1),le,2,6,["Q1","Q2","Q3","Q4"])[tt]):ni(t,ot(st(Ne,1),le,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[tt]);break;case 100:ct=r.q.getDate(),A0(t,ct,n);break;case 109:k=s.q.getMinutes(),A0(t,k,n);break;case 115:h=s.q.getSeconds(),A0(t,h,n);break;case 122:n<4?ni(t,o.c[0]):ni(t,o.c[1]);break;case 118:ni(t,o.b);break;case 90:n<3?ni(t,j4n(o)):n==3?ni(t,V4n(o)):ni(t,U4n(o.a));break;default:return!1}return!0}function Kkt(t,e,n,r){var s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er,Jr;if(f0e(e),m=u(Lt((!e.b&&(e.b=new En(gr,e,4,7)),e.b),0),84),T=u(Lt((!e.c&&(e.c=new En(gr,e,5,8)),e.c),0),84),d=Xo(m),k=Xo(T),h=(!e.a&&(e.a=new Jt(Ji,e,6,6)),e.a).i==0?null:u(Lt((!e.a&&(e.a=new Jt(Ji,e,6,6)),e.a),0),166),Ce=u(tr(t.a,d),10),Mn=u(tr(t.a,k),10),en=null,er=null,At(m,193)&&(ie=u(tr(t.a,m),304),At(ie,12)?en=u(ie,12):At(ie,10)&&(Ce=u(ie,10),en=u(Oe(Ce.j,0),12))),At(T,193)&&(On=u(tr(t.a,T),304),At(On,12)?er=u(On,12):At(On,10)&&(Mn=u(On,10),er=u(Oe(Mn.j,0),12))),!Ce||!Mn)throw nt(new _6("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(W=new Pm,Yo(W,e),Zt(W,(ae(),Di),e),Zt(W,(Me(),qo),null),j=u(K(r,uu),21),Ce==Mn&&j.Fc((ko(),yA)),en||(Kt=(xo(),xu),Je=null,h&&R4(u(K(Ce,ms),101))&&(Je=new se(h.j,h.k),eie(Je,kI(e)),Lie(Je,n),qy(k,d)&&(Kt=vl,Ei(Je,Ce.n))),en=dge(Ce,Je,Kt,r)),er||(Kt=(xo(),vl),Jr=null,h&&R4(u(K(Mn,ms),101))&&(Jr=new se(h.b,h.c),eie(Jr,kI(e)),Lie(Jr,n)),er=dge(Mn,Jr,Kt,Ia(Mn))),Ya(W,en),ya(W,er),(en.e.c.length>1||en.g.c.length>1||er.e.c.length>1||er.g.c.length>1)&&j.Fc((ko(),vA)),N=new Zn((!e.n&&(e.n=new Jt(Oo,e,1,7)),e.n));N.e!=N.i.gc();)if(A=u(sr(N),135),!Ie(De(ne(A,Aw)))&&A.a)switch(tt=Sat(A),pe(W.b,tt),u(K(tt,a0),278).g){case 1:case 2:j.Fc((ko(),_T));break;case 0:j.Fc((ko(),CT)),Zt(tt,a0,(nd(),HT))}if(o=u(K(r,_A),322),ct=u(K(r,$G),323),s=o==(z_(),UP)||ct==(oS(),f1t),h&&(!h.a&&(h.a=new Ns(bh,h,5)),h.a).i!=0&&s){for(Tt=CO(h),U=new Xu,Bt=_r(Tt,0);Bt.b!=Bt.d.c;)St=u(Tr(Bt),8),Zr(U,new eo(St));Zt(W,z_t,U)}return W}function JCn(t,e,n,r){var s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er,Jr,cs;for(Je=0,On=0,Ce=new Er,Kt=u(ql(Dy(Go(new ln(null,new gn(t.b,16)),new KZ),new ttt)),17).a+1,en=Vt(Or,ii,28,Kt,15,1),tt=Vt(Or,ii,28,Kt,15,1),W=0;W1)for(d=er+1;dk.b.e.b*(1-ct)+k.c.e.b*ct));U++);if(ie.gc()>0&&(Jr=k.a.b==0?Ma(k.b.e):u(Nf(k.a),8),St=Ei(Ma(u(ie.Xb(ie.gc()-1),39).e),u(ie.Xb(ie.gc()-1),39).f),N=Ei(Ma(u(ie.Xb(0),39).e),u(ie.Xb(0),39).f),U>=ie.gc()-1&&Jr.b>St.b&&k.c.e.b>St.b||U<=0&&Jr.bk.b.e.a*(1-ct)+k.c.e.a*ct));U++);if(ie.gc()>0&&(Jr=k.a.b==0?Ma(k.b.e):u(Nf(k.a),8),St=Ei(Ma(u(ie.Xb(ie.gc()-1),39).e),u(ie.Xb(ie.gc()-1),39).f),N=Ei(Ma(u(ie.Xb(0),39).e),u(ie.Xb(0),39).f),U>=ie.gc()-1&&Jr.a>St.a&&k.c.e.a>St.a||U<=0&&Jr.a=Rt(Ht(K(t,(zi(),rLt))))&&++On):(j.f&&j.d.e.a<=Rt(Ht(K(t,(zi(),M1t))))&&++Je,j.g&&j.c.e.a+j.c.f.a>=Rt(Ht(K(t,(zi(),nLt))))&&++On)}else Bt==0?p6t(k):Bt<0&&(++en[er],++tt[cs],Mn=KCn(k,e,t,new Ys(fe(Je),fe(On)),n,r,new Ys(fe(tt[cs]),fe(en[er]))),Je=u(Mn.a,17).a,On=u(Mn.b,17).a)}function ZCn(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt;if(r=e,m=n,t.b&&r.j==(ve(),Gn)&&m.j==(ve(),Gn)&&(Tt=r,r=m,m=Tt),Eu(t.a,r)){if(v1(u(tr(t.a,r),49),m))return 1}else di(t.a,r,new Os);if(Eu(t.a,m)){if(v1(u(tr(t.a,m),49),r))return-1}else di(t.a,m,new Os);if(Eu(t.d,r)){if(v1(u(tr(t.d,r),49),m))return-1}else di(t.d,r,new Os);if(Eu(t.d,m)){if(v1(u(tr(t.a,m),49),r))return 1}else di(t.d,m,new Os);if(r.j!=m.j)return ct=zrn(r.j,m.j),ct==-1?Fh(t,m,r):Fh(t,r,m),ct;if(r.e.c.length!=0&&m.e.c.length!=0){if(t.b&&(ct=Xce(r,m),ct!=0))return ct==-1?Fh(t,m,r):ct==1&&Fh(t,r,m),ct;if(o=u(Oe(r.e,0),18).c.i,T=u(Oe(m.e,0),18).c.i,o==T)return s=u(K(u(Oe(r.e,0),18),(ae(),Bi)),17).a,k=u(K(u(Oe(m.e,0),18),Bi),17).a,s>k?Fh(t,r,m):Fh(t,m,r),sk?1:0;for(U=t.c,W=0,tt=U.length;Wk?Fh(t,r,m):Fh(t,m,r),sk?1:0):t.b&&(ct=Xce(r,m),ct!=0)?(ct==-1?Fh(t,m,r):ct==1&&Fh(t,r,m),ct):(h=0,A=0,Ui(u(Oe(r.g,0),18),Bi)&&(h=u(K(u(Oe(r.g,0),18),Bi),17).a),Ui(u(Oe(m.g,0),18),Bi)&&(A=u(K(u(Oe(r.g,0),18),Bi),17).a),d&&d==N?Ie(De(K(u(Oe(r.g,0),18),dd)))&&!Ie(De(K(u(Oe(m.g,0),18),dd)))?(Fh(t,r,m),1):!Ie(De(K(u(Oe(r.g,0),18),dd)))&&Ie(De(K(u(Oe(m.g,0),18),dd)))?(Fh(t,m,r),-1):(h>A?Fh(t,r,m):Fh(t,m,r),hA?1:0):(t.f&&(t.f._b(d)&&(h=u(t.f.xc(d),17).a),t.f._b(N)&&(A=u(t.f.xc(N),17).a)),h>A?Fh(t,r,m):Fh(t,m,r),hA?1:0))):r.e.c.length!=0&&m.g.c.length!=0?(Fh(t,r,m),1):r.g.c.length!=0&&m.e.c.length!=0?(Fh(t,m,r),-1):Ui(r,(ae(),Bi))&&Ui(m,Bi)?(s=u(K(r,Bi),17).a,k=u(K(m,Bi),17).a,s>k?Fh(t,r,m):Fh(t,m,r),sk?1:0):(Fh(t,m,r),-1)}function t_n(t){t.gb||(t.gb=!0,t.b=yc(t,0),ds(t.b,18),Ki(t.b,19),t.a=yc(t,1),ds(t.a,1),Ki(t.a,2),Ki(t.a,3),Ki(t.a,4),Ki(t.a,5),t.o=yc(t,2),ds(t.o,8),ds(t.o,9),Ki(t.o,10),Ki(t.o,11),Ki(t.o,12),Ki(t.o,13),Ki(t.o,14),Ki(t.o,15),Ki(t.o,16),Ki(t.o,17),Ki(t.o,18),Ki(t.o,19),Ki(t.o,20),Ki(t.o,21),Ki(t.o,22),Ki(t.o,23),jo(t.o),jo(t.o),jo(t.o),jo(t.o),jo(t.o),jo(t.o),jo(t.o),jo(t.o),jo(t.o),jo(t.o),t.p=yc(t,3),ds(t.p,2),ds(t.p,3),ds(t.p,4),ds(t.p,5),Ki(t.p,6),Ki(t.p,7),jo(t.p),jo(t.p),t.q=yc(t,4),ds(t.q,8),t.v=yc(t,5),Ki(t.v,9),jo(t.v),jo(t.v),jo(t.v),t.w=yc(t,6),ds(t.w,2),ds(t.w,3),ds(t.w,4),Ki(t.w,5),t.B=yc(t,7),Ki(t.B,1),jo(t.B),jo(t.B),jo(t.B),t.Q=yc(t,8),Ki(t.Q,0),jo(t.Q),t.R=yc(t,9),ds(t.R,1),t.S=yc(t,10),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),jo(t.S),t.T=yc(t,11),Ki(t.T,10),Ki(t.T,11),Ki(t.T,12),Ki(t.T,13),Ki(t.T,14),jo(t.T),jo(t.T),t.U=yc(t,12),ds(t.U,2),ds(t.U,3),Ki(t.U,4),Ki(t.U,5),Ki(t.U,6),Ki(t.U,7),jo(t.U),t.V=yc(t,13),Ki(t.V,10),t.W=yc(t,14),ds(t.W,18),ds(t.W,19),ds(t.W,20),Ki(t.W,21),Ki(t.W,22),Ki(t.W,23),t.bb=yc(t,15),ds(t.bb,10),ds(t.bb,11),ds(t.bb,12),ds(t.bb,13),ds(t.bb,14),ds(t.bb,15),ds(t.bb,16),Ki(t.bb,17),jo(t.bb),jo(t.bb),t.eb=yc(t,16),ds(t.eb,2),ds(t.eb,3),ds(t.eb,4),ds(t.eb,5),ds(t.eb,6),ds(t.eb,7),Ki(t.eb,8),Ki(t.eb,9),t.ab=yc(t,17),ds(t.ab,0),ds(t.ab,1),t.H=yc(t,18),Ki(t.H,0),Ki(t.H,1),Ki(t.H,2),Ki(t.H,3),Ki(t.H,4),Ki(t.H,5),jo(t.H),t.db=yc(t,19),Ki(t.db,2),t.c=pi(t,20),t.d=pi(t,21),t.e=pi(t,22),t.f=pi(t,23),t.i=pi(t,24),t.g=pi(t,25),t.j=pi(t,26),t.k=pi(t,27),t.n=pi(t,28),t.r=pi(t,29),t.s=pi(t,30),t.t=pi(t,31),t.u=pi(t,32),t.fb=pi(t,33),t.A=pi(t,34),t.C=pi(t,35),t.D=pi(t,36),t.F=pi(t,37),t.G=pi(t,38),t.I=pi(t,39),t.J=pi(t,40),t.L=pi(t,41),t.M=pi(t,42),t.N=pi(t,43),t.O=pi(t,44),t.P=pi(t,45),t.X=pi(t,46),t.Y=pi(t,47),t.Z=pi(t,48),t.$=pi(t,49),t._=pi(t,50),t.cb=pi(t,51),t.K=pi(t,52))}function e_n(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er;for(h=new Qi,ie=u(K(n,(Me(),fh)),88),W=0,Aa(h,(!e.a&&(e.a=new Jt(wi,e,10,11)),e.a));h.b!=0;)T=u(h.b==0?null:(cr(h.b!=0),Lh(h,h.a.a)),27),k=es(T),($t(ne(k,q0))!==$t((Vd(),Hp))||$t(ne(k,Tw))===$t((Mp(),ET))||$t(ne(k,Tw))===$t((Mp(),kT))||Ie(De(ne(k,kv)))||$t(ne(k,S3))!==$t((iw(),x3))||$t(ne(k,e2))===$t((sf(),Av))||$t(ne(k,e2))===$t((sf(),P3))||$t(ne(k,_w))===$t((Np(),NT))||$t(ne(k,_w))===$t((Np(),FT)))&&!Ie(De(ne(T,IG)))&&Oi(T,(ae(),Bi),fe(W++)),ct=!Ie(De(ne(T,Aw))),ct&&(N=(!T.a&&(T.a=new Jt(wi,T,10,11)),T.a).i!=0,U=Myn(T),j=$t(ne(T,A3))===$t((Cg(),Wp)),er=!td(T,(si(),zT))||Bie(Gr(ne(T,zT))),Bt=null,er&&j&&(N||U)&&(Bt=K0e(T),Zt(Bt,fh,ie),Ui(Bt,ZP)&&KKt(new D5t(Rt(Ht(K(Bt,ZP)))),Bt),u(ne(T,Sw),181).gc()!=0&&(A=Bt,xs(new ln(null,(!T.c&&(T.c=new Jt(kl,T,9,9)),new gn(T.c,16))),new tVt(A)),jde(T,Bt))),Ce=n,en=u(tr(t.a,es(T)),10),en&&(Ce=en.e),St=ype(t,T,Ce),Bt&&(St.e=Bt,Bt.e=St,Aa(h,(!T.a&&(T.a=new Jt(wi,T,10,11)),T.a))));for(W=0,fs(h,e,h.c.b,h.c);h.b!=0;){for(o=u(h.b==0?null:(cr(h.b!=0),Lh(h,h.a.a)),27),m=new Zn((!o.b&&(o.b=new Jt(Cs,o,12,3)),o.b));m.e!=m.i.gc();)d=u(sr(m),74),f0e(d),($t(ne(e,q0))!==$t((Vd(),Hp))||$t(ne(e,Tw))===$t((Mp(),ET))||$t(ne(e,Tw))===$t((Mp(),kT))||Ie(De(ne(e,kv)))||$t(ne(e,S3))!==$t((iw(),x3))||$t(ne(e,e2))===$t((sf(),Av))||$t(ne(e,e2))===$t((sf(),P3))||$t(ne(e,_w))===$t((Np(),NT))||$t(ne(e,_w))===$t((Np(),FT)))&&Oi(d,(ae(),Bi),fe(W++)),On=Xo(u(Lt((!d.b&&(d.b=new En(gr,d,4,7)),d.b),0),84)),Mn=Xo(u(Lt((!d.c&&(d.c=new En(gr,d,5,8)),d.c),0),84)),!(Ie(De(ne(d,Aw)))||Ie(De(ne(On,Aw)))||Ie(De(ne(Mn,Aw))))&&(tt=Jm(d)&&Ie(De(ne(On,L3)))&&Ie(De(ne(d,Cw))),Kt=o,tt||qy(Mn,On)?Kt=On:qy(On,Mn)&&(Kt=Mn),Ce=n,en=u(tr(t.a,Kt),10),en&&(Ce=en.e),Tt=Kkt(t,d,Kt,Ce),Zt(Tt,(ae(),B_t),ekn(t,d,e,n)));if(j=$t(ne(o,A3))===$t((Cg(),Wp)),j)for(s=new Zn((!o.a&&(o.a=new Jt(wi,o,10,11)),o.a));s.e!=s.i.gc();)r=u(sr(s),27),er=!td(r,(si(),zT))||Bie(Gr(ne(r,zT))),Je=$t(ne(r,A3))===$t(Wp),er&&Je&&fs(h,r,h.c.b,h.c)}}function ae(){ae=V;var t,e;Di=new Ni(O8t),B_t=new Ni("coordinateOrigin"),zft=new Ni("processors"),F_t=new os("compoundNode",(Nn(),!1)),YP=new os("insideConnections",!1),z_t=new Ni("originalBendpoints"),q_t=new Ni("originalDummyNodePosition"),H_t=new Ni("originalLabelEdge"),kA=new Ni("representedLabels"),xA=new Ni("endLabels"),zk=new Ni("endLabel.origin"),Hk=new os("labelSide",(ah(),AN)),z5=new os("maxEdgeThickness",0),dd=new os("reversed",!1),Vk=new Ni(Bbe),I1=new os("longEdgeSource",null),hf=new os("longEdgeTarget",null),C3=new os("longEdgeHasLabelDummies",!1),XP=new os("longEdgeBeforeLabelDummy",!1),CG=new os("edgeConstraint",(ew(),Tft)),vv=new Ni("inLayerLayoutUnit"),kw=new os("inLayerConstraint",(kg(),KP)),qk=new os("inLayerSuccessorConstraint",new ge),$_t=new os("inLayerSuccessorConstraintBetweenNonDummies",!1),ml=new Ni("portDummy"),TG=new os("crossingHint",fe(0)),uu=new os("graphProperties",(e=u(m1(Dft),9),new Eh(e,u(Ff(e,e.length),9),0))),_c=new os("externalPortSide",(ve(),gc)),j_t=new os("externalPortSize",new Ea),Fft=new Ni("externalPortReplacedDummies"),_G=new Ni("externalPortReplacedDummy"),Bg=new os("externalPortConnections",(t=u(m1(go),9),new Eh(t,u(Ff(t,t.length),9),0))),yv=new os(Abe,0),N_t=new Ni("barycenterAssociates"),Uk=new Ni("TopSideComments"),$k=new Ni("BottomSideComments"),EG=new Ni("CommentConnectionPort"),Rft=new os("inputCollect",!1),$ft=new os("outputCollect",!1),WP=new os("cyclic",!1),R_t=new Ni("crossHierarchyMap"),Hft=new Ni("targetOffset"),new os("splineLabelSize",new Ea),H5=new Ni("spacings"),SG=new os("partitionConstraint",!1),mv=new Ni("breakingPoint.info"),G_t=new Ni("splines.survivingEdge"),Ew=new Ni("splines.route.start"),V5=new Ni("splines.edgeChain"),U_t=new Ni("originalPortConstraints"),xv=new Ni("selfLoopHolder"),AT=new Ni("splines.nsPortY"),Bi=new Ni("modelOrder"),jft=new Ni("longEdgeTargetNode"),Zb=new os(u2e,!1),q5=new os(u2e,!1),Bft=new Ni("layerConstraints.hiddenNodes"),V_t=new Ni("layerConstraints.opposidePort"),qft=new Ni("targetNode.modelOrder")}function n_n(t,e,n,r){var s,o,h,d,m,k,T,A,N,j,U;for(A=_r(t.b,0);A.b!=A.d.c;)if(T=u(Tr(A),39),!hn(T.c,QV))for(o=u(tc(new ln(null,new gn(h5n(T,t),16)),gl(new Pr,new oe,new An,ot(st(zo,1),te,108,0,[(bl(),rc)]))),15),e==(Rs(),Ho)||e==Jo?o.jd(new kR):o.jd(new QZ),U=o.gc(),s=0;s0&&(d=u(Nf(u(o.Xb(s),65).a),8).a,N=T.e.a+T.f.a/2,m=u(Nf(u(o.Xb(s),65).a),8).b,j=T.e.b+T.f.b/2,r>0&&b.Math.abs(m-j)/(b.Math.abs(d-N)/40)>50&&(j>m?to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a+r/5.3,T.e.b+T.f.b*h-r/2)):to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a+r/5.3,T.e.b+T.f.b*h+r/2)))),to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a,T.e.b+T.f.b*h))):e==Jo?(k=Rt(Ht(K(T,(zi(),O1)))),T.e.a-r>k?to(u(o.Xb(s),65).a,new se(k-n,T.e.b+T.f.b*h)):u(o.Xb(s),65).a.b>0&&(d=u(Nf(u(o.Xb(s),65).a),8).a,N=T.e.a+T.f.a/2,m=u(Nf(u(o.Xb(s),65).a),8).b,j=T.e.b+T.f.b/2,r>0&&b.Math.abs(m-j)/(b.Math.abs(d-N)/40)>50&&(j>m?to(u(o.Xb(s),65).a,new se(T.e.a-r/5.3,T.e.b+T.f.b*h-r/2)):to(u(o.Xb(s),65).a,new se(T.e.a-r/5.3,T.e.b+T.f.b*h+r/2)))),to(u(o.Xb(s),65).a,new se(T.e.a,T.e.b+T.f.b*h))):e==qh?(k=Rt(Ht(K(T,(zi(),Xf)))),T.e.b+T.f.b+r0&&(d=u(Nf(u(o.Xb(s),65).a),8).a,N=T.e.a+T.f.a/2,m=u(Nf(u(o.Xb(s),65).a),8).b,j=T.e.b+T.f.b/2,r>0&&b.Math.abs(d-N)/(b.Math.abs(m-j)/40)>50&&(N>d?to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h-r/2,T.e.b+r/5.3+T.f.b)):to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h+r/2,T.e.b+r/5.3+T.f.b)))),to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h,T.e.b+T.f.b))):(k=Rt(Ht(K(T,(zi(),O1)))),Fce(u(o.Xb(s),65),t)?to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h,u(Nf(u(o.Xb(s),65).a),8).b)):T.e.b-r>k?to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h,k-n)):u(o.Xb(s),65).a.b>0&&(d=u(Nf(u(o.Xb(s),65).a),8).a,N=T.e.a+T.f.a/2,m=u(Nf(u(o.Xb(s),65).a),8).b,j=T.e.b+T.f.b/2,r>0&&b.Math.abs(d-N)/(b.Math.abs(m-j)/40)>50&&(N>d?to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h-r/2,T.e.b-r/5.3)):to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h+r/2,T.e.b-r/5.3)))),to(u(o.Xb(s),65).a,new se(T.e.a+T.f.a*h,T.e.b)))}function si(){si=V;var t,e;zT=new Ni(W2e),ux=new Ni(Y2e),tDt=(L0(),vdt),$Ee=new un(zEt,tDt),nx=new un(Sk,null),zEe=new Ni(tTt),nDt=(aw(),Gi(kdt,ot(st(Edt,1),te,297,0,[xdt]))),vN=new un(GV,nDt),yN=new un(mP,(Nn(),!1)),rDt=(Rs(),wd),Iw=new un(clt,rDt),aDt=(_g(),Fdt),sDt=new un(wP,aDt),VEe=new un(J7t,!1),uDt=(Cg(),SK),sx=new un(UV,uDt),mDt=new ym(12),Kp=new un(av,mDt),kN=new un(jS,!1),Sdt=new un(WV,!1),EN=new un($S,!1),EDt=(xa(),c2),nL=new un(Aut,EDt),Yk=new Ni(KV),TN=new Ni(cP),Pdt=new Ni(SV),Ndt=new Ni(RS),lDt=new Xu,Dv=new un(JEt,lDt),HEe=new un(e7t,!1),UEe=new un(n7t,!1),hDt=new OC,qT=new un(i7t,hDt),EK=new un(jEt,!1),YEe=new un(X2e,1),ix=new Ni(Q2e),rx=new Ni(J2e),rL=new un(uP,!1),new un(Z2e,!0),fe(0),new un(twe,fe(100)),new un(ewe,!1),fe(0),new un(nwe,fe(4e3)),fe(0),new un(rwe,fe(400)),new un(iwe,!1),new un(swe,!1),new un(awe,!0),new un(owe,!1),eDt=(lH(),$dt),qEe=new un(Z7t,eDt),XEe=new un(AEt,10),QEe=new un(LEt,10),SDt=new un(xut,20),JEe=new un(MEt,10),ADt=new un(Sut,2),LDt=new un(olt,10),MDt=new un(DEt,0),TK=new un(PEt,5),DDt=new un(IEt,1),IDt=new un(OEt,1),Pw=new un(h3,20),ZEe=new un(NEt,10),NDt=new un(FEt,10),Xk=new Ni(BEt),PDt=new dQt,ODt=new un(s7t,PDt),KEe=new Ni(llt),vDt=!1,GEe=new un(ult,vDt),dDt=new ym(5),fDt=new un(VEt,dDt),gDt=(e3(),e=u(m1(_o),9),new Eh(e,u(Ff(e,e.length),9),0)),ax=new un(Z7,gDt),xDt=(i5(),o2),yDt=new un(KEt,xDt),Ldt=new Ni(WEt),Mdt=new Ni(YEt),Ddt=new Ni(XEt),Adt=new Ni(QEt),pDt=(t=u(m1(hL),9),new Eh(t,u(Ff(t,t.length),9),0)),Ow=new un(T5,pDt),wDt=Ze((Dl(),KT)),s2=new un(Ak,wDt),bDt=new se(0,0),ox=new un(Lk,bDt),R3=new un(J7,!1),iDt=(nd(),HT),Cdt=new un(ZEt,iDt),Tdt=new un(AV,!1),fe(1),new un(cwe,null),kDt=new Ni(r7t),Idt=new Ni(t7t),_Dt=(ve(),gc),cx=new un($Et,_Dt),Nl=new Ni(REt),TDt=(wl(),Ze(u2)),j3=new un(tT,TDt),Odt=new un(UEt,!1),CDt=new un(GEt,!0),_K=new un(lP,1),FDt=new un(eTt,null),CN=new un(hP,150),CK=new un(fP,1.414),Qk=new un(ov,null),t7e=new un(nTt,1),xN=new un(qEt,!1),_dt=new un(HEt,!1),oDt=new un(kut,1),cDt=(RH(),Rdt),new un(uwe,cDt),WEe=!0,n7e=(ok(),q3),r7e=q3,e7e=q3}function Ja(){Ja=V,PCt=new Ps("DIRECTION_PREPROCESSOR",0),DCt=new Ps("COMMENT_PREPROCESSOR",1),P5=new Ps("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),aft=new Ps("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),ZCt=new Ps("PARTITION_PREPROCESSOR",4),QU=new Ps("LABEL_DUMMY_INSERTER",5),oG=new Ps("SELF_LOOP_PREPROCESSOR",6),E3=new Ps("LAYER_CONSTRAINT_PREPROCESSOR",7),QCt=new Ps("PARTITION_MIDPROCESSOR",8),qCt=new Ps("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),YCt=new Ps("NODE_PROMOTION",10),k3=new Ps("LAYER_CONSTRAINT_POSTPROCESSOR",11),JCt=new Ps("PARTITION_POSTPROCESSOR",12),jCt=new Ps("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),t_t=new Ps("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),CCt=new Ps("BREAKING_POINT_INSERTER",15),eG=new Ps("LONG_EDGE_SPLITTER",16),oft=new Ps("PORT_SIDE_PROCESSOR",17),YU=new Ps("INVERTED_PORT_PROCESSOR",18),iG=new Ps("PORT_LIST_SORTER",19),n_t=new Ps("SORT_BY_INPUT_ORDER_OF_MODEL",20),rG=new Ps("NORTH_SOUTH_PORT_PREPROCESSOR",21),_Ct=new Ps("BREAKING_POINT_PROCESSOR",22),XCt=new Ps(e2e,23),r_t=new Ps(n2e,24),sG=new Ps("SELF_LOOP_PORT_RESTORER",25),e_t=new Ps("SINGLE_EDGE_GRAPH_WRAPPER",26),XU=new Ps("IN_LAYER_CONSTRAINT_PROCESSOR",27),FCt=new Ps("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),KCt=new Ps("LABEL_AND_NODE_SIZE_PROCESSOR",29),GCt=new Ps("INNERMOST_NODE_MARGIN_CALCULATOR",30),cG=new Ps("SELF_LOOP_ROUTER",31),LCt=new Ps("COMMENT_NODE_MARGIN_CALCULATOR",32),WU=new Ps("END_LABEL_PREPROCESSOR",33),ZU=new Ps("LABEL_DUMMY_SWITCHER",34),ACt=new Ps("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),bT=new Ps("LABEL_SIDE_SELECTOR",36),VCt=new Ps("HYPEREDGE_DUMMY_MERGER",37),$Ct=new Ps("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),WCt=new Ps("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),pA=new Ps("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),ICt=new Ps("CONSTRAINTS_POSTPROCESSOR",41),MCt=new Ps("COMMENT_POSTPROCESSOR",42),UCt=new Ps("HYPERNODE_PROCESSOR",43),zCt=new Ps("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),tG=new Ps("LONG_EDGE_JOINER",45),aG=new Ps("SELF_LOOP_POSTPROCESSOR",46),SCt=new Ps("BREAKING_POINT_REMOVER",47),nG=new Ps("NORTH_SOUTH_PORT_POSTPROCESSOR",48),HCt=new Ps("HORIZONTAL_COMPACTOR",49),JU=new Ps("LABEL_DUMMY_REMOVER",50),BCt=new Ps("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),NCt=new Ps("END_LABEL_SORTER",52),qP=new Ps("REVERSED_EDGE_RESTORER",53),KU=new Ps("END_LABEL_POSTPROCESSOR",54),RCt=new Ps("HIERARCHICAL_NODE_RESIZER",55),OCt=new Ps("DIRECTION_POSTPROCESSOR",56)}function Wkt(){Wkt=V,rSt=(HI(),bG),p5e=new un(H8t,rSt),S5e=new un(V8t,(Nn(),!1)),uSt=(oq(),Nft),I5e=new un(IV,uSt),K5e=new un(U8t,!1),W5e=new un(G8t,!0),z4e=new un(K8t,!1),wSt=(zI(),b1t),uxe=new un(W8t,wSt),fe(1),wxe=new un(Y8t,fe(7)),mxe=new un(X8t,!1),A5e=new un(Q8t,!1),nSt=(Mp(),kft),g5e=new un(Nut,nSt),fSt=(Np(),c1t),G5e=new un(bP,fSt),lSt=(Ph(),QP),R5e=new un(J8t,lSt),fe(-1),B5e=new un(Z8t,null),fe(-1),j5e=new un(tEt,fe(-1)),fe(-1),$5e=new un(Fut,fe(4)),fe(-1),q5e=new un(But,fe(2)),hSt=(sf(),WG),U5e=new un(Rut,hSt),fe(0),V5e=new un(jut,fe(0)),N5e=new un($ut,fe(ki)),eSt=(z_(),wA),d5e=new un(HS,eSt),J4e=new un(eEt,!1),s5e=new un(zut,.1),h5e=new un(qut,!1),o5e=new un(nEt,null),c5e=new un(rEt,null),fe(-1),u5e=new un(iEt,null),fe(-1),l5e=new un(sEt,fe(-1)),fe(0),Z4e=new un(aEt,fe(40)),tSt=(s7(),Oft),r5e=new un(Hut,tSt),Z_t=GP,t5e=new un(OV,Z_t),bSt=(oS(),DA),cxe=new un(C5,bSt),Z5e=new Ni(PV),dSt=(FI(),mG),Y5e=new un(Vut,dSt),gSt=(kO(),vG),Q5e=new un(Uut,gSt),nxe=new un(Gut,.3),ixe=new Ni(Kut),pSt=(Yy(),KG),sxe=new un(Wut,pSt),aSt=(Yq(),m1t),y5e=new un(oEt,aSt),oSt=(W_(),y1t),x5e=new un(cEt,oSt),cSt=(d7(),PA),k5e=new un(NV,cSt),T5e=new un(FV,.2),m5e=new un(Yut,2),dxe=new un(uEt,null),pxe=new un(lEt,10),gxe=new un(hEt,10),bxe=new un(fEt,20),fe(0),lxe=new un(dEt,fe(0)),fe(0),hxe=new un(gEt,fe(0)),fe(0),fxe=new un(pEt,fe(0)),q4e=new un(Xut,!1),Y_t=(A7(),mA),V4e=new un(bEt,Y_t),W_t=(mq(),yft),H4e=new un(wEt,W_t),M5e=new un(BV,!1),fe(0),L5e=new un(Qut,fe(16)),fe(0),D5e=new un(Jut,fe(5)),ySt=(Zq(),E1t),Rxe=new un(Pg,ySt),vxe=new un(RV,10),kxe=new un(jV,1),vSt=(Nq(),pG),Lxe=new un(VS,vSt),Cxe=new Ni(Zut),mSt=fe(1),fe(0),Sxe=new un(tlt,mSt),xSt=(Pq(),k1t),qxe=new un($V,xSt),jxe=new Ni(zV),Pxe=new un(qV,!0),Ixe=new un(HV,2),Fxe=new un(elt,!0),sSt=($H(),wG),w5e=new un(mEt,sSt),iSt=(gk(),yT),b5e=new un(vEt,iSt),J_t=(Vd(),Hp),Q4e=new un(VV,J_t),X4e=new un(yEt,!1),Y4e=new un(xEt,!1),X_t=(iw(),x3),U4e=new un(nlt,X_t),Q_t=(Q_(),u1t),W4e=new un(kEt,Q_t),G4e=new un(rlt,0),K4e=new un(ilt,0),P5e=Eft,O5e=UP,z5e=UG,H5e=UG,F5e=o1t,a5e=(Cg(),Wp),f5e=wA,i5e=wA,e5e=wA,n5e=Wp,txe=IA,exe=DA,X5e=DA,J5e=DA,rxe=d1t,oxe=IA,axe=IA,E5e=(_g(),Jk),C5e=Jk,_5e=PA,v5e=_N,yxe=BT,xxe=N3,Exe=BT,Txe=N3,Mxe=BT,Dxe=N3,_xe=xft,Axe=pG,Hxe=BT,Vxe=N3,$xe=BT,zxe=N3,Nxe=N3,Oxe=N3,Bxe=N3}function r_n(t,e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On,Mn,er,Jr,cs,El,Vo,wh,px,eb,r1,i1,Rw,i8,w2,s8,u0,Y0,Fv,a8,bx,l0,jw,qg,VTe,sOt,Bv,TL,r0t,o8,CL,X3,_L,i0t,UTe;for(sOt=0,Jr=e,Vo=0,eb=Jr.length;Vo0&&(t.a[u0.p]=sOt++)}for(CL=0,cs=n,wh=0,r1=cs.length;wh0;){for(u0=(cr(bx.b>0),u(bx.a.Xb(bx.c=--bx.b),12)),a8=0,d=new J(u0.e);d.a0&&(u0.j==(ve(),Hn)?(t.a[u0.p]=CL,++CL):(t.a[u0.p]=CL+i1+i8,++i8))}CL+=i8}for(Fv=new Er,U=new Bd,er=e,El=0,px=er.length;Elk.b&&(k.b=l0)):u0.i.c==VTe&&(l0k.c&&(k.c=l0));for(HE(W,0,W.length,null),o8=Vt(Or,ii,28,W.length,15,1),r=Vt(Or,ii,28,CL+1,15,1),ct=0;ct0;)Ce%2>0&&(s+=i0t[Ce+1]),Ce=(Ce-1)/2|0,++i0t[Ce];for(Je=Vt(q6e,Ln,374,W.length*2,0,1),Bt=0;Bt0&&xI(El.f),ne(ct,FDt)!=null&&(d=u(ne(ct,FDt),347),Fv=d.Tg(ct),$4(ct,b.Math.max(ct.g,Fv.a),b.Math.max(ct.f,Fv.b)));if(r1=u(ne(e,Kp),107),j=e.g-(r1.b+r1.c),N=e.f-(r1.d+r1.a),l0.bh("Available Child Area: ("+j+"|"+N+")"),Oi(e,nx,j/N),ble(e,s,r.eh(px)),u(ne(e,Qk),280)==OK&&(Vkt(e),$4(e,r1.b+Rt(Ht(ne(e,ix)))+r1.c,r1.d+Rt(Ht(ne(e,rx)))+r1.a)),l0.bh("Executed layout algorithm: "+Gr(ne(e,zT))+" on node "+e.k),u(ne(e,Qk),280)==q3){if(j<0||N<0)throw nt(new lp("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k));for(td(e,ix)||td(e,rx)||Vkt(e),W=Rt(Ht(ne(e,ix))),U=Rt(Ht(ne(e,rx))),l0.bh("Desired Child Area: ("+W+"|"+U+")"),Rw=j/W,i8=N/U,i1=b.Math.min(Rw,b.Math.min(i8,Rt(Ht(ne(e,t7e))))),Oi(e,_K,i1),l0.bh(e.k+" -- Local Scale Factor (X|Y): ("+Rw+"|"+i8+")"),Bt=u(ne(e,vN),21),o=0,h=0,i1'?":hn(zwe,t)?"'(?<' or '(? toIndex: ",h8t=", toIndex: ",f8t="Index: ",d8t=", Size: ",W7="org.eclipse.elk.alg.common",Xr={50:1},lbe="org.eclipse.elk.alg.common.compaction",hbe="Scanline/EventHandler",F0="org.eclipse.elk.alg.common.compaction.oned",fbe="CNode belongs to another CGroup.",dbe="ISpacingsHandler/1",uut="The ",lut=" instance has been finished already.",gbe="The direction ",pbe=" is not supported by the CGraph instance.",bbe="OneDimensionalCompactor",wbe="OneDimensionalCompactor/lambda$0$Type",mbe="Quadruplet",vbe="ScanlineConstraintCalculator",ybe="ScanlineConstraintCalculator/ConstraintsScanlineHandler",xbe="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",kbe="ScanlineConstraintCalculator/Timestamp",Ebe="ScanlineConstraintCalculator/lambda$0$Type",Xd={178:1,46:1},hut="org.eclipse.elk.alg.common.compaction.options",dc="org.eclipse.elk.core.data",g8t="org.eclipse.elk.polyomino.traversalStrategy",p8t="org.eclipse.elk.polyomino.lowLevelSort",b8t="org.eclipse.elk.polyomino.highLevelSort",w8t="org.eclipse.elk.polyomino.fill",af={134:1},fut="polyomino",NS="org.eclipse.elk.alg.common.networksimplex",B0={183:1,3:1,4:1},Tbe="org.eclipse.elk.alg.common.nodespacing",hw="org.eclipse.elk.alg.common.nodespacing.cellsystem",Y7="CENTER",Cbe={217:1,336:1},m8t={3:1,4:1,5:1,603:1},Tk="LEFT",Ck="RIGHT",v8t="Vertical alignment cannot be null",y8t="BOTTOM",xV="org.eclipse.elk.alg.common.nodespacing.internal",FS="UNDEFINED",cd=.01,sP="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",_be="LabelPlacer/lambda$0$Type",Sbe="LabelPlacer/lambda$1$Type",Abe="portRatioOrPosition",X7="org.eclipse.elk.alg.common.overlaps",dut="DOWN",Qd="org.eclipse.elk.alg.common.polyomino",kV="NORTH",gut="EAST",put="SOUTH",but="WEST",EV="org.eclipse.elk.alg.common.polyomino.structures",x8t="Direction",wut="Grid is only of size ",mut=". Requested point (",vut=") is out of bounds.",TV=" Given center based coordinates were (",aP="org.eclipse.elk.graph.properties",Lbe="IPropertyHolder",k8t={3:1,96:1,137:1},_k="org.eclipse.elk.alg.common.spore",Mbe="org.eclipse.elk.alg.common.utils",fw={205:1},x5="org.eclipse.elk.core",Dbe="Connected Components Compaction",Ibe="org.eclipse.elk.alg.disco",CV="org.eclipse.elk.alg.disco.graph",yut="org.eclipse.elk.alg.disco.options",E8t="CompactionStrategy",T8t="org.eclipse.elk.disco.componentCompaction.strategy",C8t="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",_8t="org.eclipse.elk.disco.debug.discoGraph",S8t="org.eclipse.elk.disco.debug.discoPolys",Obe="componentCompaction",dw="org.eclipse.elk.disco",xut="org.eclipse.elk.spacing.componentComponent",kut="org.eclipse.elk.edge.thickness",Sk="org.eclipse.elk.aspectRatio",av="org.eclipse.elk.padding",k5="org.eclipse.elk.alg.disco.transform",Eut=1.5707963267948966,E5=17976931348623157e292,l3={3:1,4:1,5:1,198:1},Pbe={3:1,6:1,4:1,5:1,100:1,115:1},Tut="org.eclipse.elk.alg.force",A8t="ComponentsProcessor",Nbe="ComponentsProcessor/1",L8t="ElkGraphImporter/lambda$0$Type",oP="org.eclipse.elk.alg.force.graph",Fbe="Component Layout",M8t="org.eclipse.elk.alg.force.model",_V="org.eclipse.elk.force.model",D8t="org.eclipse.elk.force.iterations",I8t="org.eclipse.elk.force.repulsivePower",Cut="org.eclipse.elk.force.temperature",Jd=.001,_ut="org.eclipse.elk.force.repulsion",BS="org.eclipse.elk.alg.force.options",Q7=1.600000023841858,Lu="org.eclipse.elk.force",cP="org.eclipse.elk.priority",h3="org.eclipse.elk.spacing.nodeNode",Sut="org.eclipse.elk.spacing.edgeLabel",SV="org.eclipse.elk.randomSeed",RS="org.eclipse.elk.separateConnectedComponents",jS="org.eclipse.elk.interactive",Aut="org.eclipse.elk.portConstraints",AV="org.eclipse.elk.edgeLabels.inline",$S="org.eclipse.elk.omitNodeMicroLayout",J7="org.eclipse.elk.nodeSize.fixedGraphSize",Ak="org.eclipse.elk.nodeSize.options",T5="org.eclipse.elk.nodeSize.constraints",Z7="org.eclipse.elk.nodeLabels.placement",tT="org.eclipse.elk.portLabels.placement",uP="org.eclipse.elk.topdownLayout",lP="org.eclipse.elk.topdown.scaleFactor",hP="org.eclipse.elk.topdown.hierarchicalNodeWidth",fP="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",ov="org.eclipse.elk.topdown.nodeType",O8t="origin",Bbe="random",Rbe="boundingBox.upLeft",jbe="boundingBox.lowRight",P8t="org.eclipse.elk.stress.fixed",N8t="org.eclipse.elk.stress.desiredEdgeLength",F8t="org.eclipse.elk.stress.dimension",B8t="org.eclipse.elk.stress.epsilon",R8t="org.eclipse.elk.stress.iterationLimit",Vb="org.eclipse.elk.stress",$be="ELK Stress",Lk="org.eclipse.elk.nodeSize.minimum",LV="org.eclipse.elk.alg.force.stress",zbe="Layered layout",Mk="org.eclipse.elk.alg.layered",dP="org.eclipse.elk.alg.layered.compaction.components",zS="org.eclipse.elk.alg.layered.compaction.oned",MV="org.eclipse.elk.alg.layered.compaction.oned.algs",gw="org.eclipse.elk.alg.layered.compaction.recthull",ud="org.eclipse.elk.alg.layered.components",Zd="NONE",j8t="MODEL_ORDER",$c={3:1,6:1,4:1,9:1,5:1,126:1},qbe={3:1,6:1,4:1,5:1,150:1,100:1,115:1},DV="org.eclipse.elk.alg.layered.compound",Vi={47:1},su="org.eclipse.elk.alg.layered.graph",Lut=" -> ",Hbe="Not supported by LGraph",$8t="Port side is undefined",Mut={3:1,6:1,4:1,5:1,482:1,150:1,100:1,115:1},Bp={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},Vbe={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},Ube=`([{"' \r +`,Gbe=`)]}"' \r +`,Kbe="The given string contains parts that cannot be parsed as numbers.",gP="org.eclipse.elk.core.math",Wbe={3:1,4:1,140:1,214:1,423:1},Ybe={3:1,4:1,107:1,214:1,423:1},Rp="org.eclipse.elk.alg.layered.graph.transform",Xbe="ElkGraphImporter",Qbe="ElkGraphImporter/lambda$1$Type",Jbe="ElkGraphImporter/lambda$2$Type",Zbe="ElkGraphImporter/lambda$4$Type",Yn="org.eclipse.elk.alg.layered.intermediate",t2e="Node margin calculation",e2e="ONE_SIDED_GREEDY_SWITCH",n2e="TWO_SIDED_GREEDY_SWITCH",Dut="No implementation is available for the layout processor ",Iut="IntermediateProcessorStrategy",Out="Node '",r2e="FIRST_SEPARATE",i2e="LAST_SEPARATE",s2e="Odd port side processing",Gs="org.eclipse.elk.alg.layered.intermediate.compaction",qS="org.eclipse.elk.alg.layered.intermediate.greedyswitch",R0="org.eclipse.elk.alg.layered.p3order.counting",pP={230:1},Dk="org.eclipse.elk.alg.layered.intermediate.loops",lh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",Ub="org.eclipse.elk.alg.layered.intermediate.loops.routing",z8t="org.eclipse.elk.alg.layered.intermediate.preserveorder",t0="org.eclipse.elk.alg.layered.intermediate.wrapping",zc="org.eclipse.elk.alg.layered.options",Put="INTERACTIVE",q8t="GREEDY",a2e="DEPTH_FIRST",o2e="EDGE_LENGTH",c2e="SELF_LOOPS",u2e="firstTryWithInitialOrder",H8t="org.eclipse.elk.layered.directionCongruency",V8t="org.eclipse.elk.layered.feedbackEdges",IV="org.eclipse.elk.layered.interactiveReferencePoint",U8t="org.eclipse.elk.layered.mergeEdges",G8t="org.eclipse.elk.layered.mergeHierarchyEdges",K8t="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",W8t="org.eclipse.elk.layered.portSortingStrategy",Y8t="org.eclipse.elk.layered.thoroughness",X8t="org.eclipse.elk.layered.unnecessaryBendpoints",Q8t="org.eclipse.elk.layered.generatePositionAndLayerIds",Nut="org.eclipse.elk.layered.cycleBreaking.strategy",bP="org.eclipse.elk.layered.layering.strategy",J8t="org.eclipse.elk.layered.layering.layerConstraint",Z8t="org.eclipse.elk.layered.layering.layerChoiceConstraint",tEt="org.eclipse.elk.layered.layering.layerId",Fut="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",But="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",Rut="org.eclipse.elk.layered.layering.nodePromotion.strategy",jut="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",$ut="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",HS="org.eclipse.elk.layered.crossingMinimization.strategy",eEt="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",zut="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",qut="org.eclipse.elk.layered.crossingMinimization.semiInteractive",nEt="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",rEt="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",iEt="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",sEt="org.eclipse.elk.layered.crossingMinimization.positionId",aEt="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",Hut="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",OV="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",C5="org.eclipse.elk.layered.nodePlacement.strategy",PV="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",Vut="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",Uut="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",Gut="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",Kut="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",Wut="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",oEt="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",cEt="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",NV="org.eclipse.elk.layered.edgeRouting.splines.mode",FV="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",Yut="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",uEt="org.eclipse.elk.layered.spacing.baseValue",lEt="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",hEt="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",fEt="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",dEt="org.eclipse.elk.layered.priority.direction",gEt="org.eclipse.elk.layered.priority.shortness",pEt="org.eclipse.elk.layered.priority.straightness",Xut="org.eclipse.elk.layered.compaction.connectedComponents",bEt="org.eclipse.elk.layered.compaction.postCompaction.strategy",wEt="org.eclipse.elk.layered.compaction.postCompaction.constraints",BV="org.eclipse.elk.layered.highDegreeNodes.treatment",Qut="org.eclipse.elk.layered.highDegreeNodes.threshold",Jut="org.eclipse.elk.layered.highDegreeNodes.treeHeight",Pg="org.eclipse.elk.layered.wrapping.strategy",RV="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",jV="org.eclipse.elk.layered.wrapping.correctionFactor",VS="org.eclipse.elk.layered.wrapping.cutting.strategy",Zut="org.eclipse.elk.layered.wrapping.cutting.cuts",tlt="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",$V="org.eclipse.elk.layered.wrapping.validify.strategy",zV="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",qV="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",HV="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",elt="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",mEt="org.eclipse.elk.layered.edgeLabels.sideSelection",vEt="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",VV="org.eclipse.elk.layered.considerModelOrder.strategy",yEt="org.eclipse.elk.layered.considerModelOrder.portModelOrder",xEt="org.eclipse.elk.layered.considerModelOrder.noModelOrder",nlt="org.eclipse.elk.layered.considerModelOrder.components",kEt="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",rlt="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",ilt="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",slt="layering",l2e="layering.minWidth",h2e="layering.nodePromotion",eT="crossingMinimization",UV="org.eclipse.elk.hierarchyHandling",f2e="crossingMinimization.greedySwitch",d2e="nodePlacement",g2e="nodePlacement.bk",p2e="edgeRouting",wP="org.eclipse.elk.edgeRouting",ld="spacing",EEt="priority",TEt="compaction",b2e="compaction.postCompaction",w2e="Specifies whether and how post-process compaction is applied.",CEt="highDegreeNodes",_Et="wrapping",m2e="wrapping.cutting",v2e="wrapping.validify",SEt="wrapping.multiEdge",alt="edgeLabels",US="considerModelOrder",AEt="org.eclipse.elk.spacing.commentComment",LEt="org.eclipse.elk.spacing.commentNode",MEt="org.eclipse.elk.spacing.edgeEdge",olt="org.eclipse.elk.spacing.edgeNode",DEt="org.eclipse.elk.spacing.labelLabel",IEt="org.eclipse.elk.spacing.labelPortHorizontal",OEt="org.eclipse.elk.spacing.labelPortVertical",PEt="org.eclipse.elk.spacing.labelNode",NEt="org.eclipse.elk.spacing.nodeSelfLoop",FEt="org.eclipse.elk.spacing.portPort",BEt="org.eclipse.elk.spacing.individual",REt="org.eclipse.elk.port.borderOffset",jEt="org.eclipse.elk.noLayout",$Et="org.eclipse.elk.port.side",mP="org.eclipse.elk.debugMode",zEt="org.eclipse.elk.alignment",qEt="org.eclipse.elk.insideSelfLoops.activate",HEt="org.eclipse.elk.insideSelfLoops.yo",clt="org.eclipse.elk.direction",VEt="org.eclipse.elk.nodeLabels.padding",UEt="org.eclipse.elk.portLabels.nextToPortIfPossible",GEt="org.eclipse.elk.portLabels.treatAsGroup",KEt="org.eclipse.elk.portAlignment.default",WEt="org.eclipse.elk.portAlignment.north",YEt="org.eclipse.elk.portAlignment.south",XEt="org.eclipse.elk.portAlignment.west",QEt="org.eclipse.elk.portAlignment.east",GV="org.eclipse.elk.contentAlignment",JEt="org.eclipse.elk.junctionPoints",ZEt="org.eclipse.elk.edgeLabels.placement",t7t="org.eclipse.elk.port.index",e7t="org.eclipse.elk.commentBox",n7t="org.eclipse.elk.hypernode",r7t="org.eclipse.elk.port.anchor",ult="org.eclipse.elk.partitioning.activate",llt="org.eclipse.elk.partitioning.partition",KV="org.eclipse.elk.position",i7t="org.eclipse.elk.margins",s7t="org.eclipse.elk.spacing.portsSurrounding",WV="org.eclipse.elk.interactiveLayout",Ec="org.eclipse.elk.core.util",a7t={3:1,4:1,5:1,601:1},y2e="NETWORK_SIMPLEX",o7t="SIMPLE",To={106:1,47:1},YV="org.eclipse.elk.alg.layered.p1cycles",Ng="org.eclipse.elk.alg.layered.p2layers",c7t={413:1,230:1},x2e={846:1,3:1,4:1},sl="org.eclipse.elk.alg.layered.p3order",Co="org.eclipse.elk.alg.layered.p4nodes",k2e={3:1,4:1,5:1,854:1},e0=1e-5,Gb="org.eclipse.elk.alg.layered.p4nodes.bk",hlt="org.eclipse.elk.alg.layered.p5edges",L1="org.eclipse.elk.alg.layered.p5edges.orthogonal",flt="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",dlt=1e-6,f3="org.eclipse.elk.alg.layered.p5edges.splines",glt=.09999999999999998,XV=1e-8,E2e=4.71238898038469,u7t=3.141592653589793,Fg="org.eclipse.elk.alg.mrtree",plt=.10000000149011612,QV="SUPER_ROOT",GS="org.eclipse.elk.alg.mrtree.graph",l7t=-17976931348623157e292,au="org.eclipse.elk.alg.mrtree.intermediate",T2e="Processor compute fanout",JV={3:1,6:1,4:1,5:1,534:1,100:1,115:1},C2e="Set neighbors in level",vP="org.eclipse.elk.alg.mrtree.options",_2e="DESCENDANTS",h7t="org.eclipse.elk.mrtree.compaction",f7t="org.eclipse.elk.mrtree.edgeEndTextureLength",d7t="org.eclipse.elk.mrtree.treeLevel",g7t="org.eclipse.elk.mrtree.positionConstraint",p7t="org.eclipse.elk.mrtree.weighting",b7t="org.eclipse.elk.mrtree.edgeRoutingMode",w7t="org.eclipse.elk.mrtree.searchOrder",S2e="Position Constraint",Mu="org.eclipse.elk.mrtree",A2e="org.eclipse.elk.tree",L2e="Processor arrange level",nT="org.eclipse.elk.alg.mrtree.p2order",Wl="org.eclipse.elk.alg.mrtree.p4route",m7t="org.eclipse.elk.alg.radial",pw=6.283185307179586,v7t="Before",y7t=5e-324,ZV="After",x7t="org.eclipse.elk.alg.radial.intermediate",M2e="COMPACTION",blt="org.eclipse.elk.alg.radial.intermediate.compaction",D2e={3:1,4:1,5:1,100:1},k7t="org.eclipse.elk.alg.radial.intermediate.optimization",wlt="No implementation is available for the layout option ",KS="org.eclipse.elk.alg.radial.options",E7t="org.eclipse.elk.radial.centerOnRoot",T7t="org.eclipse.elk.radial.orderId",C7t="org.eclipse.elk.radial.radius",tU="org.eclipse.elk.radial.rotate",mlt="org.eclipse.elk.radial.compactor",vlt="org.eclipse.elk.radial.compactionStepSize",_7t="org.eclipse.elk.radial.sorter",S7t="org.eclipse.elk.radial.wedgeCriteria",A7t="org.eclipse.elk.radial.optimizationCriteria",ylt="org.eclipse.elk.radial.rotation.targetAngle",xlt="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",L7t="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",I2e="Compaction",M7t="rotation",Bh="org.eclipse.elk.radial",O2e="org.eclipse.elk.alg.radial.p1position.wedge",D7t="org.eclipse.elk.alg.radial.sorting",P2e=5.497787143782138,N2e=3.9269908169872414,F2e=2.356194490192345,B2e="org.eclipse.elk.alg.rectpacking",eU="org.eclipse.elk.alg.rectpacking.intermediate",klt="org.eclipse.elk.alg.rectpacking.options",I7t="org.eclipse.elk.rectpacking.trybox",O7t="org.eclipse.elk.rectpacking.currentPosition",P7t="org.eclipse.elk.rectpacking.desiredPosition",N7t="org.eclipse.elk.rectpacking.inNewRow",F7t="org.eclipse.elk.rectpacking.widthApproximation.strategy",B7t="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",R7t="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",j7t="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",$7t="org.eclipse.elk.rectpacking.packing.strategy",z7t="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",q7t="org.eclipse.elk.rectpacking.packing.compaction.iterations",H7t="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",Elt="widthApproximation",R2e="Compaction Strategy",j2e="packing.compaction",Ol="org.eclipse.elk.rectpacking",rT="org.eclipse.elk.alg.rectpacking.p1widthapproximation",nU="org.eclipse.elk.alg.rectpacking.p2packing",$2e="No Compaction",V7t="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",yP="org.eclipse.elk.alg.rectpacking.util",rU="No implementation available for ",d3="org.eclipse.elk.alg.spore",g3="org.eclipse.elk.alg.spore.options",cv="org.eclipse.elk.sporeCompaction",Tlt="org.eclipse.elk.underlyingLayoutAlgorithm",U7t="org.eclipse.elk.processingOrder.treeConstruction",G7t="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Clt="org.eclipse.elk.processingOrder.preferredRoot",_lt="org.eclipse.elk.processingOrder.rootSelection",Slt="org.eclipse.elk.structure.structureExtractionStrategy",K7t="org.eclipse.elk.compaction.compactionStrategy",W7t="org.eclipse.elk.compaction.orthogonal",Y7t="org.eclipse.elk.overlapRemoval.maxIterations",X7t="org.eclipse.elk.overlapRemoval.runScanline",Alt="processingOrder",z2e="overlapRemoval",iT="org.eclipse.elk.sporeOverlap",q2e="org.eclipse.elk.alg.spore.p1structure",Llt="org.eclipse.elk.alg.spore.p2processingorder",Mlt="org.eclipse.elk.alg.spore.p3execution",H2e="Topdown Layout",V2e="Invalid index: ",sT="org.eclipse.elk.core.alg",_5={341:1},p3={294:1},U2e="Make sure its type is registered with the ",Q7t=" utility class.",aT="true",Dlt="false",G2e="Couldn't clone property '",uv=.05,Pl="org.eclipse.elk.core.options",K2e=1.2999999523162842,lv="org.eclipse.elk.box",J7t="org.eclipse.elk.expandNodes",Z7t="org.eclipse.elk.box.packingMode",W2e="org.eclipse.elk.algorithm",Y2e="org.eclipse.elk.resolvedAlgorithm",tTt="org.eclipse.elk.bendPoints",c_n="org.eclipse.elk.labelManager",X2e="org.eclipse.elk.scaleFactor",Q2e="org.eclipse.elk.childAreaWidth",J2e="org.eclipse.elk.childAreaHeight",Z2e="org.eclipse.elk.animate",twe="org.eclipse.elk.animTimeFactor",ewe="org.eclipse.elk.layoutAncestors",nwe="org.eclipse.elk.maxAnimTime",rwe="org.eclipse.elk.minAnimTime",iwe="org.eclipse.elk.progressBar",swe="org.eclipse.elk.validateGraph",awe="org.eclipse.elk.validateOptions",owe="org.eclipse.elk.zoomToFit",u_n="org.eclipse.elk.font.name",cwe="org.eclipse.elk.font.size",eTt="org.eclipse.elk.topdown.sizeApproximator",nTt="org.eclipse.elk.topdown.scaleCap",uwe="org.eclipse.elk.edge.type",lwe="partitioning",hwe="nodeLabels",iU="portAlignment",Ilt="nodeSize",Olt="port",rTt="portLabels",xP="topdown",fwe="insideSelfLoops",WS="org.eclipse.elk.fixed",sU="org.eclipse.elk.random",iTt={3:1,34:1,22:1,347:1},dwe="port must have a parent node to calculate the port side",gwe="The edge needs to have exactly one edge section. Found: ",YS="org.eclipse.elk.core.util.adapters",Rh="org.eclipse.emf.ecore",S5="org.eclipse.elk.graph",pwe="EMapPropertyHolder",bwe="ElkBendPoint",wwe="ElkGraphElement",mwe="ElkConnectableShape",sTt="ElkEdge",vwe="ElkEdgeSection",ywe="EModelElement",xwe="ENamedElement",aTt="ElkLabel",oTt="ElkNode",cTt="ElkPort",kwe={94:1,93:1},Ik="org.eclipse.emf.common.notify.impl",Kb="The feature '",XS="' is not a valid changeable feature",Ewe="Expecting null",Plt="' is not a valid feature",Twe="The feature ID",Cwe=" is not a valid feature ID",Pc=32768,_we={110:1,94:1,93:1,58:1,54:1,99:1},jn="org.eclipse.emf.ecore.impl",bw="org.eclipse.elk.graph.impl",QS="Recursive containment not allowed for ",oT="The datatype '",hv="' is not a valid classifier",Nlt="The value '",A5={195:1,3:1,4:1},Flt="The class '",cT="http://www.eclipse.org/elk/ElkGraph",uTt="property",JS="value",Blt="source",Swe="properties",Awe="identifier",Rlt="height",jlt="width",$lt="parent",zlt="text",qlt="children",Lwe="hierarchical",lTt="sources",Hlt="targets",hTt="sections",aU="bendPoints",fTt="outgoingShape",dTt="incomingShape",gTt="outgoingSections",pTt="incomingSections",io="org.eclipse.emf.common.util",bTt="Severe implementation error in the Json to ElkGraph importer.",n0="id",Pa="org.eclipse.elk.graph.json",wTt="Unhandled parameter types: ",Mwe="startPoint",Dwe="An edge must have at least one source and one target (edge id: '",uT="').",Iwe="Referenced edge section does not exist: ",Owe=" (edge id: '",mTt="target",Pwe="sourcePoint",Nwe="targetPoint",oU="group",bi="name",Fwe="connectableShape cannot be null",Bwe="edge cannot be null",Vlt="Passed edge is not 'simple'.",cU="org.eclipse.elk.graph.util",kP="The 'no duplicates' constraint is violated",Ult="targetIndex=",ww=", size=",Glt="sourceIndex=",r0={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},Klt={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},uU="logging",Rwe="measureExecutionTime",jwe="parser.parse.1",$we="parser.parse.2",lU="parser.next.1",Wlt="parser.next.2",zwe="parser.next.3",qwe="parser.next.4",mw="parser.factor.1",vTt="parser.factor.2",Hwe="parser.factor.3",Vwe="parser.factor.4",Uwe="parser.factor.5",Gwe="parser.factor.6",Kwe="parser.atom.1",Wwe="parser.atom.2",Ywe="parser.atom.3",yTt="parser.atom.4",Ylt="parser.atom.5",xTt="parser.cc.1",hU="parser.cc.2",Xwe="parser.cc.3",Qwe="parser.cc.5",kTt="parser.cc.6",ETt="parser.cc.7",Xlt="parser.cc.8",Jwe="parser.ope.1",Zwe="parser.ope.2",tme="parser.ope.3",jp="parser.descape.1",eme="parser.descape.2",nme="parser.descape.3",rme="parser.descape.4",ime="parser.descape.5",jh="parser.process.1",sme="parser.quantifier.1",ame="parser.quantifier.2",ome="parser.quantifier.3",cme="parser.quantifier.4",TTt="parser.quantifier.5",ume="org.eclipse.emf.common.notify",CTt={424:1,686:1},lme={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},EP={378:1,152:1},ZS="index=",Qlt={3:1,4:1,5:1,129:1},hme={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},_Tt={3:1,6:1,4:1,5:1,198:1},fme={3:1,4:1,5:1,173:1,379:1},dme=";/?:@&=+$,",gme="invalid authority: ",pme="EAnnotation",bme="ETypedElement",wme="EStructuralFeature",mme="EAttribute",vme="EClassifier",yme="EEnumLiteral",xme="EGenericType",kme="EOperation",Eme="EParameter",Tme="EReference",Cme="ETypeParameter",Zi="org.eclipse.emf.ecore.util",Jlt={79:1},STt={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},_me="org.eclipse.emf.ecore.util.FeatureMap$Entry",al=8192,b3=2048,tA="byte",fU="char",eA="double",nA="float",rA="int",iA="long",sA="short",Sme="java.lang.Object",L5={3:1,4:1,5:1,254:1},ATt={3:1,4:1,5:1,688:1},Ame={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},nc={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},TP="mixed",ti="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",of="kind",Lme={3:1,4:1,5:1,689:1},LTt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},dU={20:1,31:1,56:1,16:1,15:1,61:1,71:1},gU={51:1,128:1,287:1},pU={76:1,343:1},bU="The value of type '",wU="' must be of type '",M5=1352,cf="http://www.eclipse.org/emf/2002/Ecore",mU=-32768,fv="constraints",Ua="baseType",Mme="getEStructuralFeature",Dme="getFeatureID",aA="feature",Ime="getOperationID",MTt="operation",Ome="defaultValue",Pme="eTypeParameters",Nme="isInstance",Fme="getEEnumLiteral",Bme="eContainingClass",fi={57:1},Rme={3:1,4:1,5:1,124:1},jme="org.eclipse.emf.ecore.resource",$me={94:1,93:1,599:1,2034:1},Zlt="org.eclipse.emf.ecore.resource.impl",DTt="unspecified",CP="simple",vU="attribute",zme="attributeWildcard",yU="element",tht="elementWildcard",M1="collapse",eht="itemType",xU="namespace",_P="##targetNamespace",uf="whiteSpace",ITt="wildcards",vw="http://www.eclipse.org/emf/2003/XMLType",nht="##any",lT="uninitialized",SP="The multiplicity constraint is violated",kU="org.eclipse.emf.ecore.xml.type",qme="ProcessingInstruction",Hme="SimpleAnyType",Vme="XMLTypeDocumentRoot",$s="org.eclipse.emf.ecore.xml.type.impl",AP="INF",Ume="processing",Gme="ENTITIES_._base",OTt="minLength",PTt="ENTITY",EU="NCName",Kme="IDREFS_._base",NTt="integer",rht="token",iht="pattern",Wme="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",FTt="\\i\\c*",Yme="[\\i-[:]][\\c-[:]]*",Xme="nonPositiveInteger",LP="maxInclusive",BTt="NMTOKEN",Qme="NMTOKENS_._base",RTt="nonNegativeInteger",MP="minInclusive",Jme="normalizedString",Zme="unsignedByte",tve="unsignedInt",eve="18446744073709551615",nve="unsignedShort",rve="processingInstruction",$p="org.eclipse.emf.ecore.xml.type.internal",hT=1114111,ive="Internal Error: shorthands: \\u",oA="xml:isDigit",sht="xml:isWord",aht="xml:isSpace",oht="xml:isNameChar",cht="xml:isInitialNameChar",sve="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",ave="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",ove="Private Use",uht="ASSIGNED",lht="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",jTt="UNASSIGNED",fT={3:1,122:1},cve="org.eclipse.emf.ecore.xml.type.util",TU={3:1,4:1,5:1,381:1},$Tt="org.eclipse.xtext.xbase.lib",uve="Cannot add elements to a Range",lve="Cannot set elements in a Range",hve="Cannot remove elements from a Range",fve="user.agent",l,CU,hht;b.goog=b.goog||{},b.goog.global=b.goog.global||b,CU={},M(1,null,{},_),l.Fb=function(e){return uQt(this,e)},l.Gb=function(){return this.Rm},l.Hb=function(){return km(this)},l.Ib=function(){var e;return R2(Gl(this))+"@"+(e=Hi(this)>>>0,e.toString(16))},l.equals=function(t){return this.Fb(t)},l.hashCode=function(){return this.Hb()},l.toString=function(){return this.Ib()};var dve,gve,pve;M(296,1,{296:1,2124:1},F4t),l.ve=function(e){var n;return n=new F4t,n.i=4,e>1?n.c=Dne(this,e-1):n.c=this,n},l.we=function(){return gg(this),this.b},l.xe=function(){return R2(this)},l.ye=function(){return gg(this),this.k},l.ze=function(){return(this.i&4)!=0},l.Ae=function(){return(this.i&1)!=0},l.Ib=function(){return K3t(this)},l.i=0;var sa=D(kc,"Object",1),zTt=D(kc,"Class",296);M(2096,1,WO),D(YO,"Optional",2096),M(1191,2096,WO,S),l.Fb=function(e){return e===this},l.Hb=function(){return 2040732332},l.Ib=function(){return"Optional.absent()"},l.Jb=function(e){return Hr(e),NC(),fht};var fht;D(YO,"Absent",1191),M(636,1,{},Knt),D(YO,"Joiner",636);var l_n=us(YO,"Predicate");M(589,1,{178:1,589:1,3:1,46:1},Mj),l.Mb=function(e){return Dce(this,e)},l.Lb=function(e){return Dce(this,e)},l.Fb=function(e){var n;return At(e,589)?(n=u(e,589),I6t(this.a,n.a)):!1},l.Hb=function(){return q4t(this.a)+306654252},l.Ib=function(){return X3n(this.a)},D(YO,"Predicates/AndPredicate",589),M(419,2096,{419:1,3:1},CC),l.Fb=function(e){var n;return At(e,419)?(n=u(e,419),Ci(this.a,n.a)):!1},l.Hb=function(){return 1502476572+Hi(this.a)},l.Ib=function(){return $pe+this.a+")"},l.Jb=function(e){return new CC(Gz(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},D(YO,"Present",419),M(204,1,z7),l.Nb=function(e){Da(this,e)},l.Qb=function(){JKt()},D(on,"UnmodifiableIterator",204),M(2076,204,q7),l.Qb=function(){JKt()},l.Rb=function(e){throw nt(new Vr)},l.Wb=function(e){throw nt(new Vr)},D(on,"UnmodifiableListIterator",2076),M(399,2076,q7),l.Ob=function(){return this.c0},l.Pb=function(){if(this.c>=this.d)throw nt(new ac);return this.Xb(this.c++)},l.Tb=function(){return this.c},l.Ub=function(){if(this.c<=0)throw nt(new ac);return this.Xb(--this.c)},l.Vb=function(){return this.c-1},l.c=0,l.d=0,D(on,"AbstractIndexedListIterator",399),M(713,204,z7),l.Ob=function(){return Yst(this)},l.Pb=function(){return z3t(this)},l.e=1,D(on,"AbstractIterator",713),M(2084,1,{229:1}),l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.Fb=function(e){return wat(this,e)},l.Hb=function(){return Hi(this.Zb())},l.dc=function(){return this.gc()==0},l.ec=function(){return q6(this)},l.Ib=function(){return ec(this.Zb())},D(on,"AbstractMultimap",2084),M(742,2084,uw),l.$b=function(){Bq(this)},l._b=function(e){return wWt(this,e)},l.ac=function(){return new bE(this,this.c)},l.ic=function(e){return this.hc()},l.bc=function(){return new U4(this,this.c)},l.jc=function(){return this.mc(this.hc())},l.kc=function(){return new FKt(this)},l.lc=function(){return _ot(this.c.vc().Nc(),new B,64,this.d)},l.cc=function(e){return Mi(this,e)},l.fc=function(e){return sO(this,e)},l.gc=function(){return this.d},l.mc=function(e){return wn(),new re(e)},l.nc=function(){return new NKt(this)},l.oc=function(){return _ot(this.c.Cc().Nc(),new I,64,this.d)},l.pc=function(e,n){return new pq(this,e,n,null)},l.d=0,D(on,"AbstractMapBasedMultimap",742),M(1696,742,uw),l.hc=function(){return new bu(this.a)},l.jc=function(){return wn(),wn(),so},l.cc=function(e){return u(Mi(this,e),15)},l.fc=function(e){return u(sO(this,e),15)},l.Zb=function(){return W6(this)},l.Fb=function(e){return wat(this,e)},l.qc=function(e){return u(Mi(this,e),15)},l.rc=function(e){return u(sO(this,e),15)},l.mc=function(e){return Jit(u(e,15))},l.pc=function(e,n){return Rre(this,e,u(n,15),null)},D(on,"AbstractListMultimap",1696),M(748,1,ba),l.Nb=function(e){Da(this,e)},l.Ob=function(){return this.c.Ob()||this.e.Ob()},l.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),44),this.b=e.ld(),this.a=u(e.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},l.Qb=function(){this.e.Qb(),u(Zh(this.a),16).dc()&&this.c.Qb(),--this.d.d},D(on,"AbstractMapBasedMultimap/Itr",748),M(1129,748,ba,NKt),l.sc=function(e,n){return n},D(on,"AbstractMapBasedMultimap/1",1129),M(1130,1,{},I),l.Kb=function(e){return u(e,16).Nc()},D(on,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),M(1131,748,ba,FKt),l.sc=function(e,n){return new pm(e,n)},D(on,"AbstractMapBasedMultimap/2",1131);var qTt=us(mr,"Map");M(2065,1,iv),l.wc=function(e){U_(this,e)},l.yc=function(e,n,r){return Fat(this,e,n,r)},l.$b=function(){this.vc().$b()},l.tc=function(e){return cot(this,e)},l._b=function(e){return!!Dxt(this,e,!1)},l.uc=function(e){var n,r,s;for(r=this.vc().Kc();r.Ob();)if(n=u(r.Pb(),44),s=n.md(),$t(e)===$t(s)||e!=null&&Ci(e,s))return!0;return!1},l.Fb=function(e){var n,r,s;if(e===this)return!0;if(!At(e,85)||(s=u(e,85),this.gc()!=s.gc()))return!1;for(r=s.vc().Kc();r.Ob();)if(n=u(r.Pb(),44),!this.tc(n))return!1;return!0},l.xc=function(e){return Uo(Dxt(this,e,!1))},l.Hb=function(){return I4t(this.vc())},l.dc=function(){return this.gc()==0},l.ec=function(){return new ui(this)},l.zc=function(e,n){throw nt(new up("Put not supported on this map"))},l.Ac=function(e){V_(this,e)},l.Bc=function(e){return Uo(Dxt(this,e,!0))},l.gc=function(){return this.vc().gc()},l.Ib=function(){return Hhe(this)},l.Cc=function(){return new li(this)},D(mr,"AbstractMap",2065),M(2085,2065,iv),l.bc=function(){return new g$(this)},l.vc=function(){return Pte(this)},l.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},l.Cc=function(){var e;return e=this.i,e||(this.i=new oYt(this))},D(on,"Maps/ViewCachingAbstractMap",2085),M(402,2085,iv,bE),l.xc=function(e){return p0n(this,e)},l.Bc=function(e){return Rpn(this,e)},l.$b=function(){this.d==this.e.c?this.e.$b():Ez(new Vvt(this))},l._b=function(e){return pue(this.d,e)},l.Ec=function(){return new hnt(this)},l.Dc=function(){return this.Ec()},l.Fb=function(e){return this===e||Ci(this.d,e)},l.Hb=function(){return Hi(this.d)},l.ec=function(){return this.e.ec()},l.gc=function(){return this.d.gc()},l.Ib=function(){return ec(this.d)},D(on,"AbstractMapBasedMultimap/AsMap",402);var hh=us(kc,"Iterable");M(31,1,o3),l.Jc=function(e){Oa(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new gn(this,0)},l.Oc=function(){return new ln(null,this.Nc())},l.Fc=function(e){throw nt(new up("Add not supported on this collection"))},l.Gc=function(e){return Aa(this,e)},l.$b=function(){Myt(this)},l.Hc=function(e){return Ky(this,e,!1)},l.Ic=function(e){return QI(this,e)},l.dc=function(){return this.gc()==0},l.Mc=function(e){return Ky(this,e,!0)},l.Pc=function(){return tyt(this)},l.Qc=function(e){return uS(this,e)},l.Ib=function(){return Rb(this)},D(mr,"AbstractCollection",31);var lf=us(mr,"Set");M(od,31,il),l.Nc=function(){return new gn(this,1)},l.Fb=function(e){return ale(this,e)},l.Hb=function(){return I4t(this)},D(mr,"AbstractSet",od),M(2068,od,il),D(on,"Sets/ImprovedAbstractSet",2068),M(2069,2068,il),l.$b=function(){this.Rc().$b()},l.Hc=function(e){return Vue(this,e)},l.dc=function(){return this.Rc().dc()},l.Mc=function(e){var n;return this.Hc(e)&&At(e,44)?(n=u(e,44),this.Rc().ec().Mc(n.ld())):!1},l.gc=function(){return this.Rc().gc()},D(on,"Maps/EntrySet",2069),M(1127,2069,il,hnt),l.Hc=function(e){return s5t(this.a.d.vc(),e)},l.Kc=function(){return new Vvt(this.a)},l.Rc=function(){return this.a},l.Mc=function(e){var n;return s5t(this.a.d.vc(),e)?(n=u(Zh(u(e,44)),44),rdn(this.a.e,n.ld()),!0):!1},l.Nc=function(){return uI(this.a.d.vc().Nc(),new Dj(this.a))},D(on,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),M(1128,1,{},Dj),l.Kb=function(e){return Fie(this.a,u(e,44))},D(on,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),M(746,1,ba,Vvt),l.Nb=function(e){Da(this,e)},l.Pb=function(){var e;return e=u(this.b.Pb(),44),this.a=u(e.md(),16),Fie(this.c,e)},l.Ob=function(){return this.b.Ob()},l.Qb=function(){CE(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},D(on,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),M(542,2068,il,g$),l.$b=function(){this.b.$b()},l.Hc=function(e){return this.b._b(e)},l.Jc=function(e){Hr(e),this.b.wc(new Rj(e))},l.dc=function(){return this.b.dc()},l.Kc=function(){return new FC(this.b.vc().Kc())},l.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},l.gc=function(){return this.b.gc()},D(on,"Maps/KeySet",542),M(327,542,il,U4),l.$b=function(){var e;Ez((e=this.b.vc().Kc(),new gwt(this,e)))},l.Ic=function(e){return this.b.ec().Ic(e)},l.Fb=function(e){return this===e||Ci(this.b.ec(),e)},l.Hb=function(){return Hi(this.b.ec())},l.Kc=function(){var e;return e=this.b.vc().Kc(),new gwt(this,e)},l.Mc=function(e){var n,r;return r=0,n=u(this.b.Bc(e),16),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},l.Nc=function(){return this.b.ec().Nc()},D(on,"AbstractMapBasedMultimap/KeySet",327),M(747,1,ba,gwt),l.Nb=function(e){Da(this,e)},l.Ob=function(){return this.c.Ob()},l.Pb=function(){return this.a=u(this.c.Pb(),44),this.a.ld()},l.Qb=function(){var e;CE(!!this.a),e=u(this.a.md(),16),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},D(on,"AbstractMapBasedMultimap/KeySet/1",747),M(502,402,{85:1,133:1},nI),l.bc=function(){return this.Sc()},l.ec=function(){return this.Uc()},l.Sc=function(){return new MD(this.c,this.Wc())},l.Tc=function(){return this.Wc().Tc()},l.Uc=function(){var e;return e=this.b,e||(this.b=this.Sc())},l.Vc=function(){return this.Wc().Vc()},l.Wc=function(){return u(this.d,133)},D(on,"AbstractMapBasedMultimap/SortedAsMap",502),M(446,502,Jkt,b_),l.bc=function(){return new pE(this.a,u(u(this.d,133),139))},l.Sc=function(){return new pE(this.a,u(u(this.d,133),139))},l.ec=function(){var e;return e=this.b,u(e||(this.b=new pE(this.a,u(u(this.d,133),139))),277)},l.Uc=function(){var e;return e=this.b,u(e||(this.b=new pE(this.a,u(u(this.d,133),139))),277)},l.Wc=function(){return u(u(this.d,133),139)},l.Xc=function(e){return u(u(this.d,133),139).Xc(e)},l.Yc=function(e){return u(u(this.d,133),139).Yc(e)},l.Zc=function(e,n){return new b_(this.a,u(u(this.d,133),139).Zc(e,n))},l.$c=function(e){return u(u(this.d,133),139).$c(e)},l._c=function(e){return u(u(this.d,133),139)._c(e)},l.ad=function(e,n){return new b_(this.a,u(u(this.d,133),139).ad(e,n))},D(on,"AbstractMapBasedMultimap/NavigableAsMap",446),M(501,327,zpe,MD),l.Nc=function(){return this.b.ec().Nc()},D(on,"AbstractMapBasedMultimap/SortedKeySet",501),M(401,501,Zkt,pE),D(on,"AbstractMapBasedMultimap/NavigableKeySet",401),M(551,31,o3,pq),l.Fc=function(e){var n,r;return Ll(this),r=this.d.dc(),n=this.d.Fc(e),n&&(++this.f.d,r&&aI(this)),n},l.Gc=function(e){var n,r,s;return e.dc()?!1:(s=(Ll(this),this.d.gc()),n=this.d.Gc(e),n&&(r=this.d.gc(),this.f.d+=r-s,s==0&&aI(this)),n)},l.$b=function(){var e;e=(Ll(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,Lz(this))},l.Hc=function(e){return Ll(this),this.d.Hc(e)},l.Ic=function(e){return Ll(this),this.d.Ic(e)},l.Fb=function(e){return e===this?!0:(Ll(this),Ci(this.d,e))},l.Hb=function(){return Ll(this),Hi(this.d)},l.Kc=function(){return Ll(this),new Svt(this)},l.Mc=function(e){var n;return Ll(this),n=this.d.Mc(e),n&&(--this.f.d,Lz(this)),n},l.gc=function(){return YXt(this)},l.Nc=function(){return Ll(this),this.d.Nc()},l.Ib=function(){return Ll(this),ec(this.d)},D(on,"AbstractMapBasedMultimap/WrappedCollection",551);var $h=us(mr,"List");M(744,551,{20:1,31:1,16:1,15:1},ryt),l.jd=function(e){Q2(this,e)},l.Nc=function(){return Ll(this),this.d.Nc()},l.bd=function(e,n){var r;Ll(this),r=this.d.dc(),u(this.d,15).bd(e,n),++this.a.d,r&&aI(this)},l.cd=function(e,n){var r,s,o;return n.dc()?!1:(o=(Ll(this),this.d.gc()),r=u(this.d,15).cd(e,n),r&&(s=this.d.gc(),this.a.d+=s-o,o==0&&aI(this)),r)},l.Xb=function(e){return Ll(this),u(this.d,15).Xb(e)},l.dd=function(e){return Ll(this),u(this.d,15).dd(e)},l.ed=function(){return Ll(this),new CQt(this)},l.fd=function(e){return Ll(this),new Wee(this,e)},l.gd=function(e){var n;return Ll(this),n=u(this.d,15).gd(e),--this.a.d,Lz(this),n},l.hd=function(e,n){return Ll(this),u(this.d,15).hd(e,n)},l.kd=function(e,n){return Ll(this),Rre(this.a,this.e,u(this.d,15).kd(e,n),this.b?this.b:this)},D(on,"AbstractMapBasedMultimap/WrappedList",744),M(1126,744,{20:1,31:1,16:1,15:1,59:1},gJt),D(on,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),M(628,1,ba,Svt),l.Nb=function(e){Da(this,e)},l.Ob=function(){return FE(this),this.b.Ob()},l.Pb=function(){return FE(this),this.b.Pb()},l.Qb=function(){JQt(this)},D(on,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),M(745,628,I0,CQt,Wee),l.Qb=function(){JQt(this)},l.Rb=function(e){var n;n=YXt(this.a)==0,(FE(this),u(this.b,128)).Rb(e),++this.a.a.d,n&&aI(this.a)},l.Sb=function(){return(FE(this),u(this.b,128)).Sb()},l.Tb=function(){return(FE(this),u(this.b,128)).Tb()},l.Ub=function(){return(FE(this),u(this.b,128)).Ub()},l.Vb=function(){return(FE(this),u(this.b,128)).Vb()},l.Wb=function(e){(FE(this),u(this.b,128)).Wb(e)},D(on,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),M(743,551,zpe,Gmt),l.Nc=function(){return Ll(this),this.d.Nc()},D(on,"AbstractMapBasedMultimap/WrappedSortedSet",743),M(1125,743,Zkt,yQt),D(on,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),M(1124,551,il,NJt),l.Nc=function(){return Ll(this),this.d.Nc()},D(on,"AbstractMapBasedMultimap/WrappedSet",1124),M(1133,1,{},B),l.Kb=function(e){return ddn(u(e,44))},D(on,"AbstractMapBasedMultimap/lambda$1$Type",1133),M(1132,1,{},gnt),l.Kb=function(e){return new pm(this.a,e)},D(on,"AbstractMapBasedMultimap/lambda$2$Type",1132);var yw=us(mr,"Map/Entry");M(358,1,Act),l.Fb=function(e){var n;return At(e,44)?(n=u(e,44),zd(this.ld(),n.ld())&&zd(this.md(),n.md())):!1},l.Hb=function(){var e,n;return e=this.ld(),n=this.md(),(e==null?0:Hi(e))^(n==null?0:Hi(n))},l.nd=function(e){throw nt(new Vr)},l.Ib=function(){return this.ld()+"="+this.md()},D(on,qpe,358),M(2086,31,o3),l.$b=function(){this.od().$b()},l.Hc=function(e){var n;return At(e,44)?(n=u(e,44),Pfn(this.od(),n.ld(),n.md())):!1},l.Mc=function(e){var n;return At(e,44)?(n=u(e,44),vre(this.od(),n.ld(),n.md())):!1},l.gc=function(){return this.od().d},D(on,"Multimaps/Entries",2086),M(749,2086,o3,Ij),l.Kc=function(){return this.a.kc()},l.od=function(){return this.a},l.Nc=function(){return this.a.lc()},D(on,"AbstractMultimap/Entries",749),M(750,749,il,U2t),l.Nc=function(){return this.a.lc()},l.Fb=function(e){return Qxt(this,e)},l.Hb=function(){return Moe(this)},D(on,"AbstractMultimap/EntrySet",750),M(751,31,o3,Oj),l.$b=function(){this.a.$b()},l.Hc=function(e){return Ipn(this.a,e)},l.Kc=function(){return this.a.nc()},l.gc=function(){return this.a.d},l.Nc=function(){return this.a.oc()},D(on,"AbstractMultimap/Values",751),M(2087,31,{849:1,20:1,31:1,16:1}),l.Jc=function(e){Hr(e),K4(this).Jc(new zj(e))},l.Nc=function(){var e;return e=K4(this).Nc(),_ot(e,new pt,64|e.yd()&1296,this.a.d)},l.Fc=function(e){return Z2t(),!0},l.Gc=function(e){return Hr(this),Hr(e),At(e,552)?Bfn(u(e,849)):!e.dc()&&$st(this,e.Kc())},l.Hc=function(e){var n;return n=u(Gy(W6(this.a),e),16),(n?n.gc():0)>0},l.Fb=function(e){return sxn(this,e)},l.Hb=function(){return Hi(K4(this))},l.dc=function(){return K4(this).dc()},l.Mc=function(e){return r1e(this,e,1)>0},l.Ib=function(){return ec(K4(this))},D(on,"AbstractMultiset",2087),M(2089,2068,il),l.$b=function(){Bq(this.a.a)},l.Hc=function(e){var n,r;return At(e,503)?(r=u(e,425),u(r.a.md(),16).gc()<=0?!1:(n=Gne(this.a,r.a.ld()),n==u(r.a.md(),16).gc())):!1},l.Mc=function(e){var n,r,s,o;return At(e,503)&&(r=u(e,425),n=r.a.ld(),s=u(r.a.md(),16).gc(),s!=0)?(o=this.a,Y4n(o,n,s)):!1},D(on,"Multisets/EntrySet",2089),M(1139,2089,il,pnt),l.Kc=function(){return new zKt(Pte(W6(this.a.a)).Kc())},l.gc=function(){return W6(this.a.a).gc()},D(on,"AbstractMultiset/EntrySet",1139),M(627,742,uw),l.hc=function(){return this.pd()},l.jc=function(){return this.qd()},l.cc=function(e){return this.rd(e)},l.fc=function(e){return this.sd(e)},l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.qd=function(){return wn(),wn(),DU},l.Fb=function(e){return wat(this,e)},l.rd=function(e){return u(Mi(this,e),21)},l.sd=function(e){return u(sO(this,e),21)},l.mc=function(e){return wn(),new lE(u(e,21))},l.pc=function(e,n){return new NJt(this,e,u(n,21))},D(on,"AbstractSetMultimap",627),M(1723,627,uw),l.hc=function(){return new dp(this.b)},l.pd=function(){return new dp(this.b)},l.jc=function(){return Tyt(new dp(this.b))},l.qd=function(){return Tyt(new dp(this.b))},l.cc=function(e){return u(u(Mi(this,e),21),87)},l.rd=function(e){return u(u(Mi(this,e),21),87)},l.fc=function(e){return u(u(sO(this,e),21),87)},l.sd=function(e){return u(u(sO(this,e),21),87)},l.mc=function(e){return At(e,277)?Tyt(u(e,277)):(wn(),new Dmt(u(e,87)))},l.Zb=function(){var e;return e=this.f,e||(this.f=At(this.c,139)?new b_(this,u(this.c,139)):At(this.c,133)?new nI(this,u(this.c,133)):new bE(this,this.c))},l.pc=function(e,n){return At(n,277)?new yQt(this,e,u(n,277)):new Gmt(this,e,u(n,87))},D(on,"AbstractSortedSetMultimap",1723),M(1724,1723,uw),l.Zb=function(){var e;return e=this.f,u(u(e||(this.f=At(this.c,139)?new b_(this,u(this.c,139)):At(this.c,133)?new nI(this,u(this.c,133)):new bE(this,this.c)),133),139)},l.ec=function(){var e;return e=this.i,u(u(e||(this.i=At(this.c,139)?new pE(this,u(this.c,139)):At(this.c,133)?new MD(this,u(this.c,133)):new U4(this,this.c)),87),277)},l.bc=function(){return At(this.c,139)?new pE(this,u(this.c,139)):At(this.c,133)?new MD(this,u(this.c,133)):new U4(this,this.c)},D(on,"AbstractSortedKeySortedSetMultimap",1724),M(2109,1,{2046:1}),l.Fb=function(e){return Mvn(this,e)},l.Hb=function(){var e;return I4t((e=this.g,e||(this.g=new eE(this))))},l.Ib=function(){var e;return Hhe((e=this.f,e||(this.f=new Smt(this))))},D(on,"AbstractTable",2109),M(679,od,il,eE),l.$b=function(){ZKt()},l.Hc=function(e){var n,r;return At(e,478)?(n=u(e,697),r=u(Gy(iee(this.a),yb(n.c.e,n.b)),85),!!r&&s5t(r.vc(),new pm(yb(n.c.c,n.a),ek(n.c,n.b,n.a)))):!1},l.Kc=function(){return Pln(this.a)},l.Mc=function(e){var n,r;return At(e,478)?(n=u(e,697),r=u(Gy(iee(this.a),yb(n.c.e,n.b)),85),!!r&&hbn(r.vc(),new pm(yb(n.c.c,n.a),ek(n.c,n.b,n.a)))):!1},l.gc=function(){return ote(this.a)},l.Nc=function(){return $fn(this.a)},D(on,"AbstractTable/CellSet",679),M(2025,31,o3,im),l.$b=function(){ZKt()},l.Hc=function(e){return kyn(this.a,e)},l.Kc=function(){return Nln(this.a)},l.gc=function(){return ote(this.a)},l.Nc=function(){return mre(this.a)},D(on,"AbstractTable/Values",2025),M(1697,1696,uw),D(on,"ArrayListMultimapGwtSerializationDependencies",1697),M(520,1697,uw,Xnt,Gyt),l.hc=function(){return new bu(this.a)},l.a=0,D(on,"ArrayListMultimap",520),M(678,2109,{678:1,2046:1,3:1},b1e),D(on,"ArrayTable",678),M(2021,399,q7,ZQt),l.Xb=function(e){return new B4t(this.a,e)},D(on,"ArrayTable/1",2021),M(2022,1,{},fnt),l.td=function(e){return new B4t(this.a,e)},D(on,"ArrayTable/1methodref$getCell$Type",2022),M(2110,1,{697:1}),l.Fb=function(e){var n;return e===this?!0:At(e,478)?(n=u(e,697),zd(yb(this.c.e,this.b),yb(n.c.e,n.b))&&zd(yb(this.c.c,this.a),yb(n.c.c,n.a))&&zd(ek(this.c,this.b,this.a),ek(n.c,n.b,n.a))):!1},l.Hb=function(){return iO(ot(st(sa,1),Ln,1,5,[yb(this.c.e,this.b),yb(this.c.c,this.a),ek(this.c,this.b,this.a)]))},l.Ib=function(){return"("+yb(this.c.e,this.b)+","+yb(this.c.c,this.a)+")="+ek(this.c,this.b,this.a)},D(on,"Tables/AbstractCell",2110),M(478,2110,{478:1,697:1},B4t),l.a=0,l.b=0,l.d=0,D(on,"ArrayTable/2",478),M(2024,1,{},dnt),l.td=function(e){return Hse(this.a,e)},D(on,"ArrayTable/2methodref$getValue$Type",2024),M(2023,399,q7,tJt),l.Xb=function(e){return Hse(this.a,e)},D(on,"ArrayTable/3",2023),M(2077,2065,iv),l.$b=function(){Ez(this.kc())},l.vc=function(){return new wD(this)},l.lc=function(){return new Ree(this.kc(),this.gc())},D(on,"Maps/IteratorBasedAbstractMap",2077),M(842,2077,iv),l.$b=function(){throw nt(new Vr)},l._b=function(e){return mWt(this.c,e)},l.kc=function(){return new eJt(this,this.c.b.c.gc())},l.lc=function(){return vit(this.c.b.c.gc(),16,new O2(this))},l.xc=function(e){var n;return n=u(w_(this.c,e),17),n?this.vd(n.a):null},l.dc=function(){return this.c.b.c.dc()},l.ec=function(){return Sit(this.c)},l.zc=function(e,n){var r;if(r=u(w_(this.c,e),17),!r)throw nt(new zn(this.ud()+" "+e+" not in "+Sit(this.c)));return this.wd(r.a,n)},l.Bc=function(e){throw nt(new Vr)},l.gc=function(){return this.c.b.c.gc()},D(on,"ArrayTable/ArrayMap",842),M(2020,1,{},O2),l.td=function(e){return aee(this.a,e)},D(on,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),M(2018,358,Act,VWt),l.ld=function(){return Win(this.a,this.b)},l.md=function(){return this.a.vd(this.b)},l.nd=function(e){return this.a.wd(this.b,e)},l.b=0,D(on,"ArrayTable/ArrayMap/1",2018),M(2019,399,q7,eJt),l.Xb=function(e){return aee(this.a,e)},D(on,"ArrayTable/ArrayMap/2",2019),M(2017,842,iv,Kte),l.ud=function(){return"Column"},l.vd=function(e){return ek(this.b,this.a,e)},l.wd=function(e,n){return bce(this.b,this.a,e,n)},l.a=0,D(on,"ArrayTable/Row",2017),M(843,842,iv,Smt),l.vd=function(e){return new Kte(this.a,e)},l.zc=function(e,n){return u(n,85),pnn()},l.wd=function(e,n){return u(n,85),bnn()},l.ud=function(){return"Row"},D(on,"ArrayTable/RowMap",843),M(1157,1,uh,UWt),l.Ad=function(e){return(this.a.yd()&-262&e)!=0},l.yd=function(){return this.a.yd()&-262},l.zd=function(){return this.a.zd()},l.Nb=function(e){this.a.Nb(new KWt(e,this.b))},l.Bd=function(e){return this.a.Bd(new GWt(e,this.b))},D(on,"CollectSpliterators/1",1157),M(1158,1,rr,GWt),l.Cd=function(e){this.a.Cd(this.b.Kb(e))},D(on,"CollectSpliterators/1/lambda$0$Type",1158),M(1159,1,rr,KWt),l.Cd=function(e){this.a.Cd(this.b.Kb(e))},D(on,"CollectSpliterators/1/lambda$1$Type",1159),M(1154,1,uh,bZt),l.Ad=function(e){return((16464|this.b)&e)!=0},l.yd=function(){return 16464|this.b},l.zd=function(){return this.a.zd()},l.Nb=function(e){this.a.Qe(new YWt(e,this.c))},l.Bd=function(e){return this.a.Re(new WWt(e,this.c))},l.b=0,D(on,"CollectSpliterators/1WithCharacteristics",1154),M(1155,1,XO,WWt),l.Dd=function(e){this.a.Cd(this.b.td(e))},D(on,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),M(1156,1,XO,YWt),l.Dd=function(e){this.a.Cd(this.b.td(e))},D(on,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),M(1150,1,uh),l.Ad=function(e){return(this.a&e)!=0},l.yd=function(){return this.a},l.zd=function(){return this.e&&(this.b=pmt(this.b,this.e.zd())),pmt(this.b,0)},l.Nb=function(e){this.e&&(this.e.Nb(e),this.e=null),this.c.Nb(new XWt(this,e)),this.b=0},l.Bd=function(e){for(;;){if(this.e&&this.e.Bd(e))return a_(this.b,QO)&&(this.b=ef(this.b,1)),!0;if(this.e=null,!this.c.Bd(new Pj(this)))return!1}},l.a=0,l.b=0,D(on,"CollectSpliterators/FlatMapSpliterator",1150),M(1152,1,rr,Pj),l.Cd=function(e){Gsn(this.a,e)},D(on,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),M(1153,1,rr,XWt),l.Cd=function(e){wln(this.a,this.b,e)},D(on,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),M(1151,1150,uh,Fre),D(on,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),M(253,1,Lct),l.Fd=function(e){return this.Ed(u(e,253))},l.Ed=function(e){var n;return e==($nt(),ght)?1:e==(jnt(),dht)?-1:(n=(mz(),GI(this.a,e.a)),n!=0?n:At(this,526)==At(e,526)?0:At(this,526)?1:-1)},l.Id=function(){return this.a},l.Fb=function(e){return rxt(this,e)},D(on,"Cut",253),M(1823,253,Lct,PKt),l.Ed=function(e){return e==this?0:1},l.Gd=function(e){throw nt(new _2t)},l.Hd=function(e){e.a+="+∞)"},l.Id=function(){throw nt(new Fo(Vpe))},l.Hb=function(){return fg(),q5t(this)},l.Jd=function(e){return!1},l.Ib=function(){return"+∞"};var dht;D(on,"Cut/AboveAll",1823),M(526,253,{253:1,526:1,3:1,34:1},oJt),l.Gd=function(e){Zc((e.a+="(",e),this.a)},l.Hd=function(e){Cb(Zc(e,this.a),93)},l.Hb=function(){return~Hi(this.a)},l.Jd=function(e){return mz(),GI(this.a,e)<0},l.Ib=function(){return"/"+this.a+"\\"},D(on,"Cut/AboveValue",526),M(1822,253,Lct,OKt),l.Ed=function(e){return e==this?0:-1},l.Gd=function(e){e.a+="(-∞"},l.Hd=function(e){throw nt(new _2t)},l.Id=function(){throw nt(new Fo(Vpe))},l.Hb=function(){return fg(),q5t(this)},l.Jd=function(e){return!0},l.Ib=function(){return"-∞"};var ght;D(on,"Cut/BelowAll",1822),M(1824,253,Lct,cJt),l.Gd=function(e){Zc((e.a+="[",e),this.a)},l.Hd=function(e){Cb(Zc(e,this.a),41)},l.Hb=function(){return Hi(this.a)},l.Jd=function(e){return mz(),GI(this.a,e)<=0},l.Ib=function(){return"\\"+this.a+"/"},D(on,"Cut/BelowValue",1824),M(547,1,O0),l.Jc=function(e){Oa(this,e)},l.Ib=function(){return Ibn(u(Gz(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},D(on,"FluentIterable",547),M(442,547,O0,u_),l.Kc=function(){return new nr(ir(this.a.Kc(),new q))},D(on,"FluentIterable/2",442),M(1059,547,O0,bQt),l.Kc=function(){return C0(this)},D(on,"FluentIterable/3",1059),M(724,399,q7,Amt),l.Xb=function(e){return this.a[e].Kc()},D(on,"FluentIterable/3/1",724),M(2070,1,{}),l.Ib=function(){return ec(this.Kd().b)},D(on,"ForwardingObject",2070),M(2071,2070,Upe),l.Kd=function(){return this.Ld()},l.Jc=function(e){Oa(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new gn(this,0)},l.Oc=function(){return new ln(null,this.Nc())},l.Fc=function(e){return this.Ld(),yWt()},l.Gc=function(e){return this.Ld(),xWt()},l.$b=function(){this.Ld(),kWt()},l.Hc=function(e){return this.Ld().Hc(e)},l.Ic=function(e){return this.Ld().Ic(e)},l.dc=function(){return this.Ld().b.dc()},l.Kc=function(){return this.Ld().Kc()},l.Mc=function(e){return this.Ld(),EWt()},l.gc=function(){return this.Ld().b.gc()},l.Pc=function(){return this.Ld().Pc()},l.Qc=function(e){return this.Ld().Qc(e)},D(on,"ForwardingCollection",2071),M(2078,31,t8t),l.Kc=function(){return this.Od()},l.Fc=function(e){throw nt(new Vr)},l.Gc=function(e){throw nt(new Vr)},l.Md=function(){var e;return e=this.c,e||(this.c=this.Nd())},l.$b=function(){throw nt(new Vr)},l.Hc=function(e){return e!=null&&Ky(this,e,!1)},l.Nd=function(){switch(this.gc()){case 0:return Lm(),Lm(),pht;case 1:return Lm(),new yit(Hr(this.Od().Pb()));default:return new oyt(this,this.Pc())}},l.Mc=function(e){throw nt(new Vr)},D(on,"ImmutableCollection",2078),M(727,2078,t8t,T2t),l.Kc=function(){return nk(this.a.Kc())},l.Hc=function(e){return e!=null&&this.a.Hc(e)},l.Ic=function(e){return this.a.Ic(e)},l.dc=function(){return this.a.dc()},l.Od=function(){return nk(this.a.Kc())},l.gc=function(){return this.a.gc()},l.Pc=function(){return this.a.Pc()},l.Qc=function(e){return this.a.Qc(e)},l.Ib=function(){return ec(this.a)},D(on,"ForwardingImmutableCollection",727),M(306,2078,H7),l.Kc=function(){return this.Od()},l.ed=function(){return this.Pd(0)},l.fd=function(e){return this.Pd(e)},l.jd=function(e){Q2(this,e)},l.Nc=function(){return new gn(this,16)},l.kd=function(e,n){return this.Qd(e,n)},l.bd=function(e,n){throw nt(new Vr)},l.cd=function(e,n){throw nt(new Vr)},l.Md=function(){return this},l.Fb=function(e){return K5n(this,e)},l.Hb=function(){return zgn(this)},l.dd=function(e){return e==null?-1:lmn(this,e)},l.Od=function(){return this.Pd(0)},l.Pd=function(e){return Jrt(this,e)},l.gd=function(e){throw nt(new Vr)},l.hd=function(e,n){throw nt(new Vr)},l.Qd=function(e,n){var r;return iH((r=new aYt(this),new vp(r,e,n)))};var pht;D(on,"ImmutableList",306),M(2105,306,H7),l.Kc=function(){return nk(this.Rd().Kc())},l.kd=function(e,n){return iH(this.Rd().kd(e,n))},l.Hc=function(e){return e!=null&&this.Rd().Hc(e)},l.Ic=function(e){return this.Rd().Ic(e)},l.Fb=function(e){return Ci(this.Rd(),e)},l.Xb=function(e){return yb(this,e)},l.Hb=function(){return Hi(this.Rd())},l.dd=function(e){return this.Rd().dd(e)},l.dc=function(){return this.Rd().dc()},l.Od=function(){return nk(this.Rd().Kc())},l.gc=function(){return this.Rd().gc()},l.Qd=function(e,n){return iH(this.Rd().kd(e,n))},l.Pc=function(){return this.Rd().Qc(Vt(sa,Ln,1,this.Rd().gc(),5,1))},l.Qc=function(e){return this.Rd().Qc(e)},l.Ib=function(){return ec(this.Rd())},D(on,"ForwardingImmutableList",2105),M(729,1,V7),l.vc=function(){return z2(this)},l.wc=function(e){U_(this,e)},l.ec=function(){return Sit(this)},l.yc=function(e,n,r){return Fat(this,e,n,r)},l.Cc=function(){return this.Vd()},l.$b=function(){throw nt(new Vr)},l._b=function(e){return this.xc(e)!=null},l.uc=function(e){return this.Vd().Hc(e)},l.Td=function(){return new qGt(this)},l.Ud=function(){return new HGt(this)},l.Fb=function(e){return Opn(this,e)},l.Hb=function(){return z2(this).Hb()},l.dc=function(){return this.gc()==0},l.zc=function(e,n){return gnn()},l.Bc=function(e){throw nt(new Vr)},l.Ib=function(){return y3n(this)},l.Vd=function(){return this.e?this.e:this.e=this.Ud()},l.c=null,l.d=null,l.e=null;var bve;D(on,"ImmutableMap",729),M(730,729,V7),l._b=function(e){return mWt(this,e)},l.uc=function(e){return fYt(this.b,e)},l.Sd=function(){return fue(new bnt(this))},l.Td=function(){return fue(Aee(this.b))},l.Ud=function(){return $d(),new T2t(See(this.b))},l.Fb=function(e){return dYt(this.b,e)},l.xc=function(e){return w_(this,e)},l.Hb=function(){return Hi(this.b.c)},l.dc=function(){return this.b.c.dc()},l.gc=function(){return this.b.c.gc()},l.Ib=function(){return ec(this.b.c)},D(on,"ForwardingImmutableMap",730),M(2072,2071,Mct),l.Kd=function(){return this.Wd()},l.Ld=function(){return this.Wd()},l.Nc=function(){return new gn(this,1)},l.Fb=function(e){return e===this||this.Wd().Fb(e)},l.Hb=function(){return this.Wd().Hb()},D(on,"ForwardingSet",2072),M(1085,2072,Mct,bnt),l.Kd=function(){return PE(this.a.b)},l.Ld=function(){return PE(this.a.b)},l.Hc=function(e){if(At(e,44)&&u(e,44).ld()==null)return!1;try{return hYt(PE(this.a.b),e)}catch(n){if(n=is(n),At(n,212))return!1;throw nt(n)}},l.Wd=function(){return PE(this.a.b)},l.Qc=function(e){var n;return n=fne(PE(this.a.b),e),PE(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=Q$(b.Math.abs(r)%60),(efe(),Nve)[this.q.getDay()]+" "+Fve[this.q.getMonth()]+" "+Q$(this.q.getDate())+" "+Q$(this.q.getHours())+":"+Q$(this.q.getMinutes())+":"+Q$(this.q.getSeconds())+" GMT"+e+n+" "+this.q.getFullYear()};var AU=D(mr,"Date",206);M(2015,206,tbe,The),l.a=!1,l.b=0,l.c=0,l.d=0,l.e=0,l.f=0,l.g=!1,l.i=0,l.j=0,l.k=0,l.n=0,l.o=0,l.p=0,D("com.google.gwt.i18n.shared.impl","DateRecord",2015),M(2064,1,{}),l.pe=function(){return null},l.qe=function(){return null},l.re=function(){return null},l.se=function(){return null},l.te=function(){return null},D(kk,"JSONValue",2064),M(221,2064,{221:1},lg,Hj),l.Fb=function(e){return At(e,221)?Wyt(this.a,u(e,221).a):!1},l.oe=function(){return jen},l.Hb=function(){return Byt(this.a)},l.pe=function(){return this},l.Ib=function(){var e,n,r;for(r=new Jl("["),n=0,e=this.a.length;n0&&(r.a+=","),Zc(r,$y(this,n));return r.a+="]",r.a},D(kk,"JSONArray",221),M(492,2064,{492:1},Vj),l.oe=function(){return $en},l.qe=function(){return this},l.Ib=function(){return Nn(),""+this.a},l.a=!1;var Eve,Tve;D(kk,"JSONBoolean",492),M(997,63,Ig,qKt),D(kk,"JSONException",997),M(1036,2064,{},Y),l.oe=function(){return zen},l.Ib=function(){return Hu};var Cve;D(kk,"JSONNull",1036),M(263,2064,{263:1},_C),l.Fb=function(e){return At(e,263)?this.a==u(e,263).a:!1},l.oe=function(){return Ben},l.Hb=function(){return O6(this.a)},l.re=function(){return this},l.Ib=function(){return this.a+""},l.a=0,D(kk,"JSONNumber",263),M(190,2064,{190:1},T6,g6),l.Fb=function(e){return At(e,190)?Wyt(this.a,u(e,190).a):!1},l.oe=function(){return Ren},l.Hb=function(){return Byt(this.a)},l.se=function(){return this},l.Ib=function(){var e,n,r,s,o,h,d;for(d=new Jl("{"),e=!0,h=tat(this,Vt(Ne,le,2,0,6,1)),r=h,s=0,o=r.length;s=0?":"+this.c:"")+")"},l.c=0;var s9t=D(kc,"StackTraceElement",319);pve={3:1,483:1,34:1,2:1};var Ne=D(kc,e8t,2);M(111,427,{483:1},hp,jC,Jh),D(kc,"StringBuffer",111),M(104,427,{483:1},pb,L4,Jl),D(kc,"StringBuilder",104),M(702,77,Zct,twt),D(kc,"StringIndexOutOfBoundsException",702),M(2145,1,{});var Lve;M(48,63,{3:1,103:1,63:1,82:1,48:1},Vr,up),D(kc,"UnsupportedOperationException",48),M(247,242,{3:1,34:1,242:1,247:1},cO,hwt),l.Fd=function(e){return Y0e(this,u(e,247))},l.ue=function(){return Jy(Ege(this))},l.Fb=function(e){var n;return this===e?!0:At(e,247)?(n=u(e,247),this.e==n.e&&Y0e(this,n)==0):!1},l.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=Oc(this.f),this.b=qr(ia(e,-1)),this.b=33*this.b+qr(ia(_m(e,32),-1)),this.b=17*this.b+Xs(this.e),this.b):(this.b=17*oue(this.c)+Xs(this.e),this.b)},l.Ib=function(){return Ege(this)},l.a=0,l.b=0,l.d=0,l.e=0,l.f=0;var Mve,xw,a9t,o9t,c9t,u9t,l9t,h9t,Eht=D("java.math","BigDecimal",247);M(92,242,{3:1,34:1,242:1,92:1},vg,Zne,H2,cle,xb),l.Fd=function(e){return ile(this,u(e,92))},l.ue=function(){return Jy(Cct(this,0))},l.Fb=function(e){return C5t(this,e)},l.Hb=function(){return oue(this)},l.Ib=function(){return Cct(this,0)},l.b=-2,l.c=0,l.d=0,l.e=0;var Dve,LU,Ive,Tht,MU,lA,D5=D("java.math","BigInteger",92),Ove,Pve,Pk,hA;M(497,2065,iv),l.$b=function(){dl(this)},l._b=function(e){return Eu(this,e)},l.uc=function(e){return qce(this,e,this.i)||qce(this,e,this.f)},l.vc=function(){return new ps(this)},l.xc=function(e){return tr(this,e)},l.zc=function(e,n){return di(this,e,n)},l.Bc=function(e){return tk(this,e)},l.gc=function(){return zC(this)},l.g=0,D(mr,"AbstractHashMap",497),M(267,od,il,ps),l.$b=function(){this.a.$b()},l.Hc=function(e){return Lre(this,e)},l.Kc=function(){return new Z2(this.a)},l.Mc=function(e){var n;return Lre(this,e)?(n=u(e,44).ld(),this.a.Bc(n),!0):!1},l.gc=function(){return this.a.gc()},D(mr,"AbstractHashMap/EntrySet",267),M(268,1,ba,Z2),l.Nb=function(e){Da(this,e)},l.Pb=function(){return Vm(this)},l.Ob=function(){return this.b},l.Qb=function(){iae(this)},l.b=!1,l.d=0,D(mr,"AbstractHashMap/EntrySetIterator",268),M(426,1,ba,$r),l.Nb=function(e){Da(this,e)},l.Ob=function(){return irt(this)},l.Pb=function(){return Iyt(this)},l.Qb=function(){Ul(this)},l.b=0,l.c=-1,D(mr,"AbstractList/IteratorImpl",426),M(98,426,I0,_a),l.Qb=function(){Ul(this)},l.Rb=function(e){Ly(this,e)},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Ub=function(){return cr(this.b>0),this.a.Xb(this.c=--this.b)},l.Vb=function(){return this.b-1},l.Wb=function(e){Sy(this.c!=-1),this.a.hd(this.c,e)},D(mr,"AbstractList/ListIteratorImpl",98),M(244,56,U7,vp),l.bd=function(e,n){Fy(e,this.b),this.c.bd(this.a+e,n),++this.b},l.Xb=function(e){return mn(e,this.b),this.c.Xb(this.a+e)},l.gd=function(e){var n;return mn(e,this.b),n=this.c.gd(this.a+e),--this.b,n},l.hd=function(e,n){return mn(e,this.b),this.c.hd(this.a+e,n)},l.gc=function(){return this.b},l.a=0,l.b=0,D(mr,"AbstractList/SubList",244),M(266,od,il,ui),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a._b(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new Xi(e)},l.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},l.gc=function(){return this.a.gc()},D(mr,"AbstractMap/1",266),M(541,1,ba,Xi),l.Nb=function(e){Da(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),44),e.ld()},l.Qb=function(){this.a.Qb()},D(mr,"AbstractMap/1/1",541),M(231,31,o3,li),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a.uc(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new qi(e)},l.gc=function(){return this.a.gc()},D(mr,"AbstractMap/2",231),M(300,1,ba,qi),l.Nb=function(e){Da(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),44),e.md()},l.Qb=function(){this.a.Qb()},D(mr,"AbstractMap/2/1",300),M(493,1,{493:1,44:1}),l.Fb=function(e){var n;return At(e,44)?(n=u(e,44),Ic(this.d,n.ld())&&Ic(this.e,n.md())):!1},l.ld=function(){return this.d},l.md=function(){return this.e},l.Hb=function(){return z4(this.d)^z4(this.e)},l.nd=function(e){return Zmt(this,e)},l.Ib=function(){return this.d+"="+this.e},D(mr,"AbstractMap/AbstractEntry",493),M(397,493,{493:1,397:1,44:1},S$),D(mr,"AbstractMap/SimpleEntry",397),M(2082,1,nut),l.Fb=function(e){var n;return At(e,44)?(n=u(e,44),Ic(this.ld(),n.ld())&&Ic(this.md(),n.md())):!1},l.Hb=function(){return z4(this.ld())^z4(this.md())},l.Ib=function(){return this.ld()+"="+this.md()},D(mr,qpe,2082),M(2090,2065,Jkt),l.Xc=function(e){return Qnt(this.Ee(e))},l.tc=function(e){return Nie(this,e)},l._b=function(e){return tvt(this,e)},l.vc=function(){return new Ws(this)},l.Tc=function(){return Yte(this.Ge())},l.Yc=function(e){return Qnt(this.He(e))},l.xc=function(e){var n;return n=e,Uo(this.Fe(n))},l.$c=function(e){return Qnt(this.Ie(e))},l.ec=function(){return new Ao(this)},l.Vc=function(){return Yte(this.Je())},l._c=function(e){return Qnt(this.Ke(e))},D(mr,"AbstractNavigableMap",2090),M(629,od,il,Ws),l.Hc=function(e){return At(e,44)&&Nie(this.b,u(e,44))},l.Kc=function(){return this.b.De()},l.Mc=function(e){var n;return At(e,44)?(n=u(e,44),this.b.Le(n)):!1},l.gc=function(){return this.b.gc()},D(mr,"AbstractNavigableMap/EntrySet",629),M(1146,od,Zkt,Ao),l.Nc=function(){return new C$(this)},l.$b=function(){this.a.$b()},l.Hc=function(e){return tvt(this.a,e)},l.Kc=function(){var e;return e=this.a.vc().b.De(),new Ka(e)},l.Mc=function(e){return tvt(this.a,e)?(this.a.Bc(e),!0):!1},l.gc=function(){return this.a.gc()},D(mr,"AbstractNavigableMap/NavigableKeySet",1146),M(1147,1,ba,Ka),l.Nb=function(e){Da(this,e)},l.Ob=function(){return irt(this.a.a)},l.Pb=function(){var e;return e=mJt(this.a),e.ld()},l.Qb=function(){TZt(this.a)},D(mr,"AbstractNavigableMap/NavigableKeySet/1",1147),M(2103,31,o3),l.Fc=function(e){return z6(S7(this,e),K7),!0},l.Gc=function(e){return Wn(e),hI(e!=this,"Can't add a queue to itself"),Aa(this,e)},l.$b=function(){for(;zst(this)!=null;);},D(mr,"AbstractQueue",2103),M(310,31,{4:1,20:1,31:1,16:1},V4,Tre),l.Fc=function(e){return i3t(this,e),!0},l.$b=function(){l3t(this)},l.Hc=function(e){return lce(new M_(this),e)},l.dc=function(){return RC(this)},l.Kc=function(){return new M_(this)},l.Mc=function(e){return khn(new M_(this),e)},l.gc=function(){return this.c-this.b&this.a.length-1},l.Nc=function(){return new gn(this,272)},l.Qc=function(e){var n;return n=this.c-this.b&this.a.length-1,e.lengthn&&hs(e,n,null),e},l.b=0,l.c=0,D(mr,"ArrayDeque",310),M(458,1,ba,M_),l.Nb=function(e){Da(this,e)},l.Ob=function(){return this.a!=this.b},l.Pb=function(){return rH(this)},l.Qb=function(){aoe(this)},l.a=0,l.b=0,l.c=-1,D(mr,"ArrayDeque/IteratorImpl",458),M(13,56,rbe,ge,bu,fl),l.bd=function(e,n){Cm(this,e,n)},l.Fc=function(e){return pe(this,e)},l.cd=function(e,n){return Q4t(this,e,n)},l.Gc=function(e){return Hs(this,e)},l.$b=function(){wy(this.c,0)},l.Hc=function(e){return Wo(this,e,0)!=-1},l.Jc=function(e){Tu(this,e)},l.Xb=function(e){return Oe(this,e)},l.dd=function(e){return Wo(this,e,0)},l.dc=function(){return this.c.length==0},l.Kc=function(){return new J(this)},l.gd=function(e){return xp(this,e)},l.Mc=function(e){return $u(this,e)},l.ce=function(e,n){Kne(this,e,n)},l.hd=function(e,n){return Sh(this,e,n)},l.gc=function(){return this.c.length},l.jd=function(e){Ms(this,e)},l.Pc=function(){return vz(this.c)},l.Qc=function(e){return id(this,e)};var h_n=D(mr,"ArrayList",13);M(7,1,ba,J),l.Nb=function(e){Da(this,e)},l.Ob=function(){return cc(this)},l.Pb=function(){return et(this)},l.Qb=function(){C_(this)},l.a=0,l.b=-1,D(mr,"ArrayList/1",7),M(2112,b.Function,{},Dt),l.Me=function(e,n){return ji(e,n)},M(151,56,ibe,hl),l.Hc=function(e){return ooe(this,e)!=-1},l.Jc=function(e){var n,r,s,o;for(Wn(e),r=this.a,s=0,o=r.length;s0)throw nt(new zn(u8t+e+" greater than "+this.e));return this.f.Te()?bne(this.c,this.b,this.a,e,n):Wne(this.c,e,n)},l.zc=function(e,n){if(!pot(this.c,this.f,e,this.b,this.a,this.e,this.d))throw nt(new zn(e+" outside the range "+this.b+" to "+this.e));return Sce(this.c,e,n)},l.Bc=function(e){var n;return n=e,pot(this.c,this.f,n,this.b,this.a,this.e,this.d)?wne(this.c,n):null},l.Le=function(e){return jz(this,e.ld())&&L3t(this.c,e)},l.gc=function(){var e,n,r;if(this.f.Te()?this.a?n=y7(this.c,this.b,!0):n=y7(this.c,this.b,!1):n=j3t(this.c),!(n&&jz(this,n.d)&&n))return 0;for(e=0,r=new eat(this.c,this.f,this.b,this.a,this.e,this.d);irt(r.a);r.b=u(Iyt(r.a),44))++e;return e},l.ad=function(e,n){if(this.f.Te()&&this.c.a.Ne(e,this.b)<0)throw nt(new zn(u8t+e+obe+this.b));return this.f.Ue()?bne(this.c,e,n,this.e,this.d):Yne(this.c,e,n)},l.a=!1,l.d=!1,D(mr,"TreeMap/SubMap",631),M(303,22,aut,_$),l.Te=function(){return!1},l.Ue=function(){return!1};var Sht,Aht,Lht,Mht,IU=Cr(mr,"TreeMap/SubMapType",303,Ir,Yfn,san);M(1143,303,aut,kQt),l.Ue=function(){return!0},Cr(mr,"TreeMap/SubMapType/1",1143,IU,null,null),M(1144,303,aut,DQt),l.Te=function(){return!0},l.Ue=function(){return!0},Cr(mr,"TreeMap/SubMapType/2",1144,IU,null,null),M(1145,303,aut,xQt),l.Te=function(){return!0},Cr(mr,"TreeMap/SubMapType/3",1145,IU,null,null);var qve;M(157,od,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},L2t,dp,b1),l.Nc=function(){return new C$(this)},l.Fc=function(e){return gI(this,e)},l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a._b(e)},l.Kc=function(){return this.a.ec().Kc()},l.Mc=function(e){return Yrt(this,e)},l.gc=function(){return this.a.gc()};var w_n=D(mr,"TreeSet",157);M(1082,1,{},db),l.Ve=function(e,n){return ksn(this.a,e,n)},D(out,"BinaryOperator/lambda$0$Type",1082),M(1083,1,{},w1),l.Ve=function(e,n){return Esn(this.a,e,n)},D(out,"BinaryOperator/lambda$1$Type",1083),M(952,1,{},Fe),l.Kb=function(e){return e},D(out,"Function/lambda$0$Type",952),M(395,1,Kr,Mf),l.Mb=function(e){return!this.a.Mb(e)},D(out,"Predicate/lambda$2$Type",395),M(581,1,{581:1});var Hve=D(PS,"Handler",581);M(2107,1,WO),l.xe=function(){return"DUMMY"},l.Ib=function(){return this.xe()};var m9t;D(PS,"Level",2107),M(1706,2107,WO,Qt),l.xe=function(){return"INFO"},D(PS,"Level/LevelInfo",1706),M(1843,1,{},XGt);var Dht;D(PS,"LogManager",1843),M(1896,1,WO,EZt),l.b=null,D(PS,"LogRecord",1896),M(525,1,{525:1},yst),l.e=!1;var Vve=!1,Uve=!1,hd=!1,Gve=!1,Kve=!1;D(PS,"Logger",525),M(835,581,{581:1},Ae),D(PS,"SimpleConsoleLogHandler",835),M(108,22,{3:1,34:1,22:1,108:1},ort);var v9t,rc,w3,zo=Cr(Us,"Collector/Characteristics",108,Ir,Fhn,aan),Wve;M(758,1,{},hyt),D(Us,"CollectorImpl",758),M(1074,1,{},Se),l.Ve=function(e,n){return bbn(u(e,213),u(n,213))},D(Us,"Collectors/10methodref$merge$Type",1074),M(1075,1,{},Dn),l.Kb=function(e){return Cre(u(e,213))},D(Us,"Collectors/11methodref$toString$Type",1075),M(1076,1,{},Od),l.Kb=function(e){return Nn(),!!smt(e)},D(Us,"Collectors/12methodref$test$Type",1076),M(144,1,{},oe),l.Yd=function(e,n){u(e,16).Fc(n)},D(Us,"Collectors/20methodref$add$Type",144),M(146,1,{},Pr),l.Xe=function(){return new ge},D(Us,"Collectors/21methodref$ctor$Type",146),M(359,1,{},we),l.Xe=function(){return new Os},D(Us,"Collectors/23methodref$ctor$Type",359),M(360,1,{},Ri),l.Yd=function(e,n){qs(u(e,49),n)},D(Us,"Collectors/24methodref$add$Type",360),M(1069,1,{},yi),l.Ve=function(e,n){return bYt(u(e,15),u(n,16))},D(Us,"Collectors/4methodref$addAll$Type",1069),M(1073,1,{},da),l.Yd=function(e,n){yg(u(e,213),u(n,483))},D(Us,"Collectors/9methodref$add$Type",1073),M(1072,1,{},$Zt),l.Xe=function(){return new tw(this.a,this.b,this.c)},D(Us,"Collectors/lambda$15$Type",1072),M(1077,1,{},Ss),l.Xe=function(){var e;return e=new yp,Dp(e,(Nn(),!1),new ge),Dp(e,!0,new ge),e},D(Us,"Collectors/lambda$22$Type",1077),M(1078,1,{},om),l.Xe=function(){return ot(st(sa,1),Ln,1,5,[this.a])},D(Us,"Collectors/lambda$25$Type",1078),M(1079,1,{},by),l.Yd=function(e,n){qcn(this.a,X2(e))},D(Us,"Collectors/lambda$26$Type",1079),M(1080,1,{},w6),l.Ve=function(e,n){return bun(this.a,X2(e),X2(n))},D(Us,"Collectors/lambda$27$Type",1080),M(1081,1,{},Ra),l.Kb=function(e){return X2(e)[0]},D(Us,"Collectors/lambda$28$Type",1081),M(728,1,{},fr),l.Ve=function(e,n){return Uvt(e,n)},D(Us,"Collectors/lambda$4$Type",728),M(145,1,{},An),l.Ve=function(e,n){return Qnn(u(e,16),u(n,16))},D(Us,"Collectors/lambda$42$Type",145),M(361,1,{},Pn),l.Ve=function(e,n){return Jnn(u(e,49),u(n,49))},D(Us,"Collectors/lambda$50$Type",361),M(362,1,{},Bn),l.Kb=function(e){return u(e,49)},D(Us,"Collectors/lambda$51$Type",362),M(1068,1,{},_4),l.Yd=function(e,n){kpn(this.a,u(e,85),n)},D(Us,"Collectors/lambda$7$Type",1068),M(1070,1,{},Te),l.Ve=function(e,n){return Jgn(u(e,85),u(n,85),new yi)},D(Us,"Collectors/lambda$8$Type",1070),M(1071,1,{},m6),l.Kb=function(e){return Ybn(this.a,u(e,85))},D(Us,"Collectors/lambda$9$Type",1071),M(550,1,{}),l.$e=function(){L_(this)},l.d=!1,D(Us,"TerminatableStream",550),M(827,550,l8t,Vmt),l.$e=function(){L_(this)},D(Us,"DoubleStreamImpl",827),M(1847,736,uh,zZt),l.Re=function(e){return Jwn(this,u(e,189))},l.a=null,D(Us,"DoubleStreamImpl/2",1847),M(1848,1,rP,SC),l.Pe=function(e){Urn(this.a,e)},D(Us,"DoubleStreamImpl/2/lambda$0$Type",1848),M(1845,1,rP,S4),l.Pe=function(e){Vrn(this.a,e)},D(Us,"DoubleStreamImpl/lambda$0$Type",1845),M(1846,1,rP,y0),l.Pe=function(e){zue(this.a,e)},D(Us,"DoubleStreamImpl/lambda$2$Type",1846),M(1397,735,uh,Mie),l.Re=function(e){return Rfn(this,u(e,202))},l.a=0,l.b=0,l.c=0,D(Us,"IntStream/5",1397),M(806,550,l8t,Umt),l.$e=function(){L_(this)},l._e=function(){return _b(this),this.a},D(Us,"IntStreamImpl",806),M(807,550,l8t,bwt),l.$e=function(){L_(this)},l._e=function(){return _b(this),_mt(),zve},D(Us,"IntStreamImpl/Empty",807),M(1687,1,XO,G1),l.Dd=function(e){Qoe(this.a,e)},D(Us,"IntStreamImpl/lambda$4$Type",1687);var m_n=us(Us,"Stream");M(26,550,{533:1,687:1,848:1},ln),l.$e=function(){L_(this)};var Nk;D(Us,"StreamImpl",26),M(1102,499,uh,pZt),l.Bd=function(e){for(;zdn(this);){if(this.a.Bd(e))return!0;L_(this.b),this.b=null,this.a=null}return!1},D(Us,"StreamImpl/1",1102),M(1103,1,rr,x0),l.Cd=function(e){gcn(this.a,u(e,848))},D(Us,"StreamImpl/1/lambda$0$Type",1103),M(1104,1,Kr,AC),l.Mb=function(e){return qs(this.a,e)},D(Us,"StreamImpl/1methodref$add$Type",1104),M(1105,499,uh,Yee),l.Bd=function(e){var n;return this.a||(n=new ge,this.b.a.Nb(new P2(n)),wn(),Ms(n,this.c),this.a=new gn(n,16)),Iae(this.a,e)},l.a=null,D(Us,"StreamImpl/5",1105),M(1106,1,rr,P2),l.Cd=function(e){pe(this.a,e)},D(Us,"StreamImpl/5/2methodref$add$Type",1106),M(737,499,uh,$3t),l.Bd=function(e){for(this.b=!1;!this.b&&this.c.Bd(new OYt(this,e)););return this.b},l.b=!1,D(Us,"StreamImpl/FilterSpliterator",737),M(1096,1,rr,OYt),l.Cd=function(e){lun(this.a,this.b,e)},D(Us,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),M(1091,736,uh,zie),l.Re=function(e){return Vsn(this,u(e,189))},D(Us,"StreamImpl/MapToDoubleSpliterator",1091),M(1095,1,rr,PYt),l.Cd=function(e){grn(this.a,this.b,e)},D(Us,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),M(1090,735,uh,qie),l.Re=function(e){return Usn(this,u(e,202))},D(Us,"StreamImpl/MapToIntSpliterator",1090),M(1094,1,rr,NYt),l.Cd=function(e){prn(this.a,this.b,e)},D(Us,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),M(734,499,uh,C3t),l.Bd=function(e){return fZt(this,e)},D(Us,"StreamImpl/MapToObjSpliterator",734),M(1093,1,rr,FYt),l.Cd=function(e){brn(this.a,this.b,e)},D(Us,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),M(1092,499,uh,woe),l.Bd=function(e){for(;srt(this.b,0);){if(!this.a.Bd(new be))return!1;this.b=ef(this.b,1)}return this.a.Bd(e)},l.b=0,D(Us,"StreamImpl/SkipSpliterator",1092),M(1097,1,rr,be),l.Cd=function(e){},D(Us,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),M(626,1,rr,Qe),l.Cd=function(e){Uj(this,e)},D(Us,"StreamImpl/ValueConsumer",626),M(1098,1,rr,rn),l.Cd=function(e){j2()},D(Us,"StreamImpl/lambda$0$Type",1098),M(1099,1,rr,yn),l.Cd=function(e){j2()},D(Us,"StreamImpl/lambda$1$Type",1099),M(1100,1,{},Kj),l.Ve=function(e,n){return Ean(this.a,e,n)},D(Us,"StreamImpl/lambda$4$Type",1100),M(1101,1,rr,BYt),l.Cd=function(e){Lsn(this.b,this.a,e)},D(Us,"StreamImpl/lambda$5$Type",1101),M(1107,1,rr,knt),l.Cd=function(e){$gn(this.a,u(e,380))},D(Us,"TerminatableStream/lambda$0$Type",1107),M(2142,1,{}),M(2014,1,{},ja),D("javaemul.internal","ConsoleLogger",2014);var v_n=0;M(2134,1,{}),M(1830,1,rr,mo),l.Cd=function(e){u(e,317)},D(W7,"BowyerWatsonTriangulation/lambda$0$Type",1830),M(1831,1,rr,Ent),l.Cd=function(e){Aa(this.a,u(e,317).e)},D(W7,"BowyerWatsonTriangulation/lambda$1$Type",1831),M(1832,1,rr,vo),l.Cd=function(e){u(e,177)},D(W7,"BowyerWatsonTriangulation/lambda$2$Type",1832),M(1827,1,Xr,Tnt),l.Ne=function(e,n){return E1n(this.a,u(e,177),u(n,177))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(W7,"NaiveMinST/lambda$0$Type",1827),M(506,1,{},iE),D(W7,"NodeMicroLayout",506),M(177,1,{177:1},M6),l.Fb=function(e){var n;return At(e,177)?(n=u(e,177),Ic(this.a,n.a)&&Ic(this.b,n.b)||Ic(this.a,n.b)&&Ic(this.b,n.a)):!1},l.Hb=function(){return z4(this.a)+z4(this.b)};var y_n=D(W7,"TEdge",177);M(317,1,{317:1},Tkt),l.Fb=function(e){var n;return At(e,317)?(n=u(e,317),Eq(this,n.a)&&Eq(this,n.b)&&Eq(this,n.c)):!1},l.Hb=function(){return z4(this.a)+z4(this.b)+z4(this.c)},D(W7,"TTriangle",317),M(225,1,{225:1},Z$),D(W7,"Tree",225),M(1218,1,{},Pne),D(lbe,"Scanline",1218);var Yve=us(lbe,hbe);M(1758,1,{},Lae),D(F0,"CGraph",1758),M(316,1,{316:1},Bne),l.b=0,l.c=0,l.d=0,l.g=0,l.i=0,l.k=Vs,D(F0,"CGroup",316),M(830,1,{},I2t),D(F0,"CGroup/CGroupBuilder",830),M(60,1,{60:1},YJt),l.Ib=function(){var e;return this.j?Gr(this.j.Kb(this)):(gg(OU),OU.o+"@"+(e=km(this)>>>0,e.toString(16)))},l.f=0,l.i=Vs;var OU=D(F0,"CNode",60);M(829,1,{},O2t),D(F0,"CNode/CNodeBuilder",829);var Xve;M(1590,1,{},ma),l.ff=function(e,n){return 0},l.gf=function(e,n){return 0},D(F0,dbe,1590),M(1853,1,{},$a),l.cf=function(e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt;for(T=ns,s=new J(e.a.b);s.as.d.c||s.d.c==h.d.c&&s.d.b0?e+this.n.d+this.n.a:0},l.kf=function(){var e,n,r,s,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=E5t(this,wot(this,null,!0));else for(n=(_1(),ot(st(m3,1),te,237,0,[Tc,yu,Cc])),r=0,s=n.length;r0?o+this.n.b+this.n.c:0},l.lf=function(){var e,n,r,s,o;if(this.g)for(e=wot(this,null,!1),r=(_1(),ot(st(m3,1),te,237,0,[Tc,yu,Cc])),s=0,o=r.length;s0&&(s[0]+=this.d,r-=s[0]),s[2]>0&&(s[2]+=this.d,r-=s[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+e.d+(this.c.a-r)/2,s[1]=b.Math.max(s[1],r),x3t(this,yu,n.d+e.d+s[0]-(s[1]-r)/2,s)},l.b=null,l.d=0,l.e=!1,l.f=!1,l.g=!1;var Fht=0,PU=0;D(hw,"GridContainerCell",1538),M(470,22,{3:1,34:1,22:1,470:1},urt);var Xb,i0,Gf,aye=Cr(hw,"HorizontalLabelAlignment",470,Ir,Rhn,han),oye;M(314,217,{217:1,314:1},yne,Dae,dne),l.jf=function(){return tte(this)},l.kf=function(){return jvt(this)},l.a=0,l.c=!1;var x_n=D(hw,"LabelCell",314);M(252,336,{217:1,336:1,252:1},sS),l.jf=function(){return LO(this)},l.kf=function(){return MO(this)},l.lf=function(){sct(this)},l.mf=function(){act(this)},l.b=0,l.c=0,l.d=!1,D(hw,"StripContainerCell",252),M(1691,1,Kr,Ac),l.Mb=function(e){return hnn(u(e,217))},D(hw,"StripContainerCell/lambda$0$Type",1691),M(1692,1,{},pc),l.Ye=function(e){return u(e,217).kf()},D(hw,"StripContainerCell/lambda$1$Type",1692),M(1693,1,Kr,ka),l.Mb=function(e){return fnn(u(e,217))},D(hw,"StripContainerCell/lambda$2$Type",1693),M(1694,1,{},du),l.Ye=function(e){return u(e,217).jf()},D(hw,"StripContainerCell/lambda$3$Type",1694),M(471,22,{3:1,34:1,22:1,471:1},lrt);var Kf,Qb,D1,cye=Cr(hw,"VerticalLabelAlignment",471,Ir,Bhn,fan),uye;M(800,1,{},$kt),l.c=0,l.d=0,l.k=0,l.s=0,l.t=0,l.v=!1,l.w=0,l.D=!1,D(xV,"NodeContext",800),M(1536,1,Xr,ea),l.Ne=function(e,n){return fQt(u(e,64),u(n,64))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(xV,"NodeContext/0methodref$comparePortSides$Type",1536),M(1537,1,Xr,co),l.Ne=function(e,n){return zyn(u(e,117),u(n,117))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(xV,"NodeContext/1methodref$comparePortContexts$Type",1537),M(164,22,{3:1,34:1,22:1,164:1},Mh);var lye,hye,fye,dye,gye,pye,bye,wye,mye,vye,yye,xye,kye,Eye,Tye,Cye,_ye,Sye,Aye,Lye,Mye,Bht,Dye=Cr(xV,"NodeLabelLocation",164,Ir,Wat,dan),Iye;M(117,1,{117:1},y1e),l.a=!1,D(xV,"PortContext",117),M(1541,1,rr,bc),l.Cd=function(e){DWt(u(e,314))},D(sP,_be,1541),M(1542,1,Kr,oa),l.Mb=function(e){return!!u(e,117).c},D(sP,Sbe,1542),M(1543,1,rr,va),l.Cd=function(e){DWt(u(e,117).c)},D(sP,"LabelPlacer/lambda$2$Type",1543);var z9t;M(1540,1,rr,na),l.Cd=function(e){Ay(),Ven(u(e,117))},D(sP,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),M(801,1,rr,mvt),l.Cd=function(e){irn(this.b,this.c,this.a,u(e,187))},l.a=!1,l.c=!1,D(sP,"NodeLabelCellCreator/lambda$0$Type",801),M(1539,1,rr,sE),l.Cd=function(e){Ken(this.a,u(e,187))},D(sP,"PortContextCreator/lambda$0$Type",1539);var NU;M(1902,1,{},Xl),D(X7,"GreedyRectangleStripOverlapRemover",1902),M(1903,1,Xr,Hc),l.Ne=function(e,n){return Fin(u(e,226),u(n,226))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(X7,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),M(1849,1,{},tKt),l.a=5,l.e=0,D(X7,"RectangleStripOverlapRemover",1849),M(1850,1,Xr,Zw),l.Ne=function(e,n){return Bin(u(e,226),u(n,226))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(X7,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),M(1852,1,Xr,mh),l.Ne=function(e,n){return _un(u(e,226),u(n,226))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(X7,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),M(417,22,{3:1,34:1,22:1,417:1},A$);var DP,Rht,jht,IP,Oye=Cr(X7,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,Ir,Jfn,gan),Pye;M(226,1,{226:1},Cit),D(X7,"RectangleStripOverlapRemover/RectangleNode",226),M(1851,1,rr,vD),l.Cd=function(e){dmn(this.a,u(e,226))},D(X7,"RectangleStripOverlapRemover/lambda$1$Type",1851),M(1323,1,Xr,_d),l.Ne=function(e,n){return O7n(u(e,176),u(n,176))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Qd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),M(1326,1,{},b0),l.Kb=function(e){return u(e,334).a},D(Qd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),M(1327,1,Kr,Sd),l.Mb=function(e){return u(e,332).a},D(Qd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),M(1328,1,Kr,w0),l.Mb=function(e){return u(e,332).a},D(Qd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),M(1321,1,Xr,ag),l.Ne=function(e,n){return u8n(u(e,176),u(n,176))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Qd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),M(1324,1,{},Yi),l.Kb=function(e){return u(e,334).a},D(Qd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),M(781,1,Xr,cn),l.Ne=function(e,n){return Ugn(u(e,176),u(n,176))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Qd,"PolyominoCompactor/MinNumOfExtensionsComparator",781),M(1319,1,Xr,Dr),l.Ne=function(e,n){return Z0n(u(e,330),u(n,330))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Qd,"PolyominoCompactor/MinPerimeterComparator",1319),M(1320,1,Xr,Si),l.Ne=function(e,n){return Bwn(u(e,330),u(n,330))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Qd,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),M(1322,1,Xr,wc),l.Ne=function(e,n){return M8n(u(e,176),u(n,176))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Qd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),M(1325,1,{},Fc),l.Kb=function(e){return u(e,334).a},D(Qd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),M(782,1,{},Lwt),l.Ve=function(e,n){return Vfn(this,u(e,42),u(n,176))},D(Qd,"SuccessorCombination",782),M(649,1,{},vh),l.Ve=function(e,n){var r;return a5n((r=u(e,42),u(n,176),r))},D(Qd,"SuccessorJitter",649),M(648,1,{},Qc),l.Ve=function(e,n){var r;return G6n((r=u(e,42),u(n,176),r))},D(Qd,"SuccessorLineByLine",648),M(573,1,{},Wh),l.Ve=function(e,n){var r;return axn((r=u(e,42),u(n,176),r))},D(Qd,"SuccessorManhattan",573),M(1344,1,{},Ad),l.Ve=function(e,n){var r;return b6n((r=u(e,42),u(n,176),r))},D(Qd,"SuccessorMaxNormWindingInMathPosSense",1344),M(409,1,{},N2),l.Ve=function(e,n){return uyt(this,e,n)},l.c=!1,l.d=!1,l.e=!1,l.f=!1,D(Qd,"SuccessorQuadrantsGeneric",409),M(1345,1,{},ls),l.Kb=function(e){return u(e,334).a},D(Qd,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),M(332,22,{3:1,34:1,22:1,332:1},L$),l.a=!1;var OP,PP,NP,FP,Nye=Cr(EV,x8t,332,Ir,Xfn,pan),Fye;M(1317,1,{}),l.Ib=function(){var e,n,r,s,o,h;for(r=" ",e=fe(0),o=0;o=0?"b"+e+"["+vst(this.a)+"]":"b["+vst(this.a)+"]"):"b_"+km(this)},D(oP,"FBendpoint",250),M(289,137,{3:1,289:1,96:1,137:1},XJt),l.Ib=function(){return vst(this)},D(oP,"FEdge",289),M(235,137,{3:1,235:1,96:1,137:1},dq);var E_n=D(oP,"FGraph",235);M(453,309,{3:1,453:1,309:1,96:1,137:1},Jre),l.Ib=function(){return this.b==null||this.b.length==0?"l["+vst(this.a)+"]":"l_"+this.b},D(oP,"FLabel",453),M(153,309,{3:1,153:1,309:1,96:1,137:1},MQt),l.Ib=function(){return Xyt(this)},l.a=0,D(oP,"FNode",153),M(2100,1,{}),l.vf=function(e){vkt(this,e)},l.wf=function(){Zle(this)},l.d=0,D(M8t,"AbstractForceModel",2100),M(641,2100,{641:1},Xoe),l.uf=function(e,n){var r,s,o,h,d;return Sge(this.f,e,n),o=ra(Ma(n.d),e.d),d=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,d-A_(e.e)/2-A_(n.e)/2),r=u1e(this.e,e,n),r>0?h=-Eun(s,this.c)*r:h=Jin(s,this.b)*u(K(e,(Vf(),Fk)),17).a,Rd(o,h/d),o},l.vf=function(e){vkt(this,e),this.a=u(K(e,(Vf(),zU)),17).a,this.c=Rt(Ht(K(e,qU))),this.b=Rt(Ht(K(e,Ght)))},l.xf=function(e){return e0&&(h-=onn(s,this.a)*r),Rd(o,h*this.b/d),o},l.vf=function(e){var n,r,s,o,h,d,m;for(vkt(this,e),this.b=Rt(Ht(K(e,(Vf(),Kht)))),this.c=this.b/u(K(e,zU),17).a,s=e.e.c.length,h=0,o=0,m=new J(e.e);m.a0},l.a=0,l.b=0,l.c=0,D(M8t,"FruchtermanReingoldModel",642),M(860,1,af,kj),l.hf=function(e){Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,_V),""),"Force Model"),"Determines the model for force calculation."),X9t),(Pp(),rs)),Q9t),Ze((A1(),_n))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,D8t),""),"Iterations"),"The number of iterations on the force model."),fe(300)),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,I8t),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),fe(0)),ic),Na),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Cut),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Jd),Ga),zs),Ze(_n)))),Bs(e,Cut,_V,n3e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,_ut),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Ga),zs),Ze(_n)))),Bs(e,_ut,_V,Zye),ppe((new l6,e))};var Xye,Qye,X9t,Jye,Zye,t3e,e3e,n3e;D(BS,"ForceMetaDataProvider",860),M(432,22,{3:1,34:1,22:1,432:1},Dwt);var Uht,$U,Q9t=Cr(BS,"ForceModelStrategy",432,Ir,Vln,man),r3e;M(Fp,1,af,l6),l.hf=function(e){ppe(e)};var i3e,s3e,J9t,zU,Z9t,a3e,o3e,c3e,u3e,tCt,l3e,eCt,nCt,h3e,Fk,f3e,Ght,rCt,d3e,g3e,qU,Kht,p3e,b3e,w3e,iCt,m3e;D(BS,"ForceOptions",Fp),M(1001,1,{},Md),l.sf=function(){var e;return e=new D2t,e},l.tf=function(e){},D(BS,"ForceOptions/ForceFactory",1001);var jP,gA,Bk,HU;M(861,1,af,rm),l.hf=function(e){Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,P8t),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Nn(),!1)),(Pp(),aa)),Es),Ze((A1(),Js))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,N8t),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Ga),zs),Gi(_n,ot(st(H0,1),te,170,0,[c0]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,F8t),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),sCt),rs),fCt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,B8t),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Jd),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,R8t),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),fe(ki)),ic),Na),Ze(_n)))),Hge((new J8,e))};var v3e,y3e,sCt,x3e,k3e,E3e;D(BS,"StressMetaDataProvider",861),M(1004,1,af,J8),l.hf=function(e){Hge(e)};var VU,aCt,oCt,cCt,uCt,lCt,T3e,C3e,_3e,S3e,hCt,A3e;D(BS,"StressOptions",1004),M(1005,1,{},q1),l.sf=function(){var e;return e=new QJt,e},l.tf=function(e){},D(BS,"StressOptions/StressFactory",1005),M(1110,205,fw,QJt),l.rf=function(e,n){var r,s,o,h,d;for(n.Ug($be,1),Ie(De(ne(e,(mO(),uCt))))?Ie(De(ne(e,hCt)))||tq((r=new iE((xy(),new my(e))),r)):ade(new D2t,e,n.eh(1)),o=yce(e),s=J0e(this.a,o),d=s.Kc();d.Ob();)h=u(d.Pb(),235),!(h.e.c.length<=1)&&(M7n(this.b,h),exn(this.b),Tu(h.d,new Ld));o=fpe(s),kpe(o),n.Vg()},D(LV,"StressLayoutProvider",1110),M(1111,1,rr,Ld),l.Cd=function(e){Skt(u(e,453))},D(LV,"StressLayoutProvider/lambda$0$Type",1111),M(1002,1,{},YGt),l.c=0,l.e=0,l.g=0,D(LV,"StressMajorization",1002),M(391,22,{3:1,34:1,22:1,391:1},hrt);var Wht,Yht,Xht,fCt=Cr(LV,"StressMajorization/Dimension",391,Ir,$hn,van),L3e;M(1003,1,Xr,xD),l.Ne=function(e,n){return Ksn(this.a,u(e,153),u(n,153))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(LV,"StressMajorization/lambda$0$Type",1003),M(1192,1,{},rre),D(Mk,"ElkLayered",1192),M(1193,1,rr,Yj),l.Cd=function(e){M4n(this.a,u(e,36))},D(Mk,"ElkLayered/lambda$0$Type",1193),M(1194,1,rr,aE),l.Cd=function(e){Wsn(this.a,u(e,36))},D(Mk,"ElkLayered/lambda$1$Type",1194),M(1281,1,{},$Qt);var M3e,D3e,I3e;D(Mk,"GraphConfigurator",1281),M(770,1,rr,cp),l.Cd=function(e){ffe(this.a,u(e,10))},D(Mk,"GraphConfigurator/lambda$0$Type",770),M(771,1,{},d4),l.Kb=function(e){return wxt(),new ln(null,new gn(u(e,30).a,16))},D(Mk,"GraphConfigurator/lambda$1$Type",771),M(772,1,rr,Xj),l.Cd=function(e){ffe(this.a,u(e,10))},D(Mk,"GraphConfigurator/lambda$2$Type",772),M(1109,205,fw,eKt),l.rf=function(e,n){var r;r=l7n(new rKt,e),$t(ne(e,(Me(),A3)))===$t((Cg(),Wp))?qbn(this.a,r,n):Q5n(this.a,r,n),n.$g()||spe(new Ej,r)},D(Mk,"LayeredLayoutProvider",1109),M(367,22,{3:1,34:1,22:1,367:1},FD);var Wf,$0,Yc,ou,Qo,dCt=Cr(Mk,"LayeredPhases",367,Ir,V1n,yan),O3e;M(1717,1,{},goe),l.i=0;var P3e;D(dP,"ComponentsToCGraphTransformer",1717);var N3e;M(1718,1,{},A2),l.yf=function(e,n){return b.Math.min(e.a!=null?Rt(e.a):e.c.i,n.a!=null?Rt(n.a):n.c.i)},l.zf=function(e,n){return b.Math.min(e.a!=null?Rt(e.a):e.c.i,n.a!=null?Rt(n.a):n.c.i)},D(dP,"ComponentsToCGraphTransformer/1",1718),M(86,1,{86:1}),l.i=0,l.k=!0,l.o=Vs;var Qht=D(zS,"CNode",86);M(469,86,{469:1,86:1},Nmt,U5t),l.Ib=function(){return""},D(dP,"ComponentsToCGraphTransformer/CRectNode",469),M(1688,1,{},L8);var Jht,Zht;D(dP,"OneDimensionalComponentsCompaction",1688),M(1689,1,{},tm),l.Kb=function(e){return Dhn(u(e,42))},l.Fb=function(e){return this===e},D(dP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),M(1690,1,{},Hx),l.Kb=function(e){return Vbn(u(e,42))},l.Fb=function(e){return this===e},D(dP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),M(1720,1,{},lee),D(zS,"CGraph",1720),M(194,1,{194:1},Uat),l.b=0,l.c=0,l.e=0,l.g=!0,l.i=Vs,D(zS,"CGroup",194),M(1719,1,{},cb),l.yf=function(e,n){return b.Math.max(e.a!=null?Rt(e.a):e.c.i,n.a!=null?Rt(n.a):n.c.i)},l.zf=function(e,n){return b.Math.max(e.a!=null?Rt(e.a):e.c.i,n.a!=null?Rt(n.a):n.c.i)},D(zS,dbe,1719),M(1721,1,{},h1e),l.d=!1;var F3e,tft=D(zS,bbe,1721);M(1722,1,{},Vx),l.Kb=function(e){return mwt(),Nn(),u(u(e,42).a,86).d.e!=0},l.Fb=function(e){return this===e},D(zS,wbe,1722),M(833,1,{},Gvt),l.a=!1,l.b=!1,l.c=!1,l.d=!1,D(zS,mbe,833),M(1898,1,{},_te),D(MV,vbe,1898);var $P=us(gw,hbe);M(1899,1,{382:1},ane),l.bf=function(e){skn(this,u(e,475))},D(MV,ybe,1899),M(Hb,1,Xr,g4),l.Ne=function(e,n){return gln(u(e,86),u(n,86))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(MV,xbe,Hb),M(475,1,{475:1},Owt),l.a=!1,D(MV,kbe,475),M(1901,1,Xr,sy),l.Ne=function(e,n){return pvn(u(e,475),u(n,475))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(MV,Ebe,1901),M(148,1,{148:1},vE,Lvt),l.Fb=function(e){var n;return e==null||T_n!=Gl(e)?!1:(n=u(e,148),Ic(this.c,n.c)&&Ic(this.d,n.d))},l.Hb=function(){return iO(ot(st(sa,1),Ln,1,5,[this.c,this.d]))},l.Ib=function(){return"("+this.c+ro+this.d+(this.a?"cx":"")+this.b+")"},l.a=!0,l.c=0,l.d=0;var T_n=D(gw,"Point",148);M(416,22,{3:1,34:1,22:1,416:1},D$);var pv,v3,O5,y3,B3e=Cr(gw,"Point/Quadrant",416,Ir,Zfn,xan),R3e;M(1708,1,{},ZGt),l.b=null,l.c=null,l.d=null,l.e=null,l.f=null;var j3e,$3e,z3e,q3e,H3e;D(gw,"RectilinearConvexHull",1708),M(583,1,{382:1},kH),l.bf=function(e){Hdn(this,u(e,148))},l.b=0;var gCt;D(gw,"RectilinearConvexHull/MaximalElementsEventHandler",583),M(1710,1,Xr,ip),l.Ne=function(e,n){return pln(Ht(e),Ht(n))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(gw,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),M(1709,1,{382:1},Mae),l.bf=function(e){y6n(this,u(e,148))},l.a=0,l.b=null,l.c=null,l.d=null,l.e=null,D(gw,"RectilinearConvexHull/RectangleEventHandler",1709),M(1711,1,Xr,LM),l.Ne=function(e,n){return Efn(u(e,148),u(n,148))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(gw,"RectilinearConvexHull/lambda$0$Type",1711),M(1712,1,Xr,PX),l.Ne=function(e,n){return Tfn(u(e,148),u(n,148))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(gw,"RectilinearConvexHull/lambda$1$Type",1712),M(1713,1,Xr,L2),l.Ne=function(e,n){return kfn(u(e,148),u(n,148))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(gw,"RectilinearConvexHull/lambda$2$Type",1713),M(1714,1,Xr,Vc),l.Ne=function(e,n){return Cfn(u(e,148),u(n,148))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(gw,"RectilinearConvexHull/lambda$3$Type",1714),M(1715,1,Xr,NX),l.Ne=function(e,n){return n3n(u(e,148),u(n,148))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(gw,"RectilinearConvexHull/lambda$4$Type",1715),M(1716,1,{},Nne),D(gw,"Scanline",1716),M(2104,1,{}),D(ud,"AbstractGraphPlacer",2104),M(335,1,{335:1},kJt),l.Ff=function(e){return this.Gf(e)?(dn(this.b,u(K(e,(ae(),Bg)),21),e),!0):!1},l.Gf=function(e){var n,r,s,o;for(n=u(K(e,(ae(),Bg)),21),o=u(Mi($i,n),21),s=o.Kc();s.Ob();)if(r=u(s.Pb(),21),!u(Mi(this.b,r),15).dc())return!1;return!0};var $i;D(ud,"ComponentGroup",335),M(779,2104,{},P2t),l.Hf=function(e){var n,r;for(r=new J(this.a);r.ar&&(A=0,N+=m+s,m=0),k=h.c,P7(h,A+k.a,N+k.b),y1(k),o=b.Math.max(o,A+T.a),m=b.Math.max(m,T.b),A+=T.a+s;n.f.a=o,n.f.b=N+m},l.Jf=function(e,n){var r,s,o,h,d;if($t(K(n,(Me(),S3)))===$t((iw(),x3))){for(s=e.Kc();s.Ob();){for(r=u(s.Pb(),36),d=0,h=new J(r.a);h.ar&&!u(K(h,(ae(),Bg)),21).Hc((ve(),Hn))||k&&u(K(k,(ae(),Bg)),21).Hc((ve(),Jn))||u(K(h,(ae(),Bg)),21).Hc((ve(),Gn)))&&(j=N,U+=m+s,m=0),T=h.c,u(K(h,(ae(),Bg)),21).Hc((ve(),Hn))&&(j=o+s),P7(h,j+T.a,U+T.b),o=b.Math.max(o,j+A.a),u(K(h,Bg),21).Hc(vr)&&(N=b.Math.max(N,j+A.a+s)),y1(T),m=b.Math.max(m,A.b),j+=A.a+s,k=h;n.f.a=o,n.f.b=U+m},l.Jf=function(e,n){},D(ud,"ModelOrderRowGraphPlacer",1313),M(1311,1,Xr,EB),l.Ne=function(e,n){return qgn(u(e,36),u(n,36))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(ud,"SimpleRowGraphPlacer/1",1311);var U3e;M(1280,1,Xd,f1),l.Lb=function(e){var n;return n=u(K(u(e,249).b,(Me(),qo)),75),!!n&&n.b!=0},l.Fb=function(e){return this===e},l.Mb=function(e){var n;return n=u(K(u(e,249).b,(Me(),qo)),75),!!n&&n.b!=0},D(DV,"CompoundGraphPostprocessor/1",1280),M(1279,1,Vi,iKt),l.Kf=function(e,n){Ole(this,u(e,36),n)},D(DV,"CompoundGraphPreprocessor",1279),M(452,1,{452:1},Eue),l.c=!1,D(DV,"CompoundGraphPreprocessor/ExternalPort",452),M(249,1,{249:1},fz),l.Ib=function(){return tit(this.c)+":"+s1e(this.b)},D(DV,"CrossHierarchyEdge",249),M(777,1,Xr,w2t),l.Ne=function(e,n){return Hmn(this,u(e,249),u(n,249))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(DV,"CrossHierarchyEdgeComparator",777),M(304,137,{3:1,304:1,96:1,137:1}),l.p=0,D(su,"LGraphElement",304),M(18,304,{3:1,18:1,304:1,96:1,137:1},Pm),l.Ib=function(){return s1e(this)};var rft=D(su,"LEdge",18);M(36,304,{3:1,20:1,36:1,304:1,96:1,137:1},o4t),l.Jc=function(e){Oa(this,e)},l.Kc=function(){return new J(this.b)},l.Ib=function(){return this.b.c.length==0?"G-unlayered"+Rb(this.a):this.a.c.length==0?"G-layered"+Rb(this.b):"G[layerless"+Rb(this.a)+", layers"+Rb(this.b)+"]"};var G3e=D(su,"LGraph",36),K3e;M(666,1,{}),l.Lf=function(){return this.e.n},l.of=function(e){return K(this.e,e)},l.Mf=function(){return this.e.o},l.Nf=function(){return this.e.p},l.pf=function(e){return Ui(this.e,e)},l.Of=function(e){this.e.n.a=e.a,this.e.n.b=e.b},l.Pf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},l.Qf=function(e){this.e.p=e},D(su,"LGraphAdapters/AbstractLShapeAdapter",666),M(473,1,{853:1},MC),l.Rf=function(){var e,n;if(!this.b)for(this.b=k0(this.a.b.c.length),n=new J(this.a.b);n.a0&&tue((qn(n-1,e.length),e.charCodeAt(n-1)),Gbe);)--n;if(h> ",e),IH(r)),ni(Zc((e.a+="[",e),r.i),"]")),e.a},l.c=!0,l.d=!1;var vCt,yCt,xCt,kCt,ECt,TCt,Y3e=D(su,"LPort",12);M(408,1,O0,oE),l.Jc=function(e){Oa(this,e)},l.Kc=function(){var e;return e=new J(this.a.e),new JHt(e)},D(su,"LPort/1",408),M(1309,1,ba,JHt),l.Nb=function(e){Da(this,e)},l.Pb=function(){return u(et(this.a),18).c},l.Ob=function(){return cc(this.a)},l.Qb=function(){C_(this.a)},D(su,"LPort/1/1",1309),M(369,1,O0,v6),l.Jc=function(e){Oa(this,e)},l.Kc=function(){var e;return e=new J(this.a.g),new m2t(e)},D(su,"LPort/2",369),M(776,1,ba,m2t),l.Nb=function(e){Da(this,e)},l.Pb=function(){return u(et(this.a),18).d},l.Ob=function(){return cc(this.a)},l.Qb=function(){C_(this.a)},D(su,"LPort/2/1",776),M(1302,1,O0,zYt),l.Jc=function(e){Oa(this,e)},l.Kc=function(){return new Z1(this)},D(su,"LPort/CombineIter",1302),M(208,1,ba,Z1),l.Nb=function(e){Da(this,e)},l.Qb=function(){vWt()},l.Ob=function(){return g_(this)},l.Pb=function(){return cc(this.a)?et(this.a):et(this.b)},D(su,"LPort/CombineIter/1",208),M(1303,1,Xd,ub),l.Lb=function(e){return $te(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return nl(),u(e,12).g.c.length!=0},D(su,"LPort/lambda$0$Type",1303),M(1304,1,Xd,oy),l.Lb=function(e){return zte(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return nl(),u(e,12).e.c.length!=0},D(su,"LPort/lambda$1$Type",1304),M(1305,1,Xd,BX),l.Lb=function(e){return nl(),u(e,12).j==(ve(),Hn)},l.Fb=function(e){return this===e},l.Mb=function(e){return nl(),u(e,12).j==(ve(),Hn)},D(su,"LPort/lambda$2$Type",1305),M(1306,1,Xd,M2),l.Lb=function(e){return nl(),u(e,12).j==(ve(),Jn)},l.Fb=function(e){return this===e},l.Mb=function(e){return nl(),u(e,12).j==(ve(),Jn)},D(su,"LPort/lambda$3$Type",1306),M(1307,1,Xd,RX),l.Lb=function(e){return nl(),u(e,12).j==(ve(),vr)},l.Fb=function(e){return this===e},l.Mb=function(e){return nl(),u(e,12).j==(ve(),vr)},D(su,"LPort/lambda$4$Type",1307),M(1308,1,Xd,jX),l.Lb=function(e){return nl(),u(e,12).j==(ve(),Gn)},l.Fb=function(e){return this===e},l.Mb=function(e){return nl(),u(e,12).j==(ve(),Gn)},D(su,"LPort/lambda$5$Type",1308),M(30,304,{3:1,20:1,304:1,30:1,96:1,137:1},tu),l.Jc=function(e){Oa(this,e)},l.Kc=function(){return new J(this.a)},l.Ib=function(){return"L_"+Wo(this.b.b,this,0)+Rb(this.a)},D(su,"Layer",30),M(1330,1,{},rKt),D(Rp,Xbe,1330),M(1334,1,{},Ux),l.Kb=function(e){return Xo(u(e,84))},D(Rp,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),M(1337,1,{},H9),l.Kb=function(e){return Xo(u(e,84))},D(Rp,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),M(1331,1,rr,ZHt),l.Cd=function(e){k1e(this.a,u(e,123))},D(Rp,L8t,1331),M(1332,1,rr,tVt),l.Cd=function(e){k1e(this.a,u(e,123))},D(Rp,Qbe,1332),M(1333,1,{},CB),l.Kb=function(e){return new ln(null,new gn(Ayt(u(e,74)),16))},D(Rp,Jbe,1333),M(1335,1,Kr,eVt),l.Mb=function(e){return Grn(this.a,u(e,27))},D(Rp,Zbe,1335),M(1336,1,{},M8),l.Kb=function(e){return new ln(null,new gn(uln(u(e,74)),16))},D(Rp,"ElkGraphImporter/lambda$5$Type",1336),M(1338,1,Kr,nVt),l.Mb=function(e){return Krn(this.a,u(e,27))},D(Rp,"ElkGraphImporter/lambda$7$Type",1338),M(1339,1,Kr,$X),l.Mb=function(e){return Eln(u(e,74))},D(Rp,"ElkGraphImporter/lambda$8$Type",1339),M(1297,1,{},Ej);var X3e;D(Rp,"ElkGraphLayoutTransferrer",1297),M(1298,1,Kr,rVt),l.Mb=function(e){return Nsn(this.a,u(e,18))},D(Rp,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),M(1299,1,rr,iVt),l.Cd=function(e){PD(),pe(this.a,u(e,18))},D(Rp,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),M(1300,1,Kr,sVt),l.Mb=function(e){return ysn(this.a,u(e,18))},D(Rp,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),M(1301,1,rr,aVt),l.Cd=function(e){PD(),pe(this.a,u(e,18))},D(Rp,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),M(819,1,{},ivt),D(Yn,"BiLinkedHashMultiMap",819),M(1550,1,Vi,D8),l.Kf=function(e,n){cgn(u(e,36),n)},D(Yn,"CommentNodeMarginCalculator",1550),M(1551,1,{},zX),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"CommentNodeMarginCalculator/lambda$0$Type",1551),M(1552,1,rr,qX),l.Cd=function(e){c7n(u(e,10))},D(Yn,"CommentNodeMarginCalculator/lambda$1$Type",1552),M(1553,1,Vi,HX),l.Kf=function(e,n){fkn(u(e,36),n)},D(Yn,"CommentPostprocessor",1553),M(1554,1,Vi,VX),l.Kf=function(e,n){P9n(u(e,36),n)},D(Yn,"CommentPreprocessor",1554),M(1555,1,Vi,UX),l.Kf=function(e,n){L6n(u(e,36),n)},D(Yn,"ConstraintsPostprocessor",1555),M(1556,1,Vi,GX),l.Kf=function(e,n){Fgn(u(e,36),n)},D(Yn,"EdgeAndLayerConstraintEdgeReverser",1556),M(1557,1,Vi,KX),l.Kf=function(e,n){_2n(u(e,36),n)},D(Yn,"EndLabelPostprocessor",1557),M(1558,1,{},WX),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"EndLabelPostprocessor/lambda$0$Type",1558),M(1559,1,Kr,YX),l.Mb=function(e){return z1n(u(e,10))},D(Yn,"EndLabelPostprocessor/lambda$1$Type",1559),M(1560,1,rr,XX),l.Cd=function(e){bvn(u(e,10))},D(Yn,"EndLabelPostprocessor/lambda$2$Type",1560),M(1561,1,Vi,QX),l.Kf=function(e,n){i4n(u(e,36),n)},D(Yn,"EndLabelPreprocessor",1561),M(1562,1,{},MM),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"EndLabelPreprocessor/lambda$0$Type",1562),M(1563,1,rr,AZt),l.Cd=function(e){srn(this.a,this.b,this.c,u(e,10))},l.a=0,l.b=0,l.c=!1,D(Yn,"EndLabelPreprocessor/lambda$1$Type",1563),M(1564,1,Kr,JX),l.Mb=function(e){return $t(K(u(e,72),(Me(),a0)))===$t((nd(),VT))},D(Yn,"EndLabelPreprocessor/lambda$2$Type",1564),M(1565,1,rr,oVt),l.Cd=function(e){Zr(this.a,u(e,72))},D(Yn,"EndLabelPreprocessor/lambda$3$Type",1565),M(1566,1,Kr,ZX),l.Mb=function(e){return $t(K(u(e,72),(Me(),a0)))===$t((nd(),$3))},D(Yn,"EndLabelPreprocessor/lambda$4$Type",1566),M(1567,1,rr,cVt),l.Cd=function(e){Zr(this.a,u(e,72))},D(Yn,"EndLabelPreprocessor/lambda$5$Type",1567),M(1615,1,Vi,yj),l.Kf=function(e,n){Cbn(u(e,36),n)};var Q3e;D(Yn,"EndLabelSorter",1615),M(1616,1,Xr,V9),l.Ne=function(e,n){return iwn(u(e,465),u(n,465))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"EndLabelSorter/1",1616),M(465,1,{465:1},tne),D(Yn,"EndLabelSorter/LabelGroup",465),M(1617,1,{},_B),l.Kb=function(e){return OD(),new ln(null,new gn(u(e,30).a,16))},D(Yn,"EndLabelSorter/lambda$0$Type",1617),M(1618,1,Kr,Gx),l.Mb=function(e){return OD(),u(e,10).k==(Un(),Ts)},D(Yn,"EndLabelSorter/lambda$1$Type",1618),M(1619,1,rr,tQ),l.Cd=function(e){m3n(u(e,10))},D(Yn,"EndLabelSorter/lambda$2$Type",1619),M(1620,1,Kr,eQ),l.Mb=function(e){return OD(),$t(K(u(e,72),(Me(),a0)))===$t((nd(),$3))},D(Yn,"EndLabelSorter/lambda$3$Type",1620),M(1621,1,Kr,nQ),l.Mb=function(e){return OD(),$t(K(u(e,72),(Me(),a0)))===$t((nd(),VT))},D(Yn,"EndLabelSorter/lambda$4$Type",1621),M(1568,1,Vi,rQ),l.Kf=function(e,n){E7n(this,u(e,36))},l.b=0,l.c=0,D(Yn,"FinalSplineBendpointsCalculator",1568),M(1569,1,{},iQ),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),M(1570,1,{},U9),l.Kb=function(e){return new ln(null,new Am(new nr(ir(As(u(e,10)).a.Kc(),new q))))},D(Yn,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),M(1571,1,Kr,DM),l.Mb=function(e){return!ho(u(e,18))},D(Yn,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),M(1572,1,Kr,SB),l.Mb=function(e){return Ui(u(e,18),(ae(),Ew))},D(Yn,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),M(1573,1,rr,uVt),l.Cd=function(e){I8n(this.a,u(e,131))},D(Yn,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),M(1574,1,rr,p4),l.Cd=function(e){_O(u(e,18).a)},D(Yn,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),M(803,1,Vi,v2t),l.Kf=function(e,n){bTn(this,u(e,36),n)},D(Yn,"GraphTransformer",803),M(517,22,{3:1,34:1,22:1,517:1},Iwt);var sft,zP,J3e=Cr(Yn,"GraphTransformer/Mode",517,Ir,Uln,_on),Z3e;M(1575,1,Vi,b4),l.Kf=function(e,n){Rxn(u(e,36),n)},D(Yn,"HierarchicalNodeResizingProcessor",1575),M(1576,1,Vi,sQ),l.Kf=function(e,n){rgn(u(e,36),n)},D(Yn,"HierarchicalPortConstraintProcessor",1576),M(1577,1,Xr,_f),l.Ne=function(e,n){return Cwn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"HierarchicalPortConstraintProcessor/NodeComparator",1577),M(1578,1,Vi,Kx),l.Kf=function(e,n){_En(u(e,36),n)},D(Yn,"HierarchicalPortDummySizeProcessor",1578),M(1579,1,Vi,aQ),l.Kf=function(e,n){Fkn(this,u(e,36),n)},l.a=0,D(Yn,"HierarchicalPortOrthogonalEdgeRouter",1579),M(1580,1,Xr,I8),l.Ne=function(e,n){return Rin(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"HierarchicalPortOrthogonalEdgeRouter/1",1580),M(1581,1,Xr,m0),l.Ne=function(e,n){return Vdn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"HierarchicalPortOrthogonalEdgeRouter/2",1581),M(1582,1,Vi,oQ),l.Kf=function(e,n){Zyn(u(e,36),n)},D(Yn,"HierarchicalPortPositionProcessor",1582),M(1583,1,Vi,Ret),l.Kf=function(e,n){pCn(this,u(e,36))},l.a=0,l.c=0;var UU,GU;D(Yn,"HighDegreeNodeLayeringProcessor",1583),M(580,1,{580:1},cQ),l.b=-1,l.d=-1,D(Yn,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),M(1584,1,{},uQ),l.Kb=function(e){return cI(),ca(u(e,10))},l.Fb=function(e){return this===e},D(Yn,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),M(1585,1,{},lQ),l.Kb=function(e){return cI(),As(u(e,10))},l.Fb=function(e){return this===e},D(Yn,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),M(1591,1,Vi,G9),l.Kf=function(e,n){mEn(this,u(e,36),n)},D(Yn,"HyperedgeDummyMerger",1591),M(804,1,{},vvt),l.a=!1,l.b=!1,l.c=!1,D(Yn,"HyperedgeDummyMerger/MergeState",804),M(1592,1,{},IM),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"HyperedgeDummyMerger/lambda$0$Type",1592),M(1593,1,{},AB),l.Kb=function(e){return new ln(null,new gn(u(e,10).j,16))},D(Yn,"HyperedgeDummyMerger/lambda$1$Type",1593),M(1594,1,rr,OM),l.Cd=function(e){u(e,12).p=-1},D(Yn,"HyperedgeDummyMerger/lambda$2$Type",1594),M(1595,1,Vi,Wx),l.Kf=function(e,n){bEn(u(e,36),n)},D(Yn,"HypernodesProcessor",1595),M(1596,1,Vi,hQ),l.Kf=function(e,n){CEn(u(e,36),n)},D(Yn,"InLayerConstraintProcessor",1596),M(1597,1,Vi,LB),l.Kf=function(e,n){mgn(u(e,36),n)},D(Yn,"InnermostNodeMarginCalculator",1597),M(1598,1,Vi,MB),l.Kf=function(e,n){M9n(this,u(e,36))},l.a=Vs,l.b=Vs,l.c=ns,l.d=ns;var C_n=D(Yn,"InteractiveExternalPortPositioner",1598);M(1599,1,{},fQ),l.Kb=function(e){return u(e,18).d.i},l.Fb=function(e){return this===e},D(Yn,"InteractiveExternalPortPositioner/lambda$0$Type",1599),M(1600,1,{},lVt),l.Kb=function(e){return jin(this.a,Ht(e))},l.Fb=function(e){return this===e},D(Yn,"InteractiveExternalPortPositioner/lambda$1$Type",1600),M(1601,1,{},dQ),l.Kb=function(e){return u(e,18).c.i},l.Fb=function(e){return this===e},D(Yn,"InteractiveExternalPortPositioner/lambda$2$Type",1601),M(1602,1,{},hVt),l.Kb=function(e){return $in(this.a,Ht(e))},l.Fb=function(e){return this===e},D(Yn,"InteractiveExternalPortPositioner/lambda$3$Type",1602),M(1603,1,{},fVt),l.Kb=function(e){return Bsn(this.a,Ht(e))},l.Fb=function(e){return this===e},D(Yn,"InteractiveExternalPortPositioner/lambda$4$Type",1603),M(1604,1,{},dVt),l.Kb=function(e){return Rsn(this.a,Ht(e))},l.Fb=function(e){return this===e},D(Yn,"InteractiveExternalPortPositioner/lambda$5$Type",1604),M(81,22,{3:1,34:1,22:1,81:1,196:1},Ps),l.dg=function(){switch(this.g){case 15:return new CJ;case 22:return new _J;case 47:return new LJ;case 28:case 35:return new w4;case 32:return new D8;case 42:return new HX;case 1:return new VX;case 41:return new UX;case 56:return new v2t((t7(),zP));case 0:return new v2t((t7(),sft));case 2:return new GX;case 54:return new KX;case 33:return new QX;case 51:return new rQ;case 55:return new b4;case 13:return new sQ;case 38:return new Kx;case 44:return new aQ;case 40:return new oQ;case 9:return new Ret;case 49:return new dJt;case 37:return new G9;case 43:return new Wx;case 27:return new hQ;case 30:return new LB;case 3:return new MB;case 18:return new pQ;case 29:return new bQ;case 5:return new Tj;case 50:return new gQ;case 34:return new h6;case 36:return new O8;case 52:return new yj;case 11:return new PM;case 7:return new fD;case 39:return new cy;case 45:return new P8;case 16:return new yQ;case 10:return new sXt;case 48:return new NM;case 21:return new N8;case 23:return new qnt((qm(),NA));case 8:return new PB;case 12:return new BM;case 4:return new kQ;case 19:return new dD;case 17:return new SQ;case 53:return new AQ;case 6:return new zB;case 25:return new aKt;case 46:return new IQ;case 31:return new eZt;case 14:return new jM;case 26:return new IJ;case 20:return new $Q;case 24:return new qnt((qm(),XG));default:throw nt(new zn(Dut+(this.f!=null?this.f:""+this.g)))}};var CCt,_Ct,SCt,ACt,LCt,MCt,DCt,ICt,OCt,PCt,P5,KU,WU,NCt,FCt,BCt,RCt,jCt,$Ct,zCt,pA,qCt,HCt,VCt,UCt,GCt,aft,YU,XU,KCt,QU,JU,ZU,bT,k3,E3,WCt,tG,eG,YCt,nG,rG,XCt,QCt,JCt,ZCt,iG,oft,qP,sG,aG,oG,cG,t_t,e_t,n_t,r_t,__n=Cr(Yn,Iut,81,Ir,pde,Can),t4e;M(1605,1,Vi,pQ),l.Kf=function(e,n){A9n(u(e,36),n)},D(Yn,"InvertedPortProcessor",1605),M(1606,1,Vi,bQ),l.Kf=function(e,n){T8n(u(e,36),n)},D(Yn,"LabelAndNodeSizeProcessor",1606),M(1607,1,Kr,wQ),l.Mb=function(e){return u(e,10).k==(Un(),Ts)},D(Yn,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),M(1608,1,Kr,v0),l.Mb=function(e){return u(e,10).k==(Un(),Ds)},D(Yn,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),M(1609,1,rr,LZt),l.Cd=function(e){arn(this.b,this.a,this.c,u(e,10))},l.a=!1,l.c=!1,D(Yn,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),M(1610,1,Vi,Tj),l.Kf=function(e,n){t9n(u(e,36),n)};var e4e;D(Yn,"LabelDummyInserter",1610),M(1611,1,Xd,em),l.Lb=function(e){return $t(K(u(e,72),(Me(),a0)))===$t((nd(),HT))},l.Fb=function(e){return this===e},l.Mb=function(e){return $t(K(u(e,72),(Me(),a0)))===$t((nd(),HT))},D(Yn,"LabelDummyInserter/1",1611),M(1612,1,Vi,gQ),l.Kf=function(e,n){qTn(u(e,36),n)},D(Yn,"LabelDummyRemover",1612),M(1613,1,Kr,mQ),l.Mb=function(e){return Ie(De(K(u(e,72),(Me(),Yft))))},D(Yn,"LabelDummyRemover/lambda$0$Type",1613),M(1378,1,Vi,h6),l.Kf=function(e,n){PTn(this,u(e,36),n)},l.a=null;var cft;D(Yn,"LabelDummySwitcher",1378),M(292,1,{292:1},g0e),l.c=0,l.d=null,l.f=0,D(Yn,"LabelDummySwitcher/LabelDummyInfo",292),M(1379,1,{},DB),l.Kb=function(e){return ik(),new ln(null,new gn(u(e,30).a,16))},D(Yn,"LabelDummySwitcher/lambda$0$Type",1379),M(1380,1,Kr,IB),l.Mb=function(e){return ik(),u(e,10).k==(Un(),qc)},D(Yn,"LabelDummySwitcher/lambda$1$Type",1380),M(1381,1,{},gVt),l.Kb=function(e){return xsn(this.a,u(e,10))},D(Yn,"LabelDummySwitcher/lambda$2$Type",1381),M(1382,1,rr,pVt),l.Cd=function(e){zun(this.a,u(e,292))},D(Yn,"LabelDummySwitcher/lambda$3$Type",1382),M(1383,1,Xr,vQ),l.Ne=function(e,n){return hun(u(e,292),u(n,292))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"LabelDummySwitcher/lambda$4$Type",1383),M(802,1,Vi,w4),l.Kf=function(e,n){Edn(u(e,36),n)},D(Yn,"LabelManagementProcessor",802),M(1614,1,Vi,O8),l.Kf=function(e,n){tkn(u(e,36),n)},D(Yn,"LabelSideSelector",1614),M(1622,1,Vi,PM),l.Kf=function(e,n){zEn(u(e,36),n)},D(Yn,"LayerConstraintPostprocessor",1622),M(1623,1,Vi,fD),l.Kf=function(e,n){F5n(u(e,36),n)};var i_t;D(Yn,"LayerConstraintPreprocessor",1623),M(371,22,{3:1,34:1,22:1,371:1},O$);var HP,uG,lG,uft,n4e=Cr(Yn,"LayerConstraintPreprocessor/HiddenNodeConnections",371,Ir,e1n,_an),r4e;M(1624,1,Vi,cy),l.Kf=function(e,n){iTn(u(e,36),n)},D(Yn,"LayerSizeAndGraphHeightCalculator",1624),M(1625,1,Vi,P8),l.Kf=function(e,n){jxn(u(e,36),n)},D(Yn,"LongEdgeJoiner",1625),M(1626,1,Vi,yQ),l.Kf=function(e,n){P7n(u(e,36),n)},D(Yn,"LongEdgeSplitter",1626),M(1627,1,Vi,sXt),l.Kf=function(e,n){p9n(this,u(e,36),n)},l.e=0,l.f=0,l.j=0,l.k=0,l.n=0,l.o=0;var i4e,s4e;D(Yn,"NodePromotion",1627),M(1628,1,Xr,K9),l.Ne=function(e,n){return Apn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"NodePromotion/1",1628),M(1629,1,Xr,Dd),l.Ne=function(e,n){return Lpn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"NodePromotion/2",1629),M(1630,1,{},OB),l.Kb=function(e){return u(e,42),gz(),Nn(),!0},l.Fb=function(e){return this===e},D(Yn,"NodePromotion/lambda$0$Type",1630),M(1631,1,{},vVt),l.Kb=function(e){return Thn(this.a,u(e,42))},l.Fb=function(e){return this===e},l.a=0,D(Yn,"NodePromotion/lambda$1$Type",1631),M(1632,1,{},yVt),l.Kb=function(e){return Ehn(this.a,u(e,42))},l.Fb=function(e){return this===e},l.a=0,D(Yn,"NodePromotion/lambda$2$Type",1632),M(1633,1,Vi,NM),l.Kf=function(e,n){uCn(u(e,36),n)},D(Yn,"NorthSouthPortPostprocessor",1633),M(1634,1,Vi,N8),l.Kf=function(e,n){H9n(u(e,36),n)},D(Yn,"NorthSouthPortPreprocessor",1634),M(1635,1,Xr,FM),l.Ne=function(e,n){return Hgn(u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"NorthSouthPortPreprocessor/lambda$0$Type",1635),M(1636,1,Vi,PB),l.Kf=function(e,n){sEn(u(e,36),n)},D(Yn,"PartitionMidprocessor",1636),M(1637,1,Kr,xQ),l.Mb=function(e){return Ui(u(e,10),(Me(),MT))},D(Yn,"PartitionMidprocessor/lambda$0$Type",1637),M(1638,1,rr,xVt),l.Cd=function(e){Tln(this.a,u(e,10))},D(Yn,"PartitionMidprocessor/lambda$1$Type",1638),M(1639,1,Vi,BM),l.Kf=function(e,n){a6n(u(e,36),n)},D(Yn,"PartitionPostprocessor",1639),M(1640,1,Vi,kQ),l.Kf=function(e,n){y5n(u(e,36),n)},D(Yn,"PartitionPreprocessor",1640),M(1641,1,Kr,EQ),l.Mb=function(e){return Ui(u(e,10),(Me(),MT))},D(Yn,"PartitionPreprocessor/lambda$0$Type",1641),M(1642,1,{},NB),l.Kb=function(e){return new ln(null,new Am(new nr(ir(As(u(e,10)).a.Kc(),new q))))},D(Yn,"PartitionPreprocessor/lambda$1$Type",1642),M(1643,1,Kr,Yx),l.Mb=function(e){return lwn(u(e,18))},D(Yn,"PartitionPreprocessor/lambda$2$Type",1643),M(1644,1,rr,FB),l.Cd=function(e){apn(u(e,18))},D(Yn,"PartitionPreprocessor/lambda$3$Type",1644),M(1645,1,Vi,dD),l.Kf=function(e,n){j8n(u(e,36),n)};var s_t,a4e,o4e,c4e,a_t,o_t;D(Yn,"PortListSorter",1645),M(1648,1,Xr,Xx),l.Ne=function(e,n){return iie(u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"PortListSorter/lambda$0$Type",1648),M(1650,1,Xr,TQ),l.Ne=function(e,n){return R0e(u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"PortListSorter/lambda$1$Type",1650),M(1646,1,{},RM),l.Kb=function(e){return h7(),u(e,12).e},D(Yn,"PortListSorter/lambda$2$Type",1646),M(1647,1,{},CQ),l.Kb=function(e){return h7(),u(e,12).g},D(Yn,"PortListSorter/lambda$3$Type",1647),M(1649,1,Xr,_Q),l.Ne=function(e,n){return Pmn(u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"PortListSorter/lambda$4$Type",1649),M(1651,1,Vi,SQ),l.Kf=function(e,n){Y5n(u(e,36),n)},D(Yn,"PortSideProcessor",1651),M(1652,1,Vi,AQ),l.Kf=function(e,n){Xkn(u(e,36),n)},D(Yn,"ReversedEdgeRestorer",1652),M(1657,1,Vi,aKt),l.Kf=function(e,n){bmn(this,u(e,36),n)},D(Yn,"SelfLoopPortRestorer",1657),M(1658,1,{},BB),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"SelfLoopPortRestorer/lambda$0$Type",1658),M(1659,1,Kr,LQ),l.Mb=function(e){return u(e,10).k==(Un(),Ts)},D(Yn,"SelfLoopPortRestorer/lambda$1$Type",1659),M(1660,1,Kr,MQ),l.Mb=function(e){return Ui(u(e,10),(ae(),xv))},D(Yn,"SelfLoopPortRestorer/lambda$2$Type",1660),M(1661,1,{},DQ),l.Kb=function(e){return u(K(u(e,10),(ae(),xv)),337)},D(Yn,"SelfLoopPortRestorer/lambda$3$Type",1661),M(1662,1,rr,wVt),l.Cd=function(e){D3n(this.a,u(e,337))},D(Yn,"SelfLoopPortRestorer/lambda$4$Type",1662),M(805,1,rr,RB),l.Cd=function(e){V3n(u(e,105))},D(Yn,"SelfLoopPortRestorer/lambda$5$Type",805),M(1663,1,Vi,IQ),l.Kf=function(e,n){kwn(u(e,36),n)},D(Yn,"SelfLoopPostProcessor",1663),M(1664,1,{},OQ),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"SelfLoopPostProcessor/lambda$0$Type",1664),M(1665,1,Kr,PQ),l.Mb=function(e){return u(e,10).k==(Un(),Ts)},D(Yn,"SelfLoopPostProcessor/lambda$1$Type",1665),M(1666,1,Kr,jB),l.Mb=function(e){return Ui(u(e,10),(ae(),xv))},D(Yn,"SelfLoopPostProcessor/lambda$2$Type",1666),M(1667,1,rr,NQ),l.Cd=function(e){Ovn(u(e,10))},D(Yn,"SelfLoopPostProcessor/lambda$3$Type",1667),M(1668,1,{},FQ),l.Kb=function(e){return new ln(null,new gn(u(e,105).f,1))},D(Yn,"SelfLoopPostProcessor/lambda$4$Type",1668),M(1669,1,rr,bVt),l.Cd=function(e){s1n(this.a,u(e,340))},D(Yn,"SelfLoopPostProcessor/lambda$5$Type",1669),M(1670,1,Kr,$B),l.Mb=function(e){return!!u(e,105).i},D(Yn,"SelfLoopPostProcessor/lambda$6$Type",1670),M(1671,1,rr,mVt),l.Cd=function(e){snn(this.a,u(e,105))},D(Yn,"SelfLoopPostProcessor/lambda$7$Type",1671),M(1653,1,Vi,zB),l.Kf=function(e,n){Txn(u(e,36),n)},D(Yn,"SelfLoopPreProcessor",1653),M(1654,1,{},qB),l.Kb=function(e){return new ln(null,new gn(u(e,105).f,1))},D(Yn,"SelfLoopPreProcessor/lambda$0$Type",1654),M(1655,1,{},BQ),l.Kb=function(e){return u(e,340).a},D(Yn,"SelfLoopPreProcessor/lambda$1$Type",1655),M(1656,1,rr,RQ),l.Cd=function(e){cin(u(e,18))},D(Yn,"SelfLoopPreProcessor/lambda$2$Type",1656),M(1672,1,Vi,eZt),l.Kf=function(e,n){f3n(this,u(e,36),n)},D(Yn,"SelfLoopRouter",1672),M(1673,1,{},F8),l.Kb=function(e){return new ln(null,new gn(u(e,30).a,16))},D(Yn,"SelfLoopRouter/lambda$0$Type",1673),M(1674,1,Kr,Qx),l.Mb=function(e){return u(e,10).k==(Un(),Ts)},D(Yn,"SelfLoopRouter/lambda$1$Type",1674),M(1675,1,Kr,W9),l.Mb=function(e){return Ui(u(e,10),(ae(),xv))},D(Yn,"SelfLoopRouter/lambda$2$Type",1675),M(1676,1,{},jQ),l.Kb=function(e){return u(K(u(e,10),(ae(),xv)),337)},D(Yn,"SelfLoopRouter/lambda$3$Type",1676),M(1677,1,rr,jYt),l.Cd=function(e){mln(this.a,this.b,u(e,337))},D(Yn,"SelfLoopRouter/lambda$4$Type",1677),M(1678,1,Vi,jM),l.Kf=function(e,n){q6n(u(e,36),n)},D(Yn,"SemiInteractiveCrossMinProcessor",1678),M(1679,1,Kr,Y9),l.Mb=function(e){return u(e,10).k==(Un(),Ts)},D(Yn,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),M(1680,1,Kr,$M),l.Mb=function(e){return mte(u(e,10))._b((Me(),I3))},D(Yn,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),M(1681,1,Xr,HB),l.Ne=function(e,n){return sgn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Yn,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),M(1682,1,{},VB),l.Ve=function(e,n){return Cln(u(e,10),u(n,10))},D(Yn,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),M(1684,1,Vi,$Q),l.Kf=function(e,n){f7n(u(e,36),n)},D(Yn,"SortByInputModelProcessor",1684),M(1685,1,Kr,zQ),l.Mb=function(e){return u(e,12).g.c.length!=0},D(Yn,"SortByInputModelProcessor/lambda$0$Type",1685),M(1686,1,rr,kVt),l.Cd=function(e){Y3n(this.a,u(e,12))},D(Yn,"SortByInputModelProcessor/lambda$1$Type",1686),M(1759,817,{},Aoe),l.df=function(e){var n,r,s,o;switch(this.c=e,this.a.g){case 2:n=new ge,xs(Ai(new ln(null,new gn(this.c.a.b,16)),new WB),new WYt(this,n)),SO(this,new UB),Tu(n,new GB),n.c.length=0,xs(Ai(new ln(null,new gn(this.c.a.b,16)),new HQ),new TVt(n)),SO(this,new VQ),Tu(n,new UQ),n.c.length=0,r=LQt(rat(Py(new ln(null,new gn(this.c.a.b,16)),new CVt(this))),new GQ),xs(new ln(null,new gn(this.c.a.a,16)),new qYt(r,n)),SO(this,new KB),Tu(n,new WQ),n.c.length=0;break;case 3:s=new ge,SO(this,new qQ),o=LQt(rat(Py(new ln(null,new gn(this.c.a.b,16)),new EVt(this))),new KQ),xs(Ai(new ln(null,new gn(this.c.a.b,16)),new YQ),new VYt(o,s)),SO(this,new XQ),Tu(s,new QQ),s.c.length=0;break;default:throw nt(new KGt)}},l.b=0,D(Gs,"EdgeAwareScanlineConstraintCalculation",1759),M(1760,1,Xd,qQ),l.Lb=function(e){return At(u(e,60).g,154)},l.Fb=function(e){return this===e},l.Mb=function(e){return At(u(e,60).g,154)},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),M(1761,1,{},EVt),l.Ye=function(e){return I4n(this.a,u(e,60))},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),M(1769,1,wV,$Yt),l.de=function(){hS(this.a,this.b,-1)},l.b=0,D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),M(1771,1,Xd,UB),l.Lb=function(e){return At(u(e,60).g,154)},l.Fb=function(e){return this===e},l.Mb=function(e){return At(u(e,60).g,154)},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),M(1772,1,rr,GB),l.Cd=function(e){u(e,380).de()},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),M(1773,1,Kr,HQ),l.Mb=function(e){return At(u(e,60).g,10)},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),M(1775,1,rr,TVt),l.Cd=function(e){Jbn(this.a,u(e,60))},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),M(1774,1,wV,UYt),l.de=function(){hS(this.b,this.a,-1)},l.a=0,D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),M(1776,1,Xd,VQ),l.Lb=function(e){return At(u(e,60).g,10)},l.Fb=function(e){return this===e},l.Mb=function(e){return At(u(e,60).g,10)},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),M(1777,1,rr,UQ),l.Cd=function(e){u(e,380).de()},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),M(1778,1,{},CVt),l.Ye=function(e){return O4n(this.a,u(e,60))},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),M(1779,1,{},GQ),l.We=function(){return 0},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),M(1762,1,{},KQ),l.We=function(){return 0},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),M(1781,1,rr,qYt),l.Cd=function(e){run(this.a,this.b,u(e,316))},l.a=0,D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),M(1780,1,wV,HYt),l.de=function(){V1e(this.a,this.b,-1)},l.b=0,D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),M(1782,1,Xd,KB),l.Lb=function(e){return u(e,60),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,60),!0},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),M(1783,1,rr,WQ),l.Cd=function(e){u(e,380).de()},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),M(1763,1,Kr,YQ),l.Mb=function(e){return At(u(e,60).g,10)},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),M(1765,1,rr,VYt),l.Cd=function(e){iun(this.a,this.b,u(e,60))},l.a=0,D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),M(1764,1,wV,GYt),l.de=function(){hS(this.b,this.a,-1)},l.a=0,D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),M(1766,1,Xd,XQ),l.Lb=function(e){return u(e,60),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,60),!0},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),M(1767,1,rr,QQ),l.Cd=function(e){u(e,380).de()},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),M(1768,1,Kr,WB),l.Mb=function(e){return At(u(e,60).g,154)},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),M(1770,1,rr,WYt),l.Cd=function(e){k0n(this.a,this.b,u(e,60))},D(Gs,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),M(1586,1,Vi,dJt),l.Kf=function(e,n){$7n(this,u(e,36),n)};var u4e;D(Gs,"HorizontalGraphCompactor",1586),M(1587,1,{},_Vt),l.ff=function(e,n){var r,s,o;return q3t(e,n)||(r=Y4(e),s=Y4(n),r&&r.k==(Un(),Ds)||s&&s.k==(Un(),Ds))?0:(o=u(K(this.a.a,(ae(),H5)),312),Vin(o,r?r.k:(Un(),ha),s?s.k:(Un(),ha)))},l.gf=function(e,n){var r,s,o;return q3t(e,n)?1:(r=Y4(e),s=Y4(n),o=u(K(this.a.a,(ae(),H5)),312),Omt(o,r?r.k:(Un(),ha),s?s.k:(Un(),ha)))},D(Gs,"HorizontalGraphCompactor/1",1587),M(1588,1,{},X9),l.ef=function(e,n){return HC(),e.a.i==0},D(Gs,"HorizontalGraphCompactor/lambda$0$Type",1588),M(1589,1,{},SVt),l.ef=function(e,n){return Aln(this.a,e,n)},D(Gs,"HorizontalGraphCompactor/lambda$1$Type",1589),M(1730,1,{},rae);var l4e,h4e;D(Gs,"LGraphToCGraphTransformer",1730),M(1738,1,Kr,JQ),l.Mb=function(e){return e!=null},D(Gs,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),M(1731,1,{},ZQ),l.Kb=function(e){return Bf(),ec(K(u(u(e,60).g,10),(ae(),Di)))},D(Gs,"LGraphToCGraphTransformer/lambda$0$Type",1731),M(1732,1,{},YB),l.Kb=function(e){return Bf(),gue(u(u(e,60).g,154))},D(Gs,"LGraphToCGraphTransformer/lambda$1$Type",1732),M(1741,1,Kr,tJ),l.Mb=function(e){return Bf(),At(u(e,60).g,10)},D(Gs,"LGraphToCGraphTransformer/lambda$10$Type",1741),M(1742,1,rr,eJ),l.Cd=function(e){Oln(u(e,60))},D(Gs,"LGraphToCGraphTransformer/lambda$11$Type",1742),M(1743,1,Kr,nJ),l.Mb=function(e){return Bf(),At(u(e,60).g,154)},D(Gs,"LGraphToCGraphTransformer/lambda$12$Type",1743),M(1747,1,rr,rJ),l.Cd=function(e){lbn(u(e,60))},D(Gs,"LGraphToCGraphTransformer/lambda$13$Type",1747),M(1744,1,rr,AVt),l.Cd=function(e){Brn(this.a,u(e,8))},l.a=0,D(Gs,"LGraphToCGraphTransformer/lambda$14$Type",1744),M(1745,1,rr,LVt),l.Cd=function(e){jrn(this.a,u(e,116))},l.a=0,D(Gs,"LGraphToCGraphTransformer/lambda$15$Type",1745),M(1746,1,rr,MVt),l.Cd=function(e){Rrn(this.a,u(e,8))},l.a=0,D(Gs,"LGraphToCGraphTransformer/lambda$16$Type",1746),M(1748,1,{},iJ),l.Kb=function(e){return Bf(),new ln(null,new Am(new nr(ir(As(u(e,10)).a.Kc(),new q))))},D(Gs,"LGraphToCGraphTransformer/lambda$17$Type",1748),M(1749,1,Kr,sJ),l.Mb=function(e){return Bf(),ho(u(e,18))},D(Gs,"LGraphToCGraphTransformer/lambda$18$Type",1749),M(1750,1,rr,DVt),l.Cd=function(e){t0n(this.a,u(e,18))},D(Gs,"LGraphToCGraphTransformer/lambda$19$Type",1750),M(1734,1,rr,IVt),l.Cd=function(e){Sfn(this.a,u(e,154))},D(Gs,"LGraphToCGraphTransformer/lambda$2$Type",1734),M(1751,1,{},XB),l.Kb=function(e){return Bf(),new ln(null,new gn(u(e,30).a,16))},D(Gs,"LGraphToCGraphTransformer/lambda$20$Type",1751),M(1752,1,{},aJ),l.Kb=function(e){return Bf(),new ln(null,new Am(new nr(ir(As(u(e,10)).a.Kc(),new q))))},D(Gs,"LGraphToCGraphTransformer/lambda$21$Type",1752),M(1753,1,{},QB),l.Kb=function(e){return Bf(),u(K(u(e,18),(ae(),Ew)),15)},D(Gs,"LGraphToCGraphTransformer/lambda$22$Type",1753),M(1754,1,Kr,oJ),l.Mb=function(e){return Uin(u(e,15))},D(Gs,"LGraphToCGraphTransformer/lambda$23$Type",1754),M(1755,1,rr,OVt),l.Cd=function(e){x4n(this.a,u(e,15))},D(Gs,"LGraphToCGraphTransformer/lambda$24$Type",1755),M(1733,1,rr,YYt),l.Cd=function(e){T1n(this.a,this.b,u(e,154))},D(Gs,"LGraphToCGraphTransformer/lambda$3$Type",1733),M(1735,1,{},cJ),l.Kb=function(e){return Bf(),new ln(null,new gn(u(e,30).a,16))},D(Gs,"LGraphToCGraphTransformer/lambda$4$Type",1735),M(1736,1,{},uJ),l.Kb=function(e){return Bf(),new ln(null,new Am(new nr(ir(As(u(e,10)).a.Kc(),new q))))},D(Gs,"LGraphToCGraphTransformer/lambda$5$Type",1736),M(1737,1,{},Q9),l.Kb=function(e){return Bf(),u(K(u(e,18),(ae(),Ew)),15)},D(Gs,"LGraphToCGraphTransformer/lambda$6$Type",1737),M(1739,1,rr,PVt),l.Cd=function(e){P4n(this.a,u(e,15))},D(Gs,"LGraphToCGraphTransformer/lambda$8$Type",1739),M(1740,1,rr,XYt),l.Cd=function(e){uin(this.a,this.b,u(e,154))},D(Gs,"LGraphToCGraphTransformer/lambda$9$Type",1740),M(1729,1,{},lJ),l.cf=function(e){var n,r,s,o,h;for(this.a=e,this.d=new Ont,this.c=Vt($9t,Ln,125,this.a.a.a.c.length,0,1),this.b=0,r=new J(this.a.a.a);r.a=tt&&(pe(h,fe(A)),St=b.Math.max(St,Bt[A-1]-N),m+=W,ct+=Bt[A-1]-ct,N=Bt[A-1],W=k[A]),W=b.Math.max(W,k[A]),++A;m+=W}U=b.Math.min(1/St,1/n.b/m),U>s&&(s=U,r=h)}return r},l.pg=function(){return!1},D(t0,"MSDCutIndexHeuristic",816),M(1683,1,Vi,IJ),l.Kf=function(e,n){HEn(u(e,36),n)},D(t0,"SingleEdgeGraphWrapper",1683),M(232,22,{3:1,34:1,22:1,232:1},QC);var F5,vT,yT,T3,bA,B5,xT=Cr(zc,"CenterEdgeLabelPlacementStrategy",232,Ir,Adn,Man),E4e;M(431,22,{3:1,34:1,22:1,431:1},Pwt);var u_t,yft,l_t=Cr(zc,"ConstraintCalculationStrategy",431,Ir,Wln,Dan),T4e;M(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},drt),l.dg=function(){return Jfe(this)},l.qg=function(){return Jfe(this)};var UP,wA,h_t,f_t=Cr(zc,"CrossingMinimizationStrategy",322,Ir,qhn,Ian),C4e;M(351,22,{3:1,34:1,22:1,351:1},grt);var d_t,xft,pG,g_t=Cr(zc,"CuttingStrategy",351,Ir,Hhn,Oan),_4e;M(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},RD),l.dg=function(){return q1e(this)},l.qg=function(){return q1e(this)};var p_t,kft,kT,Eft,ET,b_t=Cr(zc,"CycleBreakingStrategy",348,Ir,G1n,Pan),S4e;M(428,22,{3:1,34:1,22:1,428:1},Nwt);var bG,w_t,m_t=Cr(zc,"DirectionCongruency",428,Ir,Kln,Nan),A4e;M(459,22,{3:1,34:1,22:1,459:1},prt);var TT,Tft,R5,L4e=Cr(zc,"EdgeConstraint",459,Ir,Vhn,qan),M4e;M(283,22,{3:1,34:1,22:1,283:1},JC);var Cft,_ft,Sft,Aft,wG,Lft,v_t=Cr(zc,"EdgeLabelSideSelection",283,Ir,Cdn,Han),D4e;M(487,22,{3:1,34:1,22:1,487:1},Fwt);var mG,y_t,x_t=Cr(zc,"EdgeStraighteningStrategy",487,Ir,Gln,Van),I4e;M(281,22,{3:1,34:1,22:1,281:1},ZC);var Mft,k_t,E_t,vG,T_t,C_t,__t=Cr(zc,"FixedAlignment",281,Ir,_dn,zan),O4e;M(282,22,{3:1,34:1,22:1,282:1},t_);var S_t,A_t,L_t,M_t,mA,D_t,I_t=Cr(zc,"GraphCompactionStrategy",282,Ir,Sdn,Fan),P4e;M(259,22,{3:1,34:1,22:1,259:1},ky);var CT,yG,_T,zh,vA,xG,ST,j5,kG,yA,Dft=Cr(zc,"GraphProperties",259,Ir,hgn,Ban),N4e;M(298,22,{3:1,34:1,22:1,298:1},brt);var GP,Ift,Oft,Pft=Cr(zc,"GreedySwitchType",298,Ir,Uhn,Ran),F4e;M(311,22,{3:1,34:1,22:1,311:1},wrt);var jk,KP,$5,B4e=Cr(zc,"InLayerConstraint",311,Ir,Ghn,jan),R4e;M(429,22,{3:1,34:1,22:1,429:1},Bwt);var Nft,O_t,P_t=Cr(zc,"InteractiveReferencePoint",429,Ir,thn,$an),j4e,N_t,$k,mv,EG,F_t,B_t,TG,R_t,WP,CG,xA,zk,Bg,Fft,_G,_c,j_t,Zb,uu,Bft,Rft,YP,kw,vv,qk,$_t,Hk,XP,C3,I1,hf,jft,z5,Bi,Di,z_t,q_t,H_t,V_t,U_t,$ft,SG,ml,yv,zft,Vk,kA,dd,q5,xv,H5,V5,AT,Ew,G_t,qft,Hft,Uk;M(171,22,{3:1,34:1,22:1,171:1},jD);var EA,t2,TA,_3,QP,K_t=Cr(zc,"LayerConstraint",171,Ir,W1n,Uan),$4e;M(859,1,af,Get),l.hf=function(e){Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,H8t),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),rSt),(Pp(),rs)),m_t),Ze((A1(),_n))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,V8t),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Nn(),!1)),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,IV),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),uSt),rs),P_t),Ze(_n)))),Bs(e,IV,Nut,P5e),Bs(e,IV,HS,O5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,U8t),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,G8t),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),aa),Es),Ze(_n)))),Xe(e,new qe(Bnn(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,K8t),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),aa),Es),Ze(Dw)),ot(st(Ne,1),le,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,W8t),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),wSt),rs),_At),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Y8t),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),fe(7)),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,X8t),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Q8t),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Nut),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),nSt),rs),b_t),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,bP),slt),"Node Layering Strategy"),"Strategy for node layering."),fSt),rs),gAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,J8t),slt),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),lSt),rs),K_t),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Z8t),slt),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),ic),Na),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,tEt),slt),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),fe(-1)),ic),Na),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Fut),l2e),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),fe(4)),ic),Na),Ze(_n)))),Bs(e,Fut,bP,z5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,But),l2e),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),fe(2)),ic),Na),Ze(_n)))),Bs(e,But,bP,H5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Rut),h2e),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),hSt),rs),EAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,jut),h2e),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),fe(0)),ic),Na),Ze(_n)))),Bs(e,jut,Rut,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,$ut),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),fe(ki)),ic),Na),Ze(_n)))),Bs(e,$ut,bP,F5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,HS),eT),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),eSt),rs),f_t),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,eEt),eT),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,zut),eT),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Ga),zs),Ze(_n)))),Bs(e,zut,UV,a5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,qut),eT),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),aa),Es),Ze(_n)))),Bs(e,qut,HS,f5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,nEt),eT),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),ex),Ne),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,rEt),eT),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),ex),Ne),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,iEt),eT),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),ic),Na),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,sEt),eT),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),fe(-1)),ic),Na),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,aEt),f2e),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),fe(40)),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Hut),f2e),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),tSt),rs),Pft),Ze(_n)))),Bs(e,Hut,HS,i5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,OV),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),Z_t),rs),Pft),Ze(_n)))),Bs(e,OV,HS,e5e),Bs(e,OV,UV,n5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,C5),d2e),"Node Placement Strategy"),"Strategy for node placement."),bSt),rs),mAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,PV),d2e),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),aa),Es),Ze(_n)))),Bs(e,PV,C5,txe),Bs(e,PV,C5,exe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Vut),g2e),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),dSt),rs),x_t),Ze(_n)))),Bs(e,Vut,C5,X5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Uut),g2e),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),gSt),rs),__t),Ze(_n)))),Bs(e,Uut,C5,J5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Gut),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Ga),zs),Ze(_n)))),Bs(e,Gut,C5,rxe),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,Kut),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),rs),h1t),Ze(Js)))),Bs(e,Kut,C5,oxe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Wut),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),pSt),rs),h1t),Ze(_n)))),Bs(e,Wut,C5,axe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,oEt),p2e),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),aSt),rs),LAt),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,cEt),p2e),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),oSt),rs),MAt),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,NV),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),cSt),rs),IAt),Ze(_n)))),Bs(e,NV,wP,E5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,FV),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Ga),zs),Ze(_n)))),Bs(e,FV,wP,C5e),Bs(e,FV,NV,_5e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Yut),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Ga),zs),Ze(_n)))),Bs(e,Yut,wP,v5e),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,uEt),ld),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,lEt),ld),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,hEt),ld),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,fEt),ld),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,dEt),EEt),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),fe(0)),ic),Na),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,gEt),EEt),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),fe(0)),ic),Na),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,pEt),EEt),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),fe(0)),ic),Na),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Xut),TEt),Dbe),"Tries to further compact components (disconnected sub-graphs)."),!1),aa),Es),Ze(_n)))),Bs(e,Xut,RS,!0),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,bEt),b2e),"Post Compaction Strategy"),w2e),Y_t),rs),I_t),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,wEt),b2e),"Post Compaction Constraint Calculation"),w2e),W_t),rs),l_t),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,BV),CEt),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Qut),CEt),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),fe(16)),ic),Na),Ze(_n)))),Bs(e,Qut,BV,!0),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Jut),CEt),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),fe(5)),ic),Na),Ze(_n)))),Bs(e,Jut,BV,!0),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Pg),_Et),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),ySt),rs),FAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,RV),_Et),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Ga),zs),Ze(_n)))),Bs(e,RV,Pg,yxe),Bs(e,RV,Pg,xxe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,jV),_Et),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Ga),zs),Ze(_n)))),Bs(e,jV,Pg,Exe),Bs(e,jV,Pg,Txe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,VS),m2e),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),vSt),rs),g_t),Ze(_n)))),Bs(e,VS,Pg,Mxe),Bs(e,VS,Pg,Dxe),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,Zut),m2e),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),pd),$h),Ze(_n)))),Bs(e,Zut,VS,_xe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,tlt),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),mSt),ic),Na),Ze(_n)))),Bs(e,tlt,VS,Axe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,$V),v2e),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),xSt),rs),NAt),Ze(_n)))),Bs(e,$V,Pg,Hxe),Bs(e,$V,Pg,Vxe),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,zV),v2e),"Valid Indices for Wrapping"),null),pd),$h),Ze(_n)))),Bs(e,zV,Pg,$xe),Bs(e,zV,Pg,zxe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,qV),SEt),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),aa),Es),Ze(_n)))),Bs(e,qV,Pg,Nxe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,HV),SEt),"Distance Penalty When Improving Cuts"),null),2),Ga),zs),Ze(_n)))),Bs(e,HV,Pg,Oxe),Bs(e,HV,qV,!0),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,elt),SEt),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),aa),Es),Ze(_n)))),Bs(e,elt,Pg,Bxe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,mEt),alt),"Edge Label Side Selection"),"Method to decide on edge label sides."),sSt),rs),v_t),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,vEt),alt),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),iSt),rs),xT),Gi(_n,ot(st(H0,1),te,170,0,[Gp]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,VV),US),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),J_t),rs),CAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,yEt),US),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,xEt),US),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),aa),Es),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,nlt),US),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),X_t),rs),bCt),Ze(_n)))),Bs(e,nlt,RS,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,kEt),US),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),Q_t),rs),bAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,rlt),US),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Ga),zs),Ze(_n)))),Bs(e,rlt,VV,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,ilt),US),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Ga),zs),Ze(_n)))),Bs(e,ilt,VV,null),Fpe((new Ket,e))};var z4e,q4e,H4e,W_t,V4e,Y_t,U4e,X_t,G4e,K4e,W4e,Q_t,Y4e,X4e,Q4e,J_t,J4e,Z4e,t5e,Z_t,e5e,n5e,r5e,tSt,i5e,s5e,a5e,o5e,c5e,u5e,l5e,h5e,f5e,d5e,eSt,g5e,nSt,p5e,rSt,b5e,iSt,w5e,sSt,m5e,v5e,y5e,aSt,x5e,oSt,k5e,cSt,E5e,T5e,C5e,_5e,S5e,A5e,L5e,M5e,D5e,I5e,uSt,O5e,P5e,N5e,F5e,B5e,R5e,lSt,j5e,$5e,z5e,q5e,H5e,V5e,U5e,hSt,G5e,fSt,K5e,W5e,Y5e,dSt,X5e,Q5e,gSt,J5e,Z5e,txe,exe,nxe,rxe,ixe,sxe,pSt,axe,oxe,cxe,bSt,uxe,wSt,lxe,hxe,fxe,dxe,gxe,pxe,bxe,wxe,mxe,vxe,yxe,xxe,kxe,Exe,Txe,Cxe,_xe,Sxe,mSt,Axe,Lxe,vSt,Mxe,Dxe,Ixe,Oxe,Pxe,Nxe,Fxe,Bxe,Rxe,ySt,jxe,$xe,zxe,qxe,xSt,Hxe,Vxe;D(zc,"LayeredMetaDataProvider",859),M(998,1,af,Ket),l.hf=function(e){Fpe(e)};var s0,Vft,AG,CA,LG,kSt,MG,S3,DG,ESt,TSt,IG,Uft,q0,Gft,kv,CSt,JP,Kft,_St,Uxe,Gxe,Kxe,OG,Wft,_A,Tw,Wxe,fh,SSt,ASt,PG,Yft,a0,NG,Rg,LSt,MSt,DSt,Xft,Qft,ISt,zp,Jft,OSt,A3,PSt,NSt,FSt,FG,L3,Cw,BSt,RSt,qo,jSt,Yxe,Du,BG,$St,zSt,qSt,e2,_w,RG,HSt,VSt,jG,Ev,USt,Zft,SA,GSt,Tv,AA,$G,Sw,t1t,LT,zG,Aw,KSt,WSt,YSt,MT,XSt,Xxe,Qxe,Jxe,Zxe,Cv,M3,ms,qp,t6e,D3,QSt,DT,JSt,I3,e6e,IT,ZSt,Gk,n6e,r6e,ZP,e1t,tAt,tN,Yf,U5,G5,_v,Lw,qG,O3,n1t,OT,PT,Sv,K5,r1t,eN,LA,MA,i6e,s6e,a6e,eAt,o6e,i1t,nAt,rAt,iAt,sAt,s1t,aAt,oAt,cAt,uAt,a1t,HG;D(zc,"LayeredOptions",998),M(999,1,{},OJ),l.sf=function(){var e;return e=new eKt,e},l.tf=function(e){},D(zc,"LayeredOptions/LayeredFactory",999),M(1391,1,{}),l.a=0;var c6e;D(Ec,"ElkSpacings/AbstractSpacingsBuilder",1391),M(792,1391,{},D5t);var VG,u6e;D(zc,"LayeredSpacings/LayeredSpacingsBuilder",792),M(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},O4),l.dg=function(){return Qde(this)},l.qg=function(){return Qde(this)};var NT,o1t,FT,lAt,hAt,fAt,UG,c1t,dAt,gAt=Cr(zc,"LayeringStrategy",265,Ir,z0n,Gan),l6e;M(390,22,{3:1,34:1,22:1,390:1},mrt);var u1t,pAt,GG,bAt=Cr(zc,"LongEdgeOrderingStrategy",390,Ir,Khn,Kan),h6e;M(203,22,{3:1,34:1,22:1,203:1},N$);var W5,Y5,KG,l1t,h1t=Cr(zc,"NodeFlexibility",203,Ir,n1n,Wan),f6e;M(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},$D),l.dg=function(){return z1e(this)},l.qg=function(){return z1e(this)};var DA,f1t,d1t,IA,wAt,mAt=Cr(zc,"NodePlacementStrategy",323,Ir,K1n,Yan),d6e;M(243,22,{3:1,34:1,22:1,243:1},Ey);var vAt,Av,P3,nN,yAt,xAt,rN,kAt,WG,YG,EAt=Cr(zc,"NodePromotionStrategy",243,Ir,fgn,Xan),g6e;M(284,22,{3:1,34:1,22:1,284:1},F$);var TAt,Hp,g1t,p1t,CAt=Cr(zc,"OrderingStrategy",284,Ir,r1n,Qan),p6e;M(430,22,{3:1,34:1,22:1,430:1},Rwt);var b1t,w1t,_At=Cr(zc,"PortSortingStrategy",430,Ir,Yln,Jan),b6e;M(462,22,{3:1,34:1,22:1,462:1},vrt);var vl,xu,OA,w6e=Cr(zc,"PortType",462,Ir,Whn,Zan),m6e;M(387,22,{3:1,34:1,22:1,387:1},yrt);var SAt,m1t,AAt,LAt=Cr(zc,"SelfLoopDistributionStrategy",387,Ir,Yhn,ton),v6e;M(349,22,{3:1,34:1,22:1,349:1},xrt);var v1t,iN,y1t,MAt=Cr(zc,"SelfLoopOrderingStrategy",349,Ir,Xhn,eon),y6e;M(312,1,{312:1},Oge),D(zc,"Spacings",312),M(350,22,{3:1,34:1,22:1,350:1},krt);var x1t,DAt,PA,IAt=Cr(zc,"SplineRoutingMode",350,Ir,Qhn,non),x6e;M(352,22,{3:1,34:1,22:1,352:1},Ert);var k1t,OAt,PAt,NAt=Cr(zc,"ValidifyStrategy",352,Ir,Jhn,ron),k6e;M(388,22,{3:1,34:1,22:1,388:1},Trt);var N3,E1t,BT,FAt=Cr(zc,"WrappingStrategy",388,Ir,Zhn,ion),E6e;M(1398,1,To,EC),l.rg=function(e){return u(e,36),T6e},l.Kf=function(e,n){B7n(this,u(e,36),n)};var T6e;D(YV,"DepthFirstCycleBreaker",1398),M(793,1,To,Qvt),l.rg=function(e){return u(e,36),C6e},l.Kf=function(e,n){$Cn(this,u(e,36),n)},l.sg=function(e){return u(Oe(e,_H(this.d,e.c.length)),10)};var C6e;D(YV,"GreedyCycleBreaker",793),M(1401,793,To,QXt),l.sg=function(e){var n,r,s,o;for(o=null,n=ki,s=new J(e);s.a1&&(Ie(De(K(Ia((mn(0,e.c.length),u(e.c[0],10))),(Me(),kv))))?tde(e,this.d,u(this,669)):(wn(),Ms(e,this.d)),tce(this.e,e))},l.lg=function(e,n,r,s){var o,h,d,m,k,T,A;for(n!=wte(r,e.length)&&(h=e[n-(r?1:-1)],_3t(this.f,h,r?(xo(),xu):(xo(),vl))),o=e[n][0],A=!s||o.k==(Un(),Ds),T=J1(e[n]),this.vg(T,A,!1,r),d=0,k=new J(T);k.a"),e0?ist(this.a,e[n-1],e[n]):!r&&n1&&(Ie(De(K(Ia((mn(0,e.c.length),u(e.c[0],10))),(Me(),kv))))?tde(e,this.d,this):(wn(),Ms(e,this.d)),Ie(De(K(Ia((mn(0,e.c.length),u(e.c[0],10))),kv)))||tce(this.e,e))},D(sl,"ModelOrderBarycenterHeuristic",669),M(1866,1,Xr,tUt),l.Ne=function(e,n){return F3n(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(sl,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),M(1423,1,To,Yet),l.rg=function(e){var n;return u(e,36),n=J$(z6e),ri(n,(Ha(),Yc),(Ja(),iG)),n},l.Kf=function(e,n){vln((u(e,36),n))};var z6e;D(sl,"NoCrossingMinimizer",1423),M(809,413,c7t,owt),l.tg=function(e,n,r){var s,o,h,d,m,k,T,A,N,j,U;switch(N=this.g,r.g){case 1:{for(o=0,h=0,A=new J(e.j);A.a1&&(o.j==(ve(),Jn)?this.b[e]=!0:o.j==Gn&&e>0&&(this.b[e-1]=!0))},l.f=0,D(R0,"AllCrossingsCounter",1861),M(595,1,{},Vq),l.b=0,l.d=0,D(R0,"BinaryIndexedTree",595),M(532,1,{},oI);var jAt,QG;D(R0,"CrossingsCounter",532),M(1950,1,Xr,eUt),l.Ne=function(e,n){return Ucn(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(R0,"CrossingsCounter/lambda$0$Type",1950),M(1951,1,Xr,nUt),l.Ne=function(e,n){return Gcn(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(R0,"CrossingsCounter/lambda$1$Type",1951),M(1952,1,Xr,rUt),l.Ne=function(e,n){return Kcn(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(R0,"CrossingsCounter/lambda$2$Type",1952),M(1953,1,Xr,iUt),l.Ne=function(e,n){return Wcn(this.a,u(e,12),u(n,12))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(R0,"CrossingsCounter/lambda$3$Type",1953),M(1954,1,rr,sUt),l.Cd=function(e){Wdn(this.a,u(e,12))},D(R0,"CrossingsCounter/lambda$4$Type",1954),M(1955,1,Kr,aUt),l.Mb=function(e){return vrn(this.a,u(e,12))},D(R0,"CrossingsCounter/lambda$5$Type",1955),M(1956,1,rr,oUt),l.Cd=function(e){qXt(this,e)},D(R0,"CrossingsCounter/lambda$6$Type",1956),M(1957,1,rr,ZYt),l.Cd=function(e){var n;_E(),Ab(this.b,(n=this.a,u(e,12),n))},D(R0,"CrossingsCounter/lambda$7$Type",1957),M(839,1,Xd,hR),l.Lb=function(e){return _E(),Ui(u(e,12),(ae(),ml))},l.Fb=function(e){return this===e},l.Mb=function(e){return _E(),Ui(u(e,12),(ae(),ml))},D(R0,"CrossingsCounter/lambda$8$Type",839),M(1949,1,{},cUt),D(R0,"HyperedgeCrossingsCounter",1949),M(477,1,{34:1,477:1},nZt),l.Fd=function(e){return K2n(this,u(e,477))},l.b=0,l.c=0,l.e=0,l.f=0;var S_n=D(R0,"HyperedgeCrossingsCounter/Hyperedge",477);M(374,1,{34:1,374:1},Vz),l.Fd=function(e){return oxn(this,u(e,374))},l.b=0,l.c=0;var q6e=D(R0,"HyperedgeCrossingsCounter/HyperedgeCorner",374);M(531,22,{3:1,34:1,22:1,531:1},jwt);var FA,BA,H6e=Cr(R0,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Ir,Xln,aon),V6e;M(1425,1,To,Xet),l.rg=function(e){return u(K(u(e,36),(ae(),uu)),21).Hc((ko(),zh))?U6e:null},l.Kf=function(e,n){mvn(this,u(e,36),n)};var U6e;D(Co,"InteractiveNodePlacer",1425),M(1426,1,To,Qet),l.rg=function(e){return u(K(u(e,36),(ae(),uu)),21).Hc((ko(),zh))?G6e:null},l.Kf=function(e,n){nmn(this,u(e,36),n)};var G6e,JG,ZG;D(Co,"LinearSegmentsNodePlacer",1426),M(261,1,{34:1,261:1},N2t),l.Fd=function(e){return Dnn(this,u(e,261))},l.Fb=function(e){var n;return At(e,261)?(n=u(e,261),this.b==n.b):!1},l.Hb=function(){return this.b},l.Ib=function(){return"ls"+Rb(this.e)},l.a=0,l.b=0,l.c=-1,l.d=-1,l.g=0;var K6e=D(Co,"LinearSegmentsNodePlacer/LinearSegment",261);M(1428,1,To,Ste),l.rg=function(e){return u(K(u(e,36),(ae(),uu)),21).Hc((ko(),zh))?W6e:null},l.Kf=function(e,n){DCn(this,u(e,36),n)},l.b=0,l.g=0;var W6e;D(Co,"NetworkSimplexPlacer",1428),M(1447,1,Xr,zJ),l.Ne=function(e,n){return Bc(u(e,17).a,u(n,17).a)},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Co,"NetworkSimplexPlacer/0methodref$compare$Type",1447),M(1449,1,Xr,qJ),l.Ne=function(e,n){return Bc(u(e,17).a,u(n,17).a)},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Co,"NetworkSimplexPlacer/1methodref$compare$Type",1449),M(655,1,{655:1},tXt);var A_n=D(Co,"NetworkSimplexPlacer/EdgeRep",655);M(412,1,{412:1},Dyt),l.b=!1;var L_n=D(Co,"NetworkSimplexPlacer/NodeRep",412);M(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},lKt),D(Co,"NetworkSimplexPlacer/Path",515),M(1429,1,{},HJ),l.Kb=function(e){return u(e,18).d.i.k},D(Co,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),M(1430,1,Kr,VJ),l.Mb=function(e){return u(e,273)==(Un(),ha)},D(Co,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),M(1431,1,{},UJ),l.Kb=function(e){return u(e,18).d.i},D(Co,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),M(1432,1,Kr,uUt),l.Mb=function(e){return $Jt(Hue(u(e,10)))},D(Co,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),M(1433,1,Kr,GJ),l.Mb=function(e){return Lcn(u(e,12))},D(Co,"NetworkSimplexPlacer/lambda$0$Type",1433),M(1434,1,rr,eXt),l.Cd=function(e){lin(this.a,this.b,u(e,12))},D(Co,"NetworkSimplexPlacer/lambda$1$Type",1434),M(1443,1,rr,lUt),l.Cd=function(e){F4n(this.a,u(e,18))},D(Co,"NetworkSimplexPlacer/lambda$10$Type",1443),M(1444,1,{},KJ),l.Kb=function(e){return th(),new ln(null,new gn(u(e,30).a,16))},D(Co,"NetworkSimplexPlacer/lambda$11$Type",1444),M(1445,1,rr,hUt),l.Cd=function(e){Mkn(this.a,u(e,10))},D(Co,"NetworkSimplexPlacer/lambda$12$Type",1445),M(1446,1,{},WJ),l.Kb=function(e){return th(),fe(u(e,125).e)},D(Co,"NetworkSimplexPlacer/lambda$13$Type",1446),M(1448,1,{},YJ),l.Kb=function(e){return th(),fe(u(e,125).e)},D(Co,"NetworkSimplexPlacer/lambda$15$Type",1448),M(1450,1,Kr,XJ),l.Mb=function(e){return th(),u(e,412).c.k==(Un(),Ts)},D(Co,"NetworkSimplexPlacer/lambda$17$Type",1450),M(1451,1,Kr,QJ),l.Mb=function(e){return th(),u(e,412).c.j.c.length>1},D(Co,"NetworkSimplexPlacer/lambda$18$Type",1451),M(1452,1,rr,Nee),l.Cd=function(e){p2n(this.c,this.b,this.d,this.a,u(e,412))},l.c=0,l.d=0,D(Co,"NetworkSimplexPlacer/lambda$19$Type",1452),M(1435,1,{},JJ),l.Kb=function(e){return th(),new ln(null,new gn(u(e,30).a,16))},D(Co,"NetworkSimplexPlacer/lambda$2$Type",1435),M(1453,1,rr,fUt),l.Cd=function(e){fin(this.a,u(e,12))},l.a=0,D(Co,"NetworkSimplexPlacer/lambda$20$Type",1453),M(1454,1,{},ZJ),l.Kb=function(e){return th(),new ln(null,new gn(u(e,30).a,16))},D(Co,"NetworkSimplexPlacer/lambda$21$Type",1454),M(1455,1,rr,dUt),l.Cd=function(e){Tin(this.a,u(e,10))},D(Co,"NetworkSimplexPlacer/lambda$22$Type",1455),M(1456,1,Kr,tZ),l.Mb=function(e){return $Jt(e)},D(Co,"NetworkSimplexPlacer/lambda$23$Type",1456),M(1457,1,{},Zx),l.Kb=function(e){return th(),new ln(null,new gn(u(e,30).a,16))},D(Co,"NetworkSimplexPlacer/lambda$24$Type",1457),M(1458,1,Kr,gUt),l.Mb=function(e){return Orn(this.a,u(e,10))},D(Co,"NetworkSimplexPlacer/lambda$25$Type",1458),M(1459,1,rr,nXt),l.Cd=function(e){$3n(this.a,this.b,u(e,10))},D(Co,"NetworkSimplexPlacer/lambda$26$Type",1459),M(1460,1,Kr,fR),l.Mb=function(e){return th(),!ho(u(e,18))},D(Co,"NetworkSimplexPlacer/lambda$27$Type",1460),M(1461,1,Kr,eZ),l.Mb=function(e){return th(),!ho(u(e,18))},D(Co,"NetworkSimplexPlacer/lambda$28$Type",1461),M(1462,1,{},pUt),l.Ve=function(e,n){return hin(this.a,u(e,30),u(n,30))},D(Co,"NetworkSimplexPlacer/lambda$29$Type",1462),M(1436,1,{},nZ),l.Kb=function(e){return th(),new ln(null,new Am(new nr(ir(As(u(e,10)).a.Kc(),new q))))},D(Co,"NetworkSimplexPlacer/lambda$3$Type",1436),M(1437,1,Kr,rZ),l.Mb=function(e){return th(),zfn(u(e,18))},D(Co,"NetworkSimplexPlacer/lambda$4$Type",1437),M(1438,1,rr,bUt),l.Cd=function(e){jEn(this.a,u(e,18))},D(Co,"NetworkSimplexPlacer/lambda$5$Type",1438),M(1439,1,{},dR),l.Kb=function(e){return th(),new ln(null,new gn(u(e,30).a,16))},D(Co,"NetworkSimplexPlacer/lambda$6$Type",1439),M(1440,1,Kr,iZ),l.Mb=function(e){return th(),u(e,10).k==(Un(),Ts)},D(Co,"NetworkSimplexPlacer/lambda$7$Type",1440),M(1441,1,{},tC),l.Kb=function(e){return th(),new ln(null,new Am(new nr(ir(Sg(u(e,10)).a.Kc(),new q))))},D(Co,"NetworkSimplexPlacer/lambda$8$Type",1441),M(1442,1,Kr,sZ),l.Mb=function(e){return th(),Acn(u(e,18))},D(Co,"NetworkSimplexPlacer/lambda$9$Type",1442),M(1424,1,To,Jet),l.rg=function(e){return u(K(u(e,36),(ae(),uu)),21).Hc((ko(),zh))?Y6e:null},l.Kf=function(e,n){v7n(u(e,36),n)};var Y6e;D(Co,"SimpleNodePlacer",1424),M(185,1,{185:1},p5),l.Ib=function(){var e;return e="",this.c==(qd(),Lv)?e+=Ck:this.c==Vp&&(e+=Tk),this.o==(X1(),Mw)?e+=dut:this.o==gd?e+="UP":e+="BALANCED",e},D(Gb,"BKAlignedLayout",185),M(523,22,{3:1,34:1,22:1,523:1},$wt);var Vp,Lv,X6e=Cr(Gb,"BKAlignedLayout/HDirection",523,Ir,Qln,oon),Q6e;M(522,22,{3:1,34:1,22:1,522:1},zwt);var Mw,gd,J6e=Cr(Gb,"BKAlignedLayout/VDirection",522,Ir,Jln,con),Z6e;M(1699,1,{},rXt),D(Gb,"BKAligner",1699),M(1702,1,{},ghe),D(Gb,"BKCompactor",1702),M(663,1,{663:1},aZ),l.a=0,D(Gb,"BKCompactor/ClassEdge",663),M(466,1,{466:1},oKt),l.a=null,l.b=0,D(Gb,"BKCompactor/ClassNode",466),M(1427,1,To,oXt),l.rg=function(e){return u(K(u(e,36),(ae(),uu)),21).Hc((ko(),zh))?tke:null},l.Kf=function(e,n){YCn(this,u(e,36),n)},l.d=!1;var tke;D(Gb,"BKNodePlacer",1427),M(1700,1,{},oZ),l.d=0,D(Gb,"NeighborhoodInformation",1700),M(1701,1,Xr,wUt),l.Ne=function(e,n){return E0n(this,u(e,42),u(n,42))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Gb,"NeighborhoodInformation/NeighborComparator",1701),M(823,1,{}),D(Gb,"ThresholdStrategy",823),M(1825,823,{},cKt),l.wg=function(e,n,r){return this.a.o==(X1(),gd)?ns:Vs},l.xg=function(){},D(Gb,"ThresholdStrategy/NullThresholdStrategy",1825),M(587,1,{587:1},cXt),l.c=!1,l.d=!1,D(Gb,"ThresholdStrategy/Postprocessable",587),M(1826,823,{},uKt),l.wg=function(e,n,r){var s,o,h;return o=n==r,s=this.a.a[r.p]==n,o||s?(h=e,this.a.c==(qd(),Lv)?(o&&(h=fct(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=fct(this,r,!1))):(o&&(h=fct(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=fct(this,r,!1))),h):e},l.xg=function(){for(var e,n,r,s,o;this.d.b!=0;)o=u(ghn(this.d),587),s=z0e(this,o),s.a&&(e=s.a,r=Ie(this.a.f[this.a.g[o.b.p].p]),!(!r&&!ho(e)&&e.c.i.c==e.d.i.c)&&(n=G1e(this,o),n||Frn(this.e,o)));for(;this.e.a.c.length!=0;)G1e(this,u(Gce(this.e),587))},D(Gb,"ThresholdStrategy/SimpleThresholdStrategy",1826),M(645,1,{645:1,188:1,196:1},cZ),l.dg=function(){return ece(this)},l.qg=function(){return ece(this)};var T1t;D(hlt,"EdgeRouterFactory",645),M(1485,1,To,Zet),l.rg=function(e){return akn(u(e,36))},l.Kf=function(e,n){_7n(u(e,36),n)};var eke,nke,rke,ike,ske,$At,ake,oke;D(hlt,"OrthogonalEdgeRouter",1485),M(1478,1,To,aXt),l.rg=function(e){return Avn(u(e,36))},l.Kf=function(e,n){Y9n(this,u(e,36),n)};var cke,uke,lke,hke,aN,fke;D(hlt,"PolylineEdgeRouter",1478),M(1479,1,Xd,lZ),l.Lb=function(e){return A4t(u(e,10))},l.Fb=function(e){return this===e},l.Mb=function(e){return A4t(u(e,10))},D(hlt,"PolylineEdgeRouter/1",1479),M(1872,1,Kr,hZ),l.Mb=function(e){return u(e,132).c==(E1(),n2)},D(L1,"HyperEdgeCycleDetector/lambda$0$Type",1872),M(1873,1,{},fZ),l.Ze=function(e){return u(e,132).d},D(L1,"HyperEdgeCycleDetector/lambda$1$Type",1873),M(1874,1,Kr,dZ),l.Mb=function(e){return u(e,132).c==(E1(),n2)},D(L1,"HyperEdgeCycleDetector/lambda$2$Type",1874),M(1875,1,{},gZ),l.Ze=function(e){return u(e,132).d},D(L1,"HyperEdgeCycleDetector/lambda$3$Type",1875),M(1876,1,{},t6),l.Ze=function(e){return u(e,132).d},D(L1,"HyperEdgeCycleDetector/lambda$4$Type",1876),M(1877,1,{},uZ),l.Ze=function(e){return u(e,132).d},D(L1,"HyperEdgeCycleDetector/lambda$5$Type",1877),M(118,1,{34:1,118:1},YI),l.Fd=function(e){return Inn(this,u(e,118))},l.Fb=function(e){var n;return At(e,118)?(n=u(e,118),this.g==n.g):!1},l.Hb=function(){return this.g},l.Ib=function(){var e,n,r,s;for(e=new Jl("{"),s=new J(this.n);s.a"+this.b+" ("+Qin(this.c)+")"},l.d=0,D(L1,"HyperEdgeSegmentDependency",132),M(528,22,{3:1,34:1,22:1,528:1},qwt);var n2,F3,dke=Cr(L1,"HyperEdgeSegmentDependency/DependencyType",528,Ir,Zln,uon),gke;M(1878,1,{},mUt),D(L1,"HyperEdgeSegmentSplitter",1878),M(1879,1,{},lWt),l.a=0,l.b=0,D(L1,"HyperEdgeSegmentSplitter/AreaRating",1879),M(339,1,{339:1},fit),l.a=0,l.b=0,l.c=0,D(L1,"HyperEdgeSegmentSplitter/FreeArea",339),M(1880,1,Xr,pZ),l.Ne=function(e,n){return Qsn(u(e,118),u(n,118))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(L1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),M(1881,1,rr,Fee),l.Cd=function(e){C1n(this.a,this.d,this.c,this.b,u(e,118))},l.b=0,D(L1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),M(1882,1,{},bZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).e,16))},D(L1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),M(1883,1,{},wZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).j,16))},D(L1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),M(1884,1,{},mZ),l.Ye=function(e){return Rt(Ht(e))},D(L1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),M(664,1,{},Bit),l.a=0,l.b=0,l.c=0,D(L1,"OrthogonalRoutingGenerator",664),M(1703,1,{},vZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).e,16))},D(L1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),M(1704,1,{},yZ),l.Kb=function(e){return new ln(null,new gn(u(e,118).j,16))},D(L1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),M(670,1,{}),D(flt,"BaseRoutingDirectionStrategy",670),M(1870,670,{},dKt),l.yg=function(e,n,r){var s,o,h,d,m,k,T,A,N,j,U,W,tt;if(!(e.r&&!e.q))for(A=n+e.o*r,T=new J(e.n);T.aJd&&(h=A,o=e,s=new se(N,h),Zr(d.a,s),tv(this,d,o,s,!1),j=e.r,j&&(U=Rt(Ht(Nh(j.e,0))),s=new se(U,h),Zr(d.a,s),tv(this,d,o,s,!1),h=n+j.o*r,o=j,s=new se(U,h),Zr(d.a,s),tv(this,d,o,s,!1)),s=new se(tt,h),Zr(d.a,s),tv(this,d,o,s,!1)))},l.zg=function(e){return e.i.n.a+e.n.a+e.a.a},l.Ag=function(){return ve(),vr},l.Bg=function(){return ve(),Hn},D(flt,"NorthToSouthRoutingStrategy",1870),M(1871,670,{},gKt),l.yg=function(e,n,r){var s,o,h,d,m,k,T,A,N,j,U,W,tt;if(!(e.r&&!e.q))for(A=n-e.o*r,T=new J(e.n);T.aJd&&(h=A,o=e,s=new se(N,h),Zr(d.a,s),tv(this,d,o,s,!1),j=e.r,j&&(U=Rt(Ht(Nh(j.e,0))),s=new se(U,h),Zr(d.a,s),tv(this,d,o,s,!1),h=n-j.o*r,o=j,s=new se(U,h),Zr(d.a,s),tv(this,d,o,s,!1)),s=new se(tt,h),Zr(d.a,s),tv(this,d,o,s,!1)))},l.zg=function(e){return e.i.n.a+e.n.a+e.a.a},l.Ag=function(){return ve(),Hn},l.Bg=function(){return ve(),vr},D(flt,"SouthToNorthRoutingStrategy",1871),M(1869,670,{},pKt),l.yg=function(e,n,r){var s,o,h,d,m,k,T,A,N,j,U,W,tt;if(!(e.r&&!e.q))for(A=n+e.o*r,T=new J(e.n);T.aJd&&(h=A,o=e,s=new se(h,N),Zr(d.a,s),tv(this,d,o,s,!0),j=e.r,j&&(U=Rt(Ht(Nh(j.e,0))),s=new se(h,U),Zr(d.a,s),tv(this,d,o,s,!0),h=n+j.o*r,o=j,s=new se(h,U),Zr(d.a,s),tv(this,d,o,s,!0)),s=new se(h,tt),Zr(d.a,s),tv(this,d,o,s,!0)))},l.zg=function(e){return e.i.n.b+e.n.b+e.a.b},l.Ag=function(){return ve(),Jn},l.Bg=function(){return ve(),Gn},D(flt,"WestToEastRoutingStrategy",1869),M(828,1,{},Ckt),l.Ib=function(){return Rb(this.a)},l.b=0,l.c=!1,l.d=!1,l.f=0,D(f3,"NubSpline",828),M(418,1,{418:1},Cde,gne),D(f3,"NubSpline/PolarCP",418),M(1480,1,To,ahe),l.rg=function(e){return wyn(u(e,36))},l.Kf=function(e,n){gCn(this,u(e,36),n)};var pke,bke,wke,mke,vke;D(f3,"SplineEdgeRouter",1480),M(274,1,{274:1},gq),l.Ib=function(){return this.a+" ->("+this.c+") "+this.b},l.c=0,D(f3,"SplineEdgeRouter/Dependency",274),M(464,22,{3:1,34:1,22:1,464:1},Hwt);var r2,X5,yke=Cr(f3,"SplineEdgeRouter/SideToProcess",464,Ir,shn,lon),xke;M(1481,1,Kr,xZ),l.Mb=function(e){return yS(),!u(e,131).o},D(f3,"SplineEdgeRouter/lambda$0$Type",1481),M(1482,1,{},kZ),l.Ze=function(e){return yS(),u(e,131).v+1},D(f3,"SplineEdgeRouter/lambda$1$Type",1482),M(1483,1,rr,uXt),l.Cd=function(e){Icn(this.a,this.b,u(e,42))},D(f3,"SplineEdgeRouter/lambda$2$Type",1483),M(1484,1,rr,lXt),l.Cd=function(e){Ocn(this.a,this.b,u(e,42))},D(f3,"SplineEdgeRouter/lambda$3$Type",1484),M(131,1,{34:1,131:1},Rfe,Dkt),l.Fd=function(e){return Nnn(this,u(e,131))},l.b=0,l.e=!1,l.f=0,l.g=0,l.j=!1,l.k=!1,l.n=0,l.o=!1,l.p=!1,l.q=!1,l.s=0,l.u=0,l.v=0,l.F=0,D(f3,"SplineSegment",131),M(467,1,{467:1},eC),l.a=0,l.b=!1,l.c=!1,l.d=!1,l.e=!1,l.f=0,D(f3,"SplineSegment/EdgeInformation",467),M(1198,1,{},EZ),D(Fg,A8t,1198),M(1199,1,Xr,TZ),l.Ne=function(e,n){return Z4n(u(e,121),u(n,121))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Fg,Nbe,1199),M(1197,1,{},_Wt),D(Fg,"MrTree",1197),M(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},B$),l.dg=function(){return a1e(this)},l.qg=function(){return a1e(this)};var tK,RA,jA,$A,zAt=Cr(Fg,"TreeLayoutPhases",405,Ir,c1n,hon),kke;M(1112,205,fw,tZt),l.rf=function(e,n){var r,s,o,h,d,m,k,T;for(Ie(De(ne(e,(xc(),fLt))))||tq((r=new iE((xy(),new my(e))),r)),d=n.eh(plt),d.Ug("build tGraph",1),m=(k=new MI,Yo(k,e),Zt(k,(zi(),qA),e),T=new Er,G8n(e,k,T),hEn(e,k,T),k),d.Vg(),d=n.eh(plt),d.Ug("Split graph",1),h=J8n(this.a,m),d.Vg(),o=new J(h);o.a"+K2(this.c):"e_"+Hi(this)},D(GS,"TEdge",65),M(121,137,{3:1,121:1,96:1,137:1},MI),l.Ib=function(){var e,n,r,s,o;for(o=null,s=_r(this.b,0);s.b!=s.d.c;)r=u(Tr(s),39),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=_r(this.a,0);n.b!=n.d.c;)e=u(Tr(n),65),o+=(e.b&&e.c?K2(e.b)+"->"+K2(e.c):"e_"+Hi(e))+` +`;return o};var M_n=D(GS,"TGraph",121);M(643,508,{3:1,508:1,643:1,96:1,137:1}),D(GS,"TShape",643),M(39,643,{3:1,508:1,39:1,643:1,96:1,137:1},pat),l.Ib=function(){return K2(this)};var eK=D(GS,"TNode",39);M(236,1,O0,hg),l.Jc=function(e){Oa(this,e)},l.Kc=function(){var e;return e=_r(this.a.d,0),new A4(e)},D(GS,"TNode/2",236),M(329,1,ba,A4),l.Nb=function(e){Da(this,e)},l.Pb=function(){return u(Tr(this.a),65).c},l.Ob=function(){return _D(this.a)},l.Qb=function(){Hst(this.a)},D(GS,"TNode/2/1",329),M(1923,1,Vi,e6),l.Kf=function(e,n){VCn(this,u(e,121),n)},D(au,"CompactionProcessor",1923),M(1924,1,Xr,EUt),l.Ne=function(e,n){return Dgn(this.a,u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$0$Type",1924),M(1925,1,Kr,fXt),l.Mb=function(e){return Bln(this.b,this.a,u(e,42))},l.a=0,l.b=0,D(au,"CompactionProcessor/lambda$1$Type",1925),M(1934,1,Xr,gR),l.Ne=function(e,n){return Aun(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$10$Type",1934),M(1935,1,Xr,DZ),l.Ne=function(e,n){return qin(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$11$Type",1935),M(1936,1,Xr,UM),l.Ne=function(e,n){return Lun(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$12$Type",1936),M(1926,1,Kr,TUt),l.Mb=function(e){return Cin(this.a,u(e,42))},l.a=0,D(au,"CompactionProcessor/lambda$2$Type",1926),M(1927,1,Kr,CUt),l.Mb=function(e){return _in(this.a,u(e,42))},l.a=0,D(au,"CompactionProcessor/lambda$3$Type",1927),M(1928,1,Kr,IZ),l.Mb=function(e){return u(e,39).c.indexOf(QV)==-1},D(au,"CompactionProcessor/lambda$4$Type",1928),M(1929,1,{},_Ut),l.Kb=function(e){return jfn(this.a,u(e,39))},l.a=0,D(au,"CompactionProcessor/lambda$5$Type",1929),M(1930,1,{},SUt),l.Kb=function(e){return Kdn(this.a,u(e,39))},l.a=0,D(au,"CompactionProcessor/lambda$6$Type",1930),M(1931,1,Xr,AUt),l.Ne=function(e,n){return idn(this.a,u(e,240),u(n,240))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$7$Type",1931),M(1932,1,Xr,LUt),l.Ne=function(e,n){return sdn(this.a,u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$8$Type",1932),M(1933,1,Xr,OZ),l.Ne=function(e,n){return Hin(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(au,"CompactionProcessor/lambda$9$Type",1933),M(1921,1,Vi,PZ),l.Kf=function(e,n){$kn(u(e,121),n)},D(au,"DirectionProcessor",1921),M(1913,1,Vi,ZJt),l.Kf=function(e,n){uEn(this,u(e,121),n)},D(au,"FanProcessor",1913),M(1937,1,Vi,NZ),l.Kf=function(e,n){Akn(u(e,121),n)},D(au,"GraphBoundsProcessor",1937),M(1938,1,{},FZ),l.Ye=function(e){return u(e,39).e.a},D(au,"GraphBoundsProcessor/lambda$0$Type",1938),M(1939,1,{},BZ),l.Ye=function(e){return u(e,39).e.b},D(au,"GraphBoundsProcessor/lambda$1$Type",1939),M(1940,1,{},RZ),l.Ye=function(e){return crn(u(e,39))},D(au,"GraphBoundsProcessor/lambda$2$Type",1940),M(1941,1,{},pR),l.Ye=function(e){return orn(u(e,39))},D(au,"GraphBoundsProcessor/lambda$3$Type",1941),M(262,22,{3:1,34:1,22:1,262:1,196:1},wm),l.dg=function(){switch(this.g){case 0:return new LKt;case 1:return new ZJt;case 2:return new AKt;case 3:return new mR;case 4:return new bR;case 8:return new jZ;case 5:return new PZ;case 6:return new zZ;case 7:return new e6;case 9:return new NZ;case 10:return new qZ;default:throw nt(new zn(Dut+(this.f!=null?this.f:""+this.g)))}};var qAt,HAt,VAt,UAt,GAt,KAt,WAt,YAt,XAt,QAt,C1t,D_n=Cr(au,Iut,262,Ir,Koe,fon),Eke;M(1920,1,Vi,jZ),l.Kf=function(e,n){z9n(u(e,121),n)},D(au,"LevelCoordinatesProcessor",1920),M(1918,1,Vi,bR),l.Kf=function(e,n){c6n(this,u(e,121),n)},l.a=0,D(au,"LevelHeightProcessor",1918),M(1919,1,O0,$Z),l.Jc=function(e){Oa(this,e)},l.Kc=function(){return wn(),wE(),pT},D(au,"LevelHeightProcessor/1",1919),M(1914,1,Vi,AKt),l.Kf=function(e,n){kkn(this,u(e,121),n)},D(au,"LevelProcessor",1914),M(1915,1,Kr,wR),l.Mb=function(e){return Ie(De(K(u(e,39),(zi(),i2))))},D(au,"LevelProcessor/lambda$0$Type",1915),M(1916,1,Vi,mR),l.Kf=function(e,n){s4n(this,u(e,121),n)},l.a=0,D(au,"NeighborsProcessor",1916),M(1917,1,O0,vR),l.Jc=function(e){Oa(this,e)},l.Kc=function(){return wn(),wE(),pT},D(au,"NeighborsProcessor/1",1917),M(1922,1,Vi,zZ),l.Kf=function(e,n){cEn(this,u(e,121),n)},l.a=0,D(au,"NodePositionProcessor",1922),M(1912,1,Vi,LKt),l.Kf=function(e,n){H7n(this,u(e,121),n)},D(au,"RootProcessor",1912),M(1942,1,Vi,qZ),l.Kf=function(e,n){jwn(u(e,121),n)},D(au,"Untreeifyer",1942),M(392,22,{3:1,34:1,22:1,392:1},Srt);var oN,_1t,JAt,ZAt=Cr(vP,"EdgeRoutingMode",392,Ir,efn,don),Tke,cN,RT,S1t,tLt,eLt,A1t,L1t,nLt,M1t,rLt,D1t,zA,I1t,nK,rK,Xf,O1,jT,qA,HA,Up,iLt,Cke,O1t,i2,uN,lN;M(862,1,af,f6),l.hf=function(e){Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,h7t),""),S2e),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Nn(),!1)),(Pp(),aa)),Es),Ze((A1(),_n))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,f7t),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,d7t),""),"Tree Level"),"The index for the tree level the node is in"),fe(0)),ic),Na),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,g7t),""),S2e),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),fe(-1)),ic),Na),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,p7t),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),oLt),rs),vLt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,b7t),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),sLt),rs),ZAt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,w7t),""),"Search Order"),"Which search order to use when computing a spanning tree."),aLt),rs),xLt),Ze(_n)))),bpe((new Yh,e))};var _ke,Ske,Ake,sLt,Lke,Mke,aLt,Dke,Ike,oLt;D(vP,"MrTreeMetaDataProvider",862),M(1006,1,af,Yh),l.hf=function(e){bpe(e)};var Oke,cLt,uLt,Mv,lLt,hLt,P1t,Pke,Nke,Fke,Bke,Rke,jke,$ke,fLt,dLt,gLt,zke,Q5,iK,pLt,qke,bLt,N1t,Hke,Vke,Uke,wLt,Gke,o0,mLt;D(vP,"MrTreeOptions",1006),M(1007,1,{},yR),l.sf=function(){var e;return e=new tZt,e},l.tf=function(e){},D(vP,"MrTreeOptions/MrtreeFactory",1007),M(353,22,{3:1,34:1,22:1,353:1},R$);var F1t,sK,B1t,R1t,vLt=Cr(vP,"OrderWeighting",353,Ir,u1n,gon),Kke;M(433,22,{3:1,34:1,22:1,433:1},Vwt);var yLt,j1t,xLt=Cr(vP,"TreeifyingOrder",433,Ir,rhn,pon),Wke;M(1486,1,To,ent),l.rg=function(e){return u(e,121),Yke},l.Kf=function(e,n){vgn(this,u(e,121),n)};var Yke;D("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),M(1487,1,To,tE),l.rg=function(e){return u(e,121),Xke},l.Kf=function(e,n){_kn(this,u(e,121),n)};var Xke;D(nT,"NodeOrderer",1487),M(1494,1,{},d2t),l.td=function(e){return ate(e)},D(nT,"NodeOrderer/0methodref$lambda$6$Type",1494),M(1488,1,Kr,ett),l.Mb=function(e){return rk(),Ie(De(K(u(e,39),(zi(),i2))))},D(nT,"NodeOrderer/lambda$0$Type",1488),M(1489,1,Kr,ntt),l.Mb=function(e){return rk(),u(K(u(e,39),(xc(),Q5)),17).a<0},D(nT,"NodeOrderer/lambda$1$Type",1489),M(1490,1,Kr,DUt),l.Mb=function(e){return W0n(this.a,u(e,39))},D(nT,"NodeOrderer/lambda$2$Type",1490),M(1491,1,Kr,MUt),l.Mb=function(e){return qfn(this.a,u(e,39))},D(nT,"NodeOrderer/lambda$3$Type",1491),M(1492,1,Xr,rtt),l.Ne=function(e,n){return w0n(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(nT,"NodeOrderer/lambda$4$Type",1492),M(1493,1,Kr,itt),l.Mb=function(e){return rk(),u(K(u(e,39),(zi(),L1t)),17).a!=0},D(nT,"NodeOrderer/lambda$5$Type",1493),M(1495,1,To,Z8),l.rg=function(e){return u(e,121),Qke},l.Kf=function(e,n){N8n(this,u(e,121),n)},l.b=0;var Qke;D("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),M(1496,1,To,tnt),l.rg=function(e){return u(e,121),Jke},l.Kf=function(e,n){b8n(u(e,121),n)};var Jke,I_n=D(Wl,"EdgeRouter",1496);M(1498,1,Xr,ttt),l.Ne=function(e,n){return Bc(u(e,17).a,u(n,17).a)},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/0methodref$compare$Type",1498),M(1503,1,{},xR),l.Ye=function(e){return Rt(Ht(e))},D(Wl,"EdgeRouter/1methodref$doubleValue$Type",1503),M(1505,1,Xr,VZ),l.Ne=function(e,n){return ji(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/2methodref$compare$Type",1505),M(1507,1,Xr,UZ),l.Ne=function(e,n){return ji(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/3methodref$compare$Type",1507),M(1509,1,{},HZ),l.Ye=function(e){return Rt(Ht(e))},D(Wl,"EdgeRouter/4methodref$doubleValue$Type",1509),M(1511,1,Xr,GM),l.Ne=function(e,n){return ji(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/5methodref$compare$Type",1511),M(1513,1,Xr,GZ),l.Ne=function(e,n){return ji(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/6methodref$compare$Type",1513),M(1497,1,{},KZ),l.Kb=function(e){return Eg(),u(K(u(e,39),(xc(),o0)),17)},D(Wl,"EdgeRouter/lambda$0$Type",1497),M(1508,1,{},WZ),l.Kb=function(e){return nsn(u(e,39))},D(Wl,"EdgeRouter/lambda$11$Type",1508),M(1510,1,{},dXt),l.Kb=function(e){return Mcn(this.b,this.a,u(e,39))},l.a=0,l.b=0,D(Wl,"EdgeRouter/lambda$13$Type",1510),M(1512,1,{},gXt),l.Kb=function(e){return rsn(this.b,this.a,u(e,39))},l.a=0,l.b=0,D(Wl,"EdgeRouter/lambda$15$Type",1512),M(1514,1,Xr,YZ),l.Ne=function(e,n){return pwn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/lambda$17$Type",1514),M(1515,1,Xr,XZ),l.Ne=function(e,n){return bwn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/lambda$18$Type",1515),M(1516,1,Xr,kR),l.Ne=function(e,n){return mwn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/lambda$19$Type",1516),M(1499,1,Kr,IUt),l.Mb=function(e){return vhn(this.a,u(e,39))},l.a=0,D(Wl,"EdgeRouter/lambda$2$Type",1499),M(1517,1,Xr,QZ),l.Ne=function(e,n){return wwn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/lambda$20$Type",1517),M(1500,1,Xr,JZ),l.Ne=function(e,n){return bcn(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/lambda$3$Type",1500),M(1501,1,Xr,ZZ),l.Ne=function(e,n){return wcn(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"EdgeRouter/lambda$4$Type",1501),M(1502,1,{},stt),l.Kb=function(e){return isn(u(e,39))},D(Wl,"EdgeRouter/lambda$5$Type",1502),M(1504,1,{},pXt),l.Kb=function(e){return Dcn(this.b,this.a,u(e,39))},l.a=0,l.b=0,D(Wl,"EdgeRouter/lambda$7$Type",1504),M(1506,1,{},bXt),l.Kb=function(e){return ssn(this.b,this.a,u(e,39))},l.a=0,l.b=0,D(Wl,"EdgeRouter/lambda$9$Type",1506),M(675,1,{675:1},Wle),l.e=0,l.f=!1,l.g=!1,D(Wl,"MultiLevelEdgeNodeNodeGap",675),M(1943,1,Xr,att),l.Ne=function(e,n){return Lhn(u(e,240),u(n,240))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),M(1944,1,Xr,ott),l.Ne=function(e,n){return Mhn(u(e,240),u(n,240))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Wl,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var J5;M(500,22,{3:1,34:1,22:1,500:1,188:1,196:1},Uwt),l.dg=function(){return Pue(this)},l.qg=function(){return Pue(this)};var aK,Z5,kLt=Cr(m7t,"RadialLayoutPhases",500,Ir,ahn,bon),Zke;M(1113,205,fw,CWt),l.rf=function(e,n){var r,s,o,h,d,m;if(r=yde(this,e),n.Ug("Radial layout",r.c.length),Ie(De(ne(e,($b(),OLt))))||tq((s=new iE((xy(),new my(e))),s)),m=yyn(e),Oi(e,(G4(),J5),m),!m)throw nt(new zn("The given graph is not a tree!"));for(o=Rt(Ht(ne(e,uK))),o==0&&(o=t1e(e)),Oi(e,uK,o),d=new J(yde(this,e));d.a=3)for(ct=u(Lt(W,0),27),Tt=u(Lt(W,1),27),o=0;o+2=ct.f+Tt.f+T||Tt.f>=tt.f+ct.f+T){St=!0;break}else++o;else St=!0;if(!St){for(N=W.i,d=new Zn(W);d.e!=d.i.gc();)h=u(sr(d),27),Oi(h,(si(),TN),fe(N)),--N;X0e(e,new E6),n.Vg();return}for(r=(wI(this.a),x1(this.a,(gH(),fN),u(ne(e,uMt),188)),x1(this.a,lK,u(ne(e,rMt),188)),x1(this.a,Q1t,u(ne(e,aMt),188)),umt(this.a,(Kt=new Fs,ri(Kt,fN,(CH(),tdt)),ri(Kt,lK,Z1t),Ie(De(ne(e,tMt)))&&ri(Kt,fN,J1t),Kt)),VO(this.a,e)),k=1/r.c.length,U=new J(r);U.a0&&iue((qn(n-1,e.length),e.charCodeAt(n-1)),Gbe);)--n;if(s>=n)throw nt(new zn("The given string does not contain any numbers."));if(o=s3((Sa(s,n,e.length),e.substr(s,n-s)),`,|;|\r| +`),o.length!=2)throw nt(new zn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=Jy(Zy(o[0])),this.b=Jy(Zy(o[1]))}catch(h){throw h=is(h),At(h,130)?(r=h,nt(new zn(Kbe+r))):nt(h)}},l.Ib=function(){return"("+this.a+","+this.b+")"},l.a=0,l.b=0;var ua=D(gP,"KVector",8);M(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},Xu,h$,EJt),l.Pc=function(){return Fpn(this)},l.cg=function(e){var n,r,s,o,h,d;s=s3(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Zl(this);try{for(r=0,h=0,o=0,d=0;r0&&(h%2==0?o=Jy(s[r]):d=Jy(s[r]),h>0&&h%2!=0&&Zr(this,new se(o,d)),++h),++r}catch(m){throw m=is(m),At(m,130)?(n=m,nt(new zn("The given string does not match the expected format for vectors."+n))):nt(m)}},l.Ib=function(){var e,n,r;for(e=new Jl("("),n=_r(this,0);n.b!=n.d.c;)r=u(Tr(n),8),ni(e,r.a+","+r.b),n.b!=n.d.c&&(e.a+="; ");return(e.a+=")",e).a};var GMt=D(gP,"KVectorChain",75);M(255,22,{3:1,34:1,22:1,255:1},e_);var vdt,yK,xK,wN,mN,kK,KMt=Cr(Pl,"Alignment",255,Ir,Odn,$on),OEe;M(991,1,af,Sj),l.hf=function(e){O0e(e)};var WMt,ydt,PEe,YMt,XMt,NEe,QMt,FEe,BEe,JMt,ZMt,REe;D(Pl,"BoxLayouterOptions",991),M(992,1,{},OR),l.sf=function(){var e;return e=new H8,e},l.tf=function(e){},D(Pl,"BoxLayouterOptions/BoxFactory",992),M(297,22,{3:1,34:1,22:1,297:1},n_);var JA,xdt,ZA,tL,eL,kdt,Edt=Cr(Pl,"ContentAlignment",297,Ir,Pdn,zon),jEe;M(699,1,af,Aj),l.hf=function(e){Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,W2e),""),"Layout Algorithm"),"Select a specific layout algorithm."),(Pp(),ex)),Ne),Ze((A1(),_n))))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,Y2e),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),pd),N_n),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,zEt),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),tDt),rs),KMt),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,Sk),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,tTt),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),pd),GMt),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,GV),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),nDt),Wk),Edt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,mP),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Nn(),!1)),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,clt),""),x8t),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),rDt),rs),iL),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,wP),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),aDt),rs),Bdt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,J7t),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,UV),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),uDt),rs),YDt),Gi(_n,ot(st(H0,1),te,170,0,[Js]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,av),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),mDt),pd),mCt),Gi(_n,ot(st(H0,1),te,170,0,[Js]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,jS),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,WV),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,$S),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Aut),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),EDt),rs),JDt),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,KV),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),pd),ua),Gi(Js,ot(st(H0,1),te,170,0,[Dw,Gp]))))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,cP),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),ic),Na),Gi(Js,ot(st(H0,1),te,170,0,[c0]))))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,SV),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,RS),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,JEt),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),lDt),pd),GMt),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,e7t),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),aa),Es),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,n7t),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),aa),Es),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,c_n),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),pd),$_n),Gi(_n,ot(st(H0,1),te,170,0,[Gp]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,i7t),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),hDt),pd),wCt),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,jEt),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),aa),Es),Gi(Js,ot(st(H0,1),te,170,0,[c0,Dw,Gp]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,X2e),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Ga),zs),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,Q2e),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,J2e),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,uP),""),H2e),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),aa),Es),Ze(_n)))),Bs(e,uP,ov,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Z2e),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,twe),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),fe(100)),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,ewe),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,nwe),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),fe(4e3)),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,rwe),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),fe(400)),ic),Na),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,iwe),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,swe),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,awe),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,owe),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Z7t),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),eDt),rs),cIt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,AEt),ld),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,LEt),ld),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,xut),ld),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,MEt),ld),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Sut),ld),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,olt),ld),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,DEt),ld),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,PEt),ld),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,IEt),ld),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,OEt),ld),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,h3),ld),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,NEt),ld),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Ga),zs),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,FEt),ld),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Ga),zs),Gi(_n,ot(st(H0,1),te,170,0,[Js]))))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,BEt),ld),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),pd),_7e),Gi(Js,ot(st(H0,1),te,170,0,[c0,Dw,Gp]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,s7t),ld),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),PDt),pd),wCt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,llt),lwe),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),ic),Na),Gi(_n,ot(st(H0,1),te,170,0,[Js]))))),Bs(e,llt,ult,WEe),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,ult),lwe),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),vDt),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,VEt),hwe),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),dDt),pd),mCt),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Z7),hwe),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),gDt),Wk),_o),Gi(Js,ot(st(H0,1),te,170,0,[Gp]))))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,KEt),iU),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),xDt),rs),cL),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,WEt),iU),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),rs),cL),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,YEt),iU),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),rs),cL),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,XEt),iU),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),rs),cL),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,QEt),iU),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),rs),cL),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,T5),Ilt),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),pDt),Wk),hL),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Ak),Ilt),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),wDt),Wk),tIt),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,Lk),Ilt),"Node Size Minimum"),"The minimal size to which a node can be reduced."),bDt),pd),ua),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,J7),Ilt),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),aa),Es),Ze(_n)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,ZEt),alt),"Edge Label Placement"),"Gives a hint on where to put edge labels."),iDt),rs),BDt),Ze(Gp)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,AV),alt),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),aa),Es),Ze(Gp)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,u_n),"font"),"Font Name"),"Font name used for a label."),ex),Ne),Ze(Gp)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,cwe),"font"),"Font Size"),"Font size used for a label."),ic),Na),Ze(Gp)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,r7t),Olt),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),pd),ua),Ze(Dw)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,t7t),Olt),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),ic),Na),Ze(Dw)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,$Et),Olt),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),_Dt),rs),go),Ze(Dw)))),Xe(e,new qe(We(Ke(Ye(He(Ge(Ve(Ue(new je,REt),Olt),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Ga),zs),Ze(Dw)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,tT),rTt),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),TDt),Wk),AK),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,UEt),rTt),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),aa),Es),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,GEt),rTt),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),aa),Es),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,lP),xP),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),Ga),zs),Ze(_n)))),Bs(e,lP,ov,n7e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,eTt),xP),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),rs),PK),Ze(Js)))),Bs(e,eTt,ov,r7e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,hP),xP),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),Ga),zs),Gi(_n,ot(st(H0,1),te,170,0,[Js]))))),Bs(e,hP,ov,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,fP),xP),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),Ga),zs),Gi(_n,ot(st(H0,1),te,170,0,[Js]))))),Bs(e,fP,ov,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,ov),xP),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),rs),nIt),Ze(Js)))),Bs(e,ov,J7,null),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,nTt),xP),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),Ga),zs),Ze(_n)))),Bs(e,nTt,ov,e7e),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,qEt),fwe),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),aa),Es),Ze(Js)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,HEt),fwe),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),aa),Es),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,kut),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Ga),zs),Ze(c0)))),Xe(e,new qe(We(Ke(Ye(fn(He(Ge(Ve(Ue(new je,uwe),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),cDt),rs),HDt),Ze(c0)))),UC(e,new X6($C(fE(hE(new lb,Xn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),UC(e,new X6($C(fE(hE(new lb,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),UC(e,new X6($C(fE(hE(new lb,Lu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),UC(e,new X6($C(fE(hE(new lb,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),UC(e,new X6($C(fE(hE(new lb,A2e),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),UC(e,new X6($C(fE(hE(new lb,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),UC(e,new X6($C(fE(hE(new lb,Bh),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),m0e((new unt,e)),O0e((new Sj,e)),Gde((new Lj,e))};var zT,$Ee,tDt,nx,zEe,qEe,eDt,rx,ix,HEe,vN,nDt,yN,Iw,rDt,Tdt,Cdt,iDt,sDt,aDt,oDt,cDt,VEe,sx,uDt,UEe,xN,_dt,kN,Sdt,Dv,lDt,qT,hDt,fDt,dDt,ax,gDt,Ow,pDt,R3,ox,bDt,s2,wDt,EK,EN,Kp,mDt,GEe,vDt,KEe,WEe,yDt,xDt,Adt,Ldt,Mdt,Ddt,kDt,Nl,nL,EDt,Idt,Odt,j3,TDt,CDt,cx,_Dt,Yk,TN,Pdt,ux,YEe,Ndt,XEe,QEe,SDt,JEe,ADt,LDt,Xk,MDt,TK,DDt,IDt,Pw,ZEe,ODt,PDt,NDt,CK,CN,rL,Qk,t7e,e7e,_K,n7e,FDt,r7e;D(Pl,"CoreOptions",699),M(88,22,{3:1,34:1,22:1,88:1},GD);var bd,Ho,Jo,wd,qh,iL=Cr(Pl,x8t,88,Ir,R1n,qon),i7e;M(278,22,{3:1,34:1,22:1,278:1},Nrt);var HT,$3,VT,BDt=Cr(Pl,"EdgeLabelPlacement",278,Ir,hfn,Hon),s7e;M(223,22,{3:1,34:1,22:1,223:1},$$);var UT,_N,Jk,Fdt,Bdt=Cr(Pl,"EdgeRouting",223,Ir,d1n,Von),a7e;M(321,22,{3:1,34:1,22:1,321:1},r_);var RDt,jDt,$Dt,zDt,Rdt,qDt,HDt=Cr(Pl,"EdgeType",321,Ir,Idn,Uon),o7e;M(989,1,af,unt),l.hf=function(e){m0e(e)};var VDt,UDt,GDt,KDt,c7e,WDt,sL;D(Pl,"FixedLayouterOptions",989),M(990,1,{},Itt),l.sf=function(){var e;return e=new $tt,e},l.tf=function(e){},D(Pl,"FixedLayouterOptions/FixedFactory",990),M(346,22,{3:1,34:1,22:1,346:1},Frt);var Wp,SK,aL,YDt=Cr(Pl,"HierarchyHandling",346,Ir,dfn,Gon),u7e;M(290,22,{3:1,34:1,22:1,290:1},z$);var V0,a2,SN,AN,l7e=Cr(Pl,"LabelSide",290,Ir,f1n,Kon),h7e;M(95,22,{3:1,34:1,22:1,95:1},P4);var jg,Qf,ff,Jf,dh,Zf,df,U0,t1,_o=Cr(Pl,"NodeLabelPlacement",95,Ir,O0n,Won),f7e;M(256,22,{3:1,34:1,22:1,256:1},KD);var XDt,oL,o2,QDt,LN,cL=Cr(Pl,"PortAlignment",256,Ir,Z1n,Yon),d7e;M(101,22,{3:1,34:1,22:1,101:1},i_);var Nw,lu,G0,GT,md,c2,JDt=Cr(Pl,"PortConstraints",101,Ir,Ddn,Xon),g7e;M(279,22,{3:1,34:1,22:1,279:1},s_);var uL,lL,$g,MN,u2,Zk,AK=Cr(Pl,"PortLabelPlacement",279,Ir,Mdn,Qon),p7e;M(64,22,{3:1,34:1,22:1,64:1},WD);var Jn,Hn,Hh,Vh,Vu,Iu,vd,e1,yl,ol,hu,xl,Uu,Gu,n1,gh,ph,gf,vr,gc,Gn,go=Cr(Pl,"PortSide",64,Ir,j1n,Jon),b7e;M(993,1,af,Lj),l.hf=function(e){Gde(e)};var w7e,m7e,ZDt,v7e,y7e;D(Pl,"RandomLayouterOptions",993),M(994,1,{},q8),l.sf=function(){var e;return e=new Btt,e},l.tf=function(e){},D(Pl,"RandomLayouterOptions/RandomFactory",994),M(386,22,{3:1,34:1,22:1,386:1},q$);var z3,DN,IN,Fw,hL=Cr(Pl,"SizeConstraint",386,Ir,h1n,Zon),x7e;M(264,22,{3:1,34:1,22:1,264:1},N4);var ON,LK,KT,jdt,PN,fL,MK,DK,IK,tIt=Cr(Pl,"SizeOptions",264,Ir,U0n,tcn),k7e;M(280,22,{3:1,34:1,22:1,280:1},Brt);var q3,eIt,OK,nIt=Cr(Pl,"TopdownNodeTypes",280,Ir,ffn,ecn),E7e;M(347,22,iTt);var rIt,iIt,PK=Cr(Pl,"TopdownSizeApproximator",347,Ir,uhn,rcn);M(987,347,iTt,ste),l.Tg=function(e){return Nle(e)},Cr(Pl,"TopdownSizeApproximator/1",987,PK,null,null),M(988,347,iTt,Vte),l.Tg=function(e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je,On;for(n=u(ne(e,(si(),ux)),143),Ce=(wb(),U=new PC,U),PO(Ce,e),en=new Er,h=new Zn((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a));h.e!=h.i.gc();)s=u(sr(h),27),St=(j=new PC,j),YH(St,Ce),PO(St,s),On=Nle(s),$4(St,b.Math.max(s.g,On.a),b.Math.max(s.f,On.b)),vu(en.f,s,St);for(o=new Zn((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a));o.e!=o.i.gc();)for(s=u(sr(o),27),A=new Zn((!s.e&&(s.e=new En(Cs,s,7,4)),s.e));A.e!=A.i.gc();)T=u(sr(A),74),Kt=u(Uo(yo(en.f,s)),27),ie=u(tr(en,Lt((!T.c&&(T.c=new En(gr,T,5,8)),T.c),0)),27),Bt=(N=new x4,N),Mr((!Bt.b&&(Bt.b=new En(gr,Bt,4,7)),Bt.b),Kt),Mr((!Bt.c&&(Bt.c=new En(gr,Bt,5,8)),Bt.c),ie),WH(Bt,es(Kt)),PO(Bt,T);tt=u(xI(n.f),205);try{tt.rf(Ce,new qtt),xee(n.f,tt)}catch(Mn){throw Mn=is(Mn),At(Mn,103)?(W=Mn,nt(W)):nt(Mn)}return td(Ce,ix)||td(Ce,rx)||Vkt(Ce),k=Rt(Ht(ne(Ce,ix))),m=Rt(Ht(ne(Ce,rx))),d=k/m,r=Rt(Ht(ne(Ce,CN)))*b.Math.sqrt((!Ce.a&&(Ce.a=new Jt(wi,Ce,10,11)),Ce.a).i),Je=u(ne(Ce,Kp),107),Tt=Je.b+Je.c+1,ct=Je.d+Je.a+1,new se(b.Math.max(Tt,r),b.Math.max(ct,r/d))},Cr(Pl,"TopdownSizeApproximator/2",988,PK,null,null);var T7e;M(344,1,{871:1},E6),l.Ug=function(e,n){return Whe(this,e,n)},l.Vg=function(){wfe(this)},l.Wg=function(){return this.q},l.Xg=function(){return this.f?Jit(this.f):null},l.Yg=function(){return Jit(this.a)},l.Zg=function(){return this.p},l.$g=function(){return!1},l._g=function(){return this.n},l.ah=function(){return this.p!=null&&!this.b},l.bh=function(e){var n;this.n&&(n=e,pe(this.f,n))},l.dh=function(e,n){var r,s;this.n&&e&&Lfn(this,(r=new nee,s=nct(r,e),l9n(r),s),(tH(),zdt))},l.eh=function(e){var n;return this.b?null:(n=g0n(this,this.g),Zr(this.a,n),n.i=this,this.d=e,n)},l.fh=function(e){e>0&&!this.b&&c4t(this,e)},l.b=!1,l.c=0,l.d=-1,l.e=null,l.f=null,l.g=-1,l.j=!1,l.k=!1,l.n=!1,l.o=0,l.q=0,l.r=0,D(Ec,"BasicProgressMonitor",344),M(717,205,fw,H8),l.rf=function(e,n){X0e(e,n)},D(Ec,"BoxLayoutProvider",717),M(983,1,Xr,VUt),l.Ne=function(e,n){return l6n(this,u(e,27),u(n,27))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},l.a=!1,D(Ec,"BoxLayoutProvider/1",983),M(163,1,{163:1},Dq,LJt),l.Ib=function(){return this.c?akt(this.c):Rb(this.b)},D(Ec,"BoxLayoutProvider/Group",163),M(320,22,{3:1,34:1,22:1,320:1},H$);var sIt,aIt,oIt,$dt,cIt=Cr(Ec,"BoxLayoutProvider/PackingMode",320,Ir,g1n,icn),C7e;M(984,1,Xr,PR),l.Ne=function(e,n){return Lln(u(e,163),u(n,163))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Ec,"BoxLayoutProvider/lambda$0$Type",984),M(985,1,Xr,Ott),l.Ne=function(e,n){return xln(u(e,163),u(n,163))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Ec,"BoxLayoutProvider/lambda$1$Type",985),M(986,1,Xr,Ptt),l.Ne=function(e,n){return kln(u(e,163),u(n,163))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(Ec,"BoxLayoutProvider/lambda$2$Type",986),M(1384,1,{845:1},Ntt),l.Mg=function(e,n){return y$(),!At(n,167)||MWt((sk(),u(e,167)),n)},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),M(1385,1,rr,UUt),l.Cd=function(e){jpn(this.a,u(e,149))},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),M(1386,1,rr,Rtt),l.Cd=function(e){u(e,96),y$()},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),M(1390,1,rr,GUt),l.Cd=function(e){ogn(this.a,u(e,96))},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),M(1388,1,Kr,yXt),l.Mb=function(e){return ypn(this.a,this.b,u(e,149))},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),M(1387,1,Kr,xXt),l.Mb=function(e){return esn(this.a,this.b,u(e,845))},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),M(1389,1,rr,kXt),l.Cd=function(e){gun(this.a,this.b,u(e,149))},D(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),M(947,1,{},jtt),l.Kb=function(e){return wQt(e)},l.Fb=function(e){return this===e},D(Ec,"ElkUtil/lambda$0$Type",947),M(948,1,rr,EXt),l.Cd=function(e){d5n(this.a,this.b,u(e,74))},l.a=0,l.b=0,D(Ec,"ElkUtil/lambda$1$Type",948),M(949,1,rr,TXt),l.Cd=function(e){inn(this.a,this.b,u(e,166))},l.a=0,l.b=0,D(Ec,"ElkUtil/lambda$2$Type",949),M(950,1,rr,CXt),l.Cd=function(e){Zrn(this.a,this.b,u(e,135))},l.a=0,l.b=0,D(Ec,"ElkUtil/lambda$3$Type",950),M(951,1,rr,KUt),l.Cd=function(e){Ncn(this.a,u(e,377))},D(Ec,"ElkUtil/lambda$4$Type",951),M(325,1,{34:1,325:1},Pen),l.Fd=function(e){return Ain(this,u(e,242))},l.Fb=function(e){var n;return At(e,325)?(n=u(e,325),this.a==n.a):!1},l.Hb=function(){return Xs(this.a)},l.Ib=function(){return this.a+" (exclusive)"},l.a=0,D(Ec,"ExclusiveBounds/ExclusiveLowerBound",325),M(1119,205,fw,$tt),l.rf=function(e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt,St,Bt,Kt,ie,Ce,en,Je;for(n.Ug("Fixed Layout",1),h=u(ne(e,(si(),sDt)),223),N=0,j=0,St=new Zn((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a));St.e!=St.i.gc();){for(ct=u(sr(St),27),Je=u(ne(ct,(eH(),sL)),8),Je&&(xh(ct,Je.a,Je.b),u(ne(ct,UDt),181).Hc((Kl(),z3))&&(U=u(ne(ct,KDt),8),U.a>0&&U.b>0&&nv(ct,U.a,U.b,!0,!0))),N=b.Math.max(N,ct.i+ct.g),j=b.Math.max(j,ct.j+ct.f),T=new Zn((!ct.n&&(ct.n=new Jt(Oo,ct,1,7)),ct.n));T.e!=T.i.gc();)m=u(sr(T),135),Je=u(ne(m,sL),8),Je&&xh(m,Je.a,Je.b),N=b.Math.max(N,ct.i+m.i+m.g),j=b.Math.max(j,ct.j+m.j+m.f);for(ie=new Zn((!ct.c&&(ct.c=new Jt(kl,ct,9,9)),ct.c));ie.e!=ie.i.gc();)for(Kt=u(sr(ie),123),Je=u(ne(Kt,sL),8),Je&&xh(Kt,Je.a,Je.b),Ce=ct.i+Kt.i,en=ct.j+Kt.j,N=b.Math.max(N,Ce+Kt.g),j=b.Math.max(j,en+Kt.f),k=new Zn((!Kt.n&&(Kt.n=new Jt(Oo,Kt,1,7)),Kt.n));k.e!=k.i.gc();)m=u(sr(k),135),Je=u(ne(m,sL),8),Je&&xh(m,Je.a,Je.b),N=b.Math.max(N,Ce+m.i+m.g),j=b.Math.max(j,en+m.j+m.f);for(o=new nr(ir(Mg(ct).a.Kc(),new q));Sr(o);)r=u(lr(o),74),A=lpe(r),N=b.Math.max(N,A.a),j=b.Math.max(j,A.b);for(s=new nr(ir(OO(ct).a.Kc(),new q));Sr(s);)r=u(lr(s),74),es(M0(r))!=e&&(A=lpe(r),N=b.Math.max(N,A.a),j=b.Math.max(j,A.b))}if(h==(_g(),UT))for(Tt=new Zn((!e.a&&(e.a=new Jt(wi,e,10,11)),e.a));Tt.e!=Tt.i.gc();)for(ct=u(sr(Tt),27),s=new nr(ir(Mg(ct).a.Kc(),new q));Sr(s);)r=u(lr(s),74),d=pEn(r),d.b==0?Oi(r,Dv,null):Oi(r,Dv,d);Ie(De(ne(e,(eH(),GDt))))||(Bt=u(ne(e,c7e),107),tt=N+Bt.b+Bt.c,W=j+Bt.d+Bt.a,nv(e,tt,W,!0,!0)),n.Vg()},D(Ec,"FixedLayoutProvider",1119),M(385,137,{3:1,423:1,385:1,96:1,137:1},ZM,oae),l.cg=function(e){var n,r,s,o,h,d,m,k,T;if(e)try{for(k=s3(e,";,;"),h=k,d=0,m=h.length;d>16&js|n^s<<16},l.Kc=function(){return new WUt(this)},l.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+ec(this.b)+")":this.b==null?"pair("+ec(this.a)+",null)":"pair("+ec(this.a)+","+ec(this.b)+")"},D(Ec,"Pair",42),M(995,1,ba,WUt),l.Nb=function(e){Da(this,e)},l.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},l.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw nt(new ac)},l.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),nt(new Yu)},l.b=!1,l.c=!1,D(Ec,"Pair/1",995),M(454,1,{454:1},Bee),l.Fb=function(e){return Ic(this.a,u(e,454).a)&&Ic(this.c,u(e,454).c)&&Ic(this.d,u(e,454).d)&&Ic(this.b,u(e,454).b)},l.Hb=function(){return iO(ot(st(sa,1),Ln,1,5,[this.a,this.c,this.d,this.b]))},l.Ib=function(){return"("+this.a+ro+this.c+ro+this.d+ro+this.b+")"},D(Ec,"Quadruple",454),M(1108,205,fw,Btt),l.rf=function(e,n){var r,s,o,h,d;if(n.Ug("Random Layout",1),(!e.a&&(e.a=new Jt(wi,e,10,11)),e.a).i==0){n.Vg();return}h=u(ne(e,(F5t(),v7e)),17),h&&h.a!=0?o=new lq(h.a):o=new jat,r=CD(Ht(ne(e,w7e))),d=CD(Ht(ne(e,y7e))),s=u(ne(e,m7e),107),O9n(e,o,r,d,s),n.Vg()},D(Ec,"RandomLayoutProvider",1108),M(240,1,{240:1},dit),l.Fb=function(e){return Ic(this.a,u(e,240).a)&&Ic(this.b,u(e,240).b)&&Ic(this.c,u(e,240).c)},l.Hb=function(){return iO(ot(st(sa,1),Ln,1,5,[this.a,this.b,this.c]))},l.Ib=function(){return"("+this.a+ro+this.b+ro+this.c+")"},D(Ec,"Triple",240);var L7e;M(562,1,{}),l.Lf=function(){return new se(this.f.i,this.f.j)},l.of=function(e){return hne(e,(si(),Nl))?ne(this.f,M7e):ne(this.f,e)},l.Mf=function(){return new se(this.f.g,this.f.f)},l.Nf=function(){return this.g},l.pf=function(e){return td(this.f,e)},l.Of=function(e){Cu(this.f,e.a),_u(this.f,e.b)},l.Pf=function(e){zm(this.f,e.a),$m(this.f,e.b)},l.Qf=function(e){this.g=e},l.g=0;var M7e;D(YS,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),M(563,1,{853:1},Jj),l.Rf=function(){var e,n;if(!this.b)for(this.b=aq(qz(this.a).i),n=new Zn(qz(this.a));n.e!=n.i.gc();)e=u(sr(n),135),pe(this.b,new Hnt(e));return this.b},l.b=null,D(YS,"ElkGraphAdapters/ElkEdgeAdapter",563),M(308,562,{},my),l.Sf=function(){return rhe(this)},l.a=null,D(YS,"ElkGraphAdapters/ElkGraphAdapter",308),M(640,562,{187:1},Hnt),D(YS,"ElkGraphAdapters/ElkLabelAdapter",640),M(639,562,{695:1},Qrt),l.Rf=function(){return ymn(this)},l.Vf=function(){var e;return e=u(ne(this.f,(si(),qT)),140),!e&&(e=new OC),e},l.Xf=function(){return xmn(this)},l.Zf=function(e){var n;n=new pit(e),Oi(this.f,(si(),qT),n)},l.$f=function(e){Oi(this.f,(si(),Kp),new _vt(e))},l.Tf=function(){return this.d},l.Uf=function(){var e,n;if(!this.a)for(this.a=new ge,n=new nr(ir(OO(u(this.f,27)).a.Kc(),new q));Sr(n);)e=u(lr(n),74),pe(this.a,new Jj(e));return this.a},l.Wf=function(){var e,n;if(!this.c)for(this.c=new ge,n=new nr(ir(Mg(u(this.f,27)).a.Kc(),new q));Sr(n);)e=u(lr(n),74),pe(this.c,new Jj(e));return this.c},l.Yf=function(){return Kz(u(this.f,27)).i!=0||Ie(De(u(this.f,27).of((si(),xN))))},l._f=function(){Zdn(this,(xy(),L7e))},l.a=null,l.b=null,l.c=null,l.d=null,l.e=null,D(YS,"ElkGraphAdapters/ElkNodeAdapter",639),M(1284,562,{852:1},YUt),l.Rf=function(){return Lmn(this)},l.Uf=function(){var e,n;if(!this.a)for(this.a=k0(u(this.f,123).hh().i),n=new Zn(u(this.f,123).hh());n.e!=n.i.gc();)e=u(sr(n),74),pe(this.a,new Jj(e));return this.a},l.Wf=function(){var e,n;if(!this.c)for(this.c=k0(u(this.f,123).ih().i),n=new Zn(u(this.f,123).ih());n.e!=n.i.gc();)e=u(sr(n),74),pe(this.c,new Jj(e));return this.c},l.ag=function(){return u(u(this.f,123).of((si(),cx)),64)},l.bg=function(){var e,n,r,s,o,h,d,m;for(s=Y1(u(this.f,123)),r=new Zn(u(this.f,123).ih());r.e!=r.i.gc();)for(e=u(sr(r),74),m=new Zn((!e.c&&(e.c=new En(gr,e,5,8)),e.c));m.e!=m.i.gc();){if(d=u(sr(m),84),qy(Xo(d),s))return!0;if(Xo(d)==s&&Ie(De(ne(e,(si(),_dt)))))return!0}for(n=new Zn(u(this.f,123).hh());n.e!=n.i.gc();)for(e=u(sr(n),74),h=new Zn((!e.b&&(e.b=new En(gr,e,4,7)),e.b));h.e!=h.i.gc();)if(o=u(sr(h),84),qy(Xo(o),s))return!0;return!1},l.a=null,l.b=null,l.c=null,D(YS,"ElkGraphAdapters/ElkPortAdapter",1284),M(1285,1,Xr,Ftt),l.Ne=function(e,n){return o8n(u(e,123),u(n,123))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(YS,"ElkGraphAdapters/PortComparator",1285);var l2=us(Rh,"EObject"),WT=us(S5,pwe),bh=us(S5,bwe),NN=us(S5,wwe),FN=us(S5,"ElkShape"),gr=us(S5,mwe),Cs=us(S5,sTt),Ji=us(S5,vwe),BN=us(Rh,ywe),dL=us(Rh,"EFactory"),D7e,qdt=us(Rh,xwe),P1=us(Rh,"EPackage"),fa,I7e,O7e,fIt,NK,P7e,dIt,gIt,pIt,K0,N7e,F7e,Oo=us(S5,aTt),wi=us(S5,oTt),kl=us(S5,cTt);M(93,1,kwe),l.th=function(){return this.uh(),null},l.uh=function(){return null},l.vh=function(){return this.uh(),!1},l.wh=function(){return!1},l.xh=function(e){Ti(this,e)},D(Ik,"BasicNotifierImpl",93),M(99,93,_we),l.Yh=function(){return zl(this)},l.yh=function(e,n){return e},l.zh=function(){throw nt(new Vr)},l.Ah=function(e){var n;return n=wo(u(Tn(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,e)},l.Bh=function(e,n){throw nt(new Vr)},l.Ch=function(e,n,r){return ch(this,e,n,r)},l.Dh=function(){var e;return this.zh()&&(e=this.zh().Nk(),e)?e:this.ii()},l.Eh=function(){return jot(this)},l.Fh=function(){throw nt(new Vr)},l.Gh=function(){var e,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(KC(),e=jyt(Kd(this.Dh())),e==null?Xdt:new ZD(this,e))),n},l.Hh=function(e,n){return e},l.Ih=function(e){var n;return n=e.pk(),n?e.Lj():ss(this.Dh(),e)},l.Jh=function(){var e;return e=this.zh(),e?e.Qk():null},l.Kh=function(){return this.zh()?this.zh().Nk():null},l.Lh=function(e,n,r){return EH(this,e,n,r)},l.Mh=function(e){return qE(this,e)},l.Nh=function(e,n){return Tst(this,e,n)},l.Oh=function(){var e;return e=this.zh(),!!e&&e.Rk()},l.Ph=function(){throw nt(new Vr)},l.Qh=function(){return bH(this)},l.Rh=function(e,n,r,s){return hk(this,e,n,s)},l.Sh=function(e,n,r){var s;return s=u(Tn(this.Dh(),n),69),s.wk().zk(this,this.hi(),n-this.ji(),e,r)},l.Th=function(e,n,r,s){return Qz(this,e,n,s)},l.Uh=function(e,n,r){var s;return s=u(Tn(this.Dh(),n),69),s.wk().Ak(this,this.hi(),n-this.ji(),e,r)},l.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},l.Wh=function(e){return Xat(this,e)},l.Xh=function(e){return Cne(this,e)},l.Zh=function(e){return Wge(this,e)},l.$h=function(){throw nt(new Vr)},l._h=function(){return this.zh()?this.zh().Pk():null},l.ai=function(){return bH(this)},l.bi=function(e,n){Pot(this,e,n)},l.ci=function(e){this.$h().Sk(e)},l.di=function(e){this.$h().Vk(e)},l.ei=function(e){this.$h().Uk(e)},l.fi=function(e,n){var r,s,o,h;return h=this.Jh(),h&&e&&(n=no(h.El(),this,n),h.Il(this)),s=this.Ph(),s&&(Zot(this,this.Ph(),this.Fh()).Bb&fo?(o=s.Qh(),o&&(e?!h&&o.Il(this):o.Hl(this))):(n=(r=this.Fh(),r>=0?this.Ah(n):this.Ph().Th(this,-1-r,null,n)),n=this.Ch(null,-1,n))),this.di(e),n},l.gi=function(e){var n,r,s,o,h,d,m,k;if(r=this.Dh(),h=ss(r,e),n=this.ji(),h>=n)return u(e,69).wk().Dk(this,this.hi(),h-n);if(h<=-1)if(d=w5((rl(),Fa),r,e),d){if(bo(),u(d,69).xk()||(d=Q6(Ro(Fa,d))),o=(s=this.Ih(d),u(s>=0?this.Lh(s,!0,!0):Zm(this,d,!0),160)),k=d.Ik(),k>1||k==-1)return u(u(o,220).Sl(e,!1),79)}else throw nt(new zn(Kb+e.xe()+Plt));else if(e.Jk())return s=this.Ih(e),u(s>=0?this.Lh(s,!1,!0):Zm(this,e,!1),79);return m=new HXt(this,e),m},l.hi=function(){return V3t(this)},l.ii=function(){return(Tb(),Fn).S},l.ji=function(){return ur(this.ii())},l.ki=function(e){Dot(this,e)},l.Ib=function(){return qf(this)},D(jn,"BasicEObjectImpl",99);var B7e;M(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),l.li=function(e){var n;return n=H3t(this),n[e]},l.mi=function(e,n){var r;r=H3t(this),hs(r,e,n)},l.ni=function(e){var n;n=H3t(this),hs(n,e,null)},l.th=function(){return u($n(this,4),129)},l.uh=function(){throw nt(new Vr)},l.vh=function(){return(this.Db&4)!=0},l.zh=function(){throw nt(new Vr)},l.oi=function(e){uk(this,2,e)},l.Bh=function(e,n){this.Db=n<<16|this.Db&255,this.oi(e)},l.Dh=function(){return ju(this)},l.Fh=function(){return this.Db>>16},l.Gh=function(){var e,n;return KC(),n=jyt(Kd((e=u($n(this,16),29),e||this.ii()))),n==null?Xdt:new ZD(this,n)},l.wh=function(){return(this.Db&1)==0},l.Jh=function(){return u($n(this,128),2034)},l.Kh=function(){return u($n(this,16),29)},l.Oh=function(){return(this.Db&32)!=0},l.Ph=function(){return u($n(this,2),54)},l.Vh=function(){return(this.Db&64)!=0},l.$h=function(){throw nt(new Vr)},l._h=function(){return u($n(this,64),288)},l.ci=function(e){uk(this,16,e)},l.di=function(e){uk(this,128,e)},l.ei=function(e){uk(this,64,e)},l.hi=function(){return Su(this)},l.Db=0,D(jn,"MinimalEObjectImpl",119),M(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.oi=function(e){this.Cb=e},l.Ph=function(){return this.Cb},D(jn,"MinimalEObjectImpl/Container",120),M(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(e,n,r){return sxt(this,e,n,r)},l.Uh=function(e,n,r){return Wxt(this,e,n,r)},l.Wh=function(e){return Zyt(this,e)},l.bi=function(e,n){V4t(this,e,n)},l.ii=function(){return jc(),F7e},l.ki=function(e){O4t(this,e)},l.nf=function(){return Ele(this)},l.gh=function(){return!this.o&&(this.o=new el((jc(),K0),Yp,this,0)),this.o},l.of=function(e){return ne(this,e)},l.pf=function(e){return td(this,e)},l.qf=function(e,n){return Oi(this,e,n)},D(bw,"EMapPropertyHolderImpl",2083),M(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},sC),l.Lh=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return EH(this,e,n,r)},l.Wh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return Xat(this,e)},l.bi=function(e,n){switch(e){case 0:Oq(this,Rt(Ht(n)));return;case 1:Iq(this,Rt(Ht(n)));return}Pot(this,e,n)},l.ii=function(){return jc(),I7e},l.ki=function(e){switch(e){case 0:Oq(this,0);return;case 1:Iq(this,0);return}Dot(this,e)},l.Ib=function(){var e;return this.Db&64?qf(this):(e=new Jh(qf(this)),e.a+=" (x: ",M4(e,this.a),e.a+=", y: ",M4(e,this.b),e.a+=")",e.a)},l.a=0,l.b=0,D(bw,"ElkBendPointImpl",572),M(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(e,n,r){return d5t(this,e,n,r)},l.Sh=function(e,n,r){return Tot(this,e,n,r)},l.Uh=function(e,n,r){return oat(this,e,n,r)},l.Wh=function(e){return S4t(this,e)},l.bi=function(e,n){Txt(this,e,n)},l.ii=function(){return jc(),P7e},l.ki=function(e){i5t(this,e)},l.jh=function(){return this.k},l.kh=function(){return qz(this)},l.Ib=function(){return Oat(this)},l.k=null,D(bw,"ElkGraphElementImpl",739),M(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(e,n,r){return x5t(this,e,n,r)},l.Wh=function(e){return S5t(this,e)},l.bi=function(e,n){Cxt(this,e,n)},l.ii=function(){return jc(),N7e},l.ki=function(e){P5t(this,e)},l.lh=function(){return this.f},l.mh=function(){return this.g},l.nh=function(){return this.i},l.oh=function(){return this.j},l.ph=function(e,n){$4(this,e,n)},l.qh=function(e,n){xh(this,e,n)},l.rh=function(e){Cu(this,e)},l.sh=function(e){_u(this,e)},l.Ib=function(){return Lot(this)},l.f=0,l.g=0,l.i=0,l.j=0,D(bw,"ElkShapeImpl",740),M(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),l.Lh=function(e,n,r){return J5t(this,e,n,r)},l.Sh=function(e,n,r){return mxt(this,e,n,r)},l.Uh=function(e,n,r){return vxt(this,e,n,r)},l.Wh=function(e){return H4t(this,e)},l.bi=function(e,n){D6t(this,e,n)},l.ii=function(){return jc(),O7e},l.ki=function(e){K5t(this,e)},l.hh=function(){return!this.d&&(this.d=new En(Cs,this,8,5)),this.d},l.ih=function(){return!this.e&&(this.e=new En(Cs,this,7,4)),this.e},D(bw,"ElkConnectableShapeImpl",741),M(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},x4),l.Ah=function(e){return gxt(this,e)},l.Lh=function(e,n,r){switch(e){case 3:return kI(this);case 4:return!this.b&&(this.b=new En(gr,this,4,7)),this.b;case 5:return!this.c&&(this.c=new En(gr,this,5,8)),this.c;case 6:return!this.a&&(this.a=new Jt(Ji,this,6,6)),this.a;case 7:return Nn(),!this.b&&(this.b=new En(gr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new En(gr,this,5,8)),this.c.i<=1));case 8:return Nn(),!!bS(this);case 9:return Nn(),!!Jm(this);case 10:return Nn(),!this.b&&(this.b=new En(gr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new En(gr,this,5,8)),this.c.i!=0)}return d5t(this,e,n,r)},l.Sh=function(e,n,r){var s;switch(n){case 3:return this.Cb&&(r=(s=this.Db>>16,s>=0?gxt(this,r):this.Cb.Th(this,-1-s,null,r))),Ymt(this,u(e,27),r);case 4:return!this.b&&(this.b=new En(gr,this,4,7)),mu(this.b,e,r);case 5:return!this.c&&(this.c=new En(gr,this,5,8)),mu(this.c,e,r);case 6:return!this.a&&(this.a=new Jt(Ji,this,6,6)),mu(this.a,e,r)}return Tot(this,e,n,r)},l.Uh=function(e,n,r){switch(n){case 3:return Ymt(this,null,r);case 4:return!this.b&&(this.b=new En(gr,this,4,7)),no(this.b,e,r);case 5:return!this.c&&(this.c=new En(gr,this,5,8)),no(this.c,e,r);case 6:return!this.a&&(this.a=new Jt(Ji,this,6,6)),no(this.a,e,r)}return oat(this,e,n,r)},l.Wh=function(e){switch(e){case 3:return!!kI(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new En(gr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new En(gr,this,5,8)),this.c.i<=1));case 8:return bS(this);case 9:return Jm(this);case 10:return!this.b&&(this.b=new En(gr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new En(gr,this,5,8)),this.c.i!=0)}return S4t(this,e)},l.bi=function(e,n){switch(e){case 3:WH(this,u(n,27));return;case 4:!this.b&&(this.b=new En(gr,this,4,7)),Lr(this.b),!this.b&&(this.b=new En(gr,this,4,7)),bs(this.b,u(n,16));return;case 5:!this.c&&(this.c=new En(gr,this,5,8)),Lr(this.c),!this.c&&(this.c=new En(gr,this,5,8)),bs(this.c,u(n,16));return;case 6:!this.a&&(this.a=new Jt(Ji,this,6,6)),Lr(this.a),!this.a&&(this.a=new Jt(Ji,this,6,6)),bs(this.a,u(n,16));return}Txt(this,e,n)},l.ii=function(){return jc(),fIt},l.ki=function(e){switch(e){case 3:WH(this,null);return;case 4:!this.b&&(this.b=new En(gr,this,4,7)),Lr(this.b);return;case 5:!this.c&&(this.c=new En(gr,this,5,8)),Lr(this.c);return;case 6:!this.a&&(this.a=new Jt(Ji,this,6,6)),Lr(this.a);return}i5t(this,e)},l.Ib=function(){return fge(this)},D(bw,"ElkEdgeImpl",326),M(451,2083,{110:1,342:1,166:1,451:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},k4),l.Ah=function(e){return lxt(this,e)},l.Lh=function(e,n,r){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new Ns(bh,this,5)),this.a;case 6:return xne(this);case 7:return n?eot(this):this.i;case 8:return n?tot(this):this.f;case 9:return!this.g&&(this.g=new En(Ji,this,9,10)),this.g;case 10:return!this.e&&(this.e=new En(Ji,this,10,9)),this.e;case 11:return this.d}return sxt(this,e,n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?lxt(this,r):this.Cb.Th(this,-1-o,null,r))),Wmt(this,u(e,74),r);case 9:return!this.g&&(this.g=new En(Ji,this,9,10)),mu(this.g,e,r);case 10:return!this.e&&(this.e=new En(Ji,this,10,9)),mu(this.e,e,r)}return h=u(Tn((s=u($n(this,16),29),s||(jc(),NK)),n),69),h.wk().zk(this,Su(this),n-ur((jc(),NK)),e,r)},l.Uh=function(e,n,r){switch(n){case 5:return!this.a&&(this.a=new Ns(bh,this,5)),no(this.a,e,r);case 6:return Wmt(this,null,r);case 9:return!this.g&&(this.g=new En(Ji,this,9,10)),no(this.g,e,r);case 10:return!this.e&&(this.e=new En(Ji,this,10,9)),no(this.e,e,r)}return Wxt(this,e,n,r)},l.Wh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!xne(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Zyt(this,e)},l.bi=function(e,n){switch(e){case 1:WE(this,Rt(Ht(n)));return;case 2:XE(this,Rt(Ht(n)));return;case 3:KE(this,Rt(Ht(n)));return;case 4:YE(this,Rt(Ht(n)));return;case 5:!this.a&&(this.a=new Ns(bh,this,5)),Lr(this.a),!this.a&&(this.a=new Ns(bh,this,5)),bs(this.a,u(n,16));return;case 6:hde(this,u(n,74));return;case 7:$q(this,u(n,84));return;case 8:jq(this,u(n,84));return;case 9:!this.g&&(this.g=new En(Ji,this,9,10)),Lr(this.g),!this.g&&(this.g=new En(Ji,this,9,10)),bs(this.g,u(n,16));return;case 10:!this.e&&(this.e=new En(Ji,this,10,9)),Lr(this.e),!this.e&&(this.e=new En(Ji,this,10,9)),bs(this.e,u(n,16));return;case 11:p4t(this,Gr(n));return}V4t(this,e,n)},l.ii=function(){return jc(),NK},l.ki=function(e){switch(e){case 1:WE(this,0);return;case 2:XE(this,0);return;case 3:KE(this,0);return;case 4:YE(this,0);return;case 5:!this.a&&(this.a=new Ns(bh,this,5)),Lr(this.a);return;case 6:hde(this,null);return;case 7:$q(this,null);return;case 8:jq(this,null);return;case 9:!this.g&&(this.g=new En(Ji,this,9,10)),Lr(this.g);return;case 10:!this.e&&(this.e=new En(Ji,this,10,9)),Lr(this.e);return;case 11:p4t(this,null);return}O4t(this,e)},l.Ib=function(){return C1e(this)},l.b=0,l.c=0,l.d=null,l.j=0,l.k=0,D(bw,"ElkEdgeSectionImpl",451),M(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),l.Lh=function(e,n,r){var s;return e==0?(!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab):Ah(this,e-ur(this.ii()),Tn((s=u($n(this,16),29),s||this.ii()),e),n,r)},l.Sh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r)):(o=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),o.wk().zk(this,Su(this),n-ur(this.ii()),e,r))},l.Uh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r)):(o=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Su(this),n-ur(this.ii()),e,r))},l.Wh=function(e){var n;return e==0?!!this.Ab&&this.Ab.i!=0:_h(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.Zh=function(e){return qkt(this,e)},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return}Ih(this,e-ur(this.ii()),Tn((r=u($n(this,16),29),r||this.ii()),e),n)},l.di=function(e){uk(this,128,e)},l.ii=function(){return bn(),eTe},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return}Dh(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.pi=function(){this.Bb|=1},l.qi=function(e){return ES(this,e)},l.Bb=0,D(jn,"EModelElementImpl",158),M(720,158,{110:1,94:1,93:1,479:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},gD),l.ri=function(e,n){return zge(this,e,n)},l.si=function(e){var n,r,s,o,h;if(this.a!=nh(e)||e.Bb&256)throw nt(new zn(Flt+e.zb+hv));for(s=Ko(e);Gc(s.a).i!=0;){if(r=u(UO(s,0,(n=u(Lt(Gc(s.a),0),89),h=n.c,At(h,90)?u(h,29):(bn(),mf))),29),Qm(r))return o=nh(r).wi().si(r),u(o,54).ci(e),o;s=Ko(r)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new rte(e):new Bvt(e)},l.ti=function(e,n){return rv(this,e,n)},l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.a}return Ah(this,e-ur((bn(),g2)),Tn((s=u($n(this,16),29),s||g2),e),n,r)},l.Sh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 1:return this.a&&(r=u(this.a,54).Th(this,4,P1,r)),r5t(this,u(e,241),r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),g2)),n),69),o.wk().zk(this,Su(this),n-ur((bn(),g2)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 1:return r5t(this,null,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),g2)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),g2)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return _h(this,e-ur((bn(),g2)),Tn((n=u($n(this,16),29),n||g2),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:ofe(this,u(n,241));return}Ih(this,e-ur((bn(),g2)),Tn((r=u($n(this,16),29),r||g2),e),n)},l.ii=function(){return bn(),g2},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:ofe(this,null);return}Dh(this,e-ur((bn(),g2)),Tn((n=u($n(this,16),29),n||g2),e))};var gL,bIt,R7e;D(jn,"EFactoryImpl",720),M(1037,720,{110:1,2113:1,94:1,93:1,479:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},BR),l.ri=function(e,n){switch(e.hk()){case 12:return u(n,149).Pg();case 13:return ec(n);default:throw nt(new zn(oT+e.xe()+hv))}},l.si=function(e){var n,r,s,o,h,d,m,k;switch(e.G==-1&&(e.G=(n=nh(e),n?Ip(n.vi(),e):-1)),e.G){case 4:return h=new RR,h;case 6:return d=new PC,d;case 7:return m=new j2t,m;case 8:return s=new x4,s;case 9:return r=new sC,r;case 10:return o=new k4,o;case 11:return k=new jR,k;default:throw nt(new zn(Flt+e.zb+hv))}},l.ti=function(e,n){switch(e.hk()){case 13:case 12:return null;default:throw nt(new zn(oT+e.xe()+hv))}},D(bw,"ElkGraphFactoryImpl",1037),M(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),l.Gh=function(){var e,n;return n=(e=u($n(this,16),29),jyt(Kd(e||this.ii()))),n==null?(KC(),KC(),Xdt):new _Jt(this,n)},l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.xe()}return Ah(this,e-ur(this.ii()),Tn((s=u($n(this,16),29),s||this.ii()),e),n,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return _h(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:this.ui(Gr(n));return}Ih(this,e-ur(this.ii()),Tn((r=u($n(this,16),29),r||this.ii()),e),n)},l.ii=function(){return bn(),nTe},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:this.ui(null);return}Dh(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.xe=function(){return this.zb},l.ui=function(e){wu(this,e)},l.Ib=function(){return Z_(this)},l.zb=null,D(jn,"ENamedElementImpl",448),M(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},Zee),l.Ah=function(e){return mhe(this,e)},l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Iy(this,N1,this)),this.rb;case 6:return!this.vb&&(this.vb=new R6(P1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?u(this.Cb,241):null:Ane(this)}return Ah(this,e-ur((bn(),Zp)),Tn((s=u($n(this,16),29),s||Zp),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 4:return this.sb&&(r=u(this.sb,54).Th(this,1,dL,r)),a5t(this,u(e,479),r);case 5:return!this.rb&&(this.rb=new Iy(this,N1,this)),mu(this.rb,e,r);case 6:return!this.vb&&(this.vb=new R6(P1,this,6,7)),mu(this.vb,e,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?mhe(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,7,r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),Zp)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),Zp)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 4:return a5t(this,null,r);case 5:return!this.rb&&(this.rb=new Iy(this,N1,this)),no(this.rb,e,r);case 6:return!this.vb&&(this.vb=new R6(P1,this,6,7)),no(this.vb,e,r);case 7:return ch(this,null,7,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),Zp)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),Zp)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!Ane(this)}return _h(this,e-ur((bn(),Zp)),Tn((n=u($n(this,16),29),n||Zp),e))},l.Zh=function(e){var n;return n=k6n(this,e),n||qkt(this,e)},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:wu(this,Gr(n));return;case 2:Gq(this,Gr(n));return;case 3:Uq(this,Gr(n));return;case 4:Aot(this,u(n,479));return;case 5:!this.rb&&(this.rb=new Iy(this,N1,this)),Lr(this.rb),!this.rb&&(this.rb=new Iy(this,N1,this)),bs(this.rb,u(n,16));return;case 6:!this.vb&&(this.vb=new R6(P1,this,6,7)),Lr(this.vb),!this.vb&&(this.vb=new R6(P1,this,6,7)),bs(this.vb,u(n,16));return}Ih(this,e-ur((bn(),Zp)),Tn((r=u($n(this,16),29),r||Zp),e),n)},l.ei=function(e){var n,r;if(e&&this.rb)for(r=new Zn(this.rb);r.e!=r.i.gc();)n=sr(r),At(n,364)&&(u(n,364).w=null);uk(this,64,e)},l.ii=function(){return bn(),Zp},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:wu(this,null);return;case 2:Gq(this,null);return;case 3:Uq(this,null);return;case 4:Aot(this,null);return;case 5:!this.rb&&(this.rb=new Iy(this,N1,this)),Lr(this.rb);return;case 6:!this.vb&&(this.vb=new R6(P1,this,6,7)),Lr(this.vb);return}Dh(this,e-ur((bn(),Zp)),Tn((n=u($n(this,16),29),n||Zp),e))},l.pi=function(){got(this)},l.vi=function(){return!this.rb&&(this.rb=new Iy(this,N1,this)),this.rb},l.wi=function(){return this.sb},l.xi=function(){return this.ub},l.yi=function(){return this.xb},l.zi=function(){return this.yb},l.Ai=function(e){this.ub=e},l.Ib=function(){var e;return this.Db&64?Z_(this):(e=new Jh(Z_(this)),e.a+=" (nsURI: ",Lo(e,this.yb),e.a+=", nsPrefix: ",Lo(e,this.xb),e.a+=")",e.a)},l.xb=null,l.yb=null,D(jn,"EPackageImpl",184),M(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},P1e),l.q=!1,l.r=!1;var j7e=!1;D(bw,"ElkGraphPackageImpl",569),M(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},RR),l.Ah=function(e){return hxt(this,e)},l.Lh=function(e,n,r){switch(e){case 7:return Lne(this);case 8:return this.a}return x5t(this,e,n,r)},l.Sh=function(e,n,r){var s;switch(n){case 7:return this.Cb&&(r=(s=this.Db>>16,s>=0?hxt(this,r):this.Cb.Th(this,-1-s,null,r))),Jvt(this,u(e,167),r)}return Tot(this,e,n,r)},l.Uh=function(e,n,r){return n==7?Jvt(this,null,r):oat(this,e,n,r)},l.Wh=function(e){switch(e){case 7:return!!Lne(this);case 8:return!hn("",this.a)}return S5t(this,e)},l.bi=function(e,n){switch(e){case 7:V6t(this,u(n,167));return;case 8:l4t(this,Gr(n));return}Cxt(this,e,n)},l.ii=function(){return jc(),dIt},l.ki=function(e){switch(e){case 7:V6t(this,null);return;case 8:l4t(this,"");return}P5t(this,e)},l.Ib=function(){return xfe(this)},l.a="",D(bw,"ElkLabelImpl",366),M(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},PC),l.Ah=function(e){return pxt(this,e)},l.Lh=function(e,n,r){switch(e){case 9:return!this.c&&(this.c=new Jt(kl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new Jt(wi,this,10,11)),this.a;case 11:return es(this);case 12:return!this.b&&(this.b=new Jt(Cs,this,12,3)),this.b;case 13:return Nn(),!this.a&&(this.a=new Jt(wi,this,10,11)),this.a.i>0}return J5t(this,e,n,r)},l.Sh=function(e,n,r){var s;switch(n){case 9:return!this.c&&(this.c=new Jt(kl,this,9,9)),mu(this.c,e,r);case 10:return!this.a&&(this.a=new Jt(wi,this,10,11)),mu(this.a,e,r);case 11:return this.Cb&&(r=(s=this.Db>>16,s>=0?pxt(this,r):this.Cb.Th(this,-1-s,null,r))),svt(this,u(e,27),r);case 12:return!this.b&&(this.b=new Jt(Cs,this,12,3)),mu(this.b,e,r)}return mxt(this,e,n,r)},l.Uh=function(e,n,r){switch(n){case 9:return!this.c&&(this.c=new Jt(kl,this,9,9)),no(this.c,e,r);case 10:return!this.a&&(this.a=new Jt(wi,this,10,11)),no(this.a,e,r);case 11:return svt(this,null,r);case 12:return!this.b&&(this.b=new Jt(Cs,this,12,3)),no(this.b,e,r)}return vxt(this,e,n,r)},l.Wh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!es(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new Jt(wi,this,10,11)),this.a.i>0}return H4t(this,e)},l.bi=function(e,n){switch(e){case 9:!this.c&&(this.c=new Jt(kl,this,9,9)),Lr(this.c),!this.c&&(this.c=new Jt(kl,this,9,9)),bs(this.c,u(n,16));return;case 10:!this.a&&(this.a=new Jt(wi,this,10,11)),Lr(this.a),!this.a&&(this.a=new Jt(wi,this,10,11)),bs(this.a,u(n,16));return;case 11:YH(this,u(n,27));return;case 12:!this.b&&(this.b=new Jt(Cs,this,12,3)),Lr(this.b),!this.b&&(this.b=new Jt(Cs,this,12,3)),bs(this.b,u(n,16));return}D6t(this,e,n)},l.ii=function(){return jc(),gIt},l.ki=function(e){switch(e){case 9:!this.c&&(this.c=new Jt(kl,this,9,9)),Lr(this.c);return;case 10:!this.a&&(this.a=new Jt(wi,this,10,11)),Lr(this.a);return;case 11:YH(this,null);return;case 12:!this.b&&(this.b=new Jt(Cs,this,12,3)),Lr(this.b);return}K5t(this,e)},l.Ib=function(){return akt(this)},D(bw,"ElkNodeImpl",207),M(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},j2t),l.Ah=function(e){return fxt(this,e)},l.Lh=function(e,n,r){return e==9?Y1(this):J5t(this,e,n,r)},l.Sh=function(e,n,r){var s;switch(n){case 9:return this.Cb&&(r=(s=this.Db>>16,s>=0?fxt(this,r):this.Cb.Th(this,-1-s,null,r))),Xmt(this,u(e,27),r)}return mxt(this,e,n,r)},l.Uh=function(e,n,r){return n==9?Xmt(this,null,r):vxt(this,e,n,r)},l.Wh=function(e){return e==9?!!Y1(this):H4t(this,e)},l.bi=function(e,n){switch(e){case 9:$6t(this,u(n,27));return}D6t(this,e,n)},l.ii=function(){return jc(),pIt},l.ki=function(e){switch(e){case 9:$6t(this,null);return}K5t(this,e)},l.Ib=function(){return l0e(this)},D(bw,"ElkPortImpl",193);var $7e=us(io,"BasicEMap/Entry");M(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},jR),l.Fb=function(e){return this===e},l.ld=function(){return this.b},l.Hb=function(){return km(this)},l.Di=function(e){h4t(this,u(e,149))},l.Lh=function(e,n,r){switch(e){case 0:return this.b;case 1:return this.c}return EH(this,e,n,r)},l.Wh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return Xat(this,e)},l.bi=function(e,n){switch(e){case 0:h4t(this,u(n,149));return;case 1:u4t(this,n);return}Pot(this,e,n)},l.ii=function(){return jc(),K0},l.ki=function(e){switch(e){case 0:h4t(this,null);return;case 1:u4t(this,null);return}Dot(this,e)},l.Bi=function(){var e;return this.a==-1&&(e=this.b,this.a=e?Hi(e):0),this.a},l.md=function(){return this.c},l.Ci=function(e){this.a=e},l.nd=function(e){var n;return n=this.c,u4t(this,e),n},l.Ib=function(){var e;return this.Db&64?qf(this):(e=new pb,ni(ni(ni(e,this.b?this.b.Pg():Hu),Lut),d_(this.c)),e.a)},l.a=-1,l.c=null;var Yp=D(bw,"ElkPropertyToValueMapEntryImpl",1122);M(996,1,{},aC),D(Pa,"JsonAdapter",996),M(216,63,Ig,Pd),D(Pa,"JsonImportException",216),M(868,1,{},vhe),D(Pa,"JsonImporter",868),M(903,1,{},_Xt),D(Pa,"JsonImporter/lambda$0$Type",903),M(904,1,{},SXt),D(Pa,"JsonImporter/lambda$1$Type",904),M(912,1,{},XUt),D(Pa,"JsonImporter/lambda$10$Type",912),M(914,1,{},AXt),D(Pa,"JsonImporter/lambda$11$Type",914),M(915,1,{},LXt),D(Pa,"JsonImporter/lambda$12$Type",915),M(921,1,{},zee),D(Pa,"JsonImporter/lambda$13$Type",921),M(920,1,{},qee),D(Pa,"JsonImporter/lambda$14$Type",920),M(916,1,{},MXt),D(Pa,"JsonImporter/lambda$15$Type",916),M(917,1,{},DXt),D(Pa,"JsonImporter/lambda$16$Type",917),M(918,1,{},IXt),D(Pa,"JsonImporter/lambda$17$Type",918),M(919,1,{},OXt),D(Pa,"JsonImporter/lambda$18$Type",919),M(924,1,{},QUt),D(Pa,"JsonImporter/lambda$19$Type",924),M(905,1,{},JUt),D(Pa,"JsonImporter/lambda$2$Type",905),M(922,1,{},ZUt),D(Pa,"JsonImporter/lambda$20$Type",922),M(923,1,{},tGt),D(Pa,"JsonImporter/lambda$21$Type",923),M(927,1,{},eGt),D(Pa,"JsonImporter/lambda$22$Type",927),M(925,1,{},nGt),D(Pa,"JsonImporter/lambda$23$Type",925),M(926,1,{},rGt),D(Pa,"JsonImporter/lambda$24$Type",926),M(929,1,{},iGt),D(Pa,"JsonImporter/lambda$25$Type",929),M(928,1,{},sGt),D(Pa,"JsonImporter/lambda$26$Type",928),M(930,1,rr,PXt),l.Cd=function(e){Fdn(this.b,this.a,Gr(e))},D(Pa,"JsonImporter/lambda$27$Type",930),M(931,1,rr,NXt),l.Cd=function(e){Bdn(this.b,this.a,Gr(e))},D(Pa,"JsonImporter/lambda$28$Type",931),M(932,1,{},FXt),D(Pa,"JsonImporter/lambda$29$Type",932),M(908,1,{},aGt),D(Pa,"JsonImporter/lambda$3$Type",908),M(933,1,{},BXt),D(Pa,"JsonImporter/lambda$30$Type",933),M(934,1,{},oGt),D(Pa,"JsonImporter/lambda$31$Type",934),M(935,1,{},cGt),D(Pa,"JsonImporter/lambda$32$Type",935),M(936,1,{},uGt),D(Pa,"JsonImporter/lambda$33$Type",936),M(937,1,{},lGt),D(Pa,"JsonImporter/lambda$34$Type",937),M(870,1,{},hGt),D(Pa,"JsonImporter/lambda$35$Type",870),M(941,1,{},DZt),D(Pa,"JsonImporter/lambda$36$Type",941),M(938,1,rr,fGt),l.Cd=function(e){q1n(this.a,u(e,377))},D(Pa,"JsonImporter/lambda$37$Type",938),M(939,1,rr,RXt),l.Cd=function(e){Ern(this.a,this.b,u(e,166))},D(Pa,"JsonImporter/lambda$38$Type",939),M(940,1,rr,jXt),l.Cd=function(e){Trn(this.a,this.b,u(e,166))},D(Pa,"JsonImporter/lambda$39$Type",940),M(906,1,{},dGt),D(Pa,"JsonImporter/lambda$4$Type",906),M(942,1,rr,gGt),l.Cd=function(e){H1n(this.a,u(e,8))},D(Pa,"JsonImporter/lambda$40$Type",942),M(907,1,{},pGt),D(Pa,"JsonImporter/lambda$5$Type",907),M(911,1,{},bGt),D(Pa,"JsonImporter/lambda$6$Type",911),M(909,1,{},wGt),D(Pa,"JsonImporter/lambda$7$Type",909),M(910,1,{},mGt),D(Pa,"JsonImporter/lambda$8$Type",910),M(913,1,{},vGt),D(Pa,"JsonImporter/lambda$9$Type",913),M(961,1,rr,yGt),l.Cd=function(e){G6(this.a,new Oy(Gr(e)))},D(Pa,"JsonMetaDataConverter/lambda$0$Type",961),M(962,1,rr,xGt),l.Cd=function(e){Pun(this.a,u(e,245))},D(Pa,"JsonMetaDataConverter/lambda$1$Type",962),M(963,1,rr,kGt),l.Cd=function(e){Ohn(this.a,u(e,143))},D(Pa,"JsonMetaDataConverter/lambda$2$Type",963),M(964,1,rr,EGt),l.Cd=function(e){Nun(this.a,u(e,170))},D(Pa,"JsonMetaDataConverter/lambda$3$Type",964),M(245,22,{3:1,34:1,22:1,245:1},I6);var FK,BK,Hdt,RK,jK,$K,Vdt,Udt,zK=Cr(aP,"GraphFeature",245,Ir,m0n,ocn),z7e;M(11,1,{34:1,149:1},Ni,os,un,Ta),l.Fd=function(e){return Lin(this,u(e,149))},l.Fb=function(e){return hne(this,e)},l.Sg=function(){return _e(this)},l.Pg=function(){return this.b},l.Hb=function(){return Cp(this.b)},l.Ib=function(){return this.b},D(aP,"Property",11),M(671,1,Xr,Ant),l.Ne=function(e,n){return jbn(this,u(e,96),u(n,96))},l.Fb=function(e){return this===e},l.Oe=function(){return new Qn(this)},D(aP,"PropertyHolderComparator",671),M(709,1,ba,y2t),l.Nb=function(e){Da(this,e)},l.Pb=function(){return $dn(this)},l.Qb=function(){vWt()},l.Ob=function(){return!!this.a},D(cU,"ElkGraphUtil/AncestorIterator",709);var wIt=us(io,"EList");M(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),l.bd=function(e,n){eS(this,e,n)},l.Fc=function(e){return Mr(this,e)},l.cd=function(e,n){return P4t(this,e,n)},l.Gc=function(e){return bs(this,e)},l.Ii=function(){return new B6(this)},l.Ji=function(){return new tI(this)},l.Ki=function(e){return UI(this,e)},l.Li=function(){return!0},l.Mi=function(e,n){},l.Ni=function(){},l.Oi=function(e,n){Ast(this,e,n)},l.Pi=function(e,n,r){},l.Qi=function(e,n){},l.Ri=function(e,n,r){},l.Fb=function(e){return Wde(this,e)},l.Hb=function(){return M4t(this)},l.Si=function(){return!1},l.Kc=function(){return new Zn(this)},l.ed=function(){return new F6(this)},l.fd=function(e){var n;if(n=this.gc(),e<0||e>n)throw nt(new My(e,n));return new Oit(this,e)},l.Ui=function(e,n){this.Ti(e,this.dd(n))},l.Mc=function(e){return Cq(this,e)},l.Wi=function(e,n){return n},l.hd=function(e,n){return s5(this,e,n)},l.Ib=function(){return T5t(this)},l.Yi=function(){return!0},l.Zi=function(e,n){return l7(this,n)},D(io,"AbstractEList",70),M(66,70,r0,V8,jm,T4t),l.Ei=function(e,n){return Cot(this,e,n)},l.Fi=function(e){return Vle(this,e)},l.Gi=function(e,n){aO(this,e,n)},l.Hi=function(e){LI(this,e)},l.$i=function(e){return R3t(this,e)},l.$b=function(){B_(this)},l.Hc=function(e){return _7(this,e)},l.Xb=function(e){return Lt(this,e)},l._i=function(e){var n,r,s;++this.j,r=this.g==null?0:this.g.length,e>r&&(s=this.g,n=r+(r/2|0)+4,n=0?(this.gd(n),!0):!1},l.Xi=function(e,n){return this.Dj(e,this.Zi(e,n))},l.gc=function(){return this.Ej()},l.Pc=function(){return this.Fj()},l.Qc=function(e){return this.Gj(e)},l.Ib=function(){return this.Hj()},D(io,"DelegatingEList",2093),M(2094,2093,lme),l.Ei=function(e,n){return mkt(this,e,n)},l.Fi=function(e){return this.Ei(this.Ej(),e)},l.Gi=function(e,n){N1e(this,e,n)},l.Hi=function(e){E1e(this,e)},l.Li=function(){return!this.Mj()},l.$b=function(){LS(this)},l.Ij=function(e,n,r,s,o){return new lne(this,e,n,r,s,o)},l.Jj=function(e){Ti(this.jj(),e)},l.Kj=function(){return null},l.Lj=function(){return-1},l.jj=function(){return null},l.Mj=function(){return!1},l.Nj=function(e,n){return n},l.Oj=function(e,n){return n},l.Pj=function(){return!1},l.Qj=function(){return!this.Aj()},l.Ti=function(e,n){var r,s;return this.Pj()?(s=this.Qj(),r=Uxt(this,e,n),this.Jj(this.Ij(7,fe(n),r,e,s)),r):Uxt(this,e,n)},l.gd=function(e){var n,r,s,o;return this.Pj()?(r=null,s=this.Qj(),n=this.Ij(4,o=kz(this,e),null,e,s),this.Mj()&&o?(r=this.Oj(o,r),r?(r.nj(n),r.oj()):this.Jj(n)):r?(r.nj(n),r.oj()):this.Jj(n),o):(o=kz(this,e),this.Mj()&&o&&(r=this.Oj(o,null),r&&r.oj()),o)},l.Xi=function(e,n){return q0e(this,e,n)},D(Ik,"DelegatingNotifyingListImpl",2094),M(152,1,EP),l.nj=function(e){return Mxt(this,e)},l.oj=function(){Fst(this)},l.gj=function(){return this.d},l.Kj=function(){return null},l.Rj=function(){return null},l.hj=function(e){return-1},l.ij=function(){return Lde(this)},l.jj=function(){return null},l.kj=function(){return Y6t(this)},l.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},l.Sj=function(){return!1},l.mj=function(e){var n,r,s,o,h,d,m,k,T,A,N;switch(this.d){case 1:case 2:switch(o=e.gj(),o){case 1:case 2:if(h=e.jj(),$t(h)===$t(this.jj())&&this.hj(null)==e.hj(null))return this.g=e.ij(),e.gj()==1&&(this.d=1),!0}case 4:{switch(o=e.gj(),o){case 4:{if(h=e.jj(),$t(h)===$t(this.jj())&&this.hj(null)==e.hj(null))return T=Nkt(this),k=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,d=e.lj(),this.d=6,N=new jm(2),k<=d?(Mr(N,this.n),Mr(N,e.kj()),this.g=ot(st(Or,1),ii,28,15,[this.o=k,d+1])):(Mr(N,e.kj()),Mr(N,this.n),this.g=ot(st(Or,1),ii,28,15,[this.o=d,k])),this.n=N,T||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=e.gj(),o){case 4:{if(h=e.jj(),$t(h)===$t(this.jj())&&this.hj(null)==e.hj(null)){for(T=Nkt(this),d=e.lj(),A=u(this.g,53),s=Vt(Or,ii,28,A.length+1,15,1),n=0;n>>0,n.toString(16))),s.a+=" (eventType: ",this.d){case 1:{s.a+="SET";break}case 2:{s.a+="UNSET";break}case 3:{s.a+="ADD";break}case 5:{s.a+="ADD_MANY";break}case 4:{s.a+="REMOVE";break}case 6:{s.a+="REMOVE_MANY";break}case 7:{s.a+="MOVE";break}case 8:{s.a+="REMOVING_ADAPTER";break}case 9:{s.a+="RESOLVE";break}default:{Jnt(s,this.d);break}}if(b0e(this)&&(s.a+=", touch: true"),s.a+=", position: ",Jnt(s,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),s.a+=", notifier: ",o_(s,this.jj()),s.a+=", feature: ",o_(s,this.Kj()),s.a+=", oldValue: ",o_(s,Y6t(this)),s.a+=", newValue: ",this.d==6&&At(this.g,53)){for(r=u(this.g,53),s.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new v_(this),this.a=this.j),v1(this.b,e)):_7(this,e)},l.Yi=function(){return!0},l.a=0,D(io,"AbstractEList/1",966),M(301,77,Zct,My),D(io,"AbstractEList/BasicIndexOutOfBoundsException",301),M(40,1,ba,Zn),l.Nb=function(e){Da(this,e)},l.Xj=function(){if(this.i.j!=this.f)throw nt(new yh)},l.Yj=function(){return sr(this)},l.Ob=function(){return this.e!=this.i.gc()},l.Pb=function(){return this.Yj()},l.Qb=function(){dS(this)},l.e=0,l.f=0,l.g=-1,D(io,"AbstractEList/EIterator",40),M(286,40,I0,F6,Oit),l.Qb=function(){dS(this)},l.Rb=function(e){que(this,e)},l.Zj=function(){var e;try{return e=this.d.Xb(--this.e),this.Xj(),this.g=this.e,e}catch(n){throw n=is(n),At(n,77)?(this.Xj(),nt(new ac)):nt(n)}},l.$j=function(e){Kle(this,e)},l.Sb=function(){return this.e!=0},l.Tb=function(){return this.e},l.Ub=function(){return this.Zj()},l.Vb=function(){return this.e-1},l.Wb=function(e){this.$j(e)},D(io,"AbstractEList/EListIterator",286),M(355,40,ba,B6),l.Yj=function(){return Qat(this)},l.Qb=function(){throw nt(new Vr)},D(io,"AbstractEList/NonResolvingEIterator",355),M(398,286,I0,tI,fvt),l.Rb=function(e){throw nt(new Vr)},l.Yj=function(){var e;try{return e=this.c.Vi(this.e),this.Xj(),this.g=this.e++,e}catch(n){throw n=is(n),At(n,77)?(this.Xj(),nt(new ac)):nt(n)}},l.Zj=function(){var e;try{return e=this.c.Vi(--this.e),this.Xj(),this.g=this.e,e}catch(n){throw n=is(n),At(n,77)?(this.Xj(),nt(new ac)):nt(n)}},l.Qb=function(){throw nt(new Vr)},l.Wb=function(e){throw nt(new Vr)},D(io,"AbstractEList/NonResolvingEListIterator",398),M(2080,70,hme),l.Ei=function(e,n){var r,s,o,h,d,m,k,T,A,N,j;if(o=n.gc(),o!=0){for(T=u($n(this.a,4),129),A=T==null?0:T.length,j=A+o,s=yat(this,j),N=A-e,N>0&&Wc(T,e,s,e+o,N),k=n.Kc(),d=0;dr)throw nt(new My(e,r));return new Iee(this,e)},l.$b=function(){var e,n;++this.j,e=u($n(this.a,4),129),n=e==null?0:e.length,k7(this,null),Ast(this,n,e)},l.Hc=function(e){var n,r,s,o,h;if(n=u($n(this.a,4),129),n!=null){if(e!=null){for(s=n,o=0,h=s.length;o=r)throw nt(new My(e,r));return n[e]},l.dd=function(e){var n,r,s;if(n=u($n(this.a,4),129),n!=null){if(e!=null){for(r=0,s=n.length;rr)throw nt(new My(e,r));return new Dee(this,e)},l.Ti=function(e,n){var r,s,o;if(r=Jue(this),o=r==null?0:r.length,e>=o)throw nt(new No(Ult+e+ww+o));if(n>=o)throw nt(new No(Glt+n+ww+o));return s=r[n],e!=n&&(e0&&Wc(e,0,n,0,r),n},l.Qc=function(e){var n,r,s;return n=u($n(this.a,4),129),s=n==null?0:n.length,s>0&&(e.lengths&&hs(e,s,null),e};var q7e;D(io,"ArrayDelegatingEList",2080),M(1051,40,ba,Oie),l.Xj=function(){if(this.b.j!=this.f||$t(u($n(this.b.a,4),129))!==$t(this.a))throw nt(new yh)},l.Qb=function(){dS(this),this.a=u($n(this.b.a,4),129)},D(io,"ArrayDelegatingEList/EIterator",1051),M(722,286,I0,Ute,Dee),l.Xj=function(){if(this.b.j!=this.f||$t(u($n(this.b.a,4),129))!==$t(this.a))throw nt(new yh)},l.$j=function(e){Kle(this,e),this.a=u($n(this.b.a,4),129)},l.Qb=function(){dS(this),this.a=u($n(this.b.a,4),129)},D(io,"ArrayDelegatingEList/EListIterator",722),M(1052,355,ba,Pie),l.Xj=function(){if(this.b.j!=this.f||$t(u($n(this.b.a,4),129))!==$t(this.a))throw nt(new yh)},D(io,"ArrayDelegatingEList/NonResolvingEIterator",1052),M(723,398,I0,Gte,Iee),l.Xj=function(){if(this.b.j!=this.f||$t(u($n(this.b.a,4),129))!==$t(this.a))throw nt(new yh)},D(io,"ArrayDelegatingEList/NonResolvingEListIterator",723),M(615,301,Zct,Rrt),D(io,"BasicEList/BasicIndexOutOfBoundsException",615),M(710,66,r0,tmt),l.bd=function(e,n){throw nt(new Vr)},l.Fc=function(e){throw nt(new Vr)},l.cd=function(e,n){throw nt(new Vr)},l.Gc=function(e){throw nt(new Vr)},l.$b=function(){throw nt(new Vr)},l._i=function(e){throw nt(new Vr)},l.Kc=function(){return this.Ii()},l.ed=function(){return this.Ji()},l.fd=function(e){return this.Ki(e)},l.Ti=function(e,n){throw nt(new Vr)},l.Ui=function(e,n){throw nt(new Vr)},l.gd=function(e){throw nt(new Vr)},l.Mc=function(e){throw nt(new Vr)},l.hd=function(e,n){throw nt(new Vr)},D(io,"BasicEList/UnmodifiableEList",710),M(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),l.bd=function(e,n){win(this,e,u(n,44))},l.Fc=function(e){return lsn(this,u(e,44))},l.Jc=function(e){Oa(this,e)},l.Xb=function(e){return u(Lt(this.c,e),136)},l.Ti=function(e,n){return u(this.c.Ti(e,n),44)},l.Ui=function(e,n){min(this,e,u(n,44))},l.Lc=function(){return new ln(null,new gn(this,16))},l.gd=function(e){return u(this.c.gd(e),44)},l.hd=function(e,n){return Oun(this,e,u(n,44))},l.jd=function(e){Q2(this,e)},l.Nc=function(){return new gn(this,16)},l.Oc=function(){return new ln(null,new gn(this,16))},l.cd=function(e,n){return this.c.cd(e,n)},l.Gc=function(e){return this.c.Gc(e)},l.$b=function(){this.c.$b()},l.Hc=function(e){return this.c.Hc(e)},l.Ic=function(e){return QI(this.c,e)},l._j=function(){var e,n,r;if(this.d==null){for(this.d=Vt(mIt,_Tt,66,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)e=u(n.Yj(),136),SH(this,e);this.e=r}},l.Fb=function(e){return vZt(this,e)},l.Hb=function(){return M4t(this.c)},l.dd=function(e){return this.c.dd(e)},l.ak=function(){this.c=new TGt(this)},l.dc=function(){return this.f==0},l.Kc=function(){return this.c.Kc()},l.ed=function(){return this.c.ed()},l.fd=function(e){return this.c.fd(e)},l.bk=function(){return II(this)},l.ck=function(e,n,r){return new IZt(e,n,r)},l.dk=function(){return new Utt},l.Mc=function(e){return soe(this,e)},l.gc=function(){return this.f},l.kd=function(e,n){return new vp(this.c,e,n)},l.Pc=function(){return this.c.Pc()},l.Qc=function(e){return this.c.Qc(e)},l.Ib=function(){return T5t(this.c)},l.e=0,l.f=0,D(io,"BasicEMap",721),M(1046,66,r0,TGt),l.Mi=function(e,n){Yen(this,u(n,136))},l.Pi=function(e,n,r){var s;++(s=this,u(n,136),s).a.e},l.Qi=function(e,n){Xen(this,u(n,136))},l.Ri=function(e,n,r){Yin(this,u(n,136),u(r,136))},l.Oi=function(e,n){Joe(this.a)},D(io,"BasicEMap/1",1046),M(1047,66,r0,Utt),l.aj=function(e){return Vt(B_n,fme,621,e,0,1)},D(io,"BasicEMap/2",1047),M(1048,od,il,CGt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return zat(this.a,e)},l.Kc=function(){return this.a.f==0?(TE(),$N.a):new oWt(this.a)},l.Mc=function(e){var n;return n=this.a.f,pH(this.a,e),this.a.f!=n},l.gc=function(){return this.a.f},D(io,"BasicEMap/3",1048),M(1049,31,o3,_Gt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return Yde(this.a,e)},l.Kc=function(){return this.a.f==0?(TE(),$N.a):new cWt(this.a)},l.gc=function(){return this.a.f},D(io,"BasicEMap/4",1049),M(1050,od,il,SGt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){var n,r,s,o,h,d,m,k,T;if(this.a.f>0&&At(e,44)&&(this.a._j(),k=u(e,44),m=k.ld(),o=m==null?0:Hi(m),h=Qmt(this.a,o),n=this.a.d[h],n)){for(r=u(n.g,379),T=n.i,d=0;d"+this.c},l.a=0;var B_n=D(io,"BasicEMap/EntryImpl",621);M(546,1,{},E4),D(io,"BasicEMap/View",546);var $N;M(783,1,{}),l.Fb=function(e){return I6t((wn(),so),e)},l.Hb=function(){return q4t((wn(),so))},l.Ib=function(){return Rb((wn(),so))},D(io,"ECollections/BasicEmptyUnmodifiableEList",783),M(1348,1,I0,qR),l.Nb=function(e){Da(this,e)},l.Rb=function(e){throw nt(new Vr)},l.Ob=function(){return!1},l.Sb=function(){return!1},l.Pb=function(){throw nt(new ac)},l.Tb=function(){return 0},l.Ub=function(){throw nt(new ac)},l.Vb=function(){return-1},l.Qb=function(){throw nt(new Vr)},l.Wb=function(e){throw nt(new Vr)},D(io,"ECollections/BasicEmptyUnmodifiableEList/1",1348),M(1346,783,{20:1,16:1,15:1,61:1},wKt),l.bd=function(e,n){IWt()},l.Fc=function(e){return OWt()},l.cd=function(e,n){return PWt()},l.Gc=function(e){return NWt()},l.$b=function(){FWt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){Oa(this,e)},l.Xb=function(e){return rmt((wn(),e)),null},l.dd=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.ed=function(){return this.a},l.fd=function(e){return this.a},l.Ti=function(e,n){return BWt()},l.Ui=function(e,n){RWt()},l.Lc=function(){return new ln(null,new gn(this,16))},l.gd=function(e){return jWt()},l.Mc=function(e){return $Wt()},l.hd=function(e,n){return zWt()},l.gc=function(){return 0},l.jd=function(e){Q2(this,e)},l.Nc=function(){return new gn(this,16)},l.Oc=function(){return new ln(null,new gn(this,16))},l.kd=function(e,n){return wn(),new vp(so,e,n)},l.Pc=function(){return tyt((wn(),so))},l.Qc=function(e){return wn(),uS(so,e)},D(io,"ECollections/EmptyUnmodifiableEList",1346),M(1347,783,{20:1,16:1,15:1,61:1,597:1},mKt),l.bd=function(e,n){IWt()},l.Fc=function(e){return OWt()},l.cd=function(e,n){return PWt()},l.Gc=function(e){return NWt()},l.$b=function(){FWt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){Oa(this,e)},l.Xb=function(e){return rmt((wn(),e)),null},l.dd=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.ed=function(){return this.a},l.fd=function(e){return this.a},l.Ti=function(e,n){return BWt()},l.Ui=function(e,n){RWt()},l.Lc=function(){return new ln(null,new gn(this,16))},l.gd=function(e){return jWt()},l.Mc=function(e){return $Wt()},l.hd=function(e,n){return zWt()},l.gc=function(){return 0},l.jd=function(e){Q2(this,e)},l.Nc=function(){return new gn(this,16)},l.Oc=function(){return new ln(null,new gn(this,16))},l.kd=function(e,n){return wn(),new vp(so,e,n)},l.Pc=function(){return tyt((wn(),so))},l.Qc=function(e){return wn(),uS(so,e)},l.bk=function(){return wn(),wn(),j0},D(io,"ECollections/EmptyUnmodifiableEMap",1347);var yIt=us(io,"Enumerator"),qK;M(288,1,{288:1},Wot),l.Fb=function(e){var n;return this===e?!0:At(e,288)?(n=u(e,288),this.f==n.f&&Ycn(this.i,n.i)&&xit(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&xit(this.d,n.d)&&xit(this.g,n.g)&&xit(this.e,n.e)&&vwn(this,n)):!1},l.Hb=function(){return this.f},l.Ib=function(){return A0e(this)},l.f=0;var H7e=0,V7e=0,U7e=0,G7e=0,xIt=0,kIt=0,EIt=0,TIt=0,CIt=0,K7e,pL=0,bL=0,W7e=0,Y7e=0,HK,_It;D(io,"URI",288),M(1121,45,y5,vKt),l.zc=function(e,n){return u(Bo(this,Gr(e),u(n,288)),288)},D(io,"URI/URICache",1121),M(505,66,r0,Htt,Az),l.Si=function(){return!0},D(io,"UniqueEList",505),M(590,63,Ig,kq),D(io,"WrappedException",590);var oi=us(Rh,pme),H3=us(Rh,bme),Ku=us(Rh,wme),V3=us(Rh,mme),N1=us(Rh,vme),pf=us(Rh,"EClass"),Wdt=us(Rh,"EDataType"),X7e;M(1233,45,y5,yKt),l.xc=function(e){return pa(e)?eu(this,e):Uo(yo(this.f,e))},D(Rh,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var VK=us(Rh,"EEnum"),zg=us(Rh,yme),So=us(Rh,xme),bf=us(Rh,kme),wf,Iv=us(Rh,Eme),U3=us(Rh,Tme);M(1042,1,{},$R),l.Ib=function(){return"NIL"},D(Rh,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var Q7e;M(1041,45,y5,xKt),l.xc=function(e){return pa(e)?eu(this,e):Uo(yo(this.f,e))},D(Rh,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var Ou=us(Rh,Cme),t8=us(Rh,"EValidator/PatternMatcher"),SIt,AIt,Fn,Xp,G3,f2,J7e,Z7e,tTe,d2,Qp,g2,Ov,yd,eTe,nTe,mf,Jp,rTe,Zp,K3,lx,po,iTe,sTe,Pv,UK=us(Zi,"FeatureMap/Entry");M(545,1,{76:1},U$),l.Lk=function(){return this.a},l.md=function(){return this.b},D(jn,"BasicEObjectImpl/1",545),M(1040,1,Jlt,HXt),l.Fk=function(e){return Tst(this.a,this.b,e)},l.Qj=function(){return Cne(this.a,this.b)},l.Wb=function(e){qyt(this.a,this.b,e)},l.Gk=function(){Gun(this.a,this.b)},D(jn,"BasicEObjectImpl/4",1040),M(2081,1,{114:1}),l.Mk=function(e){this.e=e==0?aTe:Vt(sa,Ln,1,e,5,1)},l.li=function(e){return this.e[e]},l.mi=function(e,n){this.e[e]=n},l.ni=function(e){this.e[e]=null},l.Nk=function(){return this.c},l.Ok=function(){throw nt(new Vr)},l.Pk=function(){throw nt(new Vr)},l.Qk=function(){return this.d},l.Rk=function(){return this.e!=null},l.Sk=function(e){this.c=e},l.Tk=function(e){throw nt(new Vr)},l.Uk=function(e){throw nt(new Vr)},l.Vk=function(e){this.d=e};var aTe;D(jn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),M(192,2081,{114:1},Xh),l.Ok=function(){return this.a},l.Pk=function(){return this.b},l.Tk=function(e){this.a=e},l.Uk=function(e){this.b=e},D(jn,"BasicEObjectImpl/EPropertiesHolderImpl",192),M(516,99,_we,U8),l.uh=function(){return this.f},l.zh=function(){return this.k},l.Bh=function(e,n){this.g=e,this.i=n},l.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},l.Fh=function(){return this.i},l.wh=function(){return(this.j&1)!=0},l.Ph=function(){return this.g},l.Vh=function(){return(this.j&4)!=0},l.$h=function(){return!this.k&&(this.k=new Xh),this.k},l.ci=function(e){this.$h().Sk(e),e?this.j|=2:this.j&=-3},l.ei=function(e){this.$h().Uk(e),e?this.j|=4:this.j&=-5},l.ii=function(){return(Tb(),Fn).S},l.i=0,l.j=1,D(jn,"EObjectImpl",516),M(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},Bvt),l.li=function(e){return this.e[e]},l.mi=function(e,n){this.e[e]=n},l.ni=function(e){this.e[e]=null},l.Dh=function(){return this.d},l.Ih=function(e){return ss(this.d,e)},l.Kh=function(){return this.d},l.Oh=function(){return this.e!=null},l.$h=function(){return!this.k&&(this.k=new Lc),this.k},l.ci=function(e){this.d=e},l.hi=function(){var e;return this.e==null&&(e=ur(this.d),this.e=e==0?oTe:Vt(sa,Ln,1,e,5,1)),this},l.ji=function(){return 0};var oTe;D(jn,"DynamicEObjectImpl",798),M(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},rte),l.Fb=function(e){return this===e},l.Hb=function(){return km(this)},l.ci=function(e){this.d=e,this.b=NO(e,"key"),this.c=NO(e,JS)},l.Bi=function(){var e;return this.a==-1&&(e=Bst(this,this.b),this.a=e==null?0:Hi(e)),this.a},l.ld=function(){return Bst(this,this.b)},l.md=function(){return Bst(this,this.c)},l.Ci=function(e){this.a=e},l.Di=function(e){qyt(this,this.b,e)},l.nd=function(e){var n;return n=Bst(this,this.c),qyt(this,this.c,e),n},l.a=0,D(jn,"DynamicEObjectImpl/BasicEMapEntry",1522),M(1523,1,{114:1},Lc),l.Mk=function(e){throw nt(new Vr)},l.li=function(e){throw nt(new Vr)},l.mi=function(e,n){throw nt(new Vr)},l.ni=function(e){throw nt(new Vr)},l.Nk=function(){throw nt(new Vr)},l.Ok=function(){return this.a},l.Pk=function(){return this.b},l.Qk=function(){return this.c},l.Rk=function(){throw nt(new Vr)},l.Sk=function(e){throw nt(new Vr)},l.Tk=function(e){this.a=e},l.Uk=function(e){this.b=e},l.Vk=function(e){this.c=e},D(jn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),M(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},HR),l.Ah=function(e){return dxt(this,e)},l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new Hl((bn(),po),Sc,this)),this.b):(!this.b&&(this.b=new Hl((bn(),po),Sc,this)),II(this.b));case 3:return Mne(this);case 4:return!this.a&&(this.a=new Ns(l2,this,4)),this.a;case 5:return!this.c&&(this.c=new H4(l2,this,5)),this.c}return Ah(this,e-ur((bn(),Xp)),Tn((s=u($n(this,16),29),s||Xp),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?dxt(this,r):this.Cb.Th(this,-1-o,null,r))),Zvt(this,u(e,155),r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),Xp)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),Xp)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 2:return!this.b&&(this.b=new Hl((bn(),po),Sc,this)),lz(this.b,e,r);case 3:return Zvt(this,null,r);case 4:return!this.a&&(this.a=new Ns(l2,this,4)),no(this.a,e,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),Xp)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),Xp)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!Mne(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return _h(this,e-ur((bn(),Xp)),Tn((n=u($n(this,16),29),n||Xp),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:Fcn(this,Gr(n));return;case 2:!this.b&&(this.b=new Hl((bn(),po),Sc,this)),Kq(this.b,n);return;case 3:bde(this,u(n,155));return;case 4:!this.a&&(this.a=new Ns(l2,this,4)),Lr(this.a),!this.a&&(this.a=new Ns(l2,this,4)),bs(this.a,u(n,16));return;case 5:!this.c&&(this.c=new H4(l2,this,5)),Lr(this.c),!this.c&&(this.c=new H4(l2,this,5)),bs(this.c,u(n,16));return}Ih(this,e-ur((bn(),Xp)),Tn((r=u($n(this,16),29),r||Xp),e),n)},l.ii=function(){return bn(),Xp},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:g4t(this,null);return;case 2:!this.b&&(this.b=new Hl((bn(),po),Sc,this)),this.b.c.$b();return;case 3:bde(this,null);return;case 4:!this.a&&(this.a=new Ns(l2,this,4)),Lr(this.a);return;case 5:!this.c&&(this.c=new H4(l2,this,5)),Lr(this.c);return}Dh(this,e-ur((bn(),Xp)),Tn((n=u($n(this,16),29),n||Xp),e))},l.Ib=function(){return vue(this)},l.d=null,D(jn,"EAnnotationImpl",519),M(141,721,STt,el),l.Gi=function(e,n){tin(this,e,u(n,44))},l.Wk=function(e,n){return nan(this,u(e,44),n)},l.$i=function(e){return u(u(this.c,71).$i(e),136)},l.Ii=function(){return u(this.c,71).Ii()},l.Ji=function(){return u(this.c,71).Ji()},l.Ki=function(e){return u(this.c,71).Ki(e)},l.Xk=function(e,n){return lz(this,e,n)},l.Fk=function(e){return u(this.c,79).Fk(e)},l.ak=function(){},l.Qj=function(){return u(this.c,79).Qj()},l.ck=function(e,n,r){var s;return s=u(nh(this.b).wi().si(this.b),136),s.Ci(e),s.Di(n),s.nd(r),s},l.dk=function(){return new k2t(this)},l.Wb=function(e){Kq(this,e)},l.Gk=function(){u(this.c,79).Gk()},D(Zi,"EcoreEMap",141),M(165,141,STt,Hl),l._j=function(){var e,n,r,s,o,h;if(this.d==null){for(h=Vt(mIt,_Tt,66,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=u(r.Yj(),136),s=n.Bi(),o=(s&ki)%h.length,e=h[o],!e&&(e=h[o]=new k2t(this)),e.Fc(n);this.d=h}},D(jn,"EAnnotationImpl/1",165),M(291,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,480:1,54:1,99:1,158:1,291:1,119:1,120:1}),l.Lh=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return fe(this.s);case 5:return fe(this.t);case 6:return Nn(),!!this.Jk();case 7:return Nn(),o=this.s,o>=1;case 8:return n?rf(this):this.r;case 9:return this.q}return Ah(this,e-ur(this.ii()),Tn((s=u($n(this,16),29),s||this.ii()),e),n,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 9:return Fit(this,r)}return o=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Su(this),n-ur(this.ii()),e,r)},l.Wh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&Mm(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Mm(this.q).i==0)}return _h(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.bi=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:this.ui(Gr(n));return;case 2:Ap(this,Ie(De(n)));return;case 3:Lp(this,Ie(De(n)));return;case 4:Tp(this,u(n,17).a);return;case 5:this.Zk(u(n,17).a);return;case 8:rw(this,u(n,142));return;case 9:s=sd(this,u(n,89),null),s&&s.oj();return}Ih(this,e-ur(this.ii()),Tn((r=u($n(this,16),29),r||this.ii()),e),n)},l.ii=function(){return bn(),sTe},l.ki=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:this.ui(null);return;case 2:Ap(this,!0);return;case 3:Lp(this,!0);return;case 4:Tp(this,0);return;case 5:this.Zk(1);return;case 8:rw(this,null);return;case 9:r=sd(this,null,null),r&&r.oj();return}Dh(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.pi=function(){rf(this),this.Bb|=1},l.Hk=function(){return rf(this)},l.Ik=function(){return this.t},l.Jk=function(){var e;return e=this.t,e>1||e==-1},l.Si=function(){return(this.Bb&512)!=0},l.Yk=function(e,n){return o5t(this,e,n)},l.Zk=function(e){Hy(this,e)},l.Ib=function(){return E6t(this)},l.s=0,l.t=1,D(jn,"ETypedElementImpl",291),M(461,291,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,480:1,54:1,99:1,158:1,461:1,291:1,119:1,120:1,692:1}),l.Ah=function(e){return che(this,e)},l.Lh=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return fe(this.s);case 5:return fe(this.t);case 6:return Nn(),!!this.Jk();case 7:return Nn(),o=this.s,o>=1;case 8:return n?rf(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&Uf);case 11:return Nn(),!!(this.Bb&b3);case 12:return Nn(),!!(this.Bb&u3);case 13:return this.j;case 14:return I7(this);case 15:return Nn(),!!(this.Bb&al);case 16:return Nn(),!!(this.Bb&Wd);case 17:return Ny(this)}return Ah(this,e-ur(this.ii()),Tn((s=u($n(this,16),29),s||this.ii()),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?che(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,17,r)}return h=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),h.wk().zk(this,Su(this),n-ur(this.ii()),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 9:return Fit(this,r);case 17:return ch(this,null,17,r)}return o=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Su(this),n-ur(this.ii()),e,r)},l.Wh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&Mm(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Mm(this.q).i==0);case 10:return(this.Bb&Uf)==0;case 11:return(this.Bb&b3)!=0;case 12:return(this.Bb&u3)!=0;case 13:return this.j!=null;case 14:return I7(this)!=null;case 15:return(this.Bb&al)!=0;case 16:return(this.Bb&Wd)!=0;case 17:return!!Ny(this)}return _h(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.bi=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:ust(this,Gr(n));return;case 2:Ap(this,Ie(De(n)));return;case 3:Lp(this,Ie(De(n)));return;case 4:Tp(this,u(n,17).a);return;case 5:this.Zk(u(n,17).a);return;case 8:rw(this,u(n,142));return;case 9:s=sd(this,u(n,89),null),s&&s.oj();return;case 10:p7(this,Ie(De(n)));return;case 11:m7(this,Ie(De(n)));return;case 12:b7(this,Ie(De(n)));return;case 13:Zwt(this,Gr(n));return;case 15:w7(this,Ie(De(n)));return;case 16:v7(this,Ie(De(n)));return}Ih(this,e-ur(this.ii()),Tn((r=u($n(this,16),29),r||this.ii()),e),n)},l.ii=function(){return bn(),iTe},l.ki=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:At(this.Cb,90)&&t3(Sl(u(this.Cb,90)),4),wu(this,null);return;case 2:Ap(this,!0);return;case 3:Lp(this,!0);return;case 4:Tp(this,0);return;case 5:this.Zk(1);return;case 8:rw(this,null);return;case 9:r=sd(this,null,null),r&&r.oj();return;case 10:p7(this,!0);return;case 11:m7(this,!1);return;case 12:b7(this,!1);return;case 13:this.i=null,zq(this,null);return;case 15:w7(this,!1);return;case 16:v7(this,!1);return}Dh(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.pi=function(){NE(Ro((rl(),Fa),this)),rf(this),this.Bb|=1},l.pk=function(){return this.f},l.ik=function(){return I7(this)},l.qk=function(){return Ny(this)},l.uk=function(){return null},l.$k=function(){return this.k},l.Lj=function(){return this.n},l.vk=function(){return NH(this)},l.wk=function(){var e,n,r,s,o,h,d,m,k;return this.p||(r=Ny(this),(r.i==null&&Kd(r),r.i).length,s=this.uk(),s&&ur(Ny(s)),o=rf(this),d=o.kk(),e=d?d.i&1?d==Fl?Es:d==Or?Na:d==Y3?gT:d==wa?zs:d==b2?dv:d==gx?gv:d==cl?Ok:uA:d:null,n=I7(this),m=o.ik(),Xbn(this),this.Bb&Wd&&((h=yxt((rl(),Fa),r))&&h!=this||(h=Q6(Ro(Fa,this))))?this.p=new UXt(this,h):this.Jk()?this.al()?s?this.Bb&al?e?this.bl()?this.p=new V2(47,e,this,s):this.p=new V2(5,e,this,s):this.bl()?this.p=new Y2(46,this,s):this.p=new Y2(4,this,s):e?this.bl()?this.p=new V2(49,e,this,s):this.p=new V2(7,e,this,s):this.bl()?this.p=new Y2(48,this,s):this.p=new Y2(6,this,s):this.Bb&al?e?e==yw?this.p=new bp(50,$7e,this):this.bl()?this.p=new bp(43,e,this):this.p=new bp(1,e,this):this.bl()?this.p=new mp(42,this):this.p=new mp(0,this):e?e==yw?this.p=new bp(41,$7e,this):this.bl()?this.p=new bp(45,e,this):this.p=new bp(3,e,this):this.bl()?this.p=new mp(44,this):this.p=new mp(2,this):At(o,156)?e==UK?this.p=new mp(40,this):this.Bb&512?this.Bb&al?e?this.p=new bp(9,e,this):this.p=new mp(8,this):e?this.p=new bp(11,e,this):this.p=new mp(10,this):this.Bb&al?e?this.p=new bp(13,e,this):this.p=new mp(12,this):e?this.p=new bp(15,e,this):this.p=new mp(14,this):s?(k=s.t,k>1||k==-1?this.bl()?this.Bb&al?e?this.p=new V2(25,e,this,s):this.p=new Y2(24,this,s):e?this.p=new V2(27,e,this,s):this.p=new Y2(26,this,s):this.Bb&al?e?this.p=new V2(29,e,this,s):this.p=new Y2(28,this,s):e?this.p=new V2(31,e,this,s):this.p=new Y2(30,this,s):this.bl()?this.Bb&al?e?this.p=new V2(33,e,this,s):this.p=new Y2(32,this,s):e?this.p=new V2(35,e,this,s):this.p=new Y2(34,this,s):this.Bb&al?e?this.p=new V2(37,e,this,s):this.p=new Y2(36,this,s):e?this.p=new V2(39,e,this,s):this.p=new Y2(38,this,s)):this.bl()?this.Bb&al?e?this.p=new bp(17,e,this):this.p=new mp(16,this):e?this.p=new bp(19,e,this):this.p=new mp(18,this):this.Bb&al?e?this.p=new bp(21,e,this):this.p=new mp(20,this):e?this.p=new bp(23,e,this):this.p=new mp(22,this):this._k()?this.bl()?this.p=new OZt(u(o,29),this,s):this.p=new $yt(u(o,29),this,s):At(o,156)?e==UK?this.p=new mp(40,this):this.Bb&al?e?this.p=new Ite(n,m,this,(qat(),d==Or?NIt:d==Fl?MIt:d==b2?FIt:d==Y3?PIt:d==wa?OIt:d==gx?BIt:d==cl?DIt:d==Uh?IIt:Qdt)):this.p=new Uee(u(o,156),n,m,this):e?this.p=new Dte(n,m,this,(qat(),d==Or?NIt:d==Fl?MIt:d==b2?FIt:d==Y3?PIt:d==wa?OIt:d==gx?BIt:d==cl?DIt:d==Uh?IIt:Qdt)):this.p=new Vee(u(o,156),n,m,this):this.al()?s?this.Bb&al?this.bl()?this.p=new NZt(u(o,29),this,s):this.p=new Cvt(u(o,29),this,s):this.bl()?this.p=new PZt(u(o,29),this,s):this.p=new git(u(o,29),this,s):this.Bb&al?this.bl()?this.p=new DJt(u(o,29),this):this.p=new jmt(u(o,29),this):this.bl()?this.p=new MJt(u(o,29),this):this.p=new eit(u(o,29),this):this.bl()?s?this.Bb&al?this.p=new FZt(u(o,29),this,s):this.p=new Evt(u(o,29),this,s):this.Bb&al?this.p=new IJt(u(o,29),this):this.p=new $mt(u(o,29),this):s?this.Bb&al?this.p=new BZt(u(o,29),this,s):this.p=new Tvt(u(o,29),this,s):this.Bb&al?this.p=new OJt(u(o,29),this):this.p=new Sz(u(o,29),this)),this.p},l.rk=function(){return(this.Bb&Uf)!=0},l._k=function(){return!1},l.al=function(){return!1},l.sk=function(){return(this.Bb&Wd)!=0},l.xk=function(){return Rst(this)},l.bl=function(){return!1},l.tk=function(){return(this.Bb&al)!=0},l.cl=function(e){this.k=e},l.ui=function(e){ust(this,e)},l.Ib=function(){return nV(this)},l.e=!1,l.n=0,D(jn,"EStructuralFeatureImpl",461),M(331,461,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,480:1,54:1,99:1,331:1,158:1,461:1,291:1,119:1,120:1,692:1},Nnt),l.Lh=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return fe(this.s);case 5:return fe(this.t);case 6:return Nn(),!!w6t(this);case 7:return Nn(),o=this.s,o>=1;case 8:return n?rf(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&Uf);case 11:return Nn(),!!(this.Bb&b3);case 12:return Nn(),!!(this.Bb&u3);case 13:return this.j;case 14:return I7(this);case 15:return Nn(),!!(this.Bb&al);case 16:return Nn(),!!(this.Bb&Wd);case 17:return Ny(this);case 18:return Nn(),!!(this.Bb&Pc);case 19:return n?cat(this):Wie(this)}return Ah(this,e-ur((bn(),G3)),Tn((s=u($n(this,16),29),s||G3),e),n,r)},l.Wh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return w6t(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&Mm(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Mm(this.q).i==0);case 10:return(this.Bb&Uf)==0;case 11:return(this.Bb&b3)!=0;case 12:return(this.Bb&u3)!=0;case 13:return this.j!=null;case 14:return I7(this)!=null;case 15:return(this.Bb&al)!=0;case 16:return(this.Bb&Wd)!=0;case 17:return!!Ny(this);case 18:return(this.Bb&Pc)!=0;case 19:return!!Wie(this)}return _h(this,e-ur((bn(),G3)),Tn((n=u($n(this,16),29),n||G3),e))},l.bi=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:ust(this,Gr(n));return;case 2:Ap(this,Ie(De(n)));return;case 3:Lp(this,Ie(De(n)));return;case 4:Tp(this,u(n,17).a);return;case 5:hWt(this,u(n,17).a);return;case 8:rw(this,u(n,142));return;case 9:s=sd(this,u(n,89),null),s&&s.oj();return;case 10:p7(this,Ie(De(n)));return;case 11:m7(this,Ie(De(n)));return;case 12:b7(this,Ie(De(n)));return;case 13:Zwt(this,Gr(n));return;case 15:w7(this,Ie(De(n)));return;case 16:v7(this,Ie(De(n)));return;case 18:Pat(this,Ie(De(n)));return}Ih(this,e-ur((bn(),G3)),Tn((r=u($n(this,16),29),r||G3),e),n)},l.ii=function(){return bn(),G3},l.ki=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:At(this.Cb,90)&&t3(Sl(u(this.Cb,90)),4),wu(this,null);return;case 2:Ap(this,!0);return;case 3:Lp(this,!0);return;case 4:Tp(this,0);return;case 5:this.b=0,Hy(this,1);return;case 8:rw(this,null);return;case 9:r=sd(this,null,null),r&&r.oj();return;case 10:p7(this,!0);return;case 11:m7(this,!1);return;case 12:b7(this,!1);return;case 13:this.i=null,zq(this,null);return;case 15:w7(this,!1);return;case 16:v7(this,!1);return;case 18:Pat(this,!1);return}Dh(this,e-ur((bn(),G3)),Tn((n=u($n(this,16),29),n||G3),e))},l.pi=function(){cat(this),NE(Ro((rl(),Fa),this)),rf(this),this.Bb|=1},l.Jk=function(){return w6t(this)},l.Yk=function(e,n){return this.b=0,this.a=null,o5t(this,e,n)},l.Zk=function(e){hWt(this,e)},l.Ib=function(){var e;return this.Db&64?nV(this):(e=new Jh(nV(this)),e.a+=" (iD: ",fp(e,(this.Bb&Pc)!=0),e.a+=")",e.a)},l.b=0,D(jn,"EAttributeImpl",331),M(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),l.dl=function(e){return e.Dh()==this},l.Ah=function(e){return dot(this,e)},l.Bh=function(e,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=e},l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Qm(this);case 4:return this.ik();case 5:return this.F;case 6:return n?nh(this):RE(this);case 7:return!this.A&&(this.A=new Qu(Ou,this,7)),this.A}return Ah(this,e-ur(this.ii()),Tn((s=u($n(this,16),29),s||this.ii()),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?dot(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,6,r)}return h=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),h.wk().zk(this,Su(this),n-ur(this.ii()),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 6:return ch(this,null,6,r);case 7:return!this.A&&(this.A=new Qu(Ou,this,7)),no(this.A,e,r)}return o=u(Tn((s=u($n(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Su(this),n-ur(this.ii()),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Qm(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!RE(this);case 7:return!!this.A&&this.A.i!=0}return _h(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:rq(this,Gr(n));return;case 2:zrt(this,Gr(n));return;case 5:j7(this,Gr(n));return;case 7:!this.A&&(this.A=new Qu(Ou,this,7)),Lr(this.A),!this.A&&(this.A=new Qu(Ou,this,7)),bs(this.A,u(n,16));return}Ih(this,e-ur(this.ii()),Tn((r=u($n(this,16),29),r||this.ii()),e),n)},l.ii=function(){return bn(),J7e},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:At(this.Cb,184)&&(u(this.Cb,184).tb=null),wu(this,null);return;case 2:f7(this,null),QE(this,this.D);return;case 5:j7(this,null);return;case 7:!this.A&&(this.A=new Qu(Ou,this,7)),Lr(this.A);return}Dh(this,e-ur(this.ii()),Tn((n=u($n(this,16),29),n||this.ii()),e))},l.hk=function(){var e;return this.G==-1&&(this.G=(e=nh(this),e?Ip(e.vi(),this):-1)),this.G},l.ik=function(){return null},l.jk=function(){return nh(this)},l.el=function(){return this.v},l.kk=function(){return Qm(this)},l.lk=function(){return this.D!=null?this.D:this.B},l.mk=function(){return this.F},l.fk=function(e){return rct(this,e)},l.fl=function(e){this.v=e},l.gl=function(e){Ioe(this,e)},l.hl=function(e){this.C=e},l.ui=function(e){rq(this,e)},l.Ib=function(){return hH(this)},l.C=null,l.D=null,l.G=-1,D(jn,"EClassifierImpl",364),M(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,481:1,119:1,120:1,691:1},Af),l.dl=function(e){return jsn(this,e.Dh())},l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Qm(this);case 4:return null;case 5:return this.F;case 6:return n?nh(this):RE(this);case 7:return!this.A&&(this.A=new Qu(Ou,this,7)),this.A;case 8:return Nn(),!!(this.Bb&256);case 9:return Nn(),!!(this.Bb&512);case 10:return Ko(this);case 11:return!this.q&&(this.q=new Jt(bf,this,11,10)),this.q;case 12:return b5(this);case 13:return _S(this);case 14:return _S(this),this.r;case 15:return b5(this),this.k;case 16:return o6t(this);case 17:return oct(this);case 18:return Kd(this);case 19:return KH(this);case 20:return b5(this),this.o;case 21:return!this.s&&(this.s=new Jt(Ku,this,21,17)),this.s;case 22:return Gc(this);case 23:return Kot(this)}return Ah(this,e-ur((bn(),f2)),Tn((s=u($n(this,16),29),s||f2),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?dot(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,6,r);case 11:return!this.q&&(this.q=new Jt(bf,this,11,10)),mu(this.q,e,r);case 21:return!this.s&&(this.s=new Jt(Ku,this,21,17)),mu(this.s,e,r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),f2)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),f2)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 6:return ch(this,null,6,r);case 7:return!this.A&&(this.A=new Qu(Ou,this,7)),no(this.A,e,r);case 11:return!this.q&&(this.q=new Jt(bf,this,11,10)),no(this.q,e,r);case 21:return!this.s&&(this.s=new Jt(Ku,this,21,17)),no(this.s,e,r);case 22:return no(Gc(this),e,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),f2)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),f2)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Qm(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!RE(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Gc(this.u.a).i!=0&&!(this.n&¬(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return b5(this).i!=0;case 13:return _S(this).i!=0;case 14:return _S(this),this.r.i!=0;case 15:return b5(this),this.k.i!=0;case 16:return o6t(this).i!=0;case 17:return oct(this).i!=0;case 18:return Kd(this).i!=0;case 19:return KH(this).i!=0;case 20:return b5(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&¬(this.n);case 23:return Kot(this).i!=0}return _h(this,e-ur((bn(),f2)),Tn((n=u($n(this,16),29),n||f2),e))},l.Zh=function(e){var n;return n=this.i==null||this.q&&this.q.i!=0?null:NO(this,e),n||qkt(this,e)},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:rq(this,Gr(n));return;case 2:zrt(this,Gr(n));return;case 5:j7(this,Gr(n));return;case 7:!this.A&&(this.A=new Qu(Ou,this,7)),Lr(this.A),!this.A&&(this.A=new Qu(Ou,this,7)),bs(this.A,u(n,16));return;case 8:c5t(this,Ie(De(n)));return;case 9:u5t(this,Ie(De(n)));return;case 10:LS(Ko(this)),bs(Ko(this),u(n,16));return;case 11:!this.q&&(this.q=new Jt(bf,this,11,10)),Lr(this.q),!this.q&&(this.q=new Jt(bf,this,11,10)),bs(this.q,u(n,16));return;case 21:!this.s&&(this.s=new Jt(Ku,this,21,17)),Lr(this.s),!this.s&&(this.s=new Jt(Ku,this,21,17)),bs(this.s,u(n,16));return;case 22:Lr(Gc(this)),bs(Gc(this),u(n,16));return}Ih(this,e-ur((bn(),f2)),Tn((r=u($n(this,16),29),r||f2),e),n)},l.ii=function(){return bn(),f2},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:At(this.Cb,184)&&(u(this.Cb,184).tb=null),wu(this,null);return;case 2:f7(this,null),QE(this,this.D);return;case 5:j7(this,null);return;case 7:!this.A&&(this.A=new Qu(Ou,this,7)),Lr(this.A);return;case 8:c5t(this,!1);return;case 9:u5t(this,!1);return;case 10:this.u&&LS(this.u);return;case 11:!this.q&&(this.q=new Jt(bf,this,11,10)),Lr(this.q);return;case 21:!this.s&&(this.s=new Jt(Ku,this,21,17)),Lr(this.s);return;case 22:this.n&&Lr(this.n);return}Dh(this,e-ur((bn(),f2)),Tn((n=u($n(this,16),29),n||f2),e))},l.pi=function(){var e,n;if(b5(this),_S(this),o6t(this),oct(this),Kd(this),KH(this),Kot(this),B_(hcn(Sl(this))),this.s)for(e=0,n=this.s.i;e=0;--n)Lt(this,n);return O5t(this,e)},l.Gk=function(){Lr(this)},l.Zi=function(e,n){return toe(this,e,n)},D(Zi,"EcoreEList",632),M(504,632,nc,fI),l.Li=function(){return!1},l.Lj=function(){return this.c},l.Mj=function(){return!1},l.ol=function(){return!0},l.Si=function(){return!0},l.Wi=function(e,n){return n},l.Yi=function(){return!1},l.c=0,D(Zi,"EObjectEList",504),M(83,504,nc,Ns),l.Mj=function(){return!0},l.ml=function(){return!1},l.al=function(){return!0},D(Zi,"EObjectContainmentEList",83),M(555,83,nc,ez),l.Ni=function(){this.b=!0},l.Qj=function(){return this.b},l.Gk=function(){var e;Lr(this),zl(this.e)?(e=this.b,this.b=!1,Ti(this.e,new jf(this.e,2,this.c,e,!1))):this.b=!1},l.b=!1,D(Zi,"EObjectContainmentEList/Unsettable",555),M(1161,555,nc,Lte),l.Ti=function(e,n){var r,s;return r=u(nS(this,e,n),89),zl(this.e)&&cE(this,new OI(this.a,7,(bn(),Z7e),fe(n),(s=r.c,At(s,90)?u(s,29):mf),e)),r},l.Uj=function(e,n){return I2n(this,u(e,89),n)},l.Vj=function(e,n){return D2n(this,u(e,89),n)},l.Wj=function(e,n,r){return Nvn(this,u(e,89),u(n,89),r)},l.Ij=function(e,n,r,s,o){switch(e){case 3:return D_(this,e,n,r,s,this.i>1);case 5:return D_(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new xg(this.e,e,this.c,n,r,s,!0)}},l.Tj=function(){return!0},l.Qj=function(){return not(this)},l.Gk=function(){Lr(this)},D(jn,"EClassImpl/1",1161),M(1175,1174,CTt),l.dj=function(e){var n,r,s,o,h,d,m;if(r=e.gj(),r!=8){if(s=dwn(e),s==0)switch(r){case 1:case 9:{m=e.kj(),m!=null&&(n=Sl(u(m,481)),!n.c&&(n.c=new op),Cq(n.c,e.jj())),d=e.ij(),d!=null&&(o=u(d,481),o.Bb&1||(n=Sl(o),!n.c&&(n.c=new op),Mr(n.c,u(e.jj(),29))));break}case 3:{d=e.ij(),d!=null&&(o=u(d,481),o.Bb&1||(n=Sl(o),!n.c&&(n.c=new op),Mr(n.c,u(e.jj(),29))));break}case 5:{if(d=e.ij(),d!=null)for(h=u(d,16).Kc();h.Ob();)o=u(h.Pb(),481),o.Bb&1||(n=Sl(o),!n.c&&(n.c=new op),Mr(n.c,u(e.jj(),29)));break}case 4:{m=e.kj(),m!=null&&(o=u(m,481),o.Bb&1||(n=Sl(o),!n.c&&(n.c=new op),Cq(n.c,e.jj())));break}case 6:{if(m=e.kj(),m!=null)for(h=u(m,16).Kc();h.Ob();)o=u(h.Pb(),481),o.Bb&1||(n=Sl(o),!n.c&&(n.c=new op),Cq(n.c,e.jj()));break}}this.ql(s)}},l.ql=function(e){n0e(this,e)},l.b=63,D(jn,"ESuperAdapter",1175),M(1176,1175,CTt,LGt),l.ql=function(e){t3(this,e)},D(jn,"EClassImpl/10",1176),M(1165,710,nc),l.Ei=function(e,n){return Cot(this,e,n)},l.Fi=function(e){return Vle(this,e)},l.Gi=function(e,n){aO(this,e,n)},l.Hi=function(e){LI(this,e)},l.$i=function(e){return R3t(this,e)},l.Xi=function(e,n){return jst(this,e,n)},l.Wk=function(e,n){throw nt(new Vr)},l.Ii=function(){return new B6(this)},l.Ji=function(){return new tI(this)},l.Ki=function(e){return UI(this,e)},l.Xk=function(e,n){throw nt(new Vr)},l.Fk=function(e){return this},l.Qj=function(){return this.i!=0},l.Wb=function(e){throw nt(new Vr)},l.Gk=function(){throw nt(new Vr)},D(Zi,"EcoreEList/UnmodifiableEList",1165),M(328,1165,nc,B4),l.Yi=function(){return!1},D(Zi,"EcoreEList/UnmodifiableEList/FastCompare",328),M(1168,328,nc,Cce),l.dd=function(e){var n,r,s;if(At(e,179)&&(n=u(e,179),r=n.Lj(),r!=-1)){for(s=this.i;r4)if(this.fk(e)){if(this.al()){if(s=u(e,54),r=s.Eh(),m=r==this.b&&(this.ml()?s.yh(s.Fh(),u(Tn(ju(this.b),this.Lj()).Hk(),29).kk())==wo(u(Tn(ju(this.b),this.Lj()),19)).n:-1-s.Fh()==this.Lj()),this.nl()&&!m&&!r&&s.Jh()){for(o=0;o1||s==-1)):!1},l.ml=function(){var e,n,r;return n=Tn(ju(this.b),this.Lj()),At(n,102)?(e=u(n,19),r=wo(e),!!r):!1},l.nl=function(){var e,n;return n=Tn(ju(this.b),this.Lj()),At(n,102)?(e=u(n,19),(e.Bb&fo)!=0):!1},l.dd=function(e){var n,r,s,o;if(s=this.zj(e),s>=0)return s;if(this.ol()){for(r=0,o=this.Ej();r=0;--e)UO(this,e,this.xj(e));return this.Fj()},l.Qc=function(e){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)UO(this,n,this.xj(n));return this.Gj(e)},l.Gk=function(){LS(this)},l.Zi=function(e,n){return Dse(this,e,n)},D(Zi,"DelegatingEcoreEList",756),M(1171,756,LTt,UJt),l.qj=function(e,n){usn(this,e,u(n,29))},l.rj=function(e){Qrn(this,u(e,29))},l.xj=function(e){var n,r;return n=u(Lt(Gc(this.a),e),89),r=n.c,At(r,90)?u(r,29):(bn(),mf)},l.Cj=function(e){var n,r;return n=u(r3(Gc(this.a),e),89),r=n.c,At(r,90)?u(r,29):(bn(),mf)},l.Dj=function(e,n){return amn(this,e,u(n,29))},l.Li=function(){return!1},l.Ij=function(e,n,r,s,o){return null},l.sj=function(){return new IGt(this)},l.tj=function(){Lr(Gc(this.a))},l.uj=function(e){return xue(this,e)},l.vj=function(e){var n,r;for(r=e.Kc();r.Ob();)if(n=r.Pb(),!xue(this,n))return!1;return!0},l.wj=function(e){var n,r,s;if(At(e,15)&&(s=u(e,15),s.gc()==Gc(this.a).i)){for(n=s.Kc(),r=new Zn(this);n.Ob();)if($t(n.Pb())!==$t(sr(r)))return!1;return!0}return!1},l.yj=function(){var e,n,r,s,o;for(r=1,n=new Zn(Gc(this.a));n.e!=n.i.gc();)e=u(sr(n),89),s=(o=e.c,At(o,90)?u(o,29):(bn(),mf)),r=31*r+(s?km(s):0);return r},l.zj=function(e){var n,r,s,o;for(s=0,r=new Zn(Gc(this.a));r.e!=r.i.gc();){if(n=u(sr(r),89),$t(e)===$t((o=n.c,At(o,90)?u(o,29):(bn(),mf))))return s;++s}return-1},l.Aj=function(){return Gc(this.a).i==0},l.Bj=function(){return null},l.Ej=function(){return Gc(this.a).i},l.Fj=function(){var e,n,r,s,o,h;for(h=Gc(this.a).i,o=Vt(sa,Ln,1,h,5,1),r=0,n=new Zn(Gc(this.a));n.e!=n.i.gc();)e=u(sr(n),89),o[r++]=(s=e.c,At(s,90)?u(s,29):(bn(),mf));return o},l.Gj=function(e){var n,r,s,o,h,d,m;for(m=Gc(this.a).i,e.lengthm&&hs(e,m,null),s=0,r=new Zn(Gc(this.a));r.e!=r.i.gc();)n=u(sr(r),89),h=(d=n.c,At(d,90)?u(d,29):(bn(),mf)),hs(e,s++,h);return e},l.Hj=function(){var e,n,r,s,o;for(o=new hp,o.a+="[",e=Gc(this.a),n=0,s=Gc(this.a).i;n>16,o>=0?dot(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,6,r);case 9:return!this.a&&(this.a=new Jt(zg,this,9,5)),mu(this.a,e,r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),d2)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),d2)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 6:return ch(this,null,6,r);case 7:return!this.A&&(this.A=new Qu(Ou,this,7)),no(this.A,e,r);case 9:return!this.a&&(this.a=new Jt(zg,this,9,5)),no(this.a,e,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),d2)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),d2)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Qm(this);case 4:return!!X4t(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!RE(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return _h(this,e-ur((bn(),d2)),Tn((n=u($n(this,16),29),n||d2),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:rq(this,Gr(n));return;case 2:zrt(this,Gr(n));return;case 5:j7(this,Gr(n));return;case 7:!this.A&&(this.A=new Qu(Ou,this,7)),Lr(this.A),!this.A&&(this.A=new Qu(Ou,this,7)),bs(this.A,u(n,16));return;case 8:sH(this,Ie(De(n)));return;case 9:!this.a&&(this.a=new Jt(zg,this,9,5)),Lr(this.a),!this.a&&(this.a=new Jt(zg,this,9,5)),bs(this.a,u(n,16));return}Ih(this,e-ur((bn(),d2)),Tn((r=u($n(this,16),29),r||d2),e),n)},l.ii=function(){return bn(),d2},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:At(this.Cb,184)&&(u(this.Cb,184).tb=null),wu(this,null);return;case 2:f7(this,null),QE(this,this.D);return;case 5:j7(this,null);return;case 7:!this.A&&(this.A=new Qu(Ou,this,7)),Lr(this.A);return;case 8:sH(this,!0);return;case 9:!this.a&&(this.a=new Jt(zg,this,9,5)),Lr(this.a);return}Dh(this,e-ur((bn(),d2)),Tn((n=u($n(this,16),29),n||d2),e))},l.pi=function(){var e,n;if(this.a)for(e=0,n=this.a.i;e>16==5?u(this.Cb,685):null}return Ah(this,e-ur((bn(),Qp)),Tn((s=u($n(this,16),29),s||Qp),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?whe(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,5,r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),Qp)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),Qp)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 5:return ch(this,null,5,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),Qp)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),Qp)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,685))}return _h(this,e-ur((bn(),Qp)),Tn((n=u($n(this,16),29),n||Qp),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:wu(this,Gr(n));return;case 2:Ust(this,u(n,17).a);return;case 3:p1e(this,u(n,2039));return;case 4:Kst(this,Gr(n));return}Ih(this,e-ur((bn(),Qp)),Tn((r=u($n(this,16),29),r||Qp),e),n)},l.ii=function(){return bn(),Qp},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:wu(this,null);return;case 2:Ust(this,0);return;case 3:p1e(this,null);return;case 4:Kst(this,null);return}Dh(this,e-ur((bn(),Qp)),Tn((n=u($n(this,16),29),n||Qp),e))},l.Ib=function(){var e;return e=this.c,e??this.zb},l.b=null,l.c=null,l.d=0,D(jn,"EEnumLiteralImpl",582);var R_n=us(jn,"EFactoryImpl/InternalEDateTimeFormat");M(498,1,{2114:1},kD),D(jn,"EFactoryImpl/1ClientInternalEDateTimeFormat",498),M(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},um),l.Ch=function(e,n,r){var s;return r=ch(this,e,n,r),this.e&&At(e,179)&&(s=GH(this,this.e),s!=this.c&&(r=$7(this,s,r))),r},l.Lh=function(e,n,r){var s;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new Ns(So,this,1)),this.d;case 2:return n?sV(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?sot(this):this.a}return Ah(this,e-ur((bn(),Ov)),Tn((s=u($n(this,16),29),s||Ov),e),n,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return cue(this,null,r);case 1:return!this.d&&(this.d=new Ns(So,this,1)),no(this.d,e,r);case 3:return uue(this,null,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),Ov)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),Ov)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return _h(this,e-ur((bn(),Ov)),Tn((n=u($n(this,16),29),n||Ov),e))},l.bi=function(e,n){var r;switch(e){case 0:Fhe(this,u(n,89));return;case 1:!this.d&&(this.d=new Ns(So,this,1)),Lr(this.d),!this.d&&(this.d=new Ns(So,this,1)),bs(this.d,u(n,16));return;case 3:Axt(this,u(n,89));return;case 4:Kxt(this,u(n,850));return;case 5:GE(this,u(n,142));return}Ih(this,e-ur((bn(),Ov)),Tn((r=u($n(this,16),29),r||Ov),e),n)},l.ii=function(){return bn(),Ov},l.ki=function(e){var n;switch(e){case 0:Fhe(this,null);return;case 1:!this.d&&(this.d=new Ns(So,this,1)),Lr(this.d);return;case 3:Axt(this,null);return;case 4:Kxt(this,null);return;case 5:GE(this,null);return}Dh(this,e-ur((bn(),Ov)),Tn((n=u($n(this,16),29),n||Ov),e))},l.Ib=function(){var e;return e=new Jl(qf(this)),e.a+=" (expression: ",dct(this,e),e.a+=")",e.a};var LIt;D(jn,"EGenericTypeImpl",248),M(2067,2062,dU),l.Gi=function(e,n){qJt(this,e,n)},l.Wk=function(e,n){return qJt(this,this.gc(),e),n},l.$i=function(e){return Nh(this.pj(),e)},l.Ii=function(){return this.Ji()},l.pj=function(){return new FGt(this)},l.Ji=function(){return this.Ki(0)},l.Ki=function(e){return this.pj().fd(e)},l.Xk=function(e,n){return Ky(this,e,!0),n},l.Ti=function(e,n){var r,s;return s=bot(this,n),r=this.fd(e),r.Rb(s),s},l.Ui=function(e,n){var r;Ky(this,n,!0),r=this.fd(e),r.Rb(n)},D(Zi,"AbstractSequentialInternalEList",2067),M(495,2067,dU,ZD),l.$i=function(e){return Nh(this.pj(),e)},l.Ii=function(){return this.b==null?(gp(),gp(),zN):this.sl()},l.pj=function(){return new oQt(this.a,this.b)},l.Ji=function(){return this.b==null?(gp(),gp(),zN):this.sl()},l.Ki=function(e){var n,r;if(this.b==null){if(e<0||e>1)throw nt(new No(ZS+e+", size=0"));return gp(),gp(),zN}for(r=this.sl(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.pk()!=WT||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(h=this.b.Nh(n,this.ul()),this.f=(bo(),u(n,69).xk()),this.f||n.Jk()){if(this.ul()?(s=u(h,15),this.k=s):(s=u(h,71),this.k=this.j=s),At(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?Mfe(this,this.p):qfe(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,76),e.Lk(),r=e.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(h!=null)return this.k=null,this.p=null,r=h,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,76),e.Lk(),r=e.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},l.Pb=function(){return Xq(this)},l.Tb=function(){return this.a},l.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw nt(new ac)},l.Vb=function(){return this.a-1},l.Qb=function(){throw nt(new Vr)},l.ul=function(){return!1},l.Wb=function(e){throw nt(new Vr)},l.vl=function(){return!0},l.a=0,l.d=0,l.f=!1,l.g=0,l.n=0,l.o=0;var zN;D(Zi,"EContentsEList/FeatureIteratorImpl",287),M(711,287,gU,Rmt),l.ul=function(){return!0},D(Zi,"EContentsEList/ResolvingFeatureIteratorImpl",711),M(1178,711,gU,SJt),l.vl=function(){return!1},D(jn,"ENamedElementImpl/1/1",1178),M(1179,287,gU,AJt),l.vl=function(){return!1},D(jn,"ENamedElementImpl/1/2",1179),M(38,152,EP,Ry,bst,la,Dst,xg,jf,Q3t,ore,J3t,cre,p3t,ure,e4t,lre,b3t,hre,Z3t,fre,T_,OI,Qit,t4t,dre,w3t,gre),l.Kj=function(){return P3t(this)},l.Rj=function(){var e;return e=P3t(this),e?e.ik():null},l.hj=function(e){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,e)},l.jj=function(){return this.c},l.Sj=function(){var e;return e=P3t(this),e?e.tk():!1},l.b=-1,D(jn,"ENotificationImpl",38),M(411,291,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,480:1,54:1,99:1,158:1,411:1,291:1,119:1,120:1},Fnt),l.Ah=function(e){return yhe(this,e)},l.Lh=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return fe(this.s);case 5:return fe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?rf(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,29):null;case 11:return!this.d&&(this.d=new Qu(Ou,this,11)),this.d;case 12:return!this.c&&(this.c=new Jt(Iv,this,12,10)),this.c;case 13:return!this.a&&(this.a=new iI(this,this)),this.a;case 14:return Al(this)}return Ah(this,e-ur((bn(),Jp)),Tn((s=u($n(this,16),29),s||Jp),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?yhe(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,10,r);case 12:return!this.c&&(this.c=new Jt(Iv,this,12,10)),mu(this.c,e,r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),Jp)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),Jp)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 9:return Fit(this,r);case 10:return ch(this,null,10,r);case 11:return!this.d&&(this.d=new Qu(Ou,this,11)),no(this.d,e,r);case 12:return!this.c&&(this.c=new Jt(Iv,this,12,10)),no(this.c,e,r);case 14:return no(Al(this),e,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),Jp)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),Jp)),e,r)},l.Wh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&Mm(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Mm(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Al(this.a.a).i!=0&&!(this.b&&rot(this.b));case 14:return!!this.b&&rot(this.b)}return _h(this,e-ur((bn(),Jp)),Tn((n=u($n(this,16),29),n||Jp),e))},l.bi=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:wu(this,Gr(n));return;case 2:Ap(this,Ie(De(n)));return;case 3:Lp(this,Ie(De(n)));return;case 4:Tp(this,u(n,17).a);return;case 5:Hy(this,u(n,17).a);return;case 8:rw(this,u(n,142));return;case 9:s=sd(this,u(n,89),null),s&&s.oj();return;case 11:!this.d&&(this.d=new Qu(Ou,this,11)),Lr(this.d),!this.d&&(this.d=new Qu(Ou,this,11)),bs(this.d,u(n,16));return;case 12:!this.c&&(this.c=new Jt(Iv,this,12,10)),Lr(this.c),!this.c&&(this.c=new Jt(Iv,this,12,10)),bs(this.c,u(n,16));return;case 13:!this.a&&(this.a=new iI(this,this)),LS(this.a),!this.a&&(this.a=new iI(this,this)),bs(this.a,u(n,16));return;case 14:Lr(Al(this)),bs(Al(this),u(n,16));return}Ih(this,e-ur((bn(),Jp)),Tn((r=u($n(this,16),29),r||Jp),e),n)},l.ii=function(){return bn(),Jp},l.ki=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:wu(this,null);return;case 2:Ap(this,!0);return;case 3:Lp(this,!0);return;case 4:Tp(this,0);return;case 5:Hy(this,1);return;case 8:rw(this,null);return;case 9:r=sd(this,null,null),r&&r.oj();return;case 11:!this.d&&(this.d=new Qu(Ou,this,11)),Lr(this.d);return;case 12:!this.c&&(this.c=new Jt(Iv,this,12,10)),Lr(this.c);return;case 13:this.a&&LS(this.a);return;case 14:this.b&&Lr(this.b);return}Dh(this,e-ur((bn(),Jp)),Tn((n=u($n(this,16),29),n||Jp),e))},l.pi=function(){var e,n;if(this.c)for(e=0,n=this.c.i;em&&hs(e,m,null),s=0,r=new Zn(Al(this.a));r.e!=r.i.gc();)n=u(sr(r),89),h=(d=n.c,d||(bn(),yd)),hs(e,s++,h);return e},l.Hj=function(){var e,n,r,s,o;for(o=new hp,o.a+="[",e=Al(this.a),n=0,s=Al(this.a).i;n1);case 5:return D_(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new xg(this.e,e,this.c,n,r,s,!0)}},l.Tj=function(){return!0},l.Qj=function(){return rot(this)},l.Gk=function(){Lr(this)},D(jn,"EOperationImpl/2",1377),M(507,1,{2037:1,507:1},VXt),D(jn,"EPackageImpl/1",507),M(14,83,nc,Jt),l.il=function(){return this.d},l.jl=function(){return this.b},l.ml=function(){return!0},l.b=0,D(Zi,"EObjectContainmentWithInverseEList",14),M(365,14,nc,R6),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectContainmentWithInverseEList/Resolving",365),M(307,365,nc,Iy),l.Ni=function(){this.a.tb=null},D(jn,"EPackageImpl/2",307),M(1278,1,{},tD),D(jn,"EPackageImpl/3",1278),M(733,45,y5,$2t),l._b=function(e){return pa(e)?Zit(this,e):!!yo(this.f,e)},D(jn,"EPackageRegistryImpl",733),M(518,291,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,480:1,54:1,99:1,158:1,518:1,291:1,119:1,120:1},Bnt),l.Ah=function(e){return xhe(this,e)},l.Lh=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return fe(this.s);case 5:return fe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?rf(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,62):null}return Ah(this,e-ur((bn(),K3)),Tn((s=u($n(this,16),29),s||K3),e),n,r)},l.Sh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),mu(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?xhe(this,r):this.Cb.Th(this,-1-o,null,r))),ch(this,e,10,r)}return h=u(Tn((s=u($n(this,16),29),s||(bn(),K3)),n),69),h.wk().zk(this,Su(this),n-ur((bn(),K3)),e,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 9:return Fit(this,r);case 10:return ch(this,null,10,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),K3)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),K3)),e,r)},l.Wh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&Mm(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Mm(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,62))}return _h(this,e-ur((bn(),K3)),Tn((n=u($n(this,16),29),n||K3),e))},l.ii=function(){return bn(),K3},D(jn,"EParameterImpl",518),M(102,461,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,480:1,54:1,99:1,158:1,102:1,461:1,291:1,119:1,120:1,692:1},Hmt),l.Lh=function(e,n,r){var s,o,h,d;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return fe(this.s);case 5:return fe(this.t);case 6:return Nn(),d=this.t,d>1||d==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?rf(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&Uf);case 11:return Nn(),!!(this.Bb&b3);case 12:return Nn(),!!(this.Bb&u3);case 13:return this.j;case 14:return I7(this);case 15:return Nn(),!!(this.Bb&al);case 16:return Nn(),!!(this.Bb&Wd);case 17:return Ny(this);case 18:return Nn(),!!(this.Bb&Pc);case 19:return Nn(),h=wo(this),!!(h&&h.Bb&Pc);case 20:return Nn(),!!(this.Bb&fo);case 21:return n?wo(this):this.b;case 22:return n?$4t(this):Rie(this);case 23:return!this.a&&(this.a=new H4(V3,this,23)),this.a}return Ah(this,e-ur((bn(),lx)),Tn((s=u($n(this,16),29),s||lx),e),n,r)},l.Wh=function(e){var n,r,s,o;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&Mm(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&Mm(this.q).i==0);case 10:return(this.Bb&Uf)==0;case 11:return(this.Bb&b3)!=0;case 12:return(this.Bb&u3)!=0;case 13:return this.j!=null;case 14:return I7(this)!=null;case 15:return(this.Bb&al)!=0;case 16:return(this.Bb&Wd)!=0;case 17:return!!Ny(this);case 18:return(this.Bb&Pc)!=0;case 19:return s=wo(this),!!s&&(s.Bb&Pc)!=0;case 20:return(this.Bb&fo)==0;case 21:return!!this.b;case 22:return!!Rie(this);case 23:return!!this.a&&this.a.i!=0}return _h(this,e-ur((bn(),lx)),Tn((n=u($n(this,16),29),n||lx),e))},l.bi=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:ust(this,Gr(n));return;case 2:Ap(this,Ie(De(n)));return;case 3:Lp(this,Ie(De(n)));return;case 4:Tp(this,u(n,17).a);return;case 5:Hy(this,u(n,17).a);return;case 8:rw(this,u(n,142));return;case 9:s=sd(this,u(n,89),null),s&&s.oj();return;case 10:p7(this,Ie(De(n)));return;case 11:m7(this,Ie(De(n)));return;case 12:b7(this,Ie(De(n)));return;case 13:Zwt(this,Gr(n));return;case 15:w7(this,Ie(De(n)));return;case 16:v7(this,Ie(De(n)));return;case 18:Ihn(this,Ie(De(n)));return;case 20:m5t(this,Ie(De(n)));return;case 21:b4t(this,u(n,19));return;case 23:!this.a&&(this.a=new H4(V3,this,23)),Lr(this.a),!this.a&&(this.a=new H4(V3,this,23)),bs(this.a,u(n,16));return}Ih(this,e-ur((bn(),lx)),Tn((r=u($n(this,16),29),r||lx),e),n)},l.ii=function(){return bn(),lx},l.ki=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:At(this.Cb,90)&&t3(Sl(u(this.Cb,90)),4),wu(this,null);return;case 2:Ap(this,!0);return;case 3:Lp(this,!0);return;case 4:Tp(this,0);return;case 5:Hy(this,1);return;case 8:rw(this,null);return;case 9:r=sd(this,null,null),r&&r.oj();return;case 10:p7(this,!0);return;case 11:m7(this,!1);return;case 12:b7(this,!1);return;case 13:this.i=null,zq(this,null);return;case 15:w7(this,!1);return;case 16:v7(this,!1);return;case 18:w5t(this,!1),At(this.Cb,90)&&t3(Sl(u(this.Cb,90)),2);return;case 20:m5t(this,!0);return;case 21:b4t(this,null);return;case 23:!this.a&&(this.a=new H4(V3,this,23)),Lr(this.a);return}Dh(this,e-ur((bn(),lx)),Tn((n=u($n(this,16),29),n||lx),e))},l.pi=function(){$4t(this),NE(Ro((rl(),Fa),this)),rf(this),this.Bb|=1},l.uk=function(){return wo(this)},l._k=function(){var e;return e=wo(this),!!e&&(e.Bb&Pc)!=0},l.al=function(){return(this.Bb&Pc)!=0},l.bl=function(){return(this.Bb&fo)!=0},l.Yk=function(e,n){return this.c=null,o5t(this,e,n)},l.Ib=function(){var e;return this.Db&64?nV(this):(e=new Jh(nV(this)),e.a+=" (containment: ",fp(e,(this.Bb&Pc)!=0),e.a+=", resolveProxies: ",fp(e,(this.Bb&fo)!=0),e.a+=")",e.a)},D(jn,"EReferenceImpl",102),M(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},d1),l.Fb=function(e){return this===e},l.ld=function(){return this.b},l.md=function(){return this.c},l.Hb=function(){return km(this)},l.Di=function(e){Bcn(this,Gr(e))},l.nd=function(e){return kcn(this,Gr(e))},l.Lh=function(e,n,r){var s;switch(e){case 0:return this.b;case 1:return this.c}return Ah(this,e-ur((bn(),po)),Tn((s=u($n(this,16),29),s||po),e),n,r)},l.Wh=function(e){var n;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return _h(this,e-ur((bn(),po)),Tn((n=u($n(this,16),29),n||po),e))},l.bi=function(e,n){var r;switch(e){case 0:Rcn(this,Gr(n));return;case 1:d4t(this,Gr(n));return}Ih(this,e-ur((bn(),po)),Tn((r=u($n(this,16),29),r||po),e),n)},l.ii=function(){return bn(),po},l.ki=function(e){var n;switch(e){case 0:f4t(this,null);return;case 1:d4t(this,null);return}Dh(this,e-ur((bn(),po)),Tn((n=u($n(this,16),29),n||po),e))},l.Bi=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:Cp(e)),this.a},l.Ci=function(e){this.a=e},l.Ib=function(){var e;return this.Db&64?qf(this):(e=new Jh(qf(this)),e.a+=" (key: ",Lo(e,this.b),e.a+=", value: ",Lo(e,this.c),e.a+=")",e.a)},l.a=-1,l.b=null,l.c=null;var Sc=D(jn,"EStringToStringMapEntryImpl",561),uTe=us(Zi,"FeatureMap/Entry/Internal");M(576,1,pU),l.xl=function(e){return this.yl(u(e,54))},l.yl=function(e){return this.xl(e)},l.Fb=function(e){var n,r;return this===e?!0:At(e,76)?(n=u(e,76),n.Lk()==this.c?(r=this.md(),r==null?n.md()==null:Ci(r,n.md())):!1):!1},l.Lk=function(){return this.c},l.Hb=function(){var e;return e=this.md(),Hi(this.c)^(e==null?0:Hi(e))},l.Ib=function(){var e,n;return e=this.c,n=nh(e.qk()).yi(),e.xe(),(n!=null&&n.length!=0?n+":"+e.xe():e.xe())+"="+this.md()},D(jn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),M(791,576,pU,Jmt),l.yl=function(e){return new Jmt(this.c,e)},l.md=function(){return this.a},l.zl=function(e,n,r){return xgn(this,e,this.a,n,r)},l.Al=function(e,n,r){return kgn(this,e,this.a,n,r)},D(jn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),M(1350,1,{},UXt),l.yk=function(e,n,r,s,o){var h;return h=u(qE(e,this.b),220),h.Yl(this.a).Fk(s)},l.zk=function(e,n,r,s,o){var h;return h=u(qE(e,this.b),220),h.Pl(this.a,s,o)},l.Ak=function(e,n,r,s,o){var h;return h=u(qE(e,this.b),220),h.Ql(this.a,s,o)},l.Bk=function(e,n,r){var s;return s=u(qE(e,this.b),220),s.Yl(this.a).Qj()},l.Ck=function(e,n,r,s){var o;o=u(qE(e,this.b),220),o.Yl(this.a).Wb(s)},l.Dk=function(e,n,r){return u(qE(e,this.b),220).Yl(this.a)},l.Ek=function(e,n,r){var s;s=u(qE(e,this.b),220),s.Yl(this.a).Gk()},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),M(91,1,{},bp,V2,mp,Y2),l.yk=function(e,n,r,s,o){var h;if(h=n.li(r),h==null&&n.mi(r,h=gV(this,e)),!o)switch(this.e){case 50:case 41:return u(h,597).bk();case 40:return u(h,220).Vl()}return h},l.zk=function(e,n,r,s,o){var h,d;return d=n.li(r),d==null&&n.mi(r,d=gV(this,e)),h=u(d,71).Wk(s,o),h},l.Ak=function(e,n,r,s,o){var h;return h=n.li(r),h!=null&&(o=u(h,71).Xk(s,o)),o},l.Bk=function(e,n,r){var s;return s=n.li(r),s!=null&&u(s,79).Qj()},l.Ck=function(e,n,r,s){var o;o=u(n.li(r),79),!o&&n.mi(r,o=gV(this,e)),o.Wb(s)},l.Dk=function(e,n,r){var s,o;return o=n.li(r),o==null&&n.mi(r,o=gV(this,e)),At(o,79)?u(o,79):(s=u(n.li(r),15),new PGt(s))},l.Ek=function(e,n,r){var s;s=u(n.li(r),79),!s&&n.mi(r,s=gV(this,e)),s.Gk()},l.b=0,l.e=0,D(jn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),M(512,1,{}),l.zk=function(e,n,r,s,o){throw nt(new Vr)},l.Ak=function(e,n,r,s,o){throw nt(new Vr)},l.Dk=function(e,n,r){return new Hee(this,e,n,r)};var W0;D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),M(1367,1,Jlt,Hee),l.Fk=function(e){return this.a.yk(this.c,this.d,this.b,e,!0)},l.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},l.Wb=function(e){this.a.Ck(this.c,this.d,this.b,e)},l.Gk=function(){this.a.Ek(this.c,this.d,this.b)},l.b=0,D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),M(784,512,{},$yt),l.yk=function(e,n,r,s,o){return Zot(e,e.Ph(),e.Fh())==this.b?this.bl()&&s?jot(e):e.Ph():null},l.zk=function(e,n,r,s,o){var h,d;return e.Ph()&&(o=(h=e.Fh(),h>=0?e.Ah(o):e.Ph().Th(e,-1-h,null,o))),d=ss(e.Dh(),this.e),e.Ch(s,d,o)},l.Ak=function(e,n,r,s,o){var h;return h=ss(e.Dh(),this.e),e.Ch(null,h,o)},l.Bk=function(e,n,r){var s;return s=ss(e.Dh(),this.e),!!e.Ph()&&e.Fh()==s},l.Ck=function(e,n,r,s){var o,h,d,m,k;if(s!=null&&!rct(this.a,s))throw nt(new uE(bU+(At(s,58)?Sxt(u(s,58).Dh()):K3t(Gl(s)))+wU+this.a+"'"));if(o=e.Ph(),d=ss(e.Dh(),this.e),$t(s)!==$t(o)||e.Fh()!=d&&s!=null){if(T7(e,u(s,58)))throw nt(new zn(QS+e.Ib()));k=null,o&&(k=(h=e.Fh(),h>=0?e.Ah(k):e.Ph().Th(e,-1-h,null,k))),m=u(s,54),m&&(k=m.Rh(e,ss(m.Dh(),this.b),null,k)),k=e.Ch(m,d,k),k&&k.oj()}else e.vh()&&e.wh()&&Ti(e,new la(e,1,d,s,s))},l.Ek=function(e,n,r){var s,o,h,d;s=e.Ph(),s?(d=(o=e.Fh(),o>=0?e.Ah(null):e.Ph().Th(e,-1-o,null,null)),h=ss(e.Dh(),this.e),d=e.Ch(null,h,d),d&&d.oj()):e.vh()&&e.wh()&&Ti(e,new T_(e,1,this.e,null,null))},l.bl=function(){return!1},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),M(1351,784,{},OZt),l.bl=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),M(574,512,{}),l.yk=function(e,n,r,s,o){var h;return h=n.li(r),h==null?this.b:$t(h)===$t(W0)?null:h},l.Bk=function(e,n,r){var s;return s=n.li(r),s!=null&&($t(s)===$t(W0)||!Ci(s,this.b))},l.Ck=function(e,n,r,s){var o,h;e.vh()&&e.wh()?(o=(h=n.li(r),h==null?this.b:$t(h)===$t(W0)?null:h),s==null?this.c!=null?(n.mi(r,null),s=this.b):this.b!=null?n.mi(r,W0):n.mi(r,null):(this.Bl(s),n.mi(r,s)),Ti(e,this.d.Cl(e,1,this.e,o,s))):s==null?this.c!=null?n.mi(r,null):this.b!=null?n.mi(r,W0):n.mi(r,null):(this.Bl(s),n.mi(r,s))},l.Ek=function(e,n,r){var s,o;e.vh()&&e.wh()?(s=(o=n.li(r),o==null?this.b:$t(o)===$t(W0)?null:o),n.ni(r),Ti(e,this.d.Cl(e,1,this.e,s,this.b))):n.ni(r)},l.Bl=function(e){throw nt(new UGt)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),M(M5,1,{},eD),l.Cl=function(e,n,r,s,o){return new T_(e,n,r,s,o)},l.Dl=function(e,n,r,s,o,h){return new Qit(e,n,r,s,o,h)};var MIt,DIt,IIt,OIt,PIt,NIt,FIt,Qdt,BIt;D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",M5),M(1368,M5,{},nD),l.Cl=function(e,n,r,s,o){return new w3t(e,n,r,Ie(De(s)),Ie(De(o)))},l.Dl=function(e,n,r,s,o,h){return new gre(e,n,r,Ie(De(s)),Ie(De(o)),h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),M(1369,M5,{},o6),l.Cl=function(e,n,r,s,o){return new Q3t(e,n,r,u(s,222).a,u(o,222).a)},l.Dl=function(e,n,r,s,o,h){return new ore(e,n,r,u(s,222).a,u(o,222).a,h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),M(1370,M5,{},Ktt),l.Cl=function(e,n,r,s,o){return new J3t(e,n,r,u(s,180).a,u(o,180).a)},l.Dl=function(e,n,r,s,o,h){return new cre(e,n,r,u(s,180).a,u(o,180).a,h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),M(1371,M5,{},Wtt),l.Cl=function(e,n,r,s,o){return new p3t(e,n,r,Rt(Ht(s)),Rt(Ht(o)))},l.Dl=function(e,n,r,s,o,h){return new ure(e,n,r,Rt(Ht(s)),Rt(Ht(o)),h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),M(1372,M5,{},Ytt),l.Cl=function(e,n,r,s,o){return new e4t(e,n,r,u(s,161).a,u(o,161).a)},l.Dl=function(e,n,r,s,o,h){return new lre(e,n,r,u(s,161).a,u(o,161).a,h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),M(1373,M5,{},Xtt),l.Cl=function(e,n,r,s,o){return new b3t(e,n,r,u(s,17).a,u(o,17).a)},l.Dl=function(e,n,r,s,o,h){return new hre(e,n,r,u(s,17).a,u(o,17).a,h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),M(1374,M5,{},gy),l.Cl=function(e,n,r,s,o){return new Z3t(e,n,r,u(s,168).a,u(o,168).a)},l.Dl=function(e,n,r,s,o,h){return new fre(e,n,r,u(s,168).a,u(o,168).a,h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),M(1375,M5,{},KR),l.Cl=function(e,n,r,s,o){return new t4t(e,n,r,u(s,191).a,u(o,191).a)},l.Dl=function(e,n,r,s,o,h){return new dre(e,n,r,u(s,191).a,u(o,191).a,h)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),M(1353,574,{},Vee),l.Bl=function(e){if(!this.a.fk(e))throw nt(new uE(bU+Gl(e)+wU+this.a+"'"))},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),M(1354,574,{},Dte),l.Bl=function(e){},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),M(785,574,{}),l.Bk=function(e,n,r){var s;return s=n.li(r),s!=null},l.Ck=function(e,n,r,s){var o,h;e.vh()&&e.wh()?(o=!0,h=n.li(r),h==null?(o=!1,h=this.b):$t(h)===$t(W0)&&(h=null),s==null?this.c!=null?(n.mi(r,null),s=this.b):n.mi(r,W0):(this.Bl(s),n.mi(r,s)),Ti(e,this.d.Dl(e,1,this.e,h,s,!o))):s==null?this.c!=null?n.mi(r,null):n.mi(r,W0):(this.Bl(s),n.mi(r,s))},l.Ek=function(e,n,r){var s,o;e.vh()&&e.wh()?(s=!0,o=n.li(r),o==null?(s=!1,o=this.b):$t(o)===$t(W0)&&(o=null),n.ni(r),Ti(e,this.d.Dl(e,2,this.e,o,this.b,s))):n.ni(r)},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),M(1355,785,{},Uee),l.Bl=function(e){if(!this.a.fk(e))throw nt(new uE(bU+Gl(e)+wU+this.a+"'"))},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),M(1356,785,{},Ite),l.Bl=function(e){},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),M(410,512,{},Sz),l.yk=function(e,n,r,s,o){var h,d,m,k,T;if(T=n.li(r),this.tk()&&$t(T)===$t(W0))return null;if(this.bl()&&s&&T!=null){if(m=u(T,54),m.Vh()&&(k=Pb(e,m),m!=k)){if(!rct(this.a,k))throw nt(new uE(bU+Gl(k)+wU+this.a+"'"));n.mi(r,T=k),this.al()&&(h=u(k,54),d=m.Th(e,this.b?ss(m.Dh(),this.b):-1-ss(e.Dh(),this.e),null,null),!h.Ph()&&(d=h.Rh(e,this.b?ss(h.Dh(),this.b):-1-ss(e.Dh(),this.e),null,d)),d&&d.oj()),e.vh()&&e.wh()&&Ti(e,new T_(e,9,this.e,m,k))}return T}else return T},l.zk=function(e,n,r,s,o){var h,d;return d=n.li(r),$t(d)===$t(W0)&&(d=null),n.mi(r,s),this.Mj()?$t(d)!==$t(s)&&d!=null&&(h=u(d,54),o=h.Th(e,ss(h.Dh(),this.b),null,o)):this.al()&&d!=null&&(o=u(d,54).Th(e,-1-ss(e.Dh(),this.e),null,o)),e.vh()&&e.wh()&&(!o&&(o=new bb(4)),o.nj(new T_(e,1,this.e,d,s))),o},l.Ak=function(e,n,r,s,o){var h;return h=n.li(r),$t(h)===$t(W0)&&(h=null),n.ni(r),e.vh()&&e.wh()&&(!o&&(o=new bb(4)),this.tk()?o.nj(new T_(e,2,this.e,h,null)):o.nj(new T_(e,1,this.e,h,null))),o},l.Bk=function(e,n,r){var s;return s=n.li(r),s!=null},l.Ck=function(e,n,r,s){var o,h,d,m,k;if(s!=null&&!rct(this.a,s))throw nt(new uE(bU+(At(s,58)?Sxt(u(s,58).Dh()):K3t(Gl(s)))+wU+this.a+"'"));k=n.li(r),m=k!=null,this.tk()&&$t(k)===$t(W0)&&(k=null),d=null,this.Mj()?$t(k)!==$t(s)&&(k!=null&&(o=u(k,54),d=o.Th(e,ss(o.Dh(),this.b),null,d)),s!=null&&(o=u(s,54),d=o.Rh(e,ss(o.Dh(),this.b),null,d))):this.al()&&$t(k)!==$t(s)&&(k!=null&&(d=u(k,54).Th(e,-1-ss(e.Dh(),this.e),null,d)),s!=null&&(d=u(s,54).Rh(e,-1-ss(e.Dh(),this.e),null,d))),s==null&&this.tk()?n.mi(r,W0):n.mi(r,s),e.vh()&&e.wh()?(h=new Qit(e,1,this.e,k,s,this.tk()&&!m),d?(d.nj(h),d.oj()):Ti(e,h)):d&&d.oj()},l.Ek=function(e,n,r){var s,o,h,d,m;m=n.li(r),d=m!=null,this.tk()&&$t(m)===$t(W0)&&(m=null),h=null,m!=null&&(this.Mj()?(s=u(m,54),h=s.Th(e,ss(s.Dh(),this.b),null,h)):this.al()&&(h=u(m,54).Th(e,-1-ss(e.Dh(),this.e),null,h))),n.ni(r),e.vh()&&e.wh()?(o=new Qit(e,this.tk()?2:1,this.e,m,null,d),h?(h.nj(o),h.oj()):Ti(e,o)):h&&h.oj()},l.Mj=function(){return!1},l.al=function(){return!1},l.bl=function(){return!1},l.tk=function(){return!1},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),M(575,410,{},eit),l.al=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),M(1359,575,{},MJt),l.bl=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),M(787,575,{},jmt),l.tk=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),M(1361,787,{},DJt),l.bl=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),M(650,575,{},git),l.Mj=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),M(1360,650,{},PZt),l.bl=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),M(788,650,{},Cvt),l.tk=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),M(1362,788,{},NZt),l.bl=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),M(651,410,{},$mt),l.bl=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),M(1363,651,{},IJt),l.tk=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),M(789,651,{},Evt),l.Mj=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),M(1364,789,{},FZt),l.tk=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),M(1357,410,{},OJt),l.tk=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),M(786,410,{},Tvt),l.Mj=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),M(1358,786,{},BZt),l.tk=function(){return!0},D(jn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),M(790,576,pU,xyt),l.yl=function(e){return new xyt(this.a,this.c,e)},l.md=function(){return this.b},l.zl=function(e,n,r){return vdn(this,e,this.b,r)},l.Al=function(e,n,r){return ydn(this,e,this.b,r)},D(jn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),M(1365,1,Jlt,PGt),l.Fk=function(e){return this.a},l.Qj=function(){return At(this.a,97)?u(this.a,97).Qj():!this.a.dc()},l.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},l.Gk=function(){At(this.a,97)?u(this.a,97).Gk():this.a.$b()},D(jn,"EStructuralFeatureImpl/SettingMany",1365),M(1366,576,pU,sie),l.xl=function(e){return new iit((Fi(),yL),this.b.ri(this.a,e))},l.md=function(){return null},l.zl=function(e,n,r){return r},l.Al=function(e,n,r){return r},D(jn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),M(652,576,pU,iit),l.xl=function(e){return new iit(this.c,e)},l.md=function(){return this.a},l.zl=function(e,n,r){return r},l.Al=function(e,n,r){return r},D(jn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),M(403,505,r0,op),l.aj=function(e){return Vt(pf,Ln,29,e,0,1)},l.Yi=function(){return!1},D(jn,"ESuperAdapter/1",403),M(456,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,456:1,119:1,120:1},Sf),l.Lh=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new y_(this,So,this)),this.a}return Ah(this,e-ur((bn(),Pv)),Tn((s=u($n(this,16),29),s||Pv),e),n,r)},l.Uh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),no(this.Ab,e,r);case 2:return!this.a&&(this.a=new y_(this,So,this)),no(this.a,e,r)}return o=u(Tn((s=u($n(this,16),29),s||(bn(),Pv)),n),69),o.wk().Ak(this,Su(this),n-ur((bn(),Pv)),e,r)},l.Wh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return _h(this,e-ur((bn(),Pv)),Tn((n=u($n(this,16),29),n||Pv),e))},l.bi=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab),!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),bs(this.Ab,u(n,16));return;case 1:wu(this,Gr(n));return;case 2:!this.a&&(this.a=new y_(this,So,this)),Lr(this.a),!this.a&&(this.a=new y_(this,So,this)),bs(this.a,u(n,16));return}Ih(this,e-ur((bn(),Pv)),Tn((r=u($n(this,16),29),r||Pv),e),n)},l.ii=function(){return bn(),Pv},l.ki=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new Jt(oi,this,0,3)),Lr(this.Ab);return;case 1:wu(this,null);return;case 2:!this.a&&(this.a=new y_(this,So,this)),Lr(this.a);return}Dh(this,e-ur((bn(),Pv)),Tn((n=u($n(this,16),29),n||Pv),e))},D(jn,"ETypeParameterImpl",456),M(457,83,nc,y_),l.Nj=function(e,n){return Pyn(this,u(e,89),n)},l.Oj=function(e,n){return Nyn(this,u(e,89),n)},D(jn,"ETypeParameterImpl/1",457),M(647,45,y5,Rnt),l.ec=function(){return new t$(this)},D(jn,"ETypeParameterImpl/2",647),M(570,od,il,t$),l.Fc=function(e){return sZt(this,u(e,89))},l.Gc=function(e){var n,r,s;for(s=!1,r=e.Kc();r.Ob();)n=u(r.Pb(),89),di(this.a,n,"")==null&&(s=!0);return s},l.$b=function(){dl(this.a)},l.Hc=function(e){return Eu(this.a,e)},l.Kc=function(){var e;return e=new Z2(new ps(this.a).a),new e$(e)},l.Mc=function(e){return Yie(this,e)},l.gc=function(){return zC(this.a)},D(jn,"ETypeParameterImpl/2/1",570),M(571,1,ba,e$),l.Nb=function(e){Da(this,e)},l.Pb=function(){return u(Vm(this.a).ld(),89)},l.Ob=function(){return this.a.b},l.Qb=function(){iae(this.a)},D(jn,"ETypeParameterImpl/2/1/1",571),M(1329,45,y5,TKt),l._b=function(e){return pa(e)?Zit(this,e):!!yo(this.f,e)},l.xc=function(e){var n,r;return n=pa(e)?eu(this,e):Uo(yo(this.f,e)),At(n,851)?(r=u(n,851),n=r.Kk(),di(this,u(e,241),n),n):n??(e==null?(rrt(),hTe):null)},D(jn,"EValidatorRegistryImpl",1329),M(1349,720,{110:1,94:1,93:1,479:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},WR),l.ri=function(e,n){switch(e.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:ec(n);case 25:return D0n(n);case 27:return Udn(n);case 28:return Gdn(n);case 29:return n==null?null:FQt(gL[0],u(n,206));case 41:return n==null?"":R2(u(n,296));case 42:return ec(n);case 50:return Gr(n);default:throw nt(new zn(oT+e.xe()+hv))}},l.si=function(e){var n,r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct;switch(e.G==-1&&(e.G=(j=nh(e),j?Ip(j.vi(),e):-1)),e.G){case 0:return r=new Nnt,r;case 1:return n=new HR,n;case 2:return s=new Af,s;case 4:return o=new n$,o;case 5:return h=new EKt,h;case 6:return d=new WGt,d;case 7:return m=new gD,m;case 10:return T=new U8,T;case 11:return A=new Fnt,A;case 12:return N=new Zee,N;case 13:return U=new Bnt,U;case 14:return W=new Hmt,W;case 17:return tt=new d1,tt;case 18:return k=new um,k;case 19:return ct=new Sf,ct;default:throw nt(new zn(Flt+e.zb+hv))}},l.ti=function(e,n){switch(e.hk()){case 20:return n==null?null:new hwt(n);case 21:return n==null?null:new xb(n);case 23:case 22:return n==null?null:V2n(n);case 26:case 24:return n==null?null:$I(oh(n,-128,127)<<24>>24);case 25:return uxn(n);case 27:return Dmn(n);case 28:return Imn(n);case 29:return e3n(n);case 32:case 31:return n==null?null:Jy(n);case 38:case 37:return n==null?null:new A2t(n);case 40:case 39:return n==null?null:fe(oh(n,Va,ki));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:Ag(dV(n));case 49:case 48:return n==null?null:g7(oh(n,mU,32767)<<16>>16);case 50:return n;default:throw nt(new zn(oT+e.xe()+hv))}},D(jn,"EcoreFactoryImpl",1349),M(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},Eee),l.gb=!1,l.hb=!1;var RIt,lTe=!1;D(jn,"EcorePackageImpl",560),M(1234,1,{851:1},YR),l.Kk=function(){return YQt(),fTe},D(jn,"EcorePackageImpl/1",1234),M(1243,1,fi,XR),l.fk=function(e){return At(e,155)},l.gk=function(e){return Vt(BN,Ln,155,e,0,1)},D(jn,"EcorePackageImpl/10",1243),M(1244,1,fi,QR),l.fk=function(e){return At(e,197)},l.gk=function(e){return Vt(qdt,Ln,197,e,0,1)},D(jn,"EcorePackageImpl/11",1244),M(1245,1,fi,JR),l.fk=function(e){return At(e,58)},l.gk=function(e){return Vt(l2,Ln,58,e,0,1)},D(jn,"EcorePackageImpl/12",1245),M(1246,1,fi,ZR),l.fk=function(e){return At(e,411)},l.gk=function(e){return Vt(bf,ATt,62,e,0,1)},D(jn,"EcorePackageImpl/13",1246),M(1247,1,fi,g1),l.fk=function(e){return At(e,241)},l.gk=function(e){return Vt(P1,Ln,241,e,0,1)},D(jn,"EcorePackageImpl/14",1247),M(1248,1,fi,Fu),l.fk=function(e){return At(e,518)},l.gk=function(e){return Vt(Iv,Ln,2116,e,0,1)},D(jn,"EcorePackageImpl/15",1248),M(1249,1,fi,Qtt),l.fk=function(e){return At(e,102)},l.gk=function(e){return Vt(U3,L5,19,e,0,1)},D(jn,"EcorePackageImpl/16",1249),M(1250,1,fi,Jtt),l.fk=function(e){return At(e,179)},l.gk=function(e){return Vt(Ku,L5,179,e,0,1)},D(jn,"EcorePackageImpl/17",1250),M(1251,1,fi,Ztt),l.fk=function(e){return At(e,480)},l.gk=function(e){return Vt(H3,Ln,480,e,0,1)},D(jn,"EcorePackageImpl/18",1251),M(1252,1,fi,Bu),l.fk=function(e){return At(e,561)},l.gk=function(e){return Vt(Sc,fme,561,e,0,1)},D(jn,"EcorePackageImpl/19",1252),M(1235,1,fi,uC),l.fk=function(e){return At(e,331)},l.gk=function(e){return Vt(V3,L5,35,e,0,1)},D(jn,"EcorePackageImpl/2",1235),M(1253,1,fi,tj),l.fk=function(e){return At(e,248)},l.gk=function(e){return Vt(So,Lme,89,e,0,1)},D(jn,"EcorePackageImpl/20",1253),M(1254,1,fi,ej),l.fk=function(e){return At(e,456)},l.gk=function(e){return Vt(Ou,Ln,850,e,0,1)},D(jn,"EcorePackageImpl/21",1254),M(1255,1,fi,c6),l.fk=function(e){return Ty(e)},l.gk=function(e){return Vt(Es,le,484,e,8,1)},D(jn,"EcorePackageImpl/22",1255),M(1256,1,fi,tet),l.fk=function(e){return At(e,195)},l.gk=function(e){return Vt(cl,le,195,e,0,2)},D(jn,"EcorePackageImpl/23",1256),M(1257,1,fi,G8),l.fk=function(e){return At(e,222)},l.gk=function(e){return Vt(Ok,le,222,e,0,1)},D(jn,"EcorePackageImpl/24",1257),M(1258,1,fi,eet),l.fk=function(e){return At(e,180)},l.gk=function(e){return Vt(uA,le,180,e,0,1)},D(jn,"EcorePackageImpl/25",1258),M(1259,1,fi,nj),l.fk=function(e){return At(e,206)},l.gk=function(e){return Vt(AU,le,206,e,0,1)},D(jn,"EcorePackageImpl/26",1259),M(1260,1,fi,net),l.fk=function(e){return!1},l.gk=function(e){return Vt(nOt,Ln,2215,e,0,1)},D(jn,"EcorePackageImpl/27",1260),M(1261,1,fi,ret),l.fk=function(e){return Cy(e)},l.gk=function(e){return Vt(zs,le,345,e,7,1)},D(jn,"EcorePackageImpl/28",1261),M(1262,1,fi,lC),l.fk=function(e){return At(e,61)},l.gk=function(e){return Vt(wIt,l3,61,e,0,1)},D(jn,"EcorePackageImpl/29",1262),M(1236,1,fi,rj),l.fk=function(e){return At(e,519)},l.gk=function(e){return Vt(oi,{3:1,4:1,5:1,2033:1},598,e,0,1)},D(jn,"EcorePackageImpl/3",1236),M(1263,1,fi,rD),l.fk=function(e){return At(e,582)},l.gk=function(e){return Vt(yIt,Ln,2039,e,0,1)},D(jn,"EcorePackageImpl/30",1263),M(1264,1,fi,hC),l.fk=function(e){return At(e,160)},l.gk=function(e){return Vt(HIt,l3,160,e,0,1)},D(jn,"EcorePackageImpl/31",1264),M(1265,1,fi,iet),l.fk=function(e){return At(e,76)},l.gk=function(e){return Vt(UK,Rme,76,e,0,1)},D(jn,"EcorePackageImpl/32",1265),M(1266,1,fi,set),l.fk=function(e){return At(e,161)},l.gk=function(e){return Vt(gT,le,161,e,0,1)},D(jn,"EcorePackageImpl/33",1266),M(1267,1,fi,iD),l.fk=function(e){return At(e,17)},l.gk=function(e){return Vt(Na,le,17,e,0,1)},D(jn,"EcorePackageImpl/34",1267),M(1268,1,fi,fC),l.fk=function(e){return At(e,296)},l.gk=function(e){return Vt(zTt,Ln,296,e,0,1)},D(jn,"EcorePackageImpl/35",1268),M(1269,1,fi,H1),l.fk=function(e){return At(e,168)},l.gk=function(e){return Vt(dv,le,168,e,0,1)},D(jn,"EcorePackageImpl/36",1269),M(1270,1,fi,K8),l.fk=function(e){return At(e,85)},l.gk=function(e){return Vt(qTt,Ln,85,e,0,1)},D(jn,"EcorePackageImpl/37",1270),M(1271,1,fi,aet),l.fk=function(e){return At(e,599)},l.gk=function(e){return Vt(jIt,Ln,599,e,0,1)},D(jn,"EcorePackageImpl/38",1271),M(1272,1,fi,W8),l.fk=function(e){return!1},l.gk=function(e){return Vt(rOt,Ln,2216,e,0,1)},D(jn,"EcorePackageImpl/39",1272),M(1237,1,fi,sD),l.fk=function(e){return At(e,90)},l.gk=function(e){return Vt(pf,Ln,29,e,0,1)},D(jn,"EcorePackageImpl/4",1237),M(1273,1,fi,D2),l.fk=function(e){return At(e,191)},l.gk=function(e){return Vt(gv,le,191,e,0,1)},D(jn,"EcorePackageImpl/40",1273),M(1274,1,fi,dC),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D(jn,"EcorePackageImpl/41",1274),M(1275,1,fi,aD),l.fk=function(e){return At(e,596)},l.gk=function(e){return Vt(vIt,Ln,596,e,0,1)},D(jn,"EcorePackageImpl/42",1275),M(1276,1,fi,p1),l.fk=function(e){return!1},l.gk=function(e){return Vt(iOt,le,2217,e,0,1)},D(jn,"EcorePackageImpl/43",1276),M(1277,1,fi,gC),l.fk=function(e){return At(e,44)},l.gk=function(e){return Vt(yw,bV,44,e,0,1)},D(jn,"EcorePackageImpl/44",1277),M(1238,1,fi,V1),l.fk=function(e){return At(e,142)},l.gk=function(e){return Vt(N1,Ln,142,e,0,1)},D(jn,"EcorePackageImpl/5",1238),M(1239,1,fi,U1),l.fk=function(e){return At(e,156)},l.gk=function(e){return Vt(Wdt,Ln,156,e,0,1)},D(jn,"EcorePackageImpl/6",1239),M(1240,1,fi,oet),l.fk=function(e){return At(e,468)},l.gk=function(e){return Vt(VK,Ln,685,e,0,1)},D(jn,"EcorePackageImpl/7",1240),M(1241,1,fi,cet),l.fk=function(e){return At(e,582)},l.gk=function(e){return Vt(zg,Ln,694,e,0,1)},D(jn,"EcorePackageImpl/8",1241),M(1242,1,fi,T4),l.fk=function(e){return At(e,479)},l.gk=function(e){return Vt(dL,Ln,479,e,0,1)},D(jn,"EcorePackageImpl/9",1242),M(1038,2080,hme,UKt),l.Mi=function(e,n){vbn(this,u(n,424))},l.Qi=function(e,n){jfe(this,e,u(n,424))},D(jn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),M(1039,152,EP,dee),l.jj=function(){return this.a.a},D(jn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),M(1067,1066,{},SQt),D("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var jIt=us(jme,"Resource");M(799,1524,$me),l.Hl=function(e){},l.Il=function(e){},l.El=function(){return!this.a&&(this.a=new Lnt(this)),this.a},l.Fl=function(e){var n,r,s,o,h;if(s=e.length,s>0)if(qn(0,e.length),e.charCodeAt(0)==47){for(h=new bu(4),o=1,n=1;n0&&(e=(Sa(0,r,e.length),e.substr(0,r))));return W4n(this,e)},l.Gl=function(){return this.c},l.Ib=function(){var e;return R2(this.Rm)+"@"+(e=Hi(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},l.b=!1,D(Zlt,"ResourceImpl",799),M(1525,799,$me,NGt),D(Zlt,"BinaryResourceImpl",1525),M(1190,708,Klt),l.bj=function(e){return At(e,58)?jln(this,u(e,58)):At(e,599)?new Zn(u(e,599).El()):$t(e)===$t(this.f)?u(e,16).Kc():(TE(),$N.a)},l.Ob=function(){return y6t(this)},l.a=!1,D(Zi,"EcoreUtil/ContentTreeIterator",1190),M(1526,1190,Klt,Hte),l.bj=function(e){return $t(e)===$t(this.f)?u(e,15).Kc():new $re(u(e,58))},D(Zlt,"ResourceImpl/5",1526),M(658,2092,Ame,Lnt),l.Hc=function(e){return this.i<=4?_7(this,e):At(e,54)&&u(e,54).Jh()==this.a},l.Mi=function(e,n){e==this.i-1&&(this.a.b||(this.a.b=!0))},l.Oi=function(e,n){e==0?this.a.b||(this.a.b=!0):Ast(this,e,n)},l.Qi=function(e,n){},l.Ri=function(e,n,r){},l.Lj=function(){return 2},l.jj=function(){return this.a},l.Mj=function(){return!0},l.Nj=function(e,n){var r;return r=u(e,54),n=r.fi(this.a,n),n},l.Oj=function(e,n){var r;return r=u(e,54),r.fi(null,n)},l.Pj=function(){return!1},l.Si=function(){return!0},l.aj=function(e){return Vt(l2,Ln,58,e,0,1)},l.Yi=function(){return!1},D(Zlt,"ResourceImpl/ContentsEList",658),M(970,2062,U7,FGt),l.fd=function(e){return this.a.Ki(e)},l.gc=function(){return this.a.gc()},D(Zi,"AbstractSequentialInternalEList/1",970);var $It,zIt,Fa,qIt;M(634,1,{},UZt);var GK,KK;D(Zi,"BasicExtendedMetaData",634),M(1181,1,{},KXt),l.Jl=function(){return null},l.Kl=function(){return this.a==-2&&ye(this,Wyn(this.d,this.b)),this.a},l.Ll=function(){return null},l.Ml=function(){return wn(),wn(),so},l.xe=function(){return this.c==lT&&xe(this,ule(this.d,this.b)),this.c},l.Nl=function(){return 0},l.a=-2,l.c=lT,D(Zi,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),M(1182,1,{},bre),l.Jl=function(){return this.a==(zE(),GK)&&ke(this,Kkn(this.f,this.b)),this.a},l.Kl=function(){return 0},l.Ll=function(){return this.c==(zE(),GK)&&de(this,Wkn(this.f,this.b)),this.c},l.Ml=function(){return!this.d&&tn(this,IEn(this.f,this.b)),this.d},l.xe=function(){return this.e==lT&&Sn(this,ule(this.f,this.b)),this.e},l.Nl=function(){return this.g==-2&&or(this,dyn(this.f,this.b)),this.g},l.e=lT,l.g=-2,D(Zi,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),M(1180,1,{},WXt),l.b=!1,l.c=!1,D(Zi,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),M(1183,1,{},wre),l.c=-2,l.e=lT,l.f=lT,D(Zi,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),M(593,632,nc,wz),l.Lj=function(){return this.c},l.ol=function(){return!1},l.Wi=function(e,n){return n},l.c=0,D(Zi,"EDataTypeEList",593);var HIt=us(Zi,"FeatureMap");M(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},ws),l.bd=function(e,n){f6n(this,e,u(n,76))},l.Fc=function(e){return Mxn(this,u(e,76))},l.Hi=function(e){Fun(this,u(e,76))},l.Nj=function(e,n){return ran(this,u(e,76),n)},l.Oj=function(e,n){return dvt(this,u(e,76),n)},l.Ti=function(e,n){return R8n(this,e,n)},l.Wi=function(e,n){return TTn(this,e,u(n,76))},l.hd=function(e,n){return Z6n(this,e,u(n,76))},l.Uj=function(e,n){return ian(this,u(e,76),n)},l.Vj=function(e,n){return yZt(this,u(e,76),n)},l.Wj=function(e,n,r){return tyn(this,u(e,76),u(n,76),r)},l.Zi=function(e,n){return kot(this,e,u(n,76))},l.Ol=function(e,n){return hkt(this,e,n)},l.cd=function(e,n){var r,s,o,h,d,m,k,T,A;for(T=new jm(n.gc()),o=n.Kc();o.Ob();)if(s=u(o.Pb(),76),h=s.Lk(),Dg(this.e,h))(!h.Si()||!cq(this,h,s.md())&&!_7(T,s))&&Mr(T,s);else{for(A=Au(this.e.Dh(),h),r=u(this.g,124),d=!0,m=0;m=0;)if(n=e[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},D(Zi,"BasicFeatureMap/FeatureEIterator",420),M(676,420,I0,jrt),l.ul=function(){return!0},D(Zi,"BasicFeatureMap/ResolvingFeatureEIterator",676),M(968,495,dU,BQt),l.pj=function(){return this},D(Zi,"EContentsEList/1",968),M(969,495,dU,oQt),l.ul=function(){return!1},D(Zi,"EContentsEList/2",969),M(967,287,gU,RQt),l.wl=function(e){},l.Ob=function(){return!1},l.Sb=function(){return!1},D(Zi,"EContentsEList/FeatureIteratorImpl/1",967),M(840,593,nc,ymt),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var e;Lr(this),zl(this.e)?(e=this.a,this.a=!1,Ti(this.e,new jf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,D(Zi,"EDataTypeEList/Unsettable",840),M(1958,593,nc,UQt),l.Si=function(){return!0},D(Zi,"EDataTypeUniqueEList",1958),M(1959,840,nc,GQt),l.Si=function(){return!0},D(Zi,"EDataTypeUniqueEList/Unsettable",1959),M(147,83,nc,Qu),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectContainmentEList/Resolving",147),M(1184,555,nc,KQt),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectContainmentEList/Unsettable/Resolving",1184),M(766,14,nc,avt),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var e;Lr(this),zl(this.e)?(e=this.a,this.a=!1,Ti(this.e,new jf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,D(Zi,"EObjectContainmentWithInverseEList/Unsettable",766),M(1222,766,nc,aZt),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),M(757,504,nc,xmt),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var e;Lr(this),zl(this.e)?(e=this.a,this.a=!1,Ti(this.e,new jf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,D(Zi,"EObjectEList/Unsettable",757),M(338,504,nc,H4),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectResolvingEList",338),M(1844,757,nc,WQt),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectResolvingEList/Unsettable",1844),M(1527,1,{},Y8);var hTe;D(Zi,"EObjectValidator",1527),M(559,504,nc,Pz),l.il=function(){return this.d},l.jl=function(){return this.b},l.Mj=function(){return!0},l.ml=function(){return!0},l.b=0,D(Zi,"EObjectWithInverseEList",559),M(1225,559,nc,oZt),l.ll=function(){return!0},D(Zi,"EObjectWithInverseEList/ManyInverse",1225),M(635,559,nc,ait),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var e;Lr(this),zl(this.e)?(e=this.a,this.a=!1,Ti(this.e,new jf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,D(Zi,"EObjectWithInverseEList/Unsettable",635),M(1224,635,nc,cZt),l.ll=function(){return!0},D(Zi,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),M(767,559,nc,ovt),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectWithInverseResolvingEList",767),M(32,767,nc,En),l.ll=function(){return!0},D(Zi,"EObjectWithInverseResolvingEList/ManyInverse",32),M(768,635,nc,cvt),l.nl=function(){return!0},l.Wi=function(e,n){return wk(this,e,u(n,58))},D(Zi,"EObjectWithInverseResolvingEList/Unsettable",768),M(1223,768,nc,uZt),l.ll=function(){return!0},D(Zi,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),M(1185,632,nc),l.Li=function(){return(this.b&1792)==0},l.Ni=function(){this.b|=1},l.kl=function(){return(this.b&4)!=0},l.Mj=function(){return(this.b&40)!=0},l.ll=function(){return(this.b&16)!=0},l.ml=function(){return(this.b&8)!=0},l.nl=function(){return(this.b&b3)!=0},l.al=function(){return(this.b&32)!=0},l.ol=function(){return(this.b&Uf)!=0},l.fk=function(e){return this.d?Yre(this.d,e):this.Lk().Hk().fk(e)},l.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},l.Si=function(){return(this.b&128)!=0},l.Gk=function(){var e;Lr(this),this.b&2&&(zl(this.e)?(e=(this.b&1)!=0,this.b&=-2,cE(this,new jf(this.e,2,ss(this.e.Dh(),this.Lk()),e,!1))):this.b&=-2)},l.Yi=function(){return(this.b&1536)==0},l.b=0,D(Zi,"EcoreEList/Generic",1185),M(1186,1185,nc,ene),l.Lk=function(){return this.a},D(Zi,"EcoreEList/Dynamic",1186),M(765,66,r0,k2t),l.aj=function(e){return VI(this.a.a,e)},D(Zi,"EcoreEMap/1",765),M(764,83,nc,ayt),l.Mi=function(e,n){SH(this.b,u(n,136))},l.Oi=function(e,n){Joe(this.b)},l.Pi=function(e,n,r){var s;++(s=this.b,u(n,136),s).e},l.Qi=function(e,n){Dat(this.b,u(n,136))},l.Ri=function(e,n,r){Dat(this.b,u(r,136)),$t(r)===$t(n)&&u(r,136).Ci(ein(u(n,136).ld())),SH(this.b,u(n,136))},D(Zi,"EcoreEMap/DelegateEObjectContainmentEList",764),M(1220,141,STt,poe),D(Zi,"EcoreEMap/Unsettable",1220),M(1221,764,nc,lZt),l.Ni=function(){this.a=!0},l.Qj=function(){return this.a},l.Gk=function(){var e;Lr(this),zl(this.e)?(e=this.a,this.a=!1,Ti(this.e,new jf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,D(Zi,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),M(1189,215,y5,nee),l.a=!1,l.b=!1,D(Zi,"EcoreUtil/Copier",1189),M(759,1,ba,$re),l.Nb=function(e){Da(this,e)},l.Ob=function(){return Wue(this)},l.Pb=function(){var e;return Wue(this),e=this.b,this.b=null,e},l.Qb=function(){this.a.Qb()},D(Zi,"EcoreUtil/ProperContentIterator",759),M(1528,1527,{},lnt);var fTe;D(Zi,"EcoreValidator",1528);var dTe;us(Zi,"FeatureMapUtil/Validator"),M(1295,1,{2041:1},X8),l.am=function(e){return!0},D(Zi,"FeatureMapUtil/1",1295),M(773,1,{2041:1},zkt),l.am=function(e){var n;return this.c==e?!0:(n=De(tr(this.a,e)),n==null?t8n(this,e)?($ie(this.a,e,(Nn(),dT)),!0):($ie(this.a,e,(Nn(),Yb)),!1):n==(Nn(),dT))},l.e=!1;var Jdt;D(Zi,"FeatureMapUtil/BasicValidator",773),M(774,45,y5,mmt),D(Zi,"FeatureMapUtil/BasicValidator/Cache",774),M(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},YD),l.bd=function(e,n){Mde(this.c,this.b,e,n)},l.Fc=function(e){return hkt(this.c,this.b,e)},l.cd=function(e,n){return x7n(this.c,this.b,e,n)},l.Gc=function(e){return h_(this,e)},l.Gi=function(e,n){b0n(this.c,this.b,e,n)},l.Wk=function(e,n){return rkt(this.c,this.b,e,n)},l.$i=function(e){return cV(this.c,this.b,e,!1)},l.Ii=function(){return vQt(this.c,this.b)},l.Ji=function(){return qrn(this.c,this.b)},l.Ki=function(e){return xdn(this.c,this.b,e)},l.Xk=function(e,n){return HJt(this,e,n)},l.$b=function(){x6(this)},l.Hc=function(e){return cq(this.c,this.b,e)},l.Ic=function(e){return ygn(this.c,this.b,e)},l.Xb=function(e){return cV(this.c,this.b,e,!0)},l.Fk=function(e){return this},l.dd=function(e){return A1n(this.c,this.b,e)},l.dc=function(){return G$(this)},l.Qj=function(){return!hO(this.c,this.b)},l.Kc=function(){return a0n(this.c,this.b)},l.ed=function(){return o0n(this.c,this.b)},l.fd=function(e){return Rbn(this.c,this.b,e)},l.Ti=function(e,n){return U0e(this.c,this.b,e,n)},l.Ui=function(e,n){Tdn(this.c,this.b,e,n)},l.gd=function(e){return kfe(this.c,this.b,e)},l.Mc=function(e){return E8n(this.c,this.b,e)},l.hd=function(e,n){return tge(this.c,this.b,e,n)},l.Wb=function(e){HH(this.c,this.b),h_(this,u(e,15))},l.gc=function(){return Bbn(this.c,this.b)},l.Pc=function(){return Mfn(this.c,this.b)},l.Qc=function(e){return L1n(this.c,this.b,e)},l.Ib=function(){var e,n;for(n=new hp,n.a+="[",e=vQt(this.c,this.b);xat(e);)Lo(n,d_(TH(e))),xat(e)&&(n.a+=ro);return n.a+="]",n.a},l.Gk=function(){HH(this.c,this.b)},D(Zi,"FeatureMapUtil/FeatureEList",509),M(644,38,EP,wst),l.hj=function(e){return tS(this,e)},l.mj=function(e){var n,r,s,o,h,d,m;switch(this.d){case 1:case 2:{if(h=e.jj(),$t(h)===$t(this.c)&&tS(this,null)==e.hj(null))return this.g=e.ij(),e.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=e.gj(),o){case 3:{if(h=e.jj(),$t(h)===$t(this.c)&&tS(this,null)==e.hj(null))return this.d=5,n=new jm(2),Mr(n,this.g),Mr(n,e.ij()),this.g=n,!0;break}}break}case 5:{switch(o=e.gj(),o){case 3:{if(h=e.jj(),$t(h)===$t(this.c)&&tS(this,null)==e.hj(null))return r=u(this.g,16),r.Fc(e.ij()),!0;break}}break}case 4:{switch(o=e.gj(),o){case 3:{if(h=e.jj(),$t(h)===$t(this.c)&&tS(this,null)==e.hj(null))return this.d=1,this.g=e.ij(),!0;break}case 4:{if(h=e.jj(),$t(h)===$t(this.c)&&tS(this,null)==e.hj(null))return this.d=6,m=new jm(2),Mr(m,this.n),Mr(m,e.kj()),this.n=m,d=ot(st(Or,1),ii,28,15,[this.o,e.lj()]),this.g=d,!0;break}}break}case 6:{switch(o=e.gj(),o){case 4:{if(h=e.jj(),$t(h)===$t(this.c)&&tS(this,null)==e.hj(null))return r=u(this.n,16),r.Fc(e.kj()),d=u(this.g,53),s=Vt(Or,ii,28,d.length+1,15,1),Wc(d,0,s,0,d.length),s[d.length]=e.lj(),this.g=s,!0;break}}break}}return!1},D(Zi,"FeatureMapUtil/FeatureENotificationImpl",644),M(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},xz),l.Ol=function(e,n){return hkt(this.c,e,n)},l.Pl=function(e,n,r){return rkt(this.c,e,n,r)},l.Ql=function(e,n,r){return Lkt(this.c,e,n,r)},l.Rl=function(){return this},l.Sl=function(e,n){return HO(this.c,e,n)},l.Tl=function(e){return u(cV(this.c,this.b,e,!1),76).Lk()},l.Ul=function(e){return u(cV(this.c,this.b,e,!1),76).md()},l.Vl=function(){return this.a},l.Wl=function(e){return!hO(this.c,e)},l.Xl=function(e,n){uV(this.c,e,n)},l.Yl=function(e){return moe(this.c,e)},l.Zl=function(e){Xle(this.c,e)},D(Zi,"FeatureMapUtil/FeatureFeatureMap",564),M(1294,1,Jlt,GXt),l.Fk=function(e){return cV(this.b,this.a,-1,e)},l.Qj=function(){return!hO(this.b,this.a)},l.Wb=function(e){uV(this.b,this.a,e)},l.Gk=function(){HH(this.b,this.a)},D(Zi,"FeatureMapUtil/FeatureValue",1294);var e8,Zdt,t0t,n8,gTe,qN=us(kU,"AnyType");M(680,63,Ig,Gnt),D(kU,"InvalidDatatypeValueException",680);var WK=us(kU,qme),HN=us(kU,Hme),VIt=us(kU,Vme),pTe,Nc,UIt,Bw,bTe,wTe,mTe,vTe,yTe,xTe,kTe,ETe,TTe,CTe,_Te,hx,STe,fx,mL,ATe,Nv,VN,UN,LTe,vL,yL;M(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},z2t),l.Lh=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ws(this,0)),this.c):(!this.c&&(this.c=new ws(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ws(this,0)),u(nu(this.c,(Fi(),Bw)),160)):(!this.c&&(this.c=new ws(this,0)),u(u(nu(this.c,(Fi(),Bw)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new ws(this,2)),this.b):(!this.b&&(this.b=new ws(this,2)),this.b.b)}return Ah(this,e-ur(this.ii()),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():this.ii(),e),n,r)},l.Uh=function(e,n,r){var s;switch(n){case 0:return!this.c&&(this.c=new ws(this,0)),jO(this.c,e,r);case 1:return(!this.c&&(this.c=new ws(this,0)),u(u(nu(this.c,(Fi(),Bw)),160),71)).Xk(e,r);case 2:return!this.b&&(this.b=new ws(this,2)),jO(this.b,e,r)}return s=u(Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():this.ii(),n),69),s.wk().Ak(this,V3t(this),n-ur(this.ii()),e,r)},l.Wh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ws(this,0)),u(nu(this.c,(Fi(),Bw)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return _h(this,e-ur(this.ii()),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():this.ii(),e))},l.bi=function(e,n){switch(e){case 0:!this.c&&(this.c=new ws(this,0)),pI(this.c,n);return;case 1:(!this.c&&(this.c=new ws(this,0)),u(u(nu(this.c,(Fi(),Bw)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new ws(this,2)),pI(this.b,n);return}Ih(this,e-ur(this.ii()),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():this.ii(),e),n)},l.ii=function(){return Fi(),UIt},l.ki=function(e){switch(e){case 0:!this.c&&(this.c=new ws(this,0)),Lr(this.c);return;case 1:(!this.c&&(this.c=new ws(this,0)),u(nu(this.c,(Fi(),Bw)),160)).$b();return;case 2:!this.b&&(this.b=new ws(this,2)),Lr(this.b);return}Dh(this,e-ur(this.ii()),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():this.ii(),e))},l.Ib=function(){var e;return this.j&4?qf(this):(e=new Jh(qf(this)),e.a+=" (mixed: ",o_(e,this.c),e.a+=", anyAttribute: ",o_(e,this.b),e.a+=")",e.a)},D($s,"AnyTypeImpl",844),M(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},det),l.Lh=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return Ah(this,e-ur((Fi(),hx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():hx,e),n,r)},l.Wh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return _h(this,e-ur((Fi(),hx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():hx,e))},l.bi=function(e,n){switch(e){case 0:yr(this,Gr(n));return;case 1:br(this,Gr(n));return}Ih(this,e-ur((Fi(),hx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():hx,e),n)},l.ii=function(){return Fi(),hx},l.ki=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}Dh(this,e-ur((Fi(),hx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():hx,e))},l.Ib=function(){var e;return this.j&4?qf(this):(e=new Jh(qf(this)),e.a+=" (data: ",Lo(e,this.a),e.a+=", target: ",Lo(e,this.b),e.a+=")",e.a)},l.a=null,l.b=null,D($s,"ProcessingInstructionImpl",681),M(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},CKt),l.Lh=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ws(this,0)),this.c):(!this.c&&(this.c=new ws(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ws(this,0)),u(nu(this.c,(Fi(),Bw)),160)):(!this.c&&(this.c=new ws(this,0)),u(u(nu(this.c,(Fi(),Bw)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new ws(this,2)),this.b):(!this.b&&(this.b=new ws(this,2)),this.b.b);case 3:return!this.c&&(this.c=new ws(this,0)),Gr(HO(this.c,(Fi(),mL),!0));case 4:return lvt(this.a,(!this.c&&(this.c=new ws(this,0)),Gr(HO(this.c,(Fi(),mL),!0))));case 5:return this.a}return Ah(this,e-ur((Fi(),fx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():fx,e),n,r)},l.Wh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ws(this,0)),u(nu(this.c,(Fi(),Bw)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new ws(this,0)),Gr(HO(this.c,(Fi(),mL),!0))!=null;case 4:return lvt(this.a,(!this.c&&(this.c=new ws(this,0)),Gr(HO(this.c,(Fi(),mL),!0))))!=null;case 5:return!!this.a}return _h(this,e-ur((Fi(),fx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():fx,e))},l.bi=function(e,n){switch(e){case 0:!this.c&&(this.c=new ws(this,0)),pI(this.c,n);return;case 1:(!this.c&&(this.c=new ws(this,0)),u(u(nu(this.c,(Fi(),Bw)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new ws(this,2)),pI(this.b,n);return;case 3:Jyt(this,Gr(n));return;case 4:Jyt(this,uvt(this.a,n));return;case 5:kr(this,u(n,156));return}Ih(this,e-ur((Fi(),fx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():fx,e),n)},l.ii=function(){return Fi(),fx},l.ki=function(e){switch(e){case 0:!this.c&&(this.c=new ws(this,0)),Lr(this.c);return;case 1:(!this.c&&(this.c=new ws(this,0)),u(nu(this.c,(Fi(),Bw)),160)).$b();return;case 2:!this.b&&(this.b=new ws(this,2)),Lr(this.b);return;case 3:!this.c&&(this.c=new ws(this,0)),uV(this.c,(Fi(),mL),null);return;case 4:Jyt(this,uvt(this.a,null));return;case 5:this.a=null;return}Dh(this,e-ur((Fi(),fx)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():fx,e))},D($s,"SimpleAnyTypeImpl",682),M(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},_Kt),l.Lh=function(e,n,r){switch(e){case 0:return r?(!this.a&&(this.a=new ws(this,0)),this.a):(!this.a&&(this.a=new ws(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new el((bn(),po),Sc,this,1)),this.b):(!this.b&&(this.b=new el((bn(),po),Sc,this,1)),II(this.b));case 2:return r?(!this.c&&(this.c=new el((bn(),po),Sc,this,2)),this.c):(!this.c&&(this.c=new el((bn(),po),Sc,this,2)),II(this.c));case 3:return!this.a&&(this.a=new ws(this,0)),nu(this.a,(Fi(),VN));case 4:return!this.a&&(this.a=new ws(this,0)),nu(this.a,(Fi(),UN));case 5:return!this.a&&(this.a=new ws(this,0)),nu(this.a,(Fi(),vL));case 6:return!this.a&&(this.a=new ws(this,0)),nu(this.a,(Fi(),yL))}return Ah(this,e-ur((Fi(),Nv)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():Nv,e),n,r)},l.Uh=function(e,n,r){var s;switch(n){case 0:return!this.a&&(this.a=new ws(this,0)),jO(this.a,e,r);case 1:return!this.b&&(this.b=new el((bn(),po),Sc,this,1)),lz(this.b,e,r);case 2:return!this.c&&(this.c=new el((bn(),po),Sc,this,2)),lz(this.c,e,r);case 5:return!this.a&&(this.a=new ws(this,0)),HJt(nu(this.a,(Fi(),vL)),e,r)}return s=u(Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():(Fi(),Nv),n),69),s.wk().Ak(this,V3t(this),n-ur((Fi(),Nv)),e,r)},l.Wh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new ws(this,0)),!G$(nu(this.a,(Fi(),VN)));case 4:return!this.a&&(this.a=new ws(this,0)),!G$(nu(this.a,(Fi(),UN)));case 5:return!this.a&&(this.a=new ws(this,0)),!G$(nu(this.a,(Fi(),vL)));case 6:return!this.a&&(this.a=new ws(this,0)),!G$(nu(this.a,(Fi(),yL)))}return _h(this,e-ur((Fi(),Nv)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():Nv,e))},l.bi=function(e,n){switch(e){case 0:!this.a&&(this.a=new ws(this,0)),pI(this.a,n);return;case 1:!this.b&&(this.b=new el((bn(),po),Sc,this,1)),Kq(this.b,n);return;case 2:!this.c&&(this.c=new el((bn(),po),Sc,this,2)),Kq(this.c,n);return;case 3:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),VN))),!this.a&&(this.a=new ws(this,0)),h_(nu(this.a,VN),u(n,16));return;case 4:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),UN))),!this.a&&(this.a=new ws(this,0)),h_(nu(this.a,UN),u(n,16));return;case 5:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),vL))),!this.a&&(this.a=new ws(this,0)),h_(nu(this.a,vL),u(n,16));return;case 6:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),yL))),!this.a&&(this.a=new ws(this,0)),h_(nu(this.a,yL),u(n,16));return}Ih(this,e-ur((Fi(),Nv)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():Nv,e),n)},l.ii=function(){return Fi(),Nv},l.ki=function(e){switch(e){case 0:!this.a&&(this.a=new ws(this,0)),Lr(this.a);return;case 1:!this.b&&(this.b=new el((bn(),po),Sc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new el((bn(),po),Sc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),VN)));return;case 4:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),UN)));return;case 5:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),vL)));return;case 6:!this.a&&(this.a=new ws(this,0)),x6(nu(this.a,(Fi(),yL)));return}Dh(this,e-ur((Fi(),Nv)),Tn(this.j&2?(!this.k&&(this.k=new Xh),this.k).Nk():Nv,e))},l.Ib=function(){var e;return this.j&4?qf(this):(e=new Jh(qf(this)),e.a+=" (mixed: ",o_(e,this.a),e.a+=")",e.a)},D($s,"XMLTypeDocumentRootImpl",683),M(2028,720,{110:1,94:1,93:1,479:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},pC),l.ri=function(e,n){switch(e.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:ec(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Gr(n);case 6:return gsn(u(n,195));case 12:case 47:case 49:case 11:return zge(this,e,n);case 13:return n==null?null:C7n(u(n,247));case 15:case 14:return n==null?null:Mun(Rt(Ht(n)));case 17:return Bhe((Fi(),n));case 18:return Bhe(n);case 21:case 20:return n==null?null:Dun(u(n,161).a);case 27:return psn(u(n,195));case 30:return Qle((Fi(),u(n,15)));case 31:return Qle(u(n,15));case 40:return wsn((Fi(),n));case 42:return Rhe((Fi(),n));case 43:return Rhe(n);case 59:case 48:return bsn((Fi(),n));default:throw nt(new zn(oT+e.xe()+hv))}},l.si=function(e){var n,r,s,o,h;switch(e.G==-1&&(e.G=(r=nh(e),r?Ip(r.vi(),e):-1)),e.G){case 0:return n=new z2t,n;case 1:return s=new det,s;case 2:return o=new CKt,o;case 3:return h=new _Kt,h;default:throw nt(new zn(Flt+e.zb+hv))}},l.ti=function(e,n){var r,s,o,h,d,m,k,T,A,N,j,U,W,tt,ct,Tt;switch(e.hk()){case 5:case 52:case 4:return n;case 6:return Ewn(n);case 8:case 7:return n==null?null:uyn(n);case 9:return n==null?null:$I(oh((s=iu(n,!0),s.length>0&&(qn(0,s.length),s.charCodeAt(0)==43)?(qn(1,s.length+1),s.substr(1)):s),-128,127)<<24>>24);case 10:return n==null?null:$I(oh((o=iu(n,!0),o.length>0&&(qn(0,o.length),o.charCodeAt(0)==43)?(qn(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return Gr(rv(this,(Fi(),mTe),n));case 12:return Gr(rv(this,(Fi(),vTe),n));case 13:return n==null?null:new hwt(iu(n,!0));case 15:case 14:return Ixn(n);case 16:return Gr(rv(this,(Fi(),yTe),n));case 17:return Zue((Fi(),n));case 18:return Zue(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return iu(n,!0);case 21:case 20:return qxn(n);case 22:return Gr(rv(this,(Fi(),xTe),n));case 23:return Gr(rv(this,(Fi(),kTe),n));case 24:return Gr(rv(this,(Fi(),ETe),n));case 25:return Gr(rv(this,(Fi(),TTe),n));case 26:return Gr(rv(this,(Fi(),CTe),n));case 27:return hwn(n);case 30:return tle((Fi(),n));case 31:return tle(n);case 32:return n==null?null:fe(oh((A=iu(n,!0),A.length>0&&(qn(0,A.length),A.charCodeAt(0)==43)?(qn(1,A.length+1),A.substr(1)):A),Va,ki));case 33:return n==null?null:new xb((N=iu(n,!0),N.length>0&&(qn(0,N.length),N.charCodeAt(0)==43)?(qn(1,N.length+1),N.substr(1)):N));case 34:return n==null?null:fe(oh((j=iu(n,!0),j.length>0&&(qn(0,j.length),j.charCodeAt(0)==43)?(qn(1,j.length+1),j.substr(1)):j),Va,ki));case 36:return n==null?null:Ag(dV((U=iu(n,!0),U.length>0&&(qn(0,U.length),U.charCodeAt(0)==43)?(qn(1,U.length+1),U.substr(1)):U)));case 37:return n==null?null:Ag(dV((W=iu(n,!0),W.length>0&&(qn(0,W.length),W.charCodeAt(0)==43)?(qn(1,W.length+1),W.substr(1)):W)));case 40:return cmn((Fi(),n));case 42:return ele((Fi(),n));case 43:return ele(n);case 44:return n==null?null:new xb((tt=iu(n,!0),tt.length>0&&(qn(0,tt.length),tt.charCodeAt(0)==43)?(qn(1,tt.length+1),tt.substr(1)):tt));case 45:return n==null?null:new xb((ct=iu(n,!0),ct.length>0&&(qn(0,ct.length),ct.charCodeAt(0)==43)?(qn(1,ct.length+1),ct.substr(1)):ct));case 46:return iu(n,!1);case 47:return Gr(rv(this,(Fi(),_Te),n));case 59:case 48:return omn((Fi(),n));case 49:return Gr(rv(this,(Fi(),STe),n));case 50:return n==null?null:g7(oh((Tt=iu(n,!0),Tt.length>0&&(qn(0,Tt.length),Tt.charCodeAt(0)==43)?(qn(1,Tt.length+1),Tt.substr(1)):Tt),mU,32767)<<16>>16);case 51:return n==null?null:g7(oh((h=iu(n,!0),h.length>0&&(qn(0,h.length),h.charCodeAt(0)==43)?(qn(1,h.length+1),h.substr(1)):h),mU,32767)<<16>>16);case 53:return Gr(rv(this,(Fi(),ATe),n));case 55:return n==null?null:g7(oh((d=iu(n,!0),d.length>0&&(qn(0,d.length),d.charCodeAt(0)==43)?(qn(1,d.length+1),d.substr(1)):d),mU,32767)<<16>>16);case 56:return n==null?null:g7(oh((m=iu(n,!0),m.length>0&&(qn(0,m.length),m.charCodeAt(0)==43)?(qn(1,m.length+1),m.substr(1)):m),mU,32767)<<16>>16);case 57:return n==null?null:Ag(dV((k=iu(n,!0),k.length>0&&(qn(0,k.length),k.charCodeAt(0)==43)?(qn(1,k.length+1),k.substr(1)):k)));case 58:return n==null?null:Ag(dV((T=iu(n,!0),T.length>0&&(qn(0,T.length),T.charCodeAt(0)==43)?(qn(1,T.length+1),T.substr(1)):T)));case 60:return n==null?null:fe(oh((r=iu(n,!0),r.length>0&&(qn(0,r.length),r.charCodeAt(0)==43)?(qn(1,r.length+1),r.substr(1)):r),Va,ki));case 61:return n==null?null:fe(oh(iu(n,!0),Va,ki));default:throw nt(new zn(oT+e.xe()+hv))}};var MTe,GIt,DTe,KIt;D($s,"XMLTypeFactoryImpl",2028),M(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},Tee),l.N=!1,l.O=!1;var ITe=!1;D($s,"XMLTypePackageImpl",594),M(1961,1,{851:1},uet),l.Kk=function(){return ykt(),zTe},D($s,"XMLTypePackageImpl/1",1961),M(1970,1,fi,u6),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/10",1970),M(1971,1,fi,ij),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/11",1971),M(1972,1,fi,sj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/12",1972),M(1973,1,fi,het),l.fk=function(e){return Cy(e)},l.gk=function(e){return Vt(zs,le,345,e,7,1)},D($s,"XMLTypePackageImpl/13",1973),M(1974,1,fi,aj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/14",1974),M(1975,1,fi,fet),l.fk=function(e){return At(e,15)},l.gk=function(e){return Vt($h,l3,15,e,0,1)},D($s,"XMLTypePackageImpl/15",1975),M(1976,1,fi,oj),l.fk=function(e){return At(e,15)},l.gk=function(e){return Vt($h,l3,15,e,0,1)},D($s,"XMLTypePackageImpl/16",1976),M(1977,1,fi,oD),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/17",1977),M(1978,1,fi,bC),l.fk=function(e){return At(e,161)},l.gk=function(e){return Vt(gT,le,161,e,0,1)},D($s,"XMLTypePackageImpl/18",1978),M(1979,1,fi,get),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/19",1979),M(1962,1,fi,pet),l.fk=function(e){return At(e,857)},l.gk=function(e){return Vt(qN,Ln,857,e,0,1)},D($s,"XMLTypePackageImpl/2",1962),M(1980,1,fi,bet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/20",1980),M(1981,1,fi,wet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/21",1981),M(1982,1,fi,met),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/22",1982),M(1983,1,fi,cj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/23",1983),M(1984,1,fi,vet),l.fk=function(e){return At(e,195)},l.gk=function(e){return Vt(cl,le,195,e,0,2)},D($s,"XMLTypePackageImpl/24",1984),M(1985,1,fi,yet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/25",1985),M(1986,1,fi,xet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/26",1986),M(1987,1,fi,uj),l.fk=function(e){return At(e,15)},l.gk=function(e){return Vt($h,l3,15,e,0,1)},D($s,"XMLTypePackageImpl/27",1987),M(1988,1,fi,ket),l.fk=function(e){return At(e,15)},l.gk=function(e){return Vt($h,l3,15,e,0,1)},D($s,"XMLTypePackageImpl/28",1988),M(1989,1,fi,Eet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/29",1989),M(1963,1,fi,wC),l.fk=function(e){return At(e,681)},l.gk=function(e){return Vt(WK,Ln,2119,e,0,1)},D($s,"XMLTypePackageImpl/3",1963),M(1990,1,fi,Tet),l.fk=function(e){return At(e,17)},l.gk=function(e){return Vt(Na,le,17,e,0,1)},D($s,"XMLTypePackageImpl/30",1990),M(1991,1,fi,Cet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/31",1991),M(1992,1,fi,_et),l.fk=function(e){return At(e,168)},l.gk=function(e){return Vt(dv,le,168,e,0,1)},D($s,"XMLTypePackageImpl/32",1992),M(1993,1,fi,Aet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/33",1993),M(1994,1,fi,Let),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/34",1994),M(1995,1,fi,Met),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/35",1995),M(1996,1,fi,lj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/36",1996),M(1997,1,fi,Det),l.fk=function(e){return At(e,15)},l.gk=function(e){return Vt($h,l3,15,e,0,1)},D($s,"XMLTypePackageImpl/37",1997),M(1998,1,fi,hj),l.fk=function(e){return At(e,15)},l.gk=function(e){return Vt($h,l3,15,e,0,1)},D($s,"XMLTypePackageImpl/38",1998),M(1999,1,fi,Iet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/39",1999),M(1964,1,fi,cD),l.fk=function(e){return At(e,682)},l.gk=function(e){return Vt(HN,Ln,2120,e,0,1)},D($s,"XMLTypePackageImpl/4",1964),M(2e3,1,fi,Oet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/40",2e3),M(2001,1,fi,fj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/41",2001),M(2002,1,fi,Pet),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/42",2002),M(2003,1,fi,dj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/43",2003),M(2004,1,fi,Net),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/44",2004),M(2005,1,fi,gj),l.fk=function(e){return At(e,191)},l.gk=function(e){return Vt(gv,le,191,e,0,1)},D($s,"XMLTypePackageImpl/45",2005),M(2006,1,fi,pj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/46",2006),M(2007,1,fi,bj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/47",2007),M(2008,1,fi,uD),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/48",2008),M(2009,1,fi,C4),l.fk=function(e){return At(e,191)},l.gk=function(e){return Vt(gv,le,191,e,0,1)},D($s,"XMLTypePackageImpl/49",2009),M(1965,1,fi,mC),l.fk=function(e){return At(e,683)},l.gk=function(e){return Vt(VIt,Ln,2121,e,0,1)},D($s,"XMLTypePackageImpl/5",1965),M(2010,1,fi,Id),l.fk=function(e){return At(e,168)},l.gk=function(e){return Vt(dv,le,168,e,0,1)},D($s,"XMLTypePackageImpl/50",2010),M(2011,1,fi,wj),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/51",2011),M(2012,1,fi,Q8),l.fk=function(e){return At(e,17)},l.gk=function(e){return Vt(Na,le,17,e,0,1)},D($s,"XMLTypePackageImpl/52",2012),M(1966,1,fi,lD),l.fk=function(e){return pa(e)},l.gk=function(e){return Vt(Ne,le,2,e,6,1)},D($s,"XMLTypePackageImpl/6",1966),M(1967,1,fi,Fet),l.fk=function(e){return At(e,195)},l.gk=function(e){return Vt(cl,le,195,e,0,2)},D($s,"XMLTypePackageImpl/7",1967),M(1968,1,fi,I2),l.fk=function(e){return Ty(e)},l.gk=function(e){return Vt(Es,le,484,e,8,1)},D($s,"XMLTypePackageImpl/8",1968),M(1969,1,fi,mj),l.fk=function(e){return At(e,222)},l.gk=function(e){return Vt(Ok,le,222,e,0,1)},D($s,"XMLTypePackageImpl/9",1969);var xd,tb,xL,YK,wt;M(55,63,Ig,Yr),D($p,"RegEx/ParseException",55),M(836,1,{},hD),l.bm=function(e){return er*16)throw nt(new Yr(Qr((Ur(),eme))));r=r*16+o}while(!0);if(this.a!=125)throw nt(new Yr(Qr((Ur(),nme))));if(r>hT)throw nt(new Yr(Qr((Ur(),rme))));e=r}else{if(o=0,this.c!=0||(o=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(r=o,vi(this),this.c!=0||(o=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));r=r*16+o,e=r}break;case 117:if(s=0,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));n=n*16+s,e=n;break;case 118:if(vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,vi(this),this.c!=0||(s=sw(this.a))<0)throw nt(new Yr(Qr((Ur(),jp))));if(n=n*16+s,n>hT)throw nt(new Yr(Qr((Ur(),"parser.descappe.4"))));e=n;break;case 65:case 90:case 122:throw nt(new Yr(Qr((Ur(),ime))))}return e},l.dm=function(e){var n,r;switch(e){case 100:r=(this.e&32)==32?zb("Nd",!0):(xi(),XK);break;case 68:r=(this.e&32)==32?zb("Nd",!1):(xi(),ZIt);break;case 119:r=(this.e&32)==32?zb("IsWord",!0):(xi(),QT);break;case 87:r=(this.e&32)==32?zb("IsWord",!1):(xi(),eOt);break;case 115:r=(this.e&32)==32?zb("IsSpace",!0):(xi(),r8);break;case 83:r=(this.e&32)==32?zb("IsSpace",!1):(xi(),tOt);break;default:throw nt(new oc((n=e,ive+n.toString(16))))}return r},l.em=function(e){var n,r,s,o,h,d,m,k,T,A,N,j;for(this.b=1,vi(this),n=null,this.c==0&&this.a==94?(vi(this),e?A=(xi(),xi(),new eh(5)):(n=(xi(),xi(),new eh(4)),ru(n,0,hT),A=new eh(4))):A=(xi(),xi(),new eh(4)),o=!0;(j=this.c)!=1&&!(j==0&&this.a==93&&!o);){if(o=!1,r=this.a,s=!1,j==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:a3(A,this.dm(r)),s=!0;break;case 105:case 73:case 99:case 67:r=this.um(A,r),r<0&&(s=!0);break;case 112:case 80:if(N=m6t(this,r),!N)throw nt(new Yr(Qr((Ur(),Ylt))));a3(A,N),s=!0;break;default:r=this.cm()}else if(j==20){if(d=xE(this.i,58,this.d),d<0)throw nt(new Yr(Qr((Ur(),xTt))));if(m=!0,qa(this.i,this.d)==94&&(++this.d,m=!1),h=Ch(this.i,this.d,d),k=Lse(h,m,(this.e&512)==512),!k)throw nt(new Yr(Qr((Ur(),Xwe))));if(a3(A,k),s=!0,d+1>=this.j||qa(this.i,d+1)!=93)throw nt(new Yr(Qr((Ur(),xTt))));this.d=d+2}if(vi(this),!s)if(this.c!=0||this.a!=45)ru(A,r,r);else{if(vi(this),(j=this.c)==1)throw nt(new Yr(Qr((Ur(),hU))));j==0&&this.a==93?(ru(A,r,r),ru(A,45,45)):(T=this.a,j==10&&(T=this.cm()),vi(this),ru(A,r,T))}(this.e&Uf)==Uf&&this.c==0&&this.a==44&&vi(this)}if(this.c==1)throw nt(new Yr(Qr((Ur(),hU))));return n&&(MS(n,A),A=n),h5(A),AS(A),this.b=0,vi(this),A},l.fm=function(){var e,n,r,s;for(r=this.em(!1);(s=this.c)!=7;)if(e=this.a,s==0&&(e==45||e==38)||s==4){if(vi(this),this.c!=9)throw nt(new Yr(Qr((Ur(),Jwe))));if(n=this.em(!1),s==4)a3(r,n);else if(e==45)MS(r,n);else if(e==38)Bge(r,n);else throw nt(new oc("ASSERT"))}else throw nt(new Yr(Qr((Ur(),Zwe))));return vi(this),r},l.gm=function(){var e,n;return e=this.a-48,n=(xi(),xi(),new nst(12,null,e)),!this.g&&(this.g=new i$),r$(this.g,new E2t(e)),vi(this),n},l.hm=function(){return vi(this),xi(),NTe},l.im=function(){return vi(this),xi(),PTe},l.jm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.km=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.lm=function(){return vi(this),_pn()},l.mm=function(){return vi(this),xi(),BTe},l.nm=function(){return vi(this),xi(),jTe},l.om=function(){var e;if(this.d>=this.j||((e=qa(this.i,this.d++))&65504)!=64)throw nt(new Yr(Qr((Ur(),Kwe))));return vi(this),xi(),xi(),new T0(0,e-64)},l.pm=function(){return vi(this),LEn()},l.qm=function(){return vi(this),xi(),$Te},l.rm=function(){var e;return e=(xi(),xi(),new T0(0,105)),vi(this),e},l.sm=function(){return vi(this),xi(),RTe},l.tm=function(){return vi(this),xi(),FTe},l.um=function(e,n){return this.cm()},l.vm=function(){return vi(this),xi(),QIt},l.wm=function(){var e,n,r,s,o;if(this.d+1>=this.j)throw nt(new Yr(Qr((Ur(),Vwe))));if(s=-1,n=null,e=qa(this.i,this.d),49<=e&&e<=57){if(s=e-48,!this.g&&(this.g=new i$),r$(this.g,new E2t(s)),++this.d,qa(this.i,this.d)!=41)throw nt(new Yr(Qr((Ur(),mw))));++this.d}else switch(e==63&&--this.d,vi(this),n=Ukt(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));break;default:throw nt(new Yr(Qr((Ur(),Uwe))))}if(vi(this),o=Ym(this),r=null,o.e==2){if(o.Pm()!=2)throw nt(new Yr(Qr((Ur(),Gwe))));r=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),xi(),xi(),new lae(s,n,o,r)},l.xm=function(){return vi(this),xi(),JIt},l.ym=function(){var e;if(vi(this),e=Nz(24,Ym(this)),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.zm=function(){var e;if(vi(this),e=Nz(20,Ym(this)),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.Am=function(){var e;if(vi(this),e=Nz(22,Ym(this)),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.Bm=function(){var e,n,r,s,o;for(e=0,r=0,n=-1;this.d=this.j)throw nt(new Yr(Qr((Ur(),vTt))));if(n==45){for(++this.d;this.d=this.j)throw nt(new Yr(Qr((Ur(),vTt))))}if(n==58){if(++this.d,vi(this),s=see(Ym(this),e,r),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));vi(this)}else if(n==41)++this.d,vi(this),s=see(Ym(this),e,r);else throw nt(new Yr(Qr((Ur(),Hwe))));return s},l.Cm=function(){var e;if(vi(this),e=Nz(21,Ym(this)),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.Dm=function(){var e;if(vi(this),e=Nz(23,Ym(this)),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.Em=function(){var e,n;if(vi(this),e=this.f++,n=Mit(Ym(this),e),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),n},l.Fm=function(){var e;if(vi(this),e=Mit(Ym(this),0),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.Gm=function(e){return vi(this),this.c==5?(vi(this),_z(e,(xi(),xi(),new By(9,e)))):_z(e,(xi(),xi(),new By(3,e)))},l.Hm=function(e){var n;return vi(this),n=(xi(),xi(),new l_(2)),this.c==5?(vi(this),cw(n,EL),cw(n,e)):(cw(n,e),cw(n,EL)),n},l.Im=function(e){return vi(this),this.c==5?(vi(this),xi(),xi(),new By(9,e)):(xi(),xi(),new By(3,e))},l.a=0,l.b=0,l.c=0,l.d=0,l.e=0,l.f=1,l.g=null,l.j=0,D($p,"RegEx/RegexParser",836),M(1947,836,{},SKt),l.bm=function(e){return!1},l.cm=function(){return Z6t(this)},l.dm=function(e){return F7(e)},l.em=function(e){return Ipe(this)},l.fm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.gm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.hm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.im=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.jm=function(){return vi(this),F7(67)},l.km=function(){return vi(this),F7(73)},l.lm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.mm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.nm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.om=function(){return vi(this),F7(99)},l.pm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.qm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.rm=function(){return vi(this),F7(105)},l.sm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.tm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.um=function(e,n){return a3(e,F7(n)),-1},l.vm=function(){return vi(this),xi(),xi(),new T0(0,94)},l.wm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.xm=function(){return vi(this),xi(),xi(),new T0(0,36)},l.ym=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.zm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.Am=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.Bm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.Cm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.Dm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.Em=function(){var e;if(vi(this),e=Mit(Ym(this),0),this.c!=7)throw nt(new Yr(Qr((Ur(),mw))));return vi(this),e},l.Fm=function(){throw nt(new Yr(Qr((Ur(),jh))))},l.Gm=function(e){return vi(this),_z(e,(xi(),xi(),new By(3,e)))},l.Hm=function(e){var n;return vi(this),n=(xi(),xi(),new l_(2)),cw(n,e),cw(n,EL),n},l.Im=function(e){return vi(this),xi(),xi(),new By(3,e)};var dx=null,YT=null;D($p,"RegEx/ParserForXMLSchema",1947),M(122,1,fT,cm),l.Jm=function(e){throw nt(new oc("Not supported."))},l.Km=function(){return-1},l.Lm=function(e){return null},l.Mm=function(){return null},l.Nm=function(e){},l.Om=function(e){},l.Pm=function(){return 0},l.Ib=function(){return this.Qm(0)},l.Qm=function(e){return this.e==11?".":""},l.e=0;var WIt,XT,kL,OTe,YIt,W3=null,XK,e0t=null,XIt,EL,n0t=null,QIt,JIt,ZIt,tOt,eOt,PTe,r8,NTe,FTe,BTe,RTe,QT,jTe,$Te,j_n=D($p,"RegEx/Token",122);M(138,122,{3:1,138:1,122:1},eh),l.Qm=function(e){var n,r,s;if(this.e==4)if(this==XIt)r=".";else if(this==XK)r="\\d";else if(this==QT)r="\\w";else if(this==r8)r="\\s";else{for(s=new hp,s.a+="[",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?Lo(s,qO(this.b[n])):(Lo(s,qO(this.b[n])),s.a+="-",Lo(s,qO(this.b[n+1])));s.a+="]",r=s.a}else if(this==ZIt)r="\\D";else if(this==eOt)r="\\W";else if(this==tOt)r="\\S";else{for(s=new hp,s.a+="[^",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?Lo(s,qO(this.b[n])):(Lo(s,qO(this.b[n])),s.a+="-",Lo(s,qO(this.b[n+1])));s.a+="]",r=s.a}return r},l.a=!1,l.c=!1,D($p,"RegEx/RangeToken",138),M(592,1,{592:1},E2t),l.a=0,D($p,"RegEx/RegexParser/ReferencePosition",592),M(591,1,{3:1,591:1},qWt),l.Fb=function(e){var n;return e==null||!At(e,591)?!1:(n=u(e,591),hn(this.b,n.b)&&this.a==n.a)},l.Hb=function(){return Cp(this.b+"/"+G6t(this.a))},l.Ib=function(){return this.c.Qm(this.a)},l.a=0,D($p,"RegEx/RegularExpression",591),M(228,122,fT,T0),l.Km=function(){return this.a},l.Qm=function(e){var n,r,s;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:s="\\"+sit(this.a&js);break;case 12:s="\\f";break;case 10:s="\\n";break;case 13:s="\\r";break;case 9:s="\\t";break;case 27:s="\\e";break;default:this.a>=fo?(r=(n=this.a>>>0,"0"+n.toString(16)),s="\\v"+Ch(r,r.length-6,r.length)):s=""+sit(this.a&js)}break;case 8:this==QIt||this==JIt?s=""+sit(this.a&js):s="\\"+sit(this.a&js);break;default:s=null}return s},l.a=0,D($p,"RegEx/Token/CharToken",228),M(318,122,fT,By),l.Lm=function(e){return this.a},l.Nm=function(e){this.b=e},l.Om=function(e){this.c=e},l.Pm=function(){return 1},l.Qm=function(e){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(e)+"*";else if(this.c==this.b)n=this.a.Qm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(e)+"{"+this.c+",}";else throw nt(new oc("Token#toString(): CLOSURE "+this.c+ro+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(e)+"*?";else if(this.c==this.b)n=this.a.Qm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(e)+"{"+this.c+",}?";else throw nt(new oc("Token#toString(): NONGREEDYCLOSURE "+this.c+ro+this.b));return n},l.b=0,l.c=0,D($p,"RegEx/Token/ClosureToken",318),M(837,122,fT,fyt),l.Lm=function(e){return e==0?this.a:this.b},l.Pm=function(){return 2},l.Qm=function(e){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(e)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(e)+"+?":n=this.a.Qm(e)+(""+this.b.Qm(e)),n},D($p,"RegEx/Token/ConcatToken",837),M(1945,122,fT,lae),l.Lm=function(e){if(e==0)return this.d;if(e==1)return this.b;throw nt(new oc("Internal Error: "+e))},l.Pm=function(){return this.b?2:1},l.Qm=function(e){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},l.c=0,D($p,"RegEx/Token/ConditionToken",1945),M(1946,122,fT,tre),l.Lm=function(e){return this.b},l.Pm=function(){return 1},l.Qm=function(e){return"(?"+(this.a==0?"":G6t(this.a))+(this.c==0?"":G6t(this.c))+":"+this.b.Qm(e)+")"},l.a=0,l.c=0,D($p,"RegEx/Token/ModifierToken",1946),M(838,122,fT,kyt),l.Lm=function(e){return this.a},l.Pm=function(){return 1},l.Qm=function(e){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(e)+")":n="("+this.a.Qm(e)+")";break;case 20:n="(?="+this.a.Qm(e)+")";break;case 21:n="(?!"+this.a.Qm(e)+")";break;case 22:n="(?<="+this.a.Qm(e)+")";break;case 23:n="(?"+this.a.Qm(e)+")"}return n},l.b=0,D($p,"RegEx/Token/ParenToken",838),M(530,122,{3:1,122:1,530:1},nst),l.Mm=function(){return this.b},l.Qm=function(e){return this.e==12?"\\"+this.a:xxn(this.b)},l.a=0,D($p,"RegEx/Token/StringToken",530),M(476,122,fT,l_),l.Jm=function(e){cw(this,e)},l.Lm=function(e){return u(Dm(this.a,e),122)},l.Pm=function(){return this.a?this.a.a.c.length:0},l.Qm=function(e){var n,r,s,o,h;if(this.e==1){if(this.a.a.c.length==2)n=u(Dm(this.a,0),122),r=u(Dm(this.a,1),122),r.e==3&&r.Lm(0)==n?o=n.Qm(e)+"+":r.e==9&&r.Lm(0)==n?o=n.Qm(e)+"+?":o=n.Qm(e)+(""+r.Qm(e));else{for(h=new hp,s=0;s=this.c.b:this.a<=this.c.b},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Vb=function(){return this.b-1},l.Qb=function(){throw nt(new up(hve))},l.a=0,l.b=0,D($Tt,"ExclusiveRange/RangeIterator",258);var Uh=OE(fU,"C"),Or=OE(rA,"I"),Fl=OE(vk,"Z"),b2=OE(iA,"J"),cl=OE(tA,"B"),wa=OE(eA,"D"),Y3=OE(nA,"F"),gx=OE(sA,"S"),$_n=us("org.eclipse.elk.core.labels","ILabelManager"),nOt=us(io,"DiagnosticChain"),rOt=us(jme,"ResourceSet"),iOt=D(io,"InvocationTargetException",null),qTe=(c$(),tdn),HTe=HTe=Uvn;K0n(Hen),H0n("permProps",[[["locale","default"],[fve,"gecko1_8"]],[["locale","default"],[fve,"safari"]]]),HTe(null,"elk",null)}).call(this)}).call(this,typeof X0<"u"?X0:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(f,g,w){function v(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function b(I,B){if(!I)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return B&&(typeof B=="object"||typeof B=="function")?B:I}function E(I,B){if(typeof B!="function"&&B!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof B);I.prototype=Object.create(B&&B.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),B&&(Object.setPrototypeOf?Object.setPrototypeOf(I,B):I.__proto__=B)}var _=f("./elk-api.js").default,S=function(I){E(B,I);function B(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};v(this,B);var R=Object.assign({},F),q=!1;try{f.resolve("web-worker"),q=!0}catch{}if(F.workerUrl)if(q){var X=f("web-worker");R.workerFactory=function(ut){return new X(ut)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!R.workerFactory){var rt=f("./elk-worker.min.js"),at=rt.Worker;R.workerFactory=function(ut){return new at(ut)}}return b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,R))}return B}(_);Object.defineProperty(g.exports,"__esModule",{value:!0}),g.exports=S,S.default=S},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,g,w){g.exports=Worker},{}]},{},[3])(3)})})(cHt);var WZe=cHt.exports;const YZe=JT(WZe),uHt=new YZe;let Qw={};const XZe={};let qx={};const QZe=async function(i,a,f,g,w,v,b){const _=f.select(`[id="${a}"]`).insert("g").attr("class","nodes"),S=Object.keys(i);return await Promise.all(S.map(async function(I){const B=i[I];let F="default";B.classes.length>0&&(F=B.classes.join(" ")),F=F+" flowchart-label";const R=Uw(B.styles);let q=B.text!==void 0?B.text:B.id;const X={width:0,height:0},rt=[{id:B.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:B.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:B.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:B.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let at=0,ut="",pt={};switch(B.type){case"round":at=5,ut="rect";break;case"square":ut="rect";break;case"diamond":ut="question",pt={portConstraints:"FIXED_SIDE"};break;case"hexagon":ut="hexagon";break;case"odd":ut="rect_left_inv_arrow";break;case"lean_right":ut="lean_right";break;case"lean_left":ut="lean_left";break;case"trapezoid":ut="trapezoid";break;case"inv_trapezoid":ut="inv_trapezoid";break;case"odd_right":ut="rect_left_inv_arrow";break;case"circle":ut="circle";break;case"ellipse":ut="ellipse";break;case"stadium":ut="stadium";break;case"subroutine":ut="subroutine";break;case"cylinder":ut="cylinder";break;case"group":ut="rect";break;case"doublecircle":ut="doublecircle";break;default:ut="rect"}const yt={labelStyle:R.labelStyle,shape:ut,labelText:q,labelType:B.labelType,rx:at,ry:at,class:F,style:R.style,id:B.id,link:B.link,linkTarget:B.linkTarget,tooltip:w.db.getTooltip(B.id)||"",domId:w.db.lookUpDomId(B.id),haveCallback:B.haveCallback,width:B.type==="group"?500:void 0,dir:B.dir,type:B.type,props:B.props,padding:h0().flowchart.padding};let mt,gt;if(yt.type!=="group")gt=await U$t(_,yt,B.dir),mt=gt.node().getBBox();else{g.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:bt,bbox:Z}=await f0(_,yt,void 0,!0);X.width=Z.width,X.wrappingWidth=h0().flowchart.wrappingWidth,X.height=Z.height,X.labelNode=bt.node(),yt.labelData=X}const ht={id:B.id,ports:B.type==="diamond"?rt:[],layoutOptions:pt,labelText:q,labelData:X,domId:w.db.lookUpDomId(B.id),width:mt==null?void 0:mt.width,height:mt==null?void 0:mt.height,type:B.type,el:gt,parent:v.parentById[B.id]};qx[yt.id]=ht})),b},lHt=(i,a,f)=>{const g={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return g.TD=g.TB,Wt.info("abc88",f,a,i),g[f][a][i]},hHt=(i,a,f)=>{if(Wt.info("getNextPort abc88",{node:i,edgeDirection:a,graphDirection:f}),!Qw[i])switch(f){case"TB":case"TD":Qw[i]={inPosition:"north",outPosition:"south"};break;case"BT":Qw[i]={inPosition:"south",outPosition:"north"};break;case"RL":Qw[i]={inPosition:"east",outPosition:"west"};break;case"LR":Qw[i]={inPosition:"west",outPosition:"east"};break}const g=a==="in"?Qw[i].inPosition:Qw[i].outPosition;return a==="in"?Qw[i].inPosition=lHt(Qw[i].inPosition,a,f):Qw[i].outPosition=lHt(Qw[i].outPosition,a,f),g},JZe=(i,a)=>{let f=i.start,g=i.end;const w=f,v=g,b=qx[f],E=qx[g];return!b||!E?{source:f,target:g}:(b.type==="diamond"&&(f=`${f}-${hHt(f,"out",a)}`),E.type==="diamond"&&(g=`${g}-${hHt(g,"in",a)}`),{source:f,target:g,sourceId:w,targetId:v})},ZZe=function(i,a,f,g){Wt.info("abc78 edges = ",i);const w=g.insert("g").attr("class","edgeLabels");let v={},b=a.db.getDirection(),E,_;if(i.defaultStyle!==void 0){const S=Uw(i.defaultStyle);E=S.style,_=S.labelStyle}return i.forEach(function(S){const I="L-"+S.start+"-"+S.end;v[I]===void 0?(v[I]=0,Wt.info("abc78 new entry",I,v[I])):(v[I]++,Wt.info("abc78 new entry",I,v[I]));let B=I+"-"+v[I];Wt.info("abc78 new link id to be used is",I,B,v[I]);const F="LS-"+S.start,R="LE-"+S.end,q={style:"",labelStyle:""};switch(q.minlen=S.length||1,S.type==="arrow_open"?q.arrowhead="none":q.arrowhead="normal",q.arrowTypeStart="arrow_open",q.arrowTypeEnd="arrow_open",S.type){case"double_arrow_cross":q.arrowTypeStart="arrow_cross";case"arrow_cross":q.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":q.arrowTypeStart="arrow_point";case"arrow_point":q.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":q.arrowTypeStart="arrow_circle";case"arrow_circle":q.arrowTypeEnd="arrow_circle";break}let X="",rt="";switch(S.stroke){case"normal":X="fill:none;",E!==void 0&&(X=E),_!==void 0&&(rt=_),q.thickness="normal",q.pattern="solid";break;case"dotted":q.thickness="normal",q.pattern="dotted",q.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":q.thickness="thick",q.pattern="solid",q.style="stroke-width: 3.5px;fill:none;";break}if(S.style!==void 0){const gt=Uw(S.style);X=gt.style,rt=gt.labelStyle}q.style=q.style+=X,q.labelStyle=q.labelStyle+=rt,S.interpolate!==void 0?q.curve=Vw(S.interpolate,Vg):i.defaultInterpolate!==void 0?q.curve=Vw(i.defaultInterpolate,Vg):q.curve=Vw(XZe.curve,Vg),S.text===void 0?S.style!==void 0&&(q.arrowheadStyle="fill: #333"):(q.arrowheadStyle="fill: #333",q.labelpos="c"),q.labelType=S.labelType,q.label=S.text.replace(ei.lineBreakRegex,` +`),S.style===void 0&&(q.style=q.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),q.labelStyle=q.labelStyle.replace("color:","fill:"),q.id=B,q.classes="flowchart-link "+F+" "+R;const at=Q$t(w,q),{source:ut,target:pt,sourceId:yt,targetId:mt}=JZe(S,b);Wt.debug("abc78 source and target",ut,pt),f.edges.push({id:"e"+S.start+S.end,sources:[ut],targets:[pt],sourceId:yt,targetId:mt,labelEl:at,labels:[{width:q.width,height:q.height,orgWidth:q.width,orgHeight:q.height,text:q.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:q})}),f},ttn=function(i,a,f,g,w){let v="";g&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),Y$t(i,a,v,w,f)},etn=function(i,a){return Wt.info("Extracting classes"),a.db.getClasses()},ntn=function(i){const a={parentById:{},childrenById:{}},f=i.getSubGraphs();return Wt.info("Subgraphs - ",f),f.forEach(function(g){g.nodes.forEach(function(w){a.parentById[w]=g.id,a.childrenById[g.id]===void 0&&(a.childrenById[g.id]=[]),a.childrenById[g.id].push(w)})}),f.forEach(function(g){g.id,a.parentById[g.id]!==void 0&&a.parentById[g.id]}),a},rtn=function(i,a,f){const g=KZe(i,a,f);if(g===void 0||g==="root")return{x:0,y:0};const w=qx[g].offset;return{x:w.posX,y:w.posY}},itn=function(i,a,f,g,w,v){const b=rtn(a.sourceId,a.targetId,w),E=a.sections[0].startPoint,_=a.sections[0].endPoint,I=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(pt=>[pt.x+b.x,pt.y+b.y]),B=[[E.x+b.x,E.y+b.y],...I,[_.x+b.x,_.y+b.y]],{x:F,y:R}=W$t(a.edgeData),q=Cx().x(F).y(R).curve(Vg),X=i.insert("path").attr("d",q(B)).attr("class","path "+f.classes).attr("fill","none"),rt=i.insert("g").attr("class","edgeLabel"),at=xr(rt.node().appendChild(a.labelEl)),ut=at.node().firstChild.getBoundingClientRect();at.attr("width",ut.width),at.attr("height",ut.height),rt.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),ttn(X,f,g.type,g.arrowMarkerAbsolute,v)},fHt=(i,a)=>{i.forEach(f=>{f.children||(f.children=[]);const g=a.childrenById[f.id];g&&g.forEach(w=>{f.children.push(qx[w])}),fHt(f.children,a)})},stn=async function(i,a,f,g){var ht;g.db.clear(),qx={},Qw={},g.db.setGen("gen-2"),g.parser.parse(i);const w=xr("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Wt.info("Drawing flowchart using v3 renderer",uHt),g.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:E,flowchart:_}=h0();let S;E==="sandbox"&&(S=xr("#i"+a));const I=xr(E==="sandbox"?S.nodes()[0].contentDocument.body:"body"),B=E==="sandbox"?S.nodes()[0].contentDocument:document,F=I.select(`[id="${a}"]`);r$t(F,["point","circle","cross"],g.type,a);const q=g.db.getVertices();let X;const rt=g.db.getSubGraphs();Wt.info("Subgraphs - ",rt);for(let bt=rt.length-1;bt>=0;bt--)X=rt[bt],g.db.addVertex(X.id,{text:X.title,type:X.labelType},"group",void 0,X.classes,X.dir);const at=F.insert("g").attr("class","subgraphs"),ut=ntn(g.db);v=await QZe(q,a,I,B,g,ut,v);const pt=F.insert("g").attr("class","edges edgePath"),yt=g.db.getEdges();v=ZZe(yt,g,v,F),Object.keys(qx).forEach(bt=>{const Z=qx[bt];Z.parent||v.children.push(Z),ut.childrenById[bt]!==void 0&&(Z.labels=[{text:Z.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:Z.labelData.width,height:Z.labelData.height}],delete Z.x,delete Z.y,delete Z.width,delete Z.height)}),fHt(v.children,ut),Wt.info("after layout",JSON.stringify(v,null,2));const gt=await uHt.layout(v);dHt(0,0,gt.children,F,at,g,0),Wt.info("after layout",gt),(ht=gt.edges)==null||ht.map(bt=>{itn(pt,bt,bt.edgeData,g,ut,a)}),g8({},F,_.diagramPadding,_.useMaxWidth),w.remove()},dHt=(i,a,f,g,w,v,b)=>{f.forEach(function(E){if(E)if(qx[E.id].offset={posX:E.x+i,posY:E.y+a,x:i,y:a,depth:b,width:E.width,height:E.height},E.type==="group"){const _=w.insert("g").attr("class","subgraph");_.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",E.x+i).attr("y",E.y+a).attr("width",E.width).attr("height",E.height);const S=_.insert("g").attr("class","label"),I=h0().flowchart.htmlLabels?E.labelData.width/2:0;S.attr("transform",`translate(${E.labels[0].x+i+E.x+I}, ${E.labels[0].y+a+E.y+3})`),S.node().appendChild(E.labelData.labelNode),Wt.info("Id (UGH)= ",E.type,E.labels)}else Wt.info("Id (UGH)= ",E.id),E.el.attr("transform",`translate(${E.x+i+E.width/2}, ${E.y+a+E.height/2})`)}),f.forEach(function(E){E&&E.type==="group"&&dHt(i+E.x,a+E.y,E.children,g,w,v,b+1)})},atn={getClasses:etn,draw:stn},otn=i=>{let a="";for(let f=0;f<5;f++)a+=` + .subgraph-lvl-${f} { + fill: ${i[`surface${f}`]}; + stroke: ${i[`surfacePeer${f}`]}; + } + `;return a},ctn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:YRe,renderer:atn,parser:Jgt,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${otn(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Zbt=function(){var i=function(F,R,q,X){for(q=q||{},X=F.length;X--;q[F[X]]=R);return q},a=[6,8,10,11,12,14,16,17,20,21],f=[1,9],g=[1,10],w=[1,11],v=[1,12],b=[1,13],E=[1,16],_=[1,17],S={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(R,q,X,rt,at,ut,pt){var yt=ut.length-1;switch(at){case 1:return ut[yt-1];case 2:this.$=[];break;case 3:ut[yt-1].push(ut[yt]),this.$=ut[yt-1];break;case 4:case 5:this.$=ut[yt];break;case 6:case 7:this.$=[];break;case 8:rt.getCommonDb().setDiagramTitle(ut[yt].substr(6)),this.$=ut[yt].substr(6);break;case 9:this.$=ut[yt].trim(),rt.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=ut[yt].trim(),rt.getCommonDb().setAccDescription(this.$);break;case 12:rt.addSection(ut[yt].substr(8)),this.$=ut[yt].substr(8);break;case 15:rt.addTask(ut[yt],0,""),this.$=ut[yt];break;case 16:rt.addEvent(ut[yt].substr(2)),this.$=ut[yt];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:g,14:w,16:v,17:b,18:14,19:15,20:E,21:_},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:f,12:g,14:w,16:v,17:b,18:14,19:15,20:E,21:_},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(R,q){if(q.recoverable)this.trace(R);else{var X=new Error(R);throw X.hash=q,X}},parse:function(R){var q=this,X=[0],rt=[],at=[null],ut=[],pt=this.table,yt="",mt=0,gt=0,ht=2,bt=1,Z=ut.slice.call(arguments,1),ft=Object.create(this.lexer),Y={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(Y.yy[Et]=this.yy[Et]);ft.setInput(R,Y.yy),Y.yy.lexer=ft,Y.yy.parser=this,typeof ft.yylloc>"u"&&(ft.yylloc={});var V=ft.yylloc;ut.push(V);var Nt=ft.options&&ft.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Dt(){var Ee;return Ee=rt.pop()||ft.lex()||bt,typeof Ee!="number"&&(Ee instanceof Array&&(rt=Ee,Ee=rt.pop()),Ee=q.symbols_[Ee]||Ee),Ee}for(var jt,Ct,Ft,_t,xt={},Gt,Be,Ot,vn;;){if(Ct=X[X.length-1],this.defaultActions[Ct]?Ft=this.defaultActions[Ct]:((jt===null||typeof jt>"u")&&(jt=Dt()),Ft=pt[Ct]&&pt[Ct][jt]),typeof Ft>"u"||!Ft.length||!Ft[0]){var Pe="";vn=[];for(Gt in pt[Ct])this.terminals_[Gt]&&Gt>ht&&vn.push("'"+this.terminals_[Gt]+"'");ft.showPosition?Pe="Parse error on line "+(mt+1)+`: +`+ft.showPosition()+` +Expecting `+vn.join(", ")+", got '"+(this.terminals_[jt]||jt)+"'":Pe="Parse error on line "+(mt+1)+": Unexpected "+(jt==bt?"end of input":"'"+(this.terminals_[jt]||jt)+"'"),this.parseError(Pe,{text:ft.match,token:this.terminals_[jt]||jt,line:ft.yylineno,loc:V,expected:vn})}if(Ft[0]instanceof Array&&Ft.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ct+", token: "+jt);switch(Ft[0]){case 1:X.push(jt),at.push(ft.yytext),ut.push(ft.yylloc),X.push(Ft[1]),jt=null,gt=ft.yyleng,yt=ft.yytext,mt=ft.yylineno,V=ft.yylloc;break;case 2:if(Be=this.productions_[Ft[1]][1],xt.$=at[at.length-Be],xt._$={first_line:ut[ut.length-(Be||1)].first_line,last_line:ut[ut.length-1].last_line,first_column:ut[ut.length-(Be||1)].first_column,last_column:ut[ut.length-1].last_column},Nt&&(xt._$.range=[ut[ut.length-(Be||1)].range[0],ut[ut.length-1].range[1]]),_t=this.performAction.apply(xt,[yt,gt,mt,Y.yy,Ft[1],at,ut].concat(Z)),typeof _t<"u")return _t;Be&&(X=X.slice(0,-1*Be*2),at=at.slice(0,-1*Be),ut=ut.slice(0,-1*Be)),X.push(this.productions_[Ft[1]][0]),at.push(xt.$),ut.push(xt._$),Ot=pt[X[X.length-2]][X[X.length-1]],X.push(Ot);break;case 3:return!0}}return!0}},I=function(){var F={EOF:1,parseError:function(q,X){if(this.yy.parser)this.yy.parser.parseError(q,X);else throw new Error(q)},setInput:function(R,q){return this.yy=q||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var q=R.match(/(?:\r\n?|\n).*/g);return q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var q=R.length,X=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-q),this.offset-=q;var rt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),X.length-1&&(this.yylineno-=X.length-1);var at=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:X?(X.length===rt.length?this.yylloc.first_column:0)+rt[rt.length-X.length].length-X[0].length:this.yylloc.first_column-q},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-q]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),q=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+q+"^"},test_match:function(R,q){var X,rt,at;if(this.options.backtrack_lexer&&(at={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(at.yylloc.range=this.yylloc.range.slice(0))),rt=R[0].match(/(?:\r\n?|\n).*/g),rt&&(this.yylineno+=rt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:rt?rt[rt.length-1].length-rt[rt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],X=this.performAction.call(this,this.yy,this,q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),X)return X;if(this._backtrack){for(var ut in at)this[ut]=at[ut];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,q,X,rt;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),ut=0;utq[0].length)){if(q=X,rt=ut,this.options.backtrack_lexer){if(R=this.test_match(X,at[ut]),R!==!1)return R;if(this._backtrack){q=!1;continue}else return!1}else if(!this.options.flex)break}return q?(R=this.test_match(q,at[rt]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var q=this.next();return q||this.lex()},begin:function(q){this.conditionStack.push(q)},popState:function(){var q=this.conditionStack.length-1;return q>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(q){return q=this.conditionStack.length-1-Math.abs(q||0),q>=0?this.conditionStack[q]:"INITIAL"},pushState:function(q){this.begin(q)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(q,X,rt,at){switch(rt){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return F}();S.lexer=I;function B(){this.yy={}}return B.prototype=S,S.Parser=B,new B}();Zbt.parser=Zbt;const utn=Zbt;let _M="",gHt=0;const t2t=[],SX=[],SM=[],pHt=()=>WFt,bHt=function(){t2t.length=0,SX.length=0,_M="",SM.length=0,Wg()},wHt=function(i){_M=i,t2t.push(i)},mHt=function(){return t2t},vHt=function(){let i=EHt();const a=100;let f=0;for(;!i&&ff.id===gHt-1).events.push(i)},kHt=function(i){const a={section:_M,type:_M,description:i,task:i,classes:[]};SX.push(a)},EHt=function(){const i=function(f){return SM[f].processed};let a=!0;for(const[f,g]of SM.entries())i(f),a=a&&g.processed;return a},ltn=Object.freeze(Object.defineProperty({__proto__:null,addEvent:xHt,addSection:wHt,addTask:yHt,addTaskOrg:kHt,clear:bHt,default:{clear:bHt,getCommonDb:pHt,addSection:wHt,getSections:mHt,getTasks:vHt,addTask:yHt,addTaskOrg:kHt,addEvent:xHt},getCommonDb:pHt,getSections:mHt,getTasks:vHt},Symbol.toStringTag,{value:"Module"})),htn=12,AX=function(i,a){const f=i.append("rect");return f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),f.attr("rx",a.rx),f.attr("ry",a.ry),a.class!==void 0&&f.attr("class",a.class),f},ftn=function(i,a){const g=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(_){const S=jL().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",S).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const S=jL().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",S).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(w):a.score<3?b(w):E(w),g},dtn=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},THt=function(i,a){const f=a.text.replace(//gi," "),g=i.append("text");g.attr("x",a.x),g.attr("y",a.y),g.attr("class","legend"),g.style("text-anchor",a.anchor),a.class!==void 0&&g.attr("class",a.class);const w=g.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),g},gtn=function(i,a){function f(w,v,b,E,_){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-_)+" "+(w+b-_*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");g.attr("points",f(a.x,a.y,50,20,7)),g.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,THt(i,a)},ptn=function(i,a,f){const g=i.append("g"),w=e2t();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width,w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,AX(g,w),_Ht(f)(a.text,g,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let CHt=-1;const btn=function(i,a,f){const g=a.x+f.width/2,w=i.append("g");CHt++;const v=300+5*30;w.append("line").attr("id","task"+CHt).attr("x1",g).attr("y1",a.y).attr("x2",g).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),ftn(w,{cx:g,cy:300+(5-a.score)*30,score:a.score});const b=e2t();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,AX(w,b),a.x+14,_Ht(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},wtn=function(i,a){AX(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,class:"rect"}).lower()},mtn=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},e2t=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},_Ht=function(){function i(w,v,b,E,_,S,I,B){const F=v.append("text").attr("x",b+_/2).attr("y",E+S/2+5).style("font-color",B).style("text-anchor","middle").text(w);g(F,I)}function a(w,v,b,E,_,S,I,B,F){const{taskFontSize:R,taskFontFamily:q}=B,X=w.split(//gi);for(let rt=0;rt)/).reverse(),w,v=[],b=1.1,E=f.attr("y"),_=parseFloat(f.attr("dy")),S=f.text(null).append("tspan").attr("x",0).attr("y",E).attr("dy",_+"em");for(let I=0;Ia||w==="
")&&(v.pop(),S.text(v.join(" ").trim()),w==="
"?v=[""]:v=[w],S=f.append("tspan").attr("x",0).attr("y",E).attr("dy",b+"em").text(w))})}const ytn=function(i,a,f,g){const w=f%htn-1,v=i.append("g");a.section=w,v.attr("class",(a.class?a.class+" ":"")+"timeline-node "+("section-"+w));const b=v.append("g"),E=v.append("g"),S=E.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(SHt,a.width).node().getBBox(),I=g.fontSize&&g.fontSize.replace?g.fontSize.replace("px",""):g.fontSize;return a.height=S.height+I*1.1*.5+a.padding,a.height=Math.max(a.height,a.maxHeight),a.width=a.width+2*a.padding,E.attr("transform","translate("+a.width/2+", "+a.padding/2+")"),ktn(b,a,w),a},xtn=function(i,a,f){const g=i.append("g"),v=g.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(SHt,a.width).node().getBBox(),b=f.fontSize&&f.fontSize.replace?f.fontSize.replace("px",""):f.fontSize;return g.remove(),v.height+b*1.1*.5+a.padding},ktn=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+a.type).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},R9={drawRect:AX,drawCircle:dtn,drawSection:ptn,drawText:THt,drawLabel:gtn,drawTask:btn,drawBackgroundRect:wtn,getTextObj:mtn,getNoteRect:e2t,initGraphics:vtn,drawNode:ytn,getVirtualNodeHeight:xtn},Etn=function(i,a,f,g){var Z,ft;const w=Re(),v=w.leftMargin??50;Wt.debug("timeline",g.db);const b=w.securityLevel;let E;b==="sandbox"&&(E=xr("#i"+a));const S=xr(b==="sandbox"?E.nodes()[0].contentDocument.body:"body").select("#"+a);S.append("g");const I=g.db.getTasks(),B=g.db.getCommonDb().getDiagramTitle();Wt.debug("task",I),R9.initGraphics(S);const F=g.db.getSections();Wt.debug("sections",F);let R=0,q=0,X=0,rt=0,at=50+v,ut=50;rt=50;let pt=0,yt=!0;F.forEach(function(Y){const Et={number:pt,descr:Y,section:pt,width:150,padding:20,maxHeight:R},V=R9.getVirtualNodeHeight(S,Et,w);Wt.debug("sectionHeight before draw",V),R=Math.max(R,V+20)});let mt=0,gt=0;Wt.debug("tasks.length",I.length);for(const[Y,Et]of I.entries()){const V={number:Y,descr:Et,section:Et.section,width:150,padding:20,maxHeight:q},Nt=R9.getVirtualNodeHeight(S,V,w);Wt.debug("taskHeight before draw",Nt),q=Math.max(q,Nt+20),mt=Math.max(mt,Et.events.length);let Dt=0;for(let jt=0;jt0?F.forEach(Y=>{const Et=I.filter(jt=>jt.section===Y),V={number:pt,descr:Y,section:pt,width:200*Math.max(Et.length,1)-50,padding:20,maxHeight:R};Wt.debug("sectionNode",V);const Nt=S.append("g"),Dt=R9.drawNode(Nt,V,pt,w);Wt.debug("sectionNode output",Dt),Nt.attr("transform",`translate(${at}, ${rt})`),ut+=R+50,Et.length>0&&AHt(S,Et,pt,at,ut,q,w,mt,gt,R,!1),at+=200*Math.max(Et.length,1),ut=rt,pt++}):(yt=!1,AHt(S,I,pt,at,ut,q,w,mt,gt,R,!0));const ht=S.node().getBBox();Wt.debug("bounds",ht),B&&S.append("text").text(B).attr("x",ht.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),X=yt?R+q+150:q+100,S.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",X).attr("x2",ht.width+3*v).attr("y2",X).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),g8(void 0,S,((Z=w.timeline)==null?void 0:Z.padding)??50,((ft=w.timeline)==null?void 0:ft.useMaxWidth)??!1)},AHt=function(i,a,f,g,w,v,b,E,_,S,I){var B;for(const F of a){const R={descr:F.task,section:f,number:f,width:150,padding:20,maxHeight:v};Wt.debug("taskNode",R);const q=i.append("g").attr("class","taskWrapper"),rt=R9.drawNode(q,R,f,b).height;if(Wt.debug("taskHeight after draw",rt),q.attr("transform",`translate(${g}, ${w})`),v=Math.max(v,rt),F.events){const at=i.append("g").attr("class","lineWrapper");let ut=v;w+=100,ut=ut+Ttn(i,F.events,f,g,w,b),w-=100,at.append("line").attr("x1",g+190/2).attr("y1",w+v).attr("x2",g+190/2).attr("y2",w+v+(I?v:S)+_+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}g=g+200,I&&!((B=b.timeline)!=null&&B.disableMulticolor)&&f++}w=w-10},Ttn=function(i,a,f,g,w,v){let b=0;const E=w;w=w+100;for(const _ of a){const S={descr:_,section:f,number:f,width:150,padding:20,maxHeight:50};Wt.debug("eventNode",S);const I=i.append("g").attr("class","eventWrapper"),F=R9.drawNode(I,S,f,v).height;b=b+F,I.attr("transform",`translate(${g}, ${w})`),w=w+10+F}return w=E,b},Ctn={setConf:()=>{},draw:Etn},_tn=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${_tn(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var n2t=function(){var i=function(yt,mt,gt,ht){for(gt=gt||{},ht=yt.length;ht--;gt[yt[ht]]=mt);return gt},a=[1,4],f=[1,13],g=[1,12],w=[1,15],v=[1,16],b=[1,20],E=[1,19],_=[6,7,8],S=[1,26],I=[1,24],B=[1,25],F=[6,7,11],R=[1,6,13,15,16,19,22],q=[1,33],X=[1,34],rt=[1,6,7,11,13,15,16,19,22],at={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(mt,gt,ht,bt,Z,ft,Y){var Et=ft.length-1;switch(Z){case 6:case 7:return bt;case 8:bt.getLogger().trace("Stop NL ");break;case 9:bt.getLogger().trace("Stop EOF ");break;case 11:bt.getLogger().trace("Stop NL2 ");break;case 12:bt.getLogger().trace("Stop EOF2 ");break;case 15:bt.getLogger().info("Node: ",ft[Et].id),bt.addNode(ft[Et-1].length,ft[Et].id,ft[Et].descr,ft[Et].type);break;case 16:bt.getLogger().trace("Icon: ",ft[Et]),bt.decorateNode({icon:ft[Et]});break;case 17:case 21:bt.decorateNode({class:ft[Et]});break;case 18:bt.getLogger().trace("SPACELIST");break;case 19:bt.getLogger().trace("Node: ",ft[Et].id),bt.addNode(0,ft[Et].id,ft[Et].descr,ft[Et].type);break;case 20:bt.decorateNode({icon:ft[Et]});break;case 25:bt.getLogger().trace("node found ..",ft[Et-2]),this.$={id:ft[Et-1],descr:ft[Et-1],type:bt.getType(ft[Et-2],ft[Et])};break;case 26:this.$={id:ft[Et],descr:ft[Et],type:bt.nodeType.DEFAULT};break;case 27:bt.getLogger().trace("node found ..",ft[Et-3]),this.$={id:ft[Et-3],descr:ft[Et-1],type:bt.getType(ft[Et-2],ft[Et])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:f,7:[1,10],9:9,12:11,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},i(_,[2,3]),{1:[2,2]},i(_,[2,4]),i(_,[2,5]),{1:[2,6],6:f,12:21,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},{6:f,9:22,12:11,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},{6:S,7:I,10:23,11:B},i(F,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:E}),i(F,[2,18]),i(F,[2,19]),i(F,[2,20]),i(F,[2,21]),i(F,[2,23]),i(F,[2,24]),i(F,[2,26],{19:[1,30]}),{20:[1,31]},{6:S,7:I,10:32,11:B},{1:[2,7],6:f,12:21,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},i(R,[2,14],{7:q,11:X}),i(rt,[2,8]),i(rt,[2,9]),i(rt,[2,10]),i(F,[2,15]),i(F,[2,16]),i(F,[2,17]),{20:[1,35]},{21:[1,36]},i(R,[2,13],{7:q,11:X}),i(rt,[2,11]),i(rt,[2,12]),{21:[1,37]},i(F,[2,25]),i(F,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(mt,gt){if(gt.recoverable)this.trace(mt);else{var ht=new Error(mt);throw ht.hash=gt,ht}},parse:function(mt){var gt=this,ht=[0],bt=[],Z=[null],ft=[],Y=this.table,Et="",V=0,Nt=0,Dt=2,jt=1,Ct=ft.slice.call(arguments,1),Ft=Object.create(this.lexer),_t={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(_t.yy[xt]=this.yy[xt]);Ft.setInput(mt,_t.yy),_t.yy.lexer=Ft,_t.yy.parser=this,typeof Ft.yylloc>"u"&&(Ft.yylloc={});var Gt=Ft.yylloc;ft.push(Gt);var Be=Ft.options&&Ft.options.ranges;typeof _t.yy.parseError=="function"?this.parseError=_t.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var Dn;return Dn=bt.pop()||Ft.lex()||jt,typeof Dn!="number"&&(Dn instanceof Array&&(bt=Dn,Dn=bt.pop()),Dn=gt.symbols_[Dn]||Dn),Dn}for(var vn,Pe,Ee,nn,sn={},me,Fe,Qt,Ae;;){if(Pe=ht[ht.length-1],this.defaultActions[Pe]?Ee=this.defaultActions[Pe]:((vn===null||typeof vn>"u")&&(vn=Ot()),Ee=Y[Pe]&&Y[Pe][vn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Se="";Ae=[];for(me in Y[Pe])this.terminals_[me]&&me>Dt&&Ae.push("'"+this.terminals_[me]+"'");Ft.showPosition?Se="Parse error on line "+(V+1)+`: +`+Ft.showPosition()+` +Expecting `+Ae.join(", ")+", got '"+(this.terminals_[vn]||vn)+"'":Se="Parse error on line "+(V+1)+": Unexpected "+(vn==jt?"end of input":"'"+(this.terminals_[vn]||vn)+"'"),this.parseError(Se,{text:Ft.match,token:this.terminals_[vn]||vn,line:Ft.yylineno,loc:Gt,expected:Ae})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+vn);switch(Ee[0]){case 1:ht.push(vn),Z.push(Ft.yytext),ft.push(Ft.yylloc),ht.push(Ee[1]),vn=null,Nt=Ft.yyleng,Et=Ft.yytext,V=Ft.yylineno,Gt=Ft.yylloc;break;case 2:if(Fe=this.productions_[Ee[1]][1],sn.$=Z[Z.length-Fe],sn._$={first_line:ft[ft.length-(Fe||1)].first_line,last_line:ft[ft.length-1].last_line,first_column:ft[ft.length-(Fe||1)].first_column,last_column:ft[ft.length-1].last_column},Be&&(sn._$.range=[ft[ft.length-(Fe||1)].range[0],ft[ft.length-1].range[1]]),nn=this.performAction.apply(sn,[Et,Nt,V,_t.yy,Ee[1],Z,ft].concat(Ct)),typeof nn<"u")return nn;Fe&&(ht=ht.slice(0,-1*Fe*2),Z=Z.slice(0,-1*Fe),ft=ft.slice(0,-1*Fe)),ht.push(this.productions_[Ee[1]][0]),Z.push(sn.$),ft.push(sn._$),Qt=Y[ht[ht.length-2]][ht[ht.length-1]],ht.push(Qt);break;case 3:return!0}}return!0}},ut=function(){var yt={EOF:1,parseError:function(gt,ht){if(this.yy.parser)this.yy.parser.parseError(gt,ht);else throw new Error(gt)},setInput:function(mt,gt){return this.yy=gt||this.yy||{},this._input=mt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var mt=this._input[0];this.yytext+=mt,this.yyleng++,this.offset++,this.match+=mt,this.matched+=mt;var gt=mt.match(/(?:\r\n?|\n).*/g);return gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),mt},unput:function(mt){var gt=mt.length,ht=mt.split(/(?:\r\n?|\n)/g);this._input=mt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-gt),this.offset-=gt;var bt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ht.length-1&&(this.yylineno-=ht.length-1);var Z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ht?(ht.length===bt.length?this.yylloc.first_column:0)+bt[bt.length-ht.length].length-ht[0].length:this.yylloc.first_column-gt},this.options.ranges&&(this.yylloc.range=[Z[0],Z[0]+this.yyleng-gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(mt){this.unput(this.match.slice(mt))},pastInput:function(){var mt=this.matched.substr(0,this.matched.length-this.match.length);return(mt.length>20?"...":"")+mt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var mt=this.match;return mt.length<20&&(mt+=this._input.substr(0,20-mt.length)),(mt.substr(0,20)+(mt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var mt=this.pastInput(),gt=new Array(mt.length+1).join("-");return mt+this.upcomingInput()+` +`+gt+"^"},test_match:function(mt,gt){var ht,bt,Z;if(this.options.backtrack_lexer&&(Z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Z.yylloc.range=this.yylloc.range.slice(0))),bt=mt[0].match(/(?:\r\n?|\n).*/g),bt&&(this.yylineno+=bt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:bt?bt[bt.length-1].length-bt[bt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+mt[0].length},this.yytext+=mt[0],this.match+=mt[0],this.matches=mt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(mt[0].length),this.matched+=mt[0],ht=this.performAction.call(this,this.yy,this,gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ht)return ht;if(this._backtrack){for(var ft in Z)this[ft]=Z[ft];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var mt,gt,ht,bt;this._more||(this.yytext="",this.match="");for(var Z=this._currentRules(),ft=0;ftgt[0].length)){if(gt=ht,bt=ft,this.options.backtrack_lexer){if(mt=this.test_match(ht,Z[ft]),mt!==!1)return mt;if(this._backtrack){gt=!1;continue}else return!1}else if(!this.options.flex)break}return gt?(mt=this.test_match(gt,Z[bt]),mt!==!1?mt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var gt=this.next();return gt||this.lex()},begin:function(gt){this.conditionStack.push(gt)},popState:function(){var gt=this.conditionStack.length-1;return gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(gt){return gt=this.conditionStack.length-1-Math.abs(gt||0),gt>=0?this.conditionStack[gt]:"INITIAL"},pushState:function(gt){this.begin(gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(gt,ht,bt,Z){switch(bt){case 0:return gt.getLogger().trace("Found comment",ht.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:gt.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return gt.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:gt.getLogger().trace("end icon"),this.popState();break;case 10:return gt.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return gt.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return gt.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return gt.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:gt.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return gt.getLogger().trace("description:",ht.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),gt.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),gt.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),gt.getLogger().trace("node end ...",ht.yytext),"NODE_DEND";case 30:return this.popState(),gt.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),gt.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),gt.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),gt.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),gt.getLogger().trace("node end (("),"NODE_DEND";case 35:return gt.getLogger().trace("Long description:",ht.yytext),20;case 36:return gt.getLogger().trace("Long description:",ht.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return yt}();at.lexer=ut;function pt(){this.yy={}}return pt.prototype=at,at.Parser=pt,new pt}();n2t.parser=n2t;const Atn=n2t,xB=i=>Ed(i,Re());let Jw=[],LHt=0,r2t={};const Ltn=()=>{Jw=[],LHt=0,r2t={}},Mtn=function(i){for(let a=Jw.length-1;a>=0;a--)if(Jw[a].levelJw.length>0?Jw[0]:null,Itn=(i,a,f,g)=>{Wt.info("addNode",i,a,f,g);const w=Re(),v={id:LHt++,nodeId:xB(a),level:i,descr:xB(f),type:g,children:[],width:Re().mindmap.maxNodeWidth};switch(v.type){case ul.ROUNDED_RECT:v.padding=2*w.mindmap.padding;break;case ul.RECT:v.padding=2*w.mindmap.padding;break;case ul.HEXAGON:v.padding=2*w.mindmap.padding;break;default:v.padding=w.mindmap.padding}const b=Mtn(i);if(b)b.children.push(v),Jw.push(v);else if(Jw.length===0)Jw.push(v);else{let E=new Error('There can be only one root. No parent could be found for ("'+v.descr+'")');throw E.hash={text:"branch "+name,token:"branch "+name,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+name+'"']},E}},ul={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Otn=(i,a)=>{switch(Wt.debug("In get type",i,a),i){case"[":return ul.RECT;case"(":return a===")"?ul.ROUNDED_RECT:ul.CLOUD;case"((":return ul.CIRCLE;case")":return ul.CLOUD;case"))":return ul.BANG;case"{{":return ul.HEXAGON;default:return ul.DEFAULT}},MHt=(i,a)=>{r2t[i]=a},Ptn=i=>{const a=Jw[Jw.length-1];i&&i.icon&&(a.icon=xB(i.icon)),i&&i.class&&(a.class=xB(i.class))},j9=i=>{switch(i){case ul.DEFAULT:return"no-border";case ul.RECT:return"rect";case ul.ROUNDED_RECT:return"rounded-rect";case ul.CIRCLE:return"circle";case ul.CLOUD:return"cloud";case ul.BANG:return"bang";case ul.HEXAGON:return"hexgon";default:return"no-border"}};let DHt;const Ntn=i=>{DHt=i},Ftn=()=>Wt,Btn=i=>Jw[i],i2t=i=>r2t[i],Rtn=Object.freeze(Object.defineProperty({__proto__:null,addNode:Itn,clear:Ltn,decorateNode:Ptn,getElementById:i2t,getLogger:Ftn,getMindmap:Dtn,getNodeById:Btn,getType:Otn,nodeType:ul,get parseError(){return DHt},sanitizeText:xB,setElementForId:MHt,setErrorHandler:Ntn,type2Str:j9},Symbol.toStringTag,{value:"Module"})),IHt=12,jtn=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+j9(a.type)).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},$tn=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+j9(a.type)).attr("height",a.height).attr("width",a.width)},ztn=function(i,a){const f=a.width,g=a.height,w=.15*f,v=.25*f,b=.35*f,E=.2*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+j9(a.type)).attr("d",`M0 0 a${w},${w} 0 0,1 ${f*.25},${-1*f*.1} + a${b},${b} 1 0,1 ${f*.4},${-1*f*.1} + a${v},${v} 1 0,1 ${f*.35},${1*f*.2} + + a${w},${w} 1 0,1 ${f*.15},${1*g*.35} + a${E},${E} 1 0,1 ${-1*f*.15},${1*g*.65} + + a${v},${w} 1 0,1 ${-1*f*.25},${f*.15} + a${b},${b} 1 0,1 ${-1*f*.5},0 + a${w},${w} 1 0,1 ${-1*f*.25},${-1*f*.15} + + a${w},${w} 1 0,1 ${-1*f*.1},${-1*g*.35} + a${E},${E} 1 0,1 ${f*.1},${-1*g*.65} + + H0 V0 Z`)},qtn=function(i,a){const f=a.width,g=a.height,w=.15*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+j9(a.type)).attr("d",`M0 0 a${w},${w} 1 0,0 ${f*.25},${-1*g*.1} + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},${1*g*.1} + + a${w},${w} 1 0,0 ${f*.15},${1*g*.33} + a${w*.8},${w*.8} 1 0,0 0,${1*g*.34} + a${w},${w} 1 0,0 ${-1*f*.15},${1*g*.33} + + a${w},${w} 1 0,0 ${-1*f*.25},${g*.15} + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},${-1*g*.15} + + a${w},${w} 1 0,0 ${-1*f*.1},${-1*g*.33} + a${w*.8},${w*.8} 1 0,0 0,${-1*g*.34} + a${w},${w} 1 0,0 ${f*.1},${-1*g*.33} + + H0 V0 Z`)},Htn=function(i,a){i.append("circle").attr("id","node-"+a.id).attr("class","node-bkg node-"+j9(a.type)).attr("r",a.width/2)};function Vtn(i,a,f,g,w){return i.insert("polygon",":first-child").attr("points",g.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+(w.width-a)/2+", "+f+")")}const Utn=function(i,a){const f=a.height,w=f/4,v=a.width-a.padding+2*w,b=[{x:w,y:0},{x:v-w,y:0},{x:v,y:-f/2},{x:v-w,y:-f},{x:w,y:-f},{x:0,y:-f/2}];Vtn(i,v,f,b,a)},Gtn=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+j9(a.type)).attr("height",a.height).attr("rx",a.padding).attr("ry",a.padding).attr("width",a.width)},OHt={drawNode:function(i,a,f,g){const w=g.htmlLabels,v=f%(IHt-1),b=i.append("g");a.section=v;let E="section-"+v;v<0&&(E+=" section-root"),b.attr("class",(a.class?a.class+" ":"")+"mindmap-node "+E);const _=b.append("g"),S=b.append("g"),I=a.descr.replace(/()/g,` +`);XY(S,I,{useHtmlLabels:w,width:a.width,classes:"mindmap-node-label"}),w||S.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const B=S.node().getBBox(),F=g.fontSize.replace?g.fontSize.replace("px",""):g.fontSize;if(a.height=B.height+F*1.1*.5+a.padding,a.width=B.width+2*a.padding,a.icon)if(a.type===ul.CIRCLE)a.height+=50,a.width+=50,b.append("foreignObject").attr("height","50px").attr("width",a.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+v+" "+a.icon),S.attr("transform","translate("+a.width/2+", "+(a.height/2-1.5*a.padding)+")");else{a.width+=50;const R=a.height;a.height=Math.max(R,60);const q=Math.abs(a.height-R);b.append("foreignObject").attr("width","60px").attr("height",a.height).attr("style","text-align: center;margin-top:"+q/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+v+" "+a.icon),S.attr("transform","translate("+(25+a.width/2)+", "+(q/2+a.padding/2)+")")}else if(w){const R=(a.width-B.width)/2,q=(a.height-B.height)/2;S.attr("transform","translate("+R+", "+q+")")}else{const R=a.width/2,q=a.padding/2;S.attr("transform","translate("+R+", "+q+")")}switch(a.type){case ul.DEFAULT:jtn(_,a,v);break;case ul.ROUNDED_RECT:Gtn(_,a);break;case ul.RECT:$tn(_,a);break;case ul.CIRCLE:_.attr("transform","translate("+a.width/2+", "+ +a.height/2+")"),Htn(_,a);break;case ul.CLOUD:ztn(_,a);break;case ul.BANG:qtn(_,a);break;case ul.HEXAGON:Utn(_,a);break}return MHt(a.id,b),a.height},positionNode:function(i){const a=i2t(i.id),f=i.x||0,g=i.y||0;a.attr("transform","translate("+f+","+g+")")},drawEdge:function(a,f,g,w,v){const b=v%(IHt-1),E=g.x+g.width/2,_=g.y+g.height/2,S=f.x+f.width/2,I=f.y+f.height/2,B=S>E?E+Math.abs(E-S)/2:E-Math.abs(E-S)/2,F=I>_?_+Math.abs(_-I)/2:_-Math.abs(_-I)/2,R=S>E?Math.abs(E-B)/2+E:-Math.abs(E-B)/2+E,q=I>_?Math.abs(_-F)/2+_:-Math.abs(_-F)/2+_;a.append("path").attr("d",g.direction==="TB"||g.direction==="BT"?`M${E},${_} Q${E},${q} ${B},${F} T${S},${I}`:`M${E},${_} Q${R},${_} ${B},${F} T${S},${I}`).attr("class","edge section-edge-"+b+" edge-depth-"+w)}};var PHt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(X0,function(){function f(y){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},f(y)}function g(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")}function w(y,p){for(var x=0;xy.length)&&(p=y.length);for(var x=0,C=new Array(p);x"u"?null:window,q=R?R.navigator:null;R&&R.document;var X=f(""),rt=f({}),at=f(function(){}),ut=typeof HTMLElement>"u"?"undefined":f(HTMLElement),pt=function(p){return p&&p.instanceString&&mt(p.instanceString)?p.instanceString():null},yt=function(p){return p!=null&&f(p)==X},mt=function(p){return p!=null&&f(p)===at},gt=function(p){return!Et(p)&&(Array.isArray?Array.isArray(p):p!=null&&p instanceof Array)},ht=function(p){return p!=null&&f(p)===rt&&!gt(p)&&p.constructor===Object},bt=function(p){return p!=null&&f(p)===rt},Z=function(p){return p!=null&&f(p)===f(1)&&!isNaN(p)},ft=function(p){return Z(p)&&Math.floor(p)===p},Y=function(p){if(ut!=="undefined")return p!=null&&p instanceof HTMLElement},Et=function(p){return V(p)||Nt(p)},V=function(p){return pt(p)==="collection"&&p._private.single},Nt=function(p){return pt(p)==="collection"&&!p._private.single},Dt=function(p){return pt(p)==="core"},jt=function(p){return pt(p)==="stylesheet"},Ct=function(p){return pt(p)==="event"},Ft=function(p){return p==null?!0:!!(p===""||p.match(/^\s+$/))},_t=function(p){return typeof HTMLElement>"u"?!1:p instanceof HTMLElement},xt=function(p){return ht(p)&&Z(p.x1)&&Z(p.x2)&&Z(p.y1)&&Z(p.y2)},Gt=function(p){return bt(p)&&mt(p.then)},Be=function(){return q&&q.userAgent.match(/msie|trident|edge/i)},Ot=function(p,x){x||(x=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],P=0;Px?1:0},Pr=function(p,x){return-1*oe(p,x)},we=Object.assign!=null?Object.assign.bind(Object):function(y){for(var p=arguments,x=1;x1&&(Mt-=1),Mt<1/6?dt+(vt-dt)*6*Mt:Mt<1/2?vt:Mt<2/3?dt+(vt-dt)*(2/3-Mt)*6:dt}var Q=new RegExp("^"+Qt+"$").exec(p);if(Q){if(C=parseInt(Q[1]),C<0?C=(360- -1*C%360)%360:C>360&&(C=C%360),C/=360,L=parseFloat(Q[2]),L<0||L>100||(L=L/100,O=parseFloat(Q[3]),O<0||O>100)||(O=O/100,P=Q[4],P!==void 0&&(P=parseFloat(P),P<0||P>1)))return;if(L===0)$=H=z=Math.round(O*255);else{var it=O<.5?O*(1+L):O+L-O*L,lt=2*O-it;$=Math.round(255*G(lt,it,C+1/3)),H=Math.round(255*G(lt,it,C)),z=Math.round(255*G(lt,it,C-1/3))}x=[$,H,z,P]}return x},da=function(p){var x,C=new RegExp("^"+me+"$").exec(p);if(C){x=[];for(var L=[],O=1;O<=3;O++){var P=C[O];if(P[P.length-1]==="%"&&(L[O]=!0),P=parseFloat(P),L[O]&&(P=P/100*255),P<0||P>255)return;x.push(Math.floor(P))}var $=L[1]||L[2]||L[3],H=L[1]&&L[2]&&L[3];if($&&!H)return;var z=C[4];if(z!==void 0){if(z=parseFloat(z),z<0||z>1)return;x.push(z)}}return x},Ss=function(p){return fr[p.toLowerCase()]},Ra=function(p){return(gt(p)?p:null)||Ss(p)||Ri(p)||da(p)||yi(p)},fr={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},An=function(p){for(var x=p.map,C=p.keys,L=C.length,O=0;O=p||Ut<0||Q&&ue>=O}function kt(){var ee=$a();if(Mt(ee))return It(ee);$=setTimeout(kt,vt(ee))}function It(ee){return $=void 0,it&&C?lt(ee):(C=L=void 0,P)}function Pt(){$!==void 0&&clearTimeout($),z=0,C=H=L=$=void 0}function qt(){return $===void 0?P:It($a())}function ce(){var ee=$a(),Ut=Mt(ee);if(C=arguments,L=this,H=ee,Ut){if($===void 0)return dt(H);if(Q)return clearTimeout($),$=setTimeout(kt,p),lt(H)}return $===void 0&&($=setTimeout(kt,p)),P}return ce.cancel=Pt,ce.flush=qt,ce}var gu=_i,Le=R?R.performance:null,ry=Le&&Le.now?function(){return Le.now()}:function(){return Date.now()},$e=function(){if(R){if(R.requestAnimationFrame)return function(y){R.requestAnimationFrame(y)};if(R.mozRequestAnimationFrame)return function(y){R.mozRequestAnimationFrame(y)};if(R.webkitRequestAnimationFrame)return function(y){R.webkitRequestAnimationFrame(y)};if(R.msRequestAnimationFrame)return function(y){R.msRequestAnimationFrame(y)}}return function(y){y&&setTimeout(function(){y(ry())},1e3/60)}}(),h1=function(p){return $e(p)},rp=ry,iy=9261,S8=65599,f4=5381,Ql=function(p){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:iy,C=x,L;L=p.next(),!L.done;)C=C*S8+L.value|0;return C},og=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:iy;return x*S8+p|0},S2=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f4;return(x<<5)+x+p|0},A8=function(p,x){return p*2097152+x},A2=function(p){return p[0]*2097152+p[1]},d4=function(p,x){return[og(p[0],x[0]),S2(p[1],x[1])]},q1=function(p,x){var C={value:0,done:!1},L=0,O=p.length,P={next:function(){return L=0&&!(p[L]===x&&(p.splice(L,1),C));L--);},q9=function(p){p.splice(0,p.length)},TB=function(p,x){for(var C=0;C"u"?"undefined":f(Set))!==RX?Set:jX,H9=function(p,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(p===void 0||x===void 0||!Dt(p)){jl("An element must have a core reference and parameters set");return}var L=x.group;if(L==null&&(x.data&&x.data.source!=null&&x.data.target!=null?L="edges":L="nodes"),L!=="nodes"&&L!=="edges"){jl("An element must be of type `nodes` or `edges`; you specified `"+L+"`");return}this.length=1,this[0]=this;var O=this._private={cy:p,single:!0,data:x.data||{},position:x.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:L,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!x.selected,selectable:x.selectable===void 0?!0:!!x.selectable,locked:!!x.locked,grabbed:!1,grabbable:x.grabbable===void 0?!0:!!x.grabbable,pannable:x.pannable===void 0?L==="edges":!!x.pannable,active:!1,classes:new Ux,animation:{current:[],queue:[]},rscratch:{},scratch:x.scratch||{},edges:[],children:[],parent:x.parent&&x.parent.isNode()?x.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),x.renderedPosition){var P=x.renderedPosition,$=p.pan(),H=p.zoom();O.position={x:(P.x-$.x)/H,y:(P.y-$.y)/H}}var z=[];gt(x.classes)?z=x.classes:yt(x.classes)&&(z=x.classes.split(/\s+/));for(var G=0,Q=z.length;GIt?1:0},G=function(kt,It,Pt,qt,ce){var ee;if(Pt==null&&(Pt=0),ce==null&&(ce=C),Pt<0)throw new Error("lo must be non-negative");for(qt==null&&(qt=kt.length);Ptye;0<=ye?Yt++:Yt--)ue.push(Yt);return ue}).apply(this).reverse(),Ut=[],qt=0,ce=ee.length;qtxe;0<=xe?++ue:--ue)de.push(P(kt,Pt));return de},vt=function(kt,It,Pt,qt){var ce,ee,Ut;for(qt==null&&(qt=C),ce=kt[Pt];Pt>It;){if(Ut=Pt-1>>1,ee=kt[Ut],qt(ce,ee)<0){kt[Pt]=ee,Pt=Ut;continue}break}return kt[Pt]=ce},Mt=function(kt,It,Pt){var qt,ce,ee,Ut,ue;for(Pt==null&&(Pt=C),ce=kt.length,ue=It,ee=kt[It],qt=2*It+1;qt0;){var ee=It.pop(),Ut=Mt(ee),ue=ee.id();if(it[ue]=Ut,Ut!==1/0)for(var Yt=ee.neighborhood().intersect(dt),ye=0;ye0)for(Sn.unshift(an);Q[or];){var Rn=Q[or];Sn.unshift(Rn.edge),Sn.unshift(Rn.node),Vn=Rn.node,or=Vn.id()}return $.spawn(Sn)}}}},HX={kruskal:function(p){p=p||function(Pt){return 1};for(var x=this.byGroup(),C=x.nodes,L=x.edges,O=C.length,P=new Array(O),$=C,H=function(qt){for(var ce=0;ce0;){if(ce(),Ut++,qt===G){for(var ue=[],Yt=O,ye=G,xe=kt[ye];ue.unshift(Yt),xe!=null&&ue.unshift(xe),Yt=Mt[ye],Yt!=null;)ye=Yt.id(),xe=kt[ye];return{found:!0,distance:Q[qt],path:this.spawn(ue),steps:Ut}}lt[qt]=!0;for(var de=Pt._private.edges,ze=0;zexe&&(dt[ye]=xe,It[ye]=Yt,Pt[ye]=ce),!O){var de=Yt*G+ue;!O&&dt[de]>xe&&(dt[de]=xe,It[de]=ue,Pt[de]=ce)}}}for(var ze=0;ze1&&arguments[1]!==void 0?arguments[1]:P,Ao=Pt(li),Ka=[],Ws=Ao;;){if(Ws==null)return x.spawn();var Nr=It(Ws),re=Nr.edge,Kn=Nr.pred;if(Ka.unshift(Ws[0]),Ws.same(qi)&&Ka.length>0)break;re!=null&&Ka.unshift(re),Ws=Kn}return H.spawn(Ka)},ee=0;ee=0;G--){var Q=z[G],it=Q[1],lt=Q[2];(x[it]===$&&x[lt]===H||x[it]===H&&x[lt]===$)&&z.splice(G,1)}for(var dt=0;dtL;){var O=Math.floor(Math.random()*x.length);x=QX(O,p,x),C--}return x},JX={kargerStein:function(){var p=this,x=this.byGroup(),C=x.nodes,L=x.edges;L.unmergeBy(function(Sn){return Sn.isLoop()});var O=C.length,P=L.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/XX);if(O<2){jl("At least 2 nodes are required for Karger-Stein algorithm");return}for(var z=[],G=0;G1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=-1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=0,O=0,P=x;P1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,P=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;L?p=p.slice(x,C):(C0&&p.splice(0,x));for(var $=0,H=p.length-1;H>=0;H--){var z=p[H];P?isFinite(z)||(p[H]=-1/0,$++):p.splice(H,1)}O&&p.sort(function(it,lt){return it-lt});var G=p.length,Q=Math.floor(G/2);return G%2!==0?p[Q+1+$]:(p[Q-1+$]+p[Q+$])/2},iQ=function(p){return Math.PI*p/180},U9=function(p,x){return Math.atan2(x,p)-Math.PI/2},DM=Math.log2||function(y){return Math.log(y)/Math.log(2)},SB=function(p){return p>0?1:p<0?-1:0},p4=function(p,x){return Math.sqrt(b4(p,x))},b4=function(p,x){var C=x.x-p.x,L=x.y-p.y;return C*C+L*L},sQ=function(p){for(var x=p.length,C=0,L=0;L=p.x1&&p.y2>=p.y1)return{x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,w:p.x2-p.x1,h:p.y2-p.y1};if(p.w!=null&&p.h!=null&&p.w>=0&&p.h>=0)return{x1:p.x1,y1:p.y1,x2:p.x1+p.w,y2:p.y1+p.h,w:p.w,h:p.h}}},oQ=function(p){return{x1:p.x1,x2:p.x2,w:p.w,y1:p.y1,y2:p.y2,h:p.h}},cQ=function(p){p.x1=1/0,p.y1=1/0,p.x2=-1/0,p.y2=-1/0,p.w=0,p.h=0},uQ=function(p,x){p.x1=Math.min(p.x1,x.x1),p.x2=Math.max(p.x2,x.x2),p.w=p.x2-p.x1,p.y1=Math.min(p.y1,x.y1),p.y2=Math.max(p.y2,x.y2),p.h=p.y2-p.y1},lQ=function(p,x,C){p.x1=Math.min(p.x1,x),p.x2=Math.max(p.x2,x),p.w=p.x2-p.x1,p.y1=Math.min(p.y1,C),p.y2=Math.max(p.y2,C),p.h=p.y2-p.y1},G9=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return p.x1-=x,p.x2+=x,p.y1-=x,p.y2+=x,p.w=p.x2-p.x1,p.h=p.y2-p.y1,p},IM=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],C,L,O,P;if(x.length===1)C=L=O=P=x[0];else if(x.length===2)C=O=x[0],P=L=x[1];else if(x.length===4){var $=E(x,4);C=$[0],L=$[1],O=$[2],P=$[3]}return p.x1-=P,p.x2+=L,p.y1-=C,p.y2+=O,p.w=p.x2-p.x1,p.h=p.y2-p.y1,p},AB=function(p,x){p.x1=x.x1,p.y1=x.y1,p.x2=x.x2,p.y2=x.y2,p.w=p.x2-p.x1,p.h=p.y2-p.y1},OM=function(p,x){return!(p.x1>x.x2||x.x1>p.x2||p.x2x.y2||x.y1>p.y2)},Wx=function(p,x,C){return p.x1<=x&&x<=p.x2&&p.y1<=C&&C<=p.y2},hQ=function(p,x){return Wx(p,x.x,x.y)},LB=function(p,x){return Wx(p,x.x1,x.y1)&&Wx(p,x.x2,x.y2)},MB=function(p,x,C,L,O,P,$){var H=N8(O,P),z=O/2,G=P/2,Q;{var it=C-z+H-$,lt=L-G-$,dt=C+z-H+$,vt=lt;if(Q=cy(p,x,C,L,it,lt,dt,vt,!1),Q.length>0)return Q}{var Mt=C+z+$,kt=L-G+H-$,It=Mt,Pt=L+G-H+$;if(Q=cy(p,x,C,L,Mt,kt,It,Pt,!1),Q.length>0)return Q}{var qt=C-z+H-$,ce=L+G+$,ee=C+z-H+$,Ut=ce;if(Q=cy(p,x,C,L,qt,ce,ee,Ut,!1),Q.length>0)return Q}{var ue=C-z-$,Yt=L-G+H-$,ye=ue,xe=L+G-H+$;if(Q=cy(p,x,C,L,ue,Yt,ye,xe,!1),Q.length>0)return Q}var de;{var ze=C-z+H,ke=L-G+H;if(de=O8(p,x,C,L,ze,ke,H+$),de.length>0&&de[0]<=ze&&de[1]<=ke)return[de[0],de[1]]}{var xn=C+z-H,tn=L-G+H;if(de=O8(p,x,C,L,xn,tn,H+$),de.length>0&&de[0]>=xn&&de[1]<=tn)return[de[0],de[1]]}{var an=C+z-H,Sn=L+G-H;if(de=O8(p,x,C,L,an,Sn,H+$),de.length>0&&de[0]>=an&&de[1]>=Sn)return[de[0],de[1]]}{var Vn=C-z+H,or=L+G-H;if(de=O8(p,x,C,L,Vn,or,H+$),de.length>0&&de[0]<=Vn&&de[1]>=or)return[de[0],de[1]]}return[]},fQ=function(p,x,C,L,O,P,$){var H=$,z=Math.min(C,O),G=Math.max(C,O),Q=Math.min(L,P),it=Math.max(L,P);return z-H<=p&&p<=G+H&&Q-H<=x&&x<=it+H},dQ=function(p,x,C,L,O,P,$,H,z){var G={x1:Math.min(C,$,O)-z,x2:Math.max(C,$,O)+z,y1:Math.min(L,H,P)-z,y2:Math.max(L,H,P)+z};return!(pG.x2||xG.y2)},gQ=function(p,x,C,L){C-=L;var O=x*x-4*p*C;if(O<0)return[];var P=Math.sqrt(O),$=2*p,H=(-x+P)/$,z=(-x-P)/$;return[H,z]},pQ=function(p,x,C,L,O){var P=1e-5;p===0&&(p=P),x/=p,C/=p,L/=p;var $,H,z,G,Q,it,lt,dt;if(H=(3*C-x*x)/9,z=-(27*L)+x*(9*C-2*(x*x)),z/=54,$=H*H*H+z*z,O[1]=0,lt=x/3,$>0){Q=z+Math.sqrt($),Q=Q<0?-Math.pow(-Q,1/3):Math.pow(Q,1/3),it=z-Math.sqrt($),it=it<0?-Math.pow(-it,1/3):Math.pow(it,1/3),O[0]=-lt+Q+it,lt+=(Q+it)/2,O[4]=O[2]=-lt,lt=Math.sqrt(3)*(-it+Q)/2,O[3]=lt,O[5]=-lt;return}if(O[5]=O[3]=0,$===0){dt=z<0?-Math.pow(-z,1/3):Math.pow(z,1/3),O[0]=-lt+2*dt,O[4]=O[2]=-(dt+lt);return}H=-H,G=H*H*H,G=Math.acos(z/Math.sqrt(G)),dt=2*Math.sqrt(H),O[0]=-lt+dt*Math.cos(G/3),O[2]=-lt+dt*Math.cos((G+2*Math.PI)/3),O[4]=-lt+dt*Math.cos((G+4*Math.PI)/3)},bQ=function(p,x,C,L,O,P,$,H){var z=1*C*C-4*C*O+2*C*$+4*O*O-4*O*$+$*$+L*L-4*L*P+2*L*H+4*P*P-4*P*H+H*H,G=1*9*C*O-3*C*C-3*C*$-6*O*O+3*O*$+9*L*P-3*L*L-3*L*H-6*P*P+3*P*H,Q=1*3*C*C-6*C*O+C*$-C*p+2*O*O+2*O*p-$*p+3*L*L-6*L*P+L*H-L*x+2*P*P+2*P*x-H*x,it=1*C*O-C*C+C*p-O*p+L*P-L*L+L*x-P*x,lt=[];pQ(z,G,Q,it,lt);for(var dt=1e-7,vt=[],Mt=0;Mt<6;Mt+=2)Math.abs(lt[Mt+1])=0&<[Mt]<=1&&vt.push(lt[Mt]);vt.push(1),vt.push(0);for(var kt=-1,It,Pt,qt,ce=0;ce=0?qtz?(p-O)*(p-O)+(x-P)*(x-P):G-it},v0=function(p,x,C){for(var L,O,P,$,H,z=0,G=0;G=p&&p>=P||L<=p&&p<=P)H=(p-L)/(P-L)*($-O)+O,H>x&&z++;else continue;return z%2!==0},em=function(p,x,C,L,O,P,$,H,z){var G=new Array(C.length),Q;H[0]!=null?(Q=Math.atan(H[1]/H[0]),H[0]<0?Q=Q+Math.PI/2:Q=-Q-Math.PI/2):Q=H;for(var it=Math.cos(-Q),lt=Math.sin(-Q),dt=0;dt0){var Mt=IB(G,-z);vt=DB(Mt)}else vt=G;return v0(p,x,vt)},mQ=function(p,x,C,L,O,P,$){for(var H=new Array(C.length),z=P/2,G=$/2,Q=FM(P,$),it=Q*Q,lt=0;lt=0&&Mt<=1&&It.push(Mt),kt>=0&&kt<=1&&It.push(kt),It.length===0)return[];var Pt=It[0]*H[0]+p,qt=It[0]*H[1]+x;if(It.length>1){if(It[0]==It[1])return[Pt,qt];var ce=It[1]*H[0]+p,ee=It[1]*H[1]+x;return[Pt,qt,ce,ee]}else return[Pt,qt]},PM=function(p,x,C){return x<=p&&p<=C||C<=p&&p<=x?p:p<=x&&x<=C||C<=x&&x<=p?x:C},cy=function(p,x,C,L,O,P,$,H,z){var G=p-O,Q=C-p,it=$-O,lt=x-P,dt=L-x,vt=H-P,Mt=it*lt-vt*G,kt=Q*lt-dt*G,It=vt*Q-it*dt;if(It!==0){var Pt=Mt/It,qt=kt/It,ce=.001,ee=0-ce,Ut=1+ce;return ee<=Pt&&Pt<=Ut&&ee<=qt&&qt<=Ut?[p+Pt*Q,x+Pt*dt]:z?[p+Pt*Q,x+Pt*dt]:[]}else return Mt===0||kt===0?PM(p,C,$)===$?[$,H]:PM(p,C,O)===O?[O,P]:PM(O,$,C)===C?[C,L]:[]:[]},P8=function(p,x,C,L,O,P,$,H){var z=[],G,Q=new Array(C.length),it=!0;P==null&&(it=!1);var lt;if(it){for(var dt=0;dt0){var vt=IB(Q,-H);lt=DB(vt)}else lt=Q}else lt=C;for(var Mt,kt,It,Pt,qt=0;qt2){for(var tn=[z[0],z[1]],an=Math.pow(tn[0]-p,2)+Math.pow(tn[1]-x,2),Sn=1;SnG&&(G=qt)},get:function(Pt){return z[Pt]}},it=0;it<$.length;it++){var lt=$[it],dt=lt.id();C?H[dt]=lt.outgoers().nodes():H[dt]=lt.openNeighborhood().nodes(),Q.set(dt,0)}for(var vt=function(Pt){for(var qt=$[Pt].id(),ce=[],ee={},Ut={},ue={},Yt=new D8(function(br,dr){return ue[br]-ue[dr]}),ye=0;ye<$.length;ye++){var xe=$[ye].id();ee[xe]=[],Ut[xe]=0,ue[xe]=1/0}for(Ut[qt]=1,ue[qt]=0,Yt.push(qt);!Yt.empty();){var de=Yt.pop();if(ce.push(de),O)for(var ze=0;ze0?tn=xn.edgesTo(ke)[0]:tn=ke.edgesTo(xn)[0];var an=L(tn);ke=ke.id(),ue[ke]>ue[de]+an&&(ue[ke]=ue[de]+an,Yt.nodes.indexOf(ke)<0?Yt.push(ke):Yt.updateItem(ke),Ut[ke]=0,ee[ke]=[]),ue[ke]==ue[de]+an&&(Ut[ke]=Ut[ke]+Ut[de],ee[ke].push(de))}else for(var Sn=0;Sn0;){for(var ar=ce.pop(),yr=0;yr0&&$.push(C[H]);$.length!==0&&O.push(L.collection($))}return O},OQ=function(p,x){for(var C=0;C5&&arguments[5]!==void 0?arguments[5]:FQ,$=L,H,z,G=0;G=2?F8(p,x,C,0,qB,BQ):F8(p,x,C,0,zB)},squaredEuclidean:function(p,x,C){return F8(p,x,C,0,qB)},manhattan:function(p,x,C){return F8(p,x,C,0,zB)},max:function(p,x,C){return F8(p,x,C,-1/0,RQ)}};Qx["squared-euclidean"]=Qx.squaredEuclidean,Qx.squaredeuclidean=Qx.squaredEuclidean;function W9(y,p,x,C,L,O){var P;return mt(y)?P=y:P=Qx[y]||Qx.euclidean,p===0&&mt(y)?P(L,O):P(p,x,C,L,O)}var jQ=f1({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),jM=function(p){return jQ(p)},Y9=function(p,x,C,L,O){var P=O!=="kMedoids",$=P?function(Q){return C[Q]}:function(Q){return L[Q](C)},H=function(it){return L[it](x)},z=C,G=x;return W9(p,L.length,$,H,z,G)},$M=function(p,x,C){for(var L=C.length,O=new Array(L),P=new Array(L),$=new Array(x),H=null,z=0;zC)return!1}return!0},qQ=function(p,x,C){for(var L=0;L$&&($=x[z][G],H=G);O[H].push(p[z])}for(var Q=0;Q=O.threshold||O.mode==="dendrogram"&&p.length===1)return!1;var dt=x[P],vt=x[L[P]],Mt;O.mode==="dendrogram"?Mt={left:dt,right:vt,key:dt.key}:Mt={value:dt.value.concat(vt.value),key:dt.key},p[dt.index]=Mt,p.splice(vt.index,1),x[dt.key]=Mt;for(var kt=0;ktC[vt.key][It.key]&&(H=C[vt.key][It.key])):O.linkage==="max"?(H=C[dt.key][It.key],C[dt.key][It.key]0&&L.push(O);return L},XB=function(p,x,C){for(var L=[],O=0;O$&&(P=z,$=x[O*p+z])}P>0&&L.push(P)}for(var G=0;Gz&&(H=G,z=Q)}C[O]=P[H]}return L=XB(p,x,C),L},QB=function(p){for(var x=this.cy(),C=this.nodes(),L=nJ(p),O={},P=0;P=xe?(de=xe,xe=ke,ze=xn):ke>de&&(de=ke);for(var tn=0;tn<$;tn++)Q[ye*$+tn]=(1-L.damping)*(z[ye*$+tn]-xe)+L.damping*Pt[tn];Q[ye*$+ze]=(1-L.damping)*(z[ye*$+ze]-de)+L.damping*Pt[ze]}for(var an=0;an<$;an++){for(var Sn=0,Vn=0;Vn<$;Vn++)Pt[Vn]=it[Vn*$+an],qt[Vn]=Math.max(0,Q[Vn*$+an]),Sn+=qt[Vn];Sn-=qt[an],qt[an]=Q[an*$+an],Sn+=qt[an];for(var or=0;or<$;or++)it[or*$+an]=(1-L.damping)*Math.min(0,Sn-qt[or])+L.damping*Pt[or];it[an*$+an]=(1-L.damping)*(Sn-qt[an])+L.damping*Pt[an]}for(var Rn=0,ar=0;ar<$;ar++){var yr=it[ar*$+ar]+Q[ar*$+ar]>0?1:0;Ut[Yt%L.minIterations*$+ar]=yr,Rn+=yr}if(Rn>0&&(Yt>=L.minIterations-1||Yt==L.maxIterations-1)){for(var kr=0,br=0;br<$;br++){ce[br]=0;for(var dr=0;dr1||ee>1)&&($=!0),Q[Pt]=[],It.outgoers().forEach(function(ue){ue.isEdge()&&Q[Pt].push(ue.id())})}else it[Pt]=[void 0,It.target().id()]}):P.forEach(function(It){var Pt=It.id();if(It.isNode()){var qt=It.degree(!0);qt%2&&(H?z?$=!0:z=Pt:H=Pt),Q[Pt]=[],It.connectedEdges().forEach(function(ce){return Q[Pt].push(ce.id())})}else it[Pt]=[It.source().id(),It.target().id()]});var lt={found:!1,trail:void 0};if($)return lt;if(z&&H)if(O){if(G&&z!=G)return lt;G=z}else{if(G&&z!=G&&H!=G)return lt;G||(G=z)}else G||(G=P[0].id());var dt=function(Pt){for(var qt=Pt,ce=[Pt],ee,Ut,ue;Q[qt].length;)ee=Q[qt].shift(),Ut=it[ee][0],ue=it[ee][1],qt!=ue?(Q[ue]=Q[ue].filter(function(Yt){return Yt!=ee}),qt=ue):!O&&qt!=Ut&&(Q[Ut]=Q[Ut].filter(function(Yt){return Yt!=ee}),qt=Ut),ce.unshift(ee),ce.unshift(qt);return ce},vt=[],Mt=[];for(Mt=dt(G);Mt.length!=1;)Q[Mt[0]].length==0?(vt.unshift(P.getElementById(Mt.shift())),vt.unshift(P.getElementById(Mt.shift()))):Mt=dt(Mt.shift()).concat(Mt);vt.unshift(P.getElementById(Mt.shift()));for(var kt in Q)if(Q[kt].length)return lt;return lt.found=!0,lt.trail=this.spawn(vt,!0),lt}},Q9=function(){var p=this,x={},C=0,L=0,O=[],P=[],$={},H=function(it,lt){for(var dt=P.length-1,vt=[],Mt=p.spawn();P[dt].x!=it||P[dt].y!=lt;)vt.push(P.pop().edge),dt--;vt.push(P.pop().edge),vt.forEach(function(kt){var It=kt.connectedNodes().intersection(p);Mt.merge(kt),It.forEach(function(Pt){var qt=Pt.id(),ce=Pt.connectedEdges().intersection(p);Mt.merge(Pt),x[qt].cutVertex?Mt.merge(ce.filter(function(ee){return ee.isLoop()})):Mt.merge(ce)})}),O.push(Mt)},z=function Q(it,lt,dt){it===dt&&(L+=1),x[lt]={id:C,low:C++,cutVertex:!1};var vt=p.getElementById(lt).connectedEdges().intersection(p);if(vt.size()===0)O.push(p.spawn(p.getElementById(lt)));else{var Mt,kt,It,Pt;vt.forEach(function(qt){Mt=qt.source().id(),kt=qt.target().id(),It=Mt===lt?kt:Mt,It!==dt&&(Pt=qt.id(),$[Pt]||($[Pt]=!0,P.push({x:lt,y:It,edge:qt})),It in x?x[lt].low=Math.min(x[lt].low,x[It].id):(Q(it,It,lt),x[lt].low=Math.min(x[lt].low,x[It].low),x[lt].id<=x[It].low&&(x[lt].cutVertex=!0,H(lt,It))))})}};p.forEach(function(Q){if(Q.isNode()){var it=Q.id();it in x||(L=0,z(it,it),x[it].cutVertex=L>1)}});var G=Object.keys(x).filter(function(Q){return x[Q].cutVertex}).map(function(Q){return p.getElementById(Q)});return{cut:p.spawn(G),components:O}},lJ={hopcroftTarjanBiconnected:Q9,htbc:Q9,htb:Q9,hopcroftTarjanBiconnectedComponents:Q9},J9=function(){var p=this,x={},C=0,L=[],O=[],P=p.spawn(p),$=function H(z){O.push(z),x[z]={index:C,low:C++,explored:!1};var G=p.getElementById(z).connectedEdges().intersection(p);if(G.forEach(function(vt){var Mt=vt.target().id();Mt!==z&&(Mt in x||H(Mt),x[Mt].explored||(x[z].low=Math.min(x[z].low,x[Mt].low)))}),x[z].index===x[z].low){for(var Q=p.spawn();;){var it=O.pop();if(Q.merge(p.getElementById(it)),x[it].low=x[z].index,x[it].explored=!0,it===z)break}var lt=Q.edgesWith(Q),dt=Q.merge(lt);L.push(dt),P=P.difference(dt)}};return p.forEach(function(H){if(H.isNode()){var z=H.id();z in x||$(z)}}),{cut:P,components:L}},hJ={tarjanStronglyConnected:J9,tsc:J9,tscc:J9,tarjanStronglyConnectedComponents:J9},JB={};[M8,qX,HX,UX,KX,YX,JX,EQ,Yx,Xx,RM,NQ,WQ,tJ,oJ,uJ,lJ,hJ].forEach(function(y){we(JB,y)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var ZB=0,tR=1,eR=2,nm=function y(p){if(!(this instanceof y))return new y(p);this.id="Thenable/1.0.7",this.state=ZB,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof p=="function"&&p.call(this,this.fulfill.bind(this),this.reject.bind(this))};nm.prototype={fulfill:function(p){return nR(this,tR,"fulfillValue",p)},reject:function(p){return nR(this,eR,"rejectReason",p)},then:function(p,x){var C=this,L=new nm;return C.onFulfilled.push(sR(p,L,"fulfill")),C.onRejected.push(sR(x,L,"reject")),rR(C),L.proxy}};var nR=function(p,x,C,L){return p.state===ZB&&(p.state=x,p[C]=L,rR(p)),p},rR=function(p){p.state===tR?iR(p,"onFulfilled",p.fulfillValue):p.state===eR&&iR(p,"onRejected",p.rejectReason)},iR=function(p,x,C){if(p[x].length!==0){var L=p[x];p[x]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var x=this,C=x.length!==void 0,L=C?x:[x],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var P=0;P-1}var fZ=hZ;function dZ(y,p){var x=this.__data__,C=tC(x,y);return C<0?(++this.size,x.push([y,p])):x[C][1]=p,this}var gZ=dZ;function t6(y){var p=-1,x=y==null?0:y.length;for(this.clear();++p-1&&y%1==0&&y0&&this.spawn(L).updateStyle().emit("class"),x},addClass:function(p){return this.toggleClass(p,!0)},hasClass:function(p){var x=this[0];return x!=null&&x._private.classes.has(p)},toggleClass:function(p,x){gt(p)||(p=p.match(/\S+/g)||[]);for(var C=this,L=x===void 0,O=[],P=0,$=C.length;P<$;P++)for(var H=C[P],z=H._private.classes,G=!1,Q=0;Q0&&this.spawn(O).updateStyle().emit("class"),C},removeClass:function(p){return this.toggleClass(p,!1)},flashClass:function(p,x){var C=this;if(x==null)x=250;else if(x===0)return C;return C.addClass(p),setTimeout(function(){C.removeClass(p)},x),C}};nC.className=nC.classNames=nC.classes;var mc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:sn,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};mc.variable="(?:[\\w-.]|(?:\\\\"+mc.metaChar+"))+",mc.className="(?:[\\w-]|(?:\\\\"+mc.metaChar+"))+",mc.value=mc.string+"|"+mc.number,mc.id=mc.variable,function(){var y,p,x;for(y=mc.comparatorOp.split("|"),x=0;x=0)&&p!=="="&&(mc.comparatorOp+="|\\!"+p)}();var pu=function(){return{checks:[]}},ts={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},KM=[{selector:":selected",matches:function(p){return p.selected()}},{selector:":unselected",matches:function(p){return!p.selected()}},{selector:":selectable",matches:function(p){return p.selectable()}},{selector:":unselectable",matches:function(p){return!p.selectable()}},{selector:":locked",matches:function(p){return p.locked()}},{selector:":unlocked",matches:function(p){return!p.locked()}},{selector:":visible",matches:function(p){return p.visible()}},{selector:":hidden",matches:function(p){return!p.visible()}},{selector:":transparent",matches:function(p){return p.transparent()}},{selector:":grabbed",matches:function(p){return p.grabbed()}},{selector:":free",matches:function(p){return!p.grabbed()}},{selector:":removed",matches:function(p){return p.removed()}},{selector:":inside",matches:function(p){return!p.removed()}},{selector:":grabbable",matches:function(p){return p.grabbable()}},{selector:":ungrabbable",matches:function(p){return!p.grabbable()}},{selector:":animated",matches:function(p){return p.animated()}},{selector:":unanimated",matches:function(p){return!p.animated()}},{selector:":parent",matches:function(p){return p.isParent()}},{selector:":childless",matches:function(p){return p.isChildless()}},{selector:":child",matches:function(p){return p.isChild()}},{selector:":orphan",matches:function(p){return p.isOrphan()}},{selector:":nonorphan",matches:function(p){return p.isChild()}},{selector:":compound",matches:function(p){return p.isNode()?p.isParent():p.source().isParent()||p.target().isParent()}},{selector:":loop",matches:function(p){return p.isLoop()}},{selector:":simple",matches:function(p){return p.isSimple()}},{selector:":active",matches:function(p){return p.active()}},{selector:":inactive",matches:function(p){return!p.active()}},{selector:":backgrounding",matches:function(p){return p.backgrounding()}},{selector:":nonbackgrounding",matches:function(p){return!p.backgrounding()}}].sort(function(y,p){return Pr(y.selector,p.selector)}),wtt=function(){for(var y={},p,x=0;x0&&G.edgeCount>0)return Vc("The selector `"+p+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(G.edgeCount>1)return Vc("The selector `"+p+"` is invalid because it uses multiple edge selectors"),!1;G.edgeCount===1&&Vc("The selector `"+p+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},xtt=function(){if(this.toStringCache!=null)return this.toStringCache;for(var p=function(G){return G??""},x=function(G){return yt(G)?'"'+G+'"':p(G)},C=function(G){return" "+G+" "},L=function(G,Q){var it=G.type,lt=G.value;switch(it){case ts.GROUP:{var dt=p(lt);return dt.substring(0,dt.length-1)}case ts.DATA_COMPARE:{var vt=G.field,Mt=G.operator;return"["+vt+C(p(Mt))+x(lt)+"]"}case ts.DATA_BOOL:{var kt=G.operator,It=G.field;return"["+p(kt)+It+"]"}case ts.DATA_EXIST:{var Pt=G.field;return"["+Pt+"]"}case ts.META_COMPARE:{var qt=G.operator,ce=G.field;return"[["+ce+C(p(qt))+x(lt)+"]]"}case ts.STATE:return lt;case ts.ID:return"#"+lt;case ts.CLASS:return"."+lt;case ts.PARENT:case ts.CHILD:return O(G.parent,Q)+C(">")+O(G.child,Q);case ts.ANCESTOR:case ts.DESCENDANT:return O(G.ancestor,Q)+" "+O(G.descendant,Q);case ts.COMPOUND_SPLIT:{var ee=O(G.left,Q),Ut=O(G.subject,Q),ue=O(G.right,Q);return ee+(ee.length>0?" ":"")+Ut+ue}case ts.TRUE:return""}},O=function(G,Q){return G.checks.reduce(function(it,lt,dt){return it+(Q===G&&dt===0?"$":"")+L(lt,Q)},"")},P="",$=0;$1&&$=0&&(x=x.replace("!",""),Q=!0),x.indexOf("@")>=0&&(x=x.replace("@",""),G=!0),(O||$||G)&&(H=!O&&!P?"":""+p,z=""+C),G&&(p=H=H.toLowerCase(),C=z=z.toLowerCase()),x){case"*=":L=H.indexOf(z)>=0;break;case"$=":L=H.indexOf(z,H.length-z.length)>=0;break;case"^=":L=H.indexOf(z)===0;break;case"=":L=p===C;break;case">":it=!0,L=p>C;break;case">=":it=!0,L=p>=C;break;case"<":it=!0,L=p0;){var G=L.shift();p(G),O.add(G.id()),$&&C(L,O,G)}return y}function CR(y,p,x){if(x.isParent())for(var C=x._private.children,L=0;L1&&arguments[1]!==void 0?arguments[1]:!0;return QM(this,y,p,CR)};function _R(y,p,x){if(x.isChild()){var C=x._private.parent;p.has(C.id())||y.push(C)}}r6.forEachUp=function(y){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return QM(this,y,p,_R)};function Att(y,p,x){_R(y,p,x),CR(y,p,x)}r6.forEachUpAndDown=function(y){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return QM(this,y,p,Att)},r6.ancestors=r6.parents;var j8,cg;j8=cg={data:Uc.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Uc.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Uc.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Uc.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Uc.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Uc.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var p=this[0];if(p)return p._private.data.id}},j8.attr=j8.data,j8.removeAttr=j8.removeData;var Ltt=cg,lb={};function rC(y){return function(p){var x=this;if(p===void 0&&(p=!0),x.length!==0)if(x.isNode()&&!x.removed()){for(var C=0,L=x[0],O=L._private.edges,P=0;Pp}),minIndegree:i6("indegree",function(y,p){return yp}),minOutdegree:i6("outdegree",function(y,p){return yp})}),we(lb,{totalDegree:function(p){for(var x=0,C=this.nodes(),L=0;L0,it=Q;Q&&(G=G[0]);var lt=it?G.position():{x:0,y:0};x!==void 0?z.position(p,x+lt[p]):O!==void 0&&z.position({x:O.x+lt.x,y:O.y+lt.y})}else{var dt=C.position(),vt=$?C.parent():null,Mt=vt&&vt.length>0,kt=Mt;Mt&&(vt=vt[0]);var It=kt?vt.position():{x:0,y:0};return O={x:dt.x-It.x,y:dt.y-It.y},p===void 0?O:O[p]}else if(!P)return;return this}},hb.modelPosition=hb.point=hb.position,hb.modelPositions=hb.points=hb.positions,hb.renderedPoint=hb.renderedPosition,hb.relativePoint=hb.relativePosition;var Mtt=SR,s6,fy;s6=fy={},fy.renderedBoundingBox=function(y){var p=this.boundingBox(y),x=this.cy(),C=x.zoom(),L=x.pan(),O=p.x1*C+L.x,P=p.x2*C+L.x,$=p.y1*C+L.y,H=p.y2*C+L.y;return{x1:O,x2:P,y1:$,y2:H,w:P-O,h:H-$}},fy.dirtyCompoundBoundsCache=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,p=this.cy();return!p.styleEnabled()||!p.hasCompoundNodes()?this:(this.forEachUp(function(x){if(x.isParent()){var C=x._private;C.compoundBoundsClean=!1,C.bbCache=null,y||x.emitAndNotify("bounds")}}),this)},fy.updateCompoundBounds=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,p=this.cy();if(!p.styleEnabled()||!p.hasCompoundNodes())return this;if(!y&&p.batching())return this;function x(P){if(!P.isParent())return;var $=P._private,H=P.children(),z=P.pstyle("compound-sizing-wrt-labels").value==="include",G={width:{val:P.pstyle("min-width").pfValue,left:P.pstyle("min-width-bias-left"),right:P.pstyle("min-width-bias-right")},height:{val:P.pstyle("min-height").pfValue,top:P.pstyle("min-height-bias-top"),bottom:P.pstyle("min-height-bias-bottom")}},Q=H.boundingBox({includeLabels:z,includeOverlays:!1,useCache:!1}),it=$.position;(Q.w===0||Q.h===0)&&(Q={w:P.pstyle("width").pfValue,h:P.pstyle("height").pfValue},Q.x1=it.x-Q.w/2,Q.x2=it.x+Q.w/2,Q.y1=it.y-Q.h/2,Q.y2=it.y+Q.h/2);function lt(Yt,ye,xe){var de=0,ze=0,ke=ye+xe;return Yt>0&&ke>0&&(de=ye/ke*Yt,ze=xe/ke*Yt),{biasDiff:de,biasComplementDiff:ze}}function dt(Yt,ye,xe,de){if(xe.units==="%")switch(de){case"width":return Yt>0?xe.pfValue*Yt:0;case"height":return ye>0?xe.pfValue*ye:0;case"average":return Yt>0&&ye>0?xe.pfValue*(Yt+ye)/2:0;case"min":return Yt>0&&ye>0?Yt>ye?xe.pfValue*ye:xe.pfValue*Yt:0;case"max":return Yt>0&&ye>0?Yt>ye?xe.pfValue*Yt:xe.pfValue*ye:0;default:return 0}else return xe.units==="px"?xe.pfValue:0}var vt=G.width.left.value;G.width.left.units==="px"&&G.width.val>0&&(vt=vt*100/G.width.val);var Mt=G.width.right.value;G.width.right.units==="px"&&G.width.val>0&&(Mt=Mt*100/G.width.val);var kt=G.height.top.value;G.height.top.units==="px"&&G.height.val>0&&(kt=kt*100/G.height.val);var It=G.height.bottom.value;G.height.bottom.units==="px"&&G.height.val>0&&(It=It*100/G.height.val);var Pt=lt(G.width.val-Q.w,vt,Mt),qt=Pt.biasDiff,ce=Pt.biasComplementDiff,ee=lt(G.height.val-Q.h,kt,It),Ut=ee.biasDiff,ue=ee.biasComplementDiff;$.autoPadding=dt(Q.w,Q.h,P.pstyle("padding"),P.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Q.w,G.width.val),it.x=(-qt+Q.x1+Q.x2+ce)/2,$.autoHeight=Math.max(Q.h,G.height.val),it.y=(-Ut+Q.y1+Q.y2+ue)/2}for(var C=0;Cp.x2?L:p.x2,p.y1=Cp.y2?O:p.y2,p.w=p.x2-p.x1,p.h=p.y2-p.y1)},y4=function(p,x){return x==null?p:fb(p,x.x1,x.y1,x.x2,x.y2)},$8=function(p,x,C){return ub(p,x,C)},iC=function(p,x,C){if(!x.cy().headless()){var L=x._private,O=L.rstyle,P=O.arrowWidth/2,$=x.pstyle(C+"-arrow-shape").value,H,z;if($!=="none"){C==="source"?(H=O.srcX,z=O.srcY):C==="target"?(H=O.tgtX,z=O.tgtY):(H=O.midX,z=O.midY);var G=L.arrowBounds=L.arrowBounds||{},Q=G[C]=G[C]||{};Q.x1=H-P,Q.y1=z-P,Q.x2=H+P,Q.y2=z+P,Q.w=Q.x2-Q.x1,Q.h=Q.y2-Q.y1,G9(Q,1),fb(p,Q.x1,Q.y1,Q.x2,Q.y2)}}},JM=function(p,x,C){if(!x.cy().headless()){var L;C?L=C+"-":L="";var O=x._private,P=O.rstyle,$=x.pstyle(L+"label").strValue;if($){var H=x.pstyle("text-halign"),z=x.pstyle("text-valign"),G=$8(P,"labelWidth",C),Q=$8(P,"labelHeight",C),it=$8(P,"labelX",C),lt=$8(P,"labelY",C),dt=x.pstyle(L+"text-margin-x").pfValue,vt=x.pstyle(L+"text-margin-y").pfValue,Mt=x.isEdge(),kt=x.pstyle(L+"text-rotation"),It=x.pstyle("text-outline-width").pfValue,Pt=x.pstyle("text-border-width").pfValue,qt=Pt/2,ce=x.pstyle("text-background-padding").pfValue,ee=2,Ut=Q,ue=G,Yt=ue/2,ye=Ut/2,xe,de,ze,ke;if(Mt)xe=it-Yt,de=it+Yt,ze=lt-ye,ke=lt+ye;else{switch(H.value){case"left":xe=it-ue,de=it;break;case"center":xe=it-Yt,de=it+Yt;break;case"right":xe=it,de=it+ue;break}switch(z.value){case"top":ze=lt-Ut,ke=lt;break;case"center":ze=lt-ye,ke=lt+ye;break;case"bottom":ze=lt,ke=lt+Ut;break}}xe+=dt-Math.max(It,qt)-ce-ee,de+=dt+Math.max(It,qt)+ce+ee,ze+=vt-Math.max(It,qt)-ce-ee,ke+=vt+Math.max(It,qt)+ce+ee;var xn=C||"main",tn=O.labelBounds,an=tn[xn]=tn[xn]||{};an.x1=xe,an.y1=ze,an.x2=de,an.y2=ke,an.w=de-xe,an.h=ke-ze;var Sn=Mt&&kt.strValue==="autorotate",Vn=kt.pfValue!=null&&kt.pfValue!==0;if(Sn||Vn){var or=Sn?$8(O.rstyle,"labelAngle",C):kt.pfValue,Rn=Math.cos(or),ar=Math.sin(or),yr=(xe+de)/2,kr=(ze+ke)/2;if(!Mt){switch(H.value){case"left":yr=de;break;case"right":yr=xe;break}switch(z.value){case"top":kr=ke;break;case"bottom":kr=ze;break}}var br=function(ga,Li){return ga=ga-yr,Li=Li-kr,{x:ga*Rn-Li*ar+yr,y:ga*ar+Li*Rn+kr}},dr=br(xe,ze),kn=br(xe,ke),wr=br(de,ze),Ar=br(de,ke);xe=Math.min(dr.x,kn.x,wr.x,Ar.x),de=Math.max(dr.x,kn.x,wr.x,Ar.x),ze=Math.min(dr.y,kn.y,wr.y,Ar.y),ke=Math.max(dr.y,kn.y,wr.y,Ar.y)}var ci=xn+"Rot",ui=tn[ci]=tn[ci]||{};ui.x1=xe,ui.y1=ze,ui.x2=de,ui.y2=ke,ui.w=de-xe,ui.h=ke-ze,fb(p,xe,ze,de,ke),fb(O.labelBounds.all,xe,ze,de,ke)}return p}},Dtt=function(p,x){var C=p._private.cy,L=C.styleEnabled(),O=C.headless(),P=m0(),$=p._private,H=p.isNode(),z=p.isEdge(),G,Q,it,lt,dt,vt,Mt=$.rstyle,kt=H&&L?p.pstyle("bounds-expansion").pfValue:[0],It=function(ys){return ys.pstyle("display").value!=="none"},Pt=!L||It(p)&&(!z||It(p.source())&&It(p.target()));if(Pt){var qt=0,ce=0;L&&x.includeOverlays&&(qt=p.pstyle("overlay-opacity").value,qt!==0&&(ce=p.pstyle("overlay-padding").value));var ee=0,Ut=0;L&&x.includeUnderlays&&(ee=p.pstyle("underlay-opacity").value,ee!==0&&(Ut=p.pstyle("underlay-padding").value));var ue=Math.max(ce,Ut),Yt=0,ye=0;if(L&&(Yt=p.pstyle("width").pfValue,ye=Yt/2),H&&x.includeNodes){var xe=p.position();dt=xe.x,vt=xe.y;var de=p.outerWidth(),ze=de/2,ke=p.outerHeight(),xn=ke/2;G=dt-ze,Q=dt+ze,it=vt-xn,lt=vt+xn,fb(P,G,it,Q,lt)}else if(z&&x.includeEdges)if(L&&!O){var tn=p.pstyle("curve-style").strValue;if(G=Math.min(Mt.srcX,Mt.midX,Mt.tgtX),Q=Math.max(Mt.srcX,Mt.midX,Mt.tgtX),it=Math.min(Mt.srcY,Mt.midY,Mt.tgtY),lt=Math.max(Mt.srcY,Mt.midY,Mt.tgtY),G-=ye,Q+=ye,it-=ye,lt+=ye,fb(P,G,it,Q,lt),tn==="haystack"){var an=Mt.haystackPts;if(an&&an.length===2){if(G=an[0].x,it=an[0].y,Q=an[1].x,lt=an[1].y,G>Q){var Sn=G;G=Q,Q=Sn}if(it>lt){var Vn=it;it=lt,lt=Vn}fb(P,G-ye,it-ye,Q+ye,lt+ye)}}else if(tn==="bezier"||tn==="unbundled-bezier"||tn==="segments"||tn==="taxi"){var or;switch(tn){case"bezier":case"unbundled-bezier":or=Mt.bezierPts;break;case"segments":case"taxi":or=Mt.linePts;break}if(or!=null)for(var Rn=0;RnQ){var kn=G;G=Q,Q=kn}if(it>lt){var wr=it;it=lt,lt=wr}G-=ye,Q+=ye,it-=ye,lt+=ye,fb(P,G,it,Q,lt)}if(L&&x.includeEdges&&z&&(iC(P,p,"mid-source"),iC(P,p,"mid-target"),iC(P,p,"source"),iC(P,p,"target")),L){var Ar=p.pstyle("ghost").value==="yes";if(Ar){var ci=p.pstyle("ghost-offset-x").pfValue,ui=p.pstyle("ghost-offset-y").pfValue;fb(P,P.x1+ci,P.y1+ui,P.x2+ci,P.y2+ui)}}var ps=$.bodyBounds=$.bodyBounds||{};AB(ps,P),IM(ps,kt),G9(ps,1),L&&(G=P.x1,Q=P.x2,it=P.y1,lt=P.y2,fb(P,G-ue,it-ue,Q+ue,lt+ue));var ga=$.overlayBounds=$.overlayBounds||{};AB(ga,P),IM(ga,kt),G9(ga,1);var Li=$.labelBounds=$.labelBounds||{};Li.all!=null?cQ(Li.all):Li.all=m0(),L&&x.includeLabels&&(x.includeMainLabels&&JM(P,p,null),z&&(x.includeSourceLabels&&JM(P,p,"source"),x.includeTargetLabels&&JM(P,p,"target")))}return P.x1=ap(P.x1),P.y1=ap(P.y1),P.x2=ap(P.x2),P.y2=ap(P.y2),P.w=ap(P.x2-P.x1),P.h=ap(P.y2-P.y1),P.w>0&&P.h>0&&Pt&&(IM(P,kt),G9(P,1)),P},MR=function(p){var x=0,C=function(P){return(P?1:0)<0&&arguments[0]!==void 0?arguments[0]:Htt,p=arguments.length>1?arguments[1]:void 0,x=0;x<$R.length;x++){var C=$R[x];this[C]=y[C]||jR[C]}this.context=p||this.context,this.listeners=[],this.emitting=0}var dy=aC.prototype,zR=function(p,x,C,L,O,P,$){mt(L)&&(O=L,L=null),$&&(P==null?P=$:P=we({},P,$));for(var H=gt(C)?C:C.split(/\s+/),z=0;z=0;$--)P($);return this},dy.removeAllListeners=function(){return this.removeListener("*")},dy.emit=dy.trigger=function(y,p,x){var C=this.listeners,L=C.length;return this.emitting++,gt(p)||(p=[p]),Vtt(this,function(O,P){x!=null&&(C=[{event:P.event,type:P.type,namespace:P.namespace,callback:x}],L=C.length);for(var $=function(G){var Q=C[G];if(Q.type===P.type&&(!Q.namespace||Q.namespace===P.namespace||Q.namespace===RR)&&O.eventMatches(O.context,Q,P)){var it=[P];p!=null&&TB(it,p),O.beforeEmit(O.context,Q,P),Q.conf&&Q.conf.one&&(O.listeners=O.listeners.filter(function(vt){return vt!==Q}));var lt=O.callbackContext(O.context,Q,P),dt=Q.callback.apply(lt,it);O.afterEmit(O.context,Q,P),dt===!1&&(P.stopPropagation(),P.preventDefault())}},H=0;H1&&!P){var $=this.length-1,H=this[$],z=H._private.data.id;this[$]=void 0,this[p]=H,O.set(z,{ele:H,index:p})}return this.length--,this},unmergeOne:function(p){p=p[0];var x=this._private,C=p._private.data.id,L=x.map,O=L.get(C);if(!O)return this;var P=O.index;return this.unmergeAt(P),this},unmerge:function(p){var x=this._private.cy;if(!p)return this;if(p&&yt(p)){var C=p;p=x.mutableElements().filter(C)}for(var L=0;L=0;x--){var C=this[x];p(C)&&this.unmergeAt(x)}return this},map:function(p,x){for(var C=[],L=this,O=0;OC&&(C=H,L=$)}return{value:C,ele:L}},min:function(p,x){for(var C=1/0,L,O=this,P=0;P=0&&O"u"?"undefined":f(Symbol))!=p&&f(Symbol.iterator)!=p;x&&(a6[Symbol.iterator]=function(){var C=this,L={value:void 0,done:!1},O=0,P=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,C=this[0],L=C.cy();if(L.styleEnabled()&&C){this.cleanStyle();var O=C._private.style[p];return O??(x?L.style().getDefaultProperty(p):null)}},numericStyle:function(p){var x=this[0];if(x.cy().styleEnabled()&&x){var C=x.pstyle(p);return C.pfValue!==void 0?C.pfValue:C.value}},numericStyleUnits:function(p){var x=this[0];if(x.cy().styleEnabled()&&x)return x.pstyle(p).units},renderedStyle:function(p){var x=this.cy();if(!x.styleEnabled())return this;var C=this[0];if(C)return x.style().getRenderedStyle(C,p)},style:function(p,x){var C=this.cy();if(!C.styleEnabled())return this;var L=!1,O=C.style();if(ht(p)){var P=p;O.applyBypass(this,P,L),this.emitAndNotify("style")}else if(yt(p))if(x===void 0){var $=this[0];return $?O.getStylePropertyValue($,p):void 0}else O.applyBypass(this,p,x,L),this.emitAndNotify("style");else if(p===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(p){var x=this.cy();if(!x.styleEnabled())return this;var C=!1,L=x.style(),O=this;if(p===void 0)for(var P=0;P0&&p.push(G[0]),p.push($[0])}return this.spawn(p,!0).filter(y)},"neighborhood"),closedNeighborhood:function(p){return this.neighborhood().add(this).filter(p)},openNeighborhood:function(p){return this.neighborhood(p)}}),Sf.neighbourhood=Sf.neighborhood,Sf.closedNeighbourhood=Sf.closedNeighborhood,Sf.openNeighbourhood=Sf.openNeighborhood,we(Sf,{source:sp(function(p){var x=this[0],C;return x&&(C=x._private.source||x.cy().collection()),C&&p?C.filter(p):C},"source"),target:sp(function(p){var x=this[0],C;return x&&(C=x._private.target||x.cy().collection()),C&&p?C.filter(p):C},"target"),sources:QR({attr:"source"}),targets:QR({attr:"target"})});function QR(y){return function(x){for(var C=[],L=0;L0);return P},component:function(){var p=this[0];return p.cy().mutableElements().components(p)[0]}}),Sf.componentsOf=Sf.components;var g1=function(p,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(p===void 0){jl("A collection must have a reference to the core");return}var O=new M2,P=!1;if(!x)x=[];else if(x.length>0&&ht(x[0])&&!V(x[0])){P=!0;for(var $=[],H=new Ux,z=0,G=x.length;z0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,C=x.cy(),L=C._private,O=[],P=[],$,H=0,z=x.length;H0){for(var Vn=$.length===x.length?x:new g1(C,$),or=0;or0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,C=[],L={},O=x._private.cy;function P(ke){for(var xn=ke._private.edges,tn=0;tn0&&(y?xe.emitAndNotify("remove"):p&&xe.emit("remove"));for(var de=0;de0?de=ke:xe=ke;while(Math.abs(ze)>P&&++xn<$);return ke}function ce(ye){for(var xe=0,de=1,ze=H-1;de!==ze&&it[de]<=ye;++de)xe+=z;--de;var ke=(ye-it[de])/(it[de+1]-it[de]),xn=xe+ke*z,tn=kt(xn,y,x);return tn>=O?It(ye,xn):tn===0?xn:qt(ye,xe,xe+z)}var ee=!1;function Ut(){ee=!0,(y!==p||x!==C)&&Pt()}var ue=function(xe){return ee||Ut(),y===p&&x===C?xe:xe===0?0:xe===1?1:Mt(ce(xe),p,C)};ue.getControlPoints=function(){return[{x:y,y:p},{x,y:C}]};var Yt="generateBezier("+[y,p,x,C]+")";return ue.toString=function(){return Yt},ue}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var Ztt=function(){function y(C){return-C.tension*C.x-C.friction*C.v}function p(C,L,O){var P={x:C.x+O.dx*L,v:C.v+O.dv*L,tension:C.tension,friction:C.friction};return{dx:P.v,dv:y(P)}}function x(C,L){var O={dx:C.v,dv:y(C)},P=p(C,L*.5,O),$=p(C,L*.5,P),H=p(C,L,$),z=1/6*(O.dx+2*(P.dx+$.dx)+H.dx),G=1/6*(O.dv+2*(P.dv+$.dv)+H.dv);return C.x=C.x+z*L,C.v=C.v+G*L,C}return function C(L,O,P){var $={x:-1,v:0,tension:null,friction:null},H=[0],z=0,G=1/1e4,Q=16/1e3,it,lt,dt;for(L=parseFloat(L)||500,O=parseFloat(O)||20,P=P||null,$.tension=L,$.friction=O,it=P!==null,it?(z=C(L,O),lt=z/P*Q):lt=Q;dt=x(dt||$,lt),H.push(1+dt.x),z+=16,Math.abs(dt.x)>G&&Math.abs(dt.v)>G;);return it?function(vt){return H[vt*(H.length-1)|0]}:z}}(),Bu=function(p,x,C,L){var O=Jtt(p,x,C,L);return function(P,$,H){return P+($-P)*O(H)}},uC={linear:function(p,x,C){return p+(x-p)*C},ease:Bu(.25,.1,.25,1),"ease-in":Bu(.42,0,1,1),"ease-out":Bu(0,0,.58,1),"ease-in-out":Bu(.42,0,.58,1),"ease-in-sine":Bu(.47,0,.745,.715),"ease-out-sine":Bu(.39,.575,.565,1),"ease-in-out-sine":Bu(.445,.05,.55,.95),"ease-in-quad":Bu(.55,.085,.68,.53),"ease-out-quad":Bu(.25,.46,.45,.94),"ease-in-out-quad":Bu(.455,.03,.515,.955),"ease-in-cubic":Bu(.55,.055,.675,.19),"ease-out-cubic":Bu(.215,.61,.355,1),"ease-in-out-cubic":Bu(.645,.045,.355,1),"ease-in-quart":Bu(.895,.03,.685,.22),"ease-out-quart":Bu(.165,.84,.44,1),"ease-in-out-quart":Bu(.77,0,.175,1),"ease-in-quint":Bu(.755,.05,.855,.06),"ease-out-quint":Bu(.23,1,.32,1),"ease-in-out-quint":Bu(.86,0,.07,1),"ease-in-expo":Bu(.95,.05,.795,.035),"ease-out-expo":Bu(.19,1,.22,1),"ease-in-out-expo":Bu(1,0,0,1),"ease-in-circ":Bu(.6,.04,.98,.335),"ease-out-circ":Bu(.075,.82,.165,1),"ease-in-out-circ":Bu(.785,.135,.15,.86),spring:function(p,x,C){if(C===0)return uC.linear;var L=Ztt(p,x,C);return function(O,P,$){return O+(P-O)*L($)}},"cubic-bezier":Bu};function tj(y,p,x,C,L){if(C===1||p===x)return x;var O=L(p,x,C);return y==null||((y.roundValue||y.color)&&(O=Math.round(O)),y.min!==void 0&&(O=Math.max(O,y.min)),y.max!==void 0&&(O=Math.min(O,y.max))),O}function ej(y,p){return y.pfValue!=null||y.value!=null?y.pfValue!=null&&(p==null||p.type.units!=="%")?y.pfValue:y.value:y}function c6(y,p,x,C,L){var O=L!=null?L.type:null;x<0?x=0:x>1&&(x=1);var P=ej(y,L),$=ej(p,L);if(Z(P)&&Z($))return tj(O,P,$,x,C);if(gt(P)&>($)){for(var H=[],z=0;z<$.length;z++){var G=P[z],Q=$[z];if(G!=null&&Q!=null){var it=tj(O,G,Q,x,C);H.push(it)}else H.push(Q)}return H}}function tet(y,p,x,C){var L=!C,O=y._private,P=p._private,$=P.easing,H=P.startTime,z=C?y:y.cy(),G=z.style();if(!P.easingImpl)if($==null)P.easingImpl=uC.linear;else{var Q;if(yt($)){var it=G.parse("transition-timing-function",$);Q=it.value}else Q=$;var lt,dt;yt(Q)?(lt=Q,dt=[]):(lt=Q[1],dt=Q.slice(2).map(function(Vn){return+Vn})),dt.length>0?(lt==="spring"&&dt.push(P.duration),P.easingImpl=uC[lt].apply(null,dt)):P.easingImpl=uC[lt]}var vt=P.easingImpl,Mt;if(P.duration===0?Mt=1:Mt=(x-H)/P.duration,P.applying&&(Mt=P.progress),Mt<0?Mt=0:Mt>1&&(Mt=1),P.delay==null){var kt=P.startPosition,It=P.position;if(It&&L&&!y.locked()){var Pt={};G8(kt.x,It.x)&&(Pt.x=c6(kt.x,It.x,Mt,vt)),G8(kt.y,It.y)&&(Pt.y=c6(kt.y,It.y,Mt,vt)),y.position(Pt)}var qt=P.startPan,ce=P.pan,ee=O.pan,Ut=ce!=null&&C;Ut&&(G8(qt.x,ce.x)&&(ee.x=c6(qt.x,ce.x,Mt,vt)),G8(qt.y,ce.y)&&(ee.y=c6(qt.y,ce.y,Mt,vt)),y.emit("pan"));var ue=P.startZoom,Yt=P.zoom,ye=Yt!=null&&C;ye&&(G8(ue,Yt)&&(O.zoom=I8(O.minZoom,c6(ue,Yt,Mt,vt),O.maxZoom)),y.emit("zoom")),(Ut||ye)&&y.emit("viewport");var xe=P.style;if(xe&&xe.length>0&&L){for(var de=0;de=0;Ut--){var ue=ee[Ut];ue()}ee.splice(0,ee.length)},It=lt.length-1;It>=0;It--){var Pt=lt[It],qt=Pt._private;if(qt.stopped){lt.splice(It,1),qt.hooked=!1,qt.playing=!1,qt.started=!1,kt(qt.frames);continue}!qt.playing&&!qt.applying||(qt.playing&&qt.applying&&(qt.applying=!1),qt.started||eet(G,Pt,y),tet(G,Pt,y,Q),qt.applying&&(qt.applying=!1),kt(qt.frames),qt.step!=null&&qt.step(y),Pt.completed()&&(lt.splice(It,1),qt.hooked=!1,qt.playing=!1,qt.started=!1,kt(qt.completes)),vt=!0)}return!Q&<.length===0&&dt.length===0&&C.push(G),vt}for(var O=!1,P=0;P0?p.notify("draw",x):p.notify("draw")),x.unmerge(C),p.emit("step")}var net={animate:Uc.animate(),animation:Uc.animation(),animated:Uc.animated(),clearQueue:Uc.clearQueue(),delay:Uc.delay(),delayAnimation:Uc.delayAnimation(),stop:Uc.stop(),addToAnimationPool:function(p){var x=this;x.styleEnabled()&&x._private.aniEles.merge(p)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var p=this;if(p._private.animationsRunning=!0,!p.styleEnabled())return;function x(){p._private.animationsRunning&&h1(function(O){nj(O,p),x()})}var C=p.renderer();C&&C.beforeRender?C.beforeRender(function(O,P){nj(P,p)},C.beforeRenderPriorities.animations):x()}},ret={qualifierCompare:function(p,x){return p==null||x==null?p==null&&x==null:p.sameText(x)},eventMatches:function(p,x,C){var L=x.qualifier;return L!=null?p!==C.target&&V(C.target)&&L.matches(C.target):!0},addEventFields:function(p,x){x.cy=p,x.target=p},callbackContext:function(p,x,C){return x.qualifier!=null?C.target:p}},lC=function(p){return yt(p)?new ly(p):p},rj={createEmitter:function(){var p=this._private;return p.emitter||(p.emitter=new aC(ret,this)),this},emitter:function(){return this._private.emitter},on:function(p,x,C){return this.emitter().on(p,lC(x),C),this},removeListener:function(p,x,C){return this.emitter().removeListener(p,lC(x),C),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(p,x,C){return this.emitter().one(p,lC(x),C),this},once:function(p,x,C){return this.emitter().one(p,lC(x),C),this},emit:function(p,x){return this.emitter().emit(p,x),this},emitAndNotify:function(p,x){return this.emit(p),this.notify(p,x),this}};Uc.eventAliasesOn(rj);var rD={png:function(p){var x=this._private.renderer;return p=p||{},x.png(p)},jpg:function(p){var x=this._private.renderer;return p=p||{},p.bg=p.bg||"#fff",x.jpg(p)}};rD.jpeg=rD.jpg;var hC={layout:function(p){var x=this;if(p==null){jl("Layout options must be specified to make a layout");return}if(p.name==null){jl("A `name` must be specified to make a layout");return}var C=p.name,L=x.extension("layout",C);if(L==null){jl("No such layout `"+C+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;yt(p.eles)?O=x.$(p.eles):O=p.eles!=null?p.eles:x.$();var P=new L(we({},p,{cy:x,eles:O}));return P}};hC.createLayout=hC.makeLayout=hC.layout;var iet={notify:function(p,x){var C=this._private;if(this.batching()){C.batchNotifications=C.batchNotifications||{};var L=C.batchNotifications[p]=C.batchNotifications[p]||this.collection();x!=null&&L.merge(x);return}if(C.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(p,x)}},notifications:function(p){var x=this._private;return p===void 0?x.notificationsEnabled:(x.notificationsEnabled=!!p,this)},noNotifications:function(p){this.notifications(!1),p(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var p=this._private;return p.batchCount==null&&(p.batchCount=0),p.batchCount===0&&(p.batchStyleEles=this.collection(),p.batchNotifications={}),p.batchCount++,this},endBatch:function(){var p=this._private;if(p.batchCount===0)return this;if(p.batchCount--,p.batchCount===0){p.batchStyleEles.updateStyle();var x=this.renderer();Object.keys(p.batchNotifications).forEach(function(C){var L=p.batchNotifications[C];L.empty()?x.notify(C):x.notify(C,L)})}return this},batch:function(p){return this.startBatch(),p(),this.endBatch(),this},batchData:function(p){var x=this;return this.batch(function(){for(var C=Object.keys(p),L=0;L0;)x.removeChild(x.childNodes[0]);p._private.renderer=null,p.mutableElements().forEach(function(C){var L=C._private;L.rscratch={},L.rstyle={},L.animation.current=[],L.animation.queue=[]})},onRender:function(p){return this.on("render",p)},offRender:function(p){return this.off("render",p)}};iD.invalidateDimensions=iD.resize;var fC={collection:function(p,x){return yt(p)?this.$(p):Et(p)?p.collection():gt(p)?(x||(x={}),new g1(this,p,x.unique,x.removed)):new g1(this)},nodes:function(p){var x=this.$(function(C){return C.isNode()});return p?x.filter(p):x},edges:function(p){var x=this.$(function(C){return C.isEdge()});return p?x.filter(p):x},$:function(p){var x=this._private.elements;return p?x.filter(p):x.spawnSelf()},mutableElements:function(){return this._private.elements}};fC.elements=fC.filter=fC.$;var H1={},K8="t",aet="f";H1.apply=function(y){for(var p=this,x=p._private,C=x.cy,L=C.collection(),O=0;O0;if(it||Q&<){var dt=void 0;it&<||it?dt=z.properties:lt&&(dt=z.mappedProperties);for(var vt=0;vt1&&(qt=1),$.color){var ee=C.valueMin[0],Ut=C.valueMax[0],ue=C.valueMin[1],Yt=C.valueMax[1],ye=C.valueMin[2],xe=C.valueMax[2],de=C.valueMin[3]==null?1:C.valueMin[3],ze=C.valueMax[3]==null?1:C.valueMax[3],ke=[Math.round(ee+(Ut-ee)*qt),Math.round(ue+(Yt-ue)*qt),Math.round(ye+(xe-ye)*qt),Math.round(de+(ze-de)*qt)];O={bypass:C.bypass,name:C.name,value:ke,strValue:"rgb("+ke[0]+", "+ke[1]+", "+ke[2]+")"}}else if($.number){var xn=C.valueMin+(C.valueMax-C.valueMin)*qt;O=this.parse(C.name,xn,C.bypass,it)}else return!1;if(!O)return vt(),!1;O.mapping=C,C=O;break}case P.data:{for(var tn=C.field.split("."),an=Q.data,Sn=0;Sn0&&O>0){for(var $={},H=!1,z=0;z0?y.delayAnimation(P).play().promise().then(Pt):Pt()}).then(function(){return y.animation({style:$,duration:O,easing:y.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){x.removeBypasses(y,L),y.emitAndNotify("style"),C.transitioning=!1})}else C.transitioning&&(this.removeBypasses(y,L),y.emitAndNotify("style"),C.transitioning=!1)},H1.checkTrigger=function(y,p,x,C,L,O){var P=this.properties[p],$=L(P);$!=null&&$(x,C)&&O(P)},H1.checkZOrderTrigger=function(y,p,x,C){var L=this;this.checkTrigger(y,p,x,C,function(O){return O.triggersZOrder},function(){L._private.cy.notify("zorder",y)})},H1.checkBoundsTrigger=function(y,p,x,C){this.checkTrigger(y,p,x,C,function(L){return L.triggersBounds},function(L){y.dirtyCompoundBoundsCache(),y.dirtyBoundingBoxCache(),L.triggersBoundsOfParallelBeziers&&(p==="curve-style"&&(x==="bezier"||C==="bezier")||p==="display"&&(x==="none"||C==="none"))&&y.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()})})},H1.checkTriggers=function(y,p,x,C){y.dirtyStyleCache(),this.checkZOrderTrigger(y,p,x,C),this.checkBoundsTrigger(y,p,x,C)};var W8={};W8.applyBypass=function(y,p,x,C){var L=this,O=[],P=!0;if(p==="*"||p==="**"){if(x!==void 0)for(var $=0;$L.length?C=C.substr(L.length):C=""}function H(){O.length>P.length?O=O.substr(P.length):O=""}for(;;){var z=C.match(/^\s*$/);if(z)break;var G=C.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!G){Vc("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+C);break}L=G[0];var Q=G[1];if(Q!=="core"){var it=new ly(Q);if(it.invalid){Vc("Skipping parsing of block: Invalid selector found in string stylesheet: "+Q),$();continue}}var lt=G[2],dt=!1;O=lt;for(var vt=[];;){var Mt=O.match(/^\s*$/);if(Mt)break;var kt=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!kt){Vc("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+lt),dt=!0;break}P=kt[0];var It=kt[1],Pt=kt[2],qt=p.properties[It];if(!qt){Vc("Skipping property: Invalid property name in: "+P),H();continue}var ce=x.parse(It,Pt);if(!ce){Vc("Skipping property: Invalid property definition in: "+P),H();continue}vt.push({name:It,val:Pt}),H()}if(dt){$();break}x.selector(Q);for(var ee=0;ee=7&&p[0]==="d"&&(G=new RegExp($.data.regex).exec(p))){if(x)return!1;var it=$.data;return{name:y,value:G,strValue:""+p,mapped:it,field:G[1],bypass:x}}else if(p.length>=10&&p[0]==="m"&&(Q=new RegExp($.mapData.regex).exec(p))){if(x||z.multiple)return!1;var lt=$.mapData;if(!(z.color||z.number))return!1;var dt=this.parse(y,Q[4]);if(!dt||dt.mapped)return!1;var vt=this.parse(y,Q[5]);if(!vt||vt.mapped)return!1;if(dt.pfValue===vt.pfValue||dt.strValue===vt.strValue)return Vc("`"+y+": "+p+"` is not a valid mapper because the output range is zero; converting to `"+y+": "+dt.strValue+"`"),this.parse(y,dt.strValue);if(z.color){var Mt=dt.value,kt=vt.value,It=Mt[0]===kt[0]&&Mt[1]===kt[1]&&Mt[2]===kt[2]&&(Mt[3]===kt[3]||(Mt[3]==null||Mt[3]===1)&&(kt[3]==null||kt[3]===1));if(It)return!1}return{name:y,value:Q,strValue:""+p,mapped:lt,field:Q[1],fieldMin:parseFloat(Q[2]),fieldMax:parseFloat(Q[3]),valueMin:dt.value,valueMax:vt.value,bypass:x}}}if(z.multiple&&C!=="multiple"){var Pt;if(H?Pt=p.split(/\s+/):gt(p)?Pt=p:Pt=[p],z.evenMultiple&&Pt.length%2!==0)return null;for(var qt=[],ce=[],ee=[],Ut="",ue=!1,Yt=0;Yt0?" ":"")+ye.strValue}return z.validate&&!z.validate(qt,ce)?null:z.singleEnum&&ue?qt.length===1&&yt(qt[0])?{name:y,value:qt[0],strValue:qt[0],bypass:x}:null:{name:y,value:qt,pfValue:ee,strValue:Ut,bypass:x,units:ce}}var xe=function(){for(var Ar=0;Arz.max||z.strictMax&&p===z.max))return null;var tn={name:y,value:p,strValue:""+p+(de||""),units:de,bypass:x};return z.unitless||de!=="px"&&de!=="em"?tn.pfValue=p:tn.pfValue=de==="px"||!de?p:this.getEmSizeInPixels()*p,(de==="ms"||de==="s")&&(tn.pfValue=de==="ms"?p:1e3*p),(de==="deg"||de==="rad")&&(tn.pfValue=de==="rad"?p:iQ(p)),de==="%"&&(tn.pfValue=p/100),tn}else if(z.propList){var an=[],Sn=""+p;if(Sn!=="none"){for(var Vn=Sn.split(/\s*,\s*|\s+/),or=0;or0&&$>0&&!isNaN(C.w)&&!isNaN(C.h)&&C.w>0&&C.h>0){H=Math.min((P-2*x)/C.w,($-2*x)/C.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H=C.minZoom&&(C.maxZoom=x),this},minZoom:function(p){return p===void 0?this._private.minZoom:this.zoomRange({min:p})},maxZoom:function(p){return p===void 0?this._private.maxZoom:this.zoomRange({max:p})},getZoomedViewport:function(p){var x=this._private,C=x.pan,L=x.zoom,O,P,$=!1;if(x.zoomingEnabled||($=!0),Z(p)?P=p:ht(p)&&(P=p.level,p.position!=null?O=V9(p.position,L,C):p.renderedPosition!=null&&(O=p.renderedPosition),O!=null&&!x.panningEnabled&&($=!0)),P=P>x.maxZoom?x.maxZoom:P,P=Px.maxZoom||!x.zoomingEnabled?P=!0:(x.zoom=H,O.push("zoom"))}if(L&&(!P||!p.cancelOnFailedZoom)&&x.panningEnabled){var z=p.pan;Z(z.x)&&(x.pan.x=z.x,$=!1),Z(z.y)&&(x.pan.y=z.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(p){var x=this.getCenterPan(p);return x&&(this._private.pan=x,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(p,x){if(this._private.panningEnabled){if(yt(p)){var C=p;p=this.mutableElements().filter(C)}else Et(p)||(p=this.mutableElements());if(p.length!==0){var L=p.boundingBox(),O=this.width(),P=this.height();x=x===void 0?this._private.zoom:x;var $={x:(O-x*(L.x1+L.x2))/2,y:(P-x*(L.y1+L.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var p=this._private,x=p.container;return p.sizeCache=p.sizeCache||(x?function(){var C=R.getComputedStyle(x),L=function(P){return parseFloat(C.getPropertyValue(P))};return{width:x.clientWidth-L("padding-left")-L("padding-right"),height:x.clientHeight-L("padding-top")-L("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var p=this._private.pan,x=this._private.zoom,C=this.renderedExtent(),L={x1:(C.x1-p.x)/x,x2:(C.x2-p.x)/x,y1:(C.y1-p.y)/x,y2:(C.y2-p.y)/x};return L.w=L.x2-L.x1,L.h=L.y2-L.y1,L},renderedExtent:function(){var p=this.width(),x=this.height();return{x1:0,y1:0,x2:p,y2:x,w:p,h:x}},multiClickDebounceTime:function(p){if(p)this._private.multiClickDebounceTime=p;else return this._private.multiClickDebounceTime;return this}};T4.centre=T4.center,T4.autolockNodes=T4.autolock,T4.autoungrabifyNodes=T4.autoungrabify;var Y8={data:Uc.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Uc.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Uc.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Uc.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Y8.attr=Y8.data,Y8.removeAttr=Y8.removeData;var X8=function(p){var x=this;p=we({},p);var C=p.container;C&&!Y(C)&&Y(C[0])&&(C=C[0]);var L=C?C._cyreg:null;L=L||{},L&&L.cy&&(L.cy.destroy(),L={});var O=L.readies=L.readies||[];C&&(C._cyreg=L),L.cy=x;var P=R!==void 0&&C!==void 0&&!p.headless,$=p;$.layout=we({name:P?"grid":"null"},$.layout),$.renderer=we({name:P?"canvas":"null"},$.renderer);var H=function(dt,vt,Mt){return vt!==void 0?vt:Mt!==void 0?Mt:dt},z=this._private={container:C,ready:!1,options:$,elements:new g1(this),listeners:[],aniEles:new g1(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,$.zoomingEnabled),userZoomingEnabled:H(!0,$.userZoomingEnabled),panningEnabled:H(!0,$.panningEnabled),userPanningEnabled:H(!0,$.userPanningEnabled),boxSelectionEnabled:H(!0,$.boxSelectionEnabled),autolock:H(!1,$.autolock,$.autolockNodes),autoungrabify:H(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:H(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?P:$.styleEnabled,zoom:Z($.zoom)?$.zoom:1,pan:{x:ht($.pan)&&Z($.pan.x)?$.pan.x:0,y:ht($.pan)&&Z($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var G=function(dt,vt){var Mt=dt.some(Gt);if(Mt)return Jx.all(dt).then(vt);vt(dt)};z.styleEnabled&&x.setStyle([]);var Q=we({},$,$.renderer);x.initRenderer(Q);var it=function(dt,vt,Mt){x.notifications(!1);var kt=x.mutableElements();kt.length>0&&kt.remove(),dt!=null&&(ht(dt)||gt(dt))&&x.add(dt),x.one("layoutready",function(Pt){x.notifications(!0),x.emit(Pt),x.one("load",vt),x.emitAndNotify("load")}).one("layoutstop",function(){x.one("done",Mt),x.emit("done")});var It=we({},x._private.options.layout);It.eles=x.elements(),x.layout(It).run()};G([$.style,$.elements],function(lt){var dt=lt[0],vt=lt[1];z.styleEnabled&&x.style().append(dt),it(vt,function(){x.startAnimationLoop(),z.ready=!0,mt($.ready)&&x.on("ready",$.ready);for(var Mt=0;Mt0,H=m0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),z;if(Et(p.roots))z=p.roots;else if(gt(p.roots)){for(var G=[],Q=0;Q0;){var xn=ke(),tn=ye(xn,de);if(tn)xn.outgoers().filter(function(Li){return Li.isNode()&&C.has(Li)}).forEach(ze);else if(tn===null){Vc("Detected double maximal shift for node `"+xn.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Yt();var an=0;if(p.avoidOverlap)for(var Sn=0;Sn0&&kt[0].length<=3?Ws/2:0),Kn=2*Math.PI/kt[Xi].length*li;return Xi===0&&kt[0].length===1&&(re=1),{x:ui.x+re*Math.cos(Kn),y:ui.y+re*Math.sin(Kn)}}else{var Nr={x:ui.x+(li+1-(qi+1)/2)*Ao,y:(Xi+1)*Ka};return Nr}};return C.nodes().layoutPositions(this,p,ga),this};var het={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function aj(y){this.options=we({},het,y)}aj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=p.counterclockwise!==void 0?!p.counterclockwise:p.clockwise,O=C.nodes().not(":parent");p.sort&&(O=O.sort(p.sort));for(var P=m0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},H=p.sweep===void 0?2*Math.PI-2*Math.PI/O.length:p.sweep,z=H/Math.max(1,O.length-1),G,Q=0,it=0;it1&&p.avoidOverlap){Q*=1.75;var kt=Math.cos(z)-Math.cos(0),It=Math.sin(z)-Math.sin(0),Pt=Math.sqrt(Q*Q/(kt*kt+It*It));G=Math.max(Pt,G)}var qt=function(ee,Ut){var ue=p.startAngle+Ut*z*(L?1:-1),Yt=G*Math.cos(ue),ye=G*Math.sin(ue),xe={x:$.x+Yt,y:$.y+ye};return xe};return C.nodes().layoutPositions(this,p,qt),this};var fet={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(p){return p.degree()},levelWidth:function(p){return p.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function oj(y){this.options=we({},fet,y)}oj.prototype.run=function(){for(var y=this.options,p=y,x=p.counterclockwise!==void 0?!p.counterclockwise:p.clockwise,C=y.cy,L=p.eles,O=L.nodes().not(":parent"),P=m0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:C.width(),h:C.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},H=[],z=0,G=0;G0){var ce=Math.abs(It[0].value-qt.value);ce>=Mt&&(It=[],kt.push(It))}It.push(qt)}var ee=z+p.minNodeSpacing;if(!p.avoidOverlap){var Ut=kt.length>0&&kt[0].length>1,ue=Math.min(P.w,P.h)/2-ee,Yt=ue/(kt.length+Ut?1:0);ee=Math.min(ee,Yt)}for(var ye=0,xe=0;xe1&&p.avoidOverlap){var xn=Math.cos(ke)-Math.cos(0),tn=Math.sin(ke)-Math.sin(0),an=Math.sqrt(ee*ee/(xn*xn+tn*tn));ye=Math.max(an,ye)}de.r=ye,ye+=ee}if(p.equidistant){for(var Sn=0,Vn=0,or=0;or=y.numIter||(yet(C,y),C.temperature=C.temperature*y.coolingFactor,C.temperature=y.animationThreshold&&O(),h1(Q)}};G()}else{for(;z;)z=P(H),H++;lj(C,y),$()}return this},bC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},bC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var get=function(p,x,C){for(var L=C.eles.edges(),O=C.eles.nodes(),P={isCompound:p.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:L.size(),temperature:C.initialTemp,clientWidth:p.width(),clientHeight:p.width(),boundingBox:m0(C.boundingBox?C.boundingBox:{x1:0,y1:0,w:p.width(),h:p.height()})},$=C.eles.components(),H={},z=0;z<$.length;z++)for(var G=$[z],Q=0;Q0){P.graphSet.push(Ut);for(var z=0;zL.count?0:L.graph},bet=function y(p,x,C,L){var O=L.graphSet[C];if(-10)var Q=L.nodeOverlap*G,it=Math.sqrt($*$+H*H),lt=Q*$/it,dt=Q*H/it;else var vt=wC(p,$,H),Mt=wC(x,-1*$,-1*H),kt=Mt.x-vt.x,It=Mt.y-vt.y,Pt=kt*kt+It*It,it=Math.sqrt(Pt),Q=(p.nodeRepulsion+x.nodeRepulsion)/Pt,lt=Q*kt/it,dt=Q*It/it;p.isLocked||(p.offsetX-=lt,p.offsetY-=dt),x.isLocked||(x.offsetX+=lt,x.offsetY+=dt)}},Eet=function(p,x,C,L){if(C>0)var O=p.maxX-x.minX;else var O=x.maxX-p.minX;if(L>0)var P=p.maxY-x.minY;else var P=x.maxY-p.minY;return O>=0&&P>=0?Math.sqrt(O*O+P*P):0},wC=function(p,x,C){var L=p.positionX,O=p.positionY,P=p.height||1,$=p.width||1,H=C/x,z=P/$,G={};return x===0&&0C?(G.x=L,G.y=O+P/2,G):0x&&-1*z<=H&&H<=z?(G.x=L-$/2,G.y=O-$*C/2/x,G):0=z)?(G.x=L+P*x/2/C,G.y=O+P/2,G):(0>C&&(H<=-1*z||H>=z)&&(G.x=L-P*x/2/C,G.y=O-P/2),G)},Tet=function(p,x){for(var C=0;CC){var Mt=x.gravity*lt/vt,kt=x.gravity*dt/vt;it.offsetX+=Mt,it.offsetY+=kt}}}}},_et=function(p,x){var C=[],L=0,O=-1;for(C.push.apply(C,p.graphSet[0]),O+=p.graphSet[0].length;L<=O;){var P=C[L++],$=p.idToIndex[P],H=p.layoutNodes[$],z=H.children;if(0C)var O={x:C*p/L,y:C*x/L};else var O={x:p,y:x};return O},Met=function y(p,x){var C=p.parentId;if(C!=null){var L=x.layoutNodes[x.idToIndex[C]],O=!1;if((L.maxX==null||p.maxX+L.padRight>L.maxX)&&(L.maxX=p.maxX+L.padRight,O=!0),(L.minX==null||p.minX-L.padLeftL.maxY)&&(L.maxY=p.maxY+L.padBottom,O=!0),(L.minY==null||p.minY-L.padTopkt&&(dt+=Mt+x.componentSpacing,lt=0,vt=0,Mt=0)}}},Det={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(p){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(p,x){return!0},ready:void 0,stop:void 0,transform:function(p,x){return x}};function hj(y){this.options=we({},Det,y)}hj.prototype.run=function(){var y=this.options,p=y,x=y.cy,C=p.eles,L=C.nodes().not(":parent");p.sort&&(L=L.sort(p.sort));var O=m0(p.boundingBox?p.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()});if(O.h===0||O.w===0)C.nodes().layoutPositions(this,p,function(yr){return{x:O.x1,y:O.y1}});else{var P=L.size(),$=Math.sqrt(P*O.h/O.w),H=Math.round($),z=Math.round(O.w/O.h*$),G=function(kr){if(kr==null)return Math.min(H,z);var br=Math.min(H,z);br==H?H=kr:z=kr},Q=function(kr){if(kr==null)return Math.max(H,z);var br=Math.max(H,z);br==H?H=kr:z=kr},it=p.rows,lt=p.cols!=null?p.cols:p.columns;if(it!=null&<!=null)H=it,z=lt;else if(it!=null&<==null)H=it,z=Math.ceil(P/H);else if(it==null&<!=null)z=lt,H=Math.ceil(P/z);else if(z*H>P){var dt=G(),vt=Q();(dt-1)*vt>=P?G(dt-1):(vt-1)*dt>=P&&Q(vt-1)}else for(;z*H=P?Q(kt+1):G(Mt+1)}var It=O.w/z,Pt=O.h/H;if(p.condense&&(It=0,Pt=0),p.avoidOverlap)for(var qt=0;qt=z&&(xn=0,ke++)},an={},Sn=0;Sn(xn=wQ(y,p,tn[an],tn[an+1],tn[an+2],tn[an+3])))return Mt(Ut,xn),!0}else if(Yt.edgeType==="bezier"||Yt.edgeType==="multibezier"||Yt.edgeType==="self"||Yt.edgeType==="compound"){for(var tn=Yt.allpts,an=0;an+5(xn=bQ(y,p,tn[an],tn[an+1],tn[an+2],tn[an+3],tn[an+4],tn[an+5])))return Mt(Ut,xn),!0}for(var Sn=Sn||ue.source,Vn=Vn||ue.target,or=L.getArrowWidth(ye,xe),Rn=[{name:"source",x:Yt.arrowStartX,y:Yt.arrowStartY,angle:Yt.srcArrowAngle},{name:"target",x:Yt.arrowEndX,y:Yt.arrowEndY,angle:Yt.tgtArrowAngle},{name:"mid-source",x:Yt.midX,y:Yt.midY,angle:Yt.midsrcArrowAngle},{name:"mid-target",x:Yt.midX,y:Yt.midY,angle:Yt.midtgtArrowAngle}],an=0;an0&&(kt(Sn),kt(Vn))}function Pt(Ut,ue,Yt){return ub(Ut,ue,Yt)}function qt(Ut,ue){var Yt=Ut._private,ye=it,xe;ue?xe=ue+"-":xe="",Ut.boundingBox();var de=Yt.labelBounds[ue||"main"],ze=Ut.pstyle(xe+"label").value,ke=Ut.pstyle("text-events").strValue==="yes";if(!(!ke||!ze)){var xn=Pt(Yt.rscratch,"labelX",ue),tn=Pt(Yt.rscratch,"labelY",ue),an=Pt(Yt.rscratch,"labelAngle",ue),Sn=Ut.pstyle(xe+"text-margin-x").pfValue,Vn=Ut.pstyle(xe+"text-margin-y").pfValue,or=de.x1-ye-Sn,Rn=de.x2+ye-Sn,ar=de.y1-ye-Vn,yr=de.y2+ye-Vn;if(an){var kr=Math.cos(an),br=Math.sin(an),dr=function(ga,Li){return ga=ga-xn,Li=Li-tn,{x:ga*kr-Li*br+xn,y:ga*br+Li*kr+tn}},kn=dr(or,ar),wr=dr(or,yr),Ar=dr(Rn,ar),ci=dr(Rn,yr),ui=[kn.x+Sn,kn.y+Vn,Ar.x+Sn,Ar.y+Vn,ci.x+Sn,ci.y+Vn,wr.x+Sn,wr.y+Vn];if(v0(y,p,ui))return Mt(Ut),!0}else if(Wx(de,y,p))return Mt(Ut),!0}}for(var ce=P.length-1;ce>=0;ce--){var ee=P[ce];ee.isNode()?kt(ee)||qt(ee):It(ee)||qt(ee)||qt(ee,"source")||qt(ee,"target")}return $},C4.getAllInBox=function(y,p,x,C){var L=this.getCachedZSortedEles().interactive,O=[],P=Math.min(y,x),$=Math.max(y,x),H=Math.min(p,C),z=Math.max(p,C);y=P,x=$,p=H,C=z;for(var G=m0({x1:y,y1:p,x2:x,y2:C}),Q=0;Q0?Math.max(as-Qn,0):Math.min(as+Qn,0)},ze=de(ye,ue),ke=de(xe,Yt),xn=!1;It===z?kt=Math.abs(ze)>Math.abs(ke)?L:C:It===H||It===$?(kt=C,xn=!0):(It===O||It===P)&&(kt=L,xn=!0);var tn=kt===C,an=tn?ke:ze,Sn=tn?xe:ye,Vn=SB(Sn),or=!1;!(xn&&(qt||ee))&&(It===$&&Sn<0||It===H&&Sn>0||It===O&&Sn>0||It===P&&Sn<0)&&(Vn*=-1,an=Vn*Math.abs(an),or=!0);var Rn;if(qt){var ar=ce<0?1+ce:ce;Rn=ar*an}else{var yr=ce<0?an:0;Rn=yr+ce*Vn}var kr=function(as){return Math.abs(as)=Math.abs(an)},br=kr(Rn),dr=kr(Math.abs(an)-Math.abs(Rn)),kn=br||dr;if(kn&&!or)if(tn){var wr=Math.abs(Sn)<=it/2,Ar=Math.abs(ye)<=lt/2;if(wr){var ci=(G.x1+G.x2)/2,ui=G.y1,ps=G.y2;x.segpts=[ci,ui,ci,ps]}else if(Ar){var ga=(G.y1+G.y2)/2,Li=G.x1,mi=G.x2;x.segpts=[Li,ga,mi,ga]}else x.segpts=[G.x1,G.y2]}else{var ys=Math.abs(Sn)<=Q/2,Xi=Math.abs(xe)<=dt/2;if(ys){var li=(G.y1+G.y2)/2,qi=G.x1,Ao=G.x2;x.segpts=[qi,li,Ao,li]}else if(Xi){var Ka=(G.x1+G.x2)/2,Ws=G.y1,Nr=G.y2;x.segpts=[Ka,Ws,Ka,Nr]}else x.segpts=[G.x2,G.y1]}else if(tn){var re=G.y1+Rn+(Mt?it/2*Vn:0),Kn=G.x1,jr=G.x2;x.segpts=[Kn,re,jr,re]}else{var hr=G.x1+Rn+(Mt?Q/2*Vn:0),J=G.y1,Wa=G.y2;x.segpts=[hr,J,hr,Wa]}},Id.tryToCorrectInvalidPoints=function(y,p){var x=y._private.rscratch;if(x.edgeType==="bezier"){var C=p.srcPos,L=p.tgtPos,O=p.srcW,P=p.srcH,$=p.tgtW,H=p.tgtH,z=p.srcShape,G=p.tgtShape,Q=!Z(x.startX)||!Z(x.startY),it=!Z(x.arrowStartX)||!Z(x.arrowStartY),lt=!Z(x.endX)||!Z(x.endY),dt=!Z(x.arrowEndX)||!Z(x.arrowEndY),vt=3,Mt=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth,kt=vt*Mt,It=p4({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.startX,y:x.startY}),Pt=Itke.poolIndex()){var xn=ze;ze=ke,ke=xn}var tn=Yt.srcPos=ze.position(),an=Yt.tgtPos=ke.position(),Sn=Yt.srcW=ze.outerWidth(),Vn=Yt.srcH=ze.outerHeight(),or=Yt.tgtW=ke.outerWidth(),Rn=Yt.tgtH=ke.outerHeight(),ar=Yt.srcShape=x.nodeShapes[p.getNodeShape(ze)],yr=Yt.tgtShape=x.nodeShapes[p.getNodeShape(ke)];Yt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var kr=0;kr0){var wr=O,Ar=b4(wr,Gx(x)),ci=b4(wr,Gx(kn)),ui=Ar;if(ci2){var ps=b4(wr,{x:kn[2],y:kn[3]});ps0){var Kn=P,jr=b4(Kn,Gx(x)),hr=b4(Kn,Gx(re)),J=jr;if(hr2){var Wa=b4(Kn,{x:re[2],y:re[3]});Wa=dt||Ut){Mt={cp:qt,segment:ee};break}}if(Mt)break}var ue=Mt.cp,Yt=Mt.segment,ye=(dt-kt)/Yt.length,xe=Yt.t1-Yt.t0,de=lt?Yt.t0+xe*ye:Yt.t1-xe*ye;de=I8(0,de,1),p=Kx(ue.p0,ue.p1,ue.p2,de),it=Bet(ue.p0,ue.p1,ue.p2,de);break}case"straight":case"segments":case"haystack":{for(var ze=0,ke,xn,tn,an,Sn=C.allpts.length,Vn=0;Vn+3=dt));Vn+=2);var or=dt-xn,Rn=or/ke;Rn=I8(0,Rn,1),p=aQ(tn,an,Rn),it=hD(tn,an);break}}P("labelX",Q,p.x),P("labelY",Q,p.y),P("labelAutoAngle",Q,it)}};z("source"),z("target"),this.applyLabelDimensions(y)}},I2.applyLabelDimensions=function(y){this.applyPrefixedLabelDimensions(y),y.isEdge()&&(this.applyPrefixedLabelDimensions(y,"source"),this.applyPrefixedLabelDimensions(y,"target"))},I2.applyPrefixedLabelDimensions=function(y,p){var x=y._private,C=this.getLabelText(y,p),L=this.calculateLabelDimensions(y,C),O=y.pstyle("line-height").pfValue,P=y.pstyle("text-wrap").strValue,$=ub(x.rscratch,"labelWrapCachedLines",p)||[],H=P!=="wrap"?1:Math.max($.length,1),z=L.height/H,G=z*O,Q=L.width,it=L.height+(H-1)*(O-1)*z;oy(x.rstyle,"labelWidth",p,Q),oy(x.rscratch,"labelWidth",p,Q),oy(x.rstyle,"labelHeight",p,it),oy(x.rscratch,"labelHeight",p,it),oy(x.rscratch,"labelLineHeight",p,G)},I2.getLabelText=function(y,p){var x=y._private,C=p?p+"-":"",L=y.pstyle(C+"label").strValue,O=y.pstyle("text-transform").value,P=function(or,Rn){return Rn?(oy(x.rscratch,or,p,Rn),Rn):ub(x.rscratch,or,p)};if(!L)return"";O=="none"||(O=="uppercase"?L=L.toUpperCase():O=="lowercase"&&(L=L.toLowerCase()));var $=y.pstyle("text-wrap").value;if($==="wrap"){var H=P("labelKey");if(H!=null&&P("labelWrapKey")===H)return P("labelWrapCachedText");for(var z="​",G=L.split(` +`),Q=y.pstyle("text-max-width").pfValue,it=y.pstyle("text-overflow-wrap").value,lt=it==="anywhere",dt=[],vt=/[\s\u200b]+/,Mt=lt?"":" ",kt=0;ktQ){for(var ee=It.split(vt),Ut="",ue=0;ueze)break;ke+=L[an],an===L.length-1&&(tn=!0)}return tn||(ke+=xn),ke}return L},I2.getLabelJustification=function(y){var p=y.pstyle("text-justification").strValue,x=y.pstyle("text-halign").strValue;if(p==="auto")if(y.isNode())switch(x){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return p},I2.calculateLabelDimensions=function(y,p){var x=this,C=Ld(p,y._private.labelDimsKey),L=x.labelDimCache||(x.labelDimCache=[]),O=L[C];if(O!=null)return O;var P=0,$=y.pstyle("font-style").strValue,H=y.pstyle("font-size").pfValue,z=y.pstyle("font-family").strValue,G=y.pstyle("font-weight").strValue,Q=this.labelCalcCanvas,it=this.labelCalcCanvasContext;if(!Q){Q=this.labelCalcCanvas=document.createElement("canvas"),it=this.labelCalcCanvasContext=Q.getContext("2d");var lt=Q.style;lt.position="absolute",lt.left="-9999px",lt.top="-9999px",lt.zIndex="-1",lt.visibility="hidden",lt.pointerEvents="none"}it.font="".concat($," ").concat(G," ").concat(H,"px ").concat(z);for(var dt=0,vt=0,Mt=p.split(` +`),kt=0;kt1&&arguments[1]!==void 0?arguments[1]:!0;if(p.merge(P),$)for(var H=0;H=y.desktopTapThreshold2}var om=C(re);Lf&&(y.hoverData.tapholdCancelled=!0);var by=function(){var P2=y.hoverData.dragDelta=y.hoverData.dragDelta||[];P2.length===0?(P2.push(lo[0]),P2.push(lo[1])):(P2[0]+=lo[0],P2[1]+=lo[1])};jr=!0,x(uo,["mousemove","vmousemove","tapdrag"],re,{x:$r[0],y:$r[1]});var w6=function(){y.data.bgActivePosistion=void 0,y.hoverData.selecting||hr.emit({originalEvent:re,type:"boxstart",position:{x:$r[0],y:$r[1]}}),Jc[4]=1,y.hoverData.selecting=!0,y.redrawHint("select",!0),y.redraw()};if(y.hoverData.which===3){if(Lf){var _4={originalEvent:re,type:"cxtdrag",position:{x:$r[0],y:$r[1]}};za?za.emit(_4):hr.emit(_4),y.hoverData.cxtDragged=!0,(!y.hoverData.cxtOver||uo!==y.hoverData.cxtOver)&&(y.hoverData.cxtOver&&y.hoverData.cxtOver.emit({originalEvent:re,type:"cxtdragout",position:{x:$r[0],y:$r[1]}}),y.hoverData.cxtOver=uo,uo&&uo.emit({originalEvent:re,type:"cxtdragover",position:{x:$r[0],y:$r[1]}}))}}else if(y.hoverData.dragging){if(jr=!0,hr.panningEnabled()&&hr.userPanningEnabled()){var m6;if(y.hoverData.justStartedPan){var SC=y.hoverData.mdownPos;m6={x:($r[0]-SC[0])*J,y:($r[1]-SC[1])*J},y.hoverData.justStartedPan=!1}else m6={x:lo[0]*J,y:lo[1]*J};hr.panBy(m6),hr.emit("dragpan"),y.hoverData.dragged=!0}$r=y.projectIntoViewport(re.clientX,re.clientY)}else if(Jc[4]==1&&(za==null||za.pannable())){if(Lf){if(!y.hoverData.dragging&&hr.boxSelectionEnabled()&&(om||!hr.panningEnabled()||!hr.userPanningEnabled()))w6();else if(!y.hoverData.selecting&&hr.panningEnabled()&&hr.userPanningEnabled()){var S4=L(za,y.hoverData.downs);S4&&(y.hoverData.dragging=!0,y.hoverData.justStartedPan=!0,Jc[4]=0,y.data.bgActivePosistion=Gx(as),y.redrawHint("select",!0),y.redraw())}za&&za.pannable()&&za.active()&&za.unactivate()}}else{if(za&&za.pannable()&&za.active()&&za.unactivate(),(!za||!za.grabbed())&&uo!=Dc&&(Dc&&x(Dc,["mouseout","tapdragout"],re,{x:$r[0],y:$r[1]}),uo&&x(uo,["mouseover","tapdragover"],re,{x:$r[0],y:$r[1]}),y.hoverData.last=uo),za)if(Lf){if(hr.boxSelectionEnabled()&&om)za&&za.grabbed()&&(vt(_l),za.emit("freeon"),_l.emit("free"),y.dragData.didDrag&&(za.emit("dragfreeon"),_l.emit("dragfree"))),w6();else if(za&&za.grabbed()&&y.nodeIsDraggable(za)){var y0=!y.dragData.didDrag;y0&&y.redrawHint("eles",!0),y.dragData.didDrag=!0,y.hoverData.draggingEles||lt(_l,{inDragLayer:!0});var G1={x:0,y:0};if(Z(lo[0])&&Z(lo[1])&&(G1.x+=lo[0],G1.y+=lo[1],y0)){var x0=y.hoverData.dragDelta;x0&&Z(x0[0])&&Z(x0[1])&&(G1.x+=x0[0],G1.y+=x0[1])}y.hoverData.draggingEles=!0,_l.silentShift(G1).emit("position drag"),y.redrawHint("drag",!0),y.redraw()}}else by();jr=!0}if(Jc[2]=$r[0],Jc[3]=$r[1],jr)return re.stopPropagation&&re.stopPropagation(),re.preventDefault&&re.preventDefault(),!1}},!1);var Yt,ye,xe;y.registerBinding(window,"mouseup",function(re){var Kn=y.hoverData.capture;if(Kn){y.hoverData.capture=!1;var jr=y.cy,hr=y.projectIntoViewport(re.clientX,re.clientY),J=y.selection,Wa=y.findNearestElement(hr[0],hr[1],!0,!1),$r=y.dragData.possibleDragElements,as=y.hoverData.down,Qn=C(re);if(y.data.bgActivePosistion&&(y.redrawHint("select",!0),y.redraw()),y.hoverData.tapholdCancelled=!0,y.data.bgActivePosistion=void 0,as&&as.unactivate(),y.hoverData.which===3){var Jc={originalEvent:re,type:"cxttapend",position:{x:hr[0],y:hr[1]}};if(as?as.emit(Jc):jr.emit(Jc),!y.hoverData.cxtDragged){var uo={originalEvent:re,type:"cxttap",position:{x:hr[0],y:hr[1]}};as?as.emit(uo):jr.emit(uo)}y.hoverData.cxtDragged=!1,y.hoverData.which=null}else if(y.hoverData.which===1){if(x(Wa,["mouseup","tapend","vmouseup"],re,{x:hr[0],y:hr[1]}),!y.dragData.didDrag&&!y.hoverData.dragged&&!y.hoverData.selecting&&!y.hoverData.isOverThresholdDrag&&(x(as,["click","tap","vclick"],re,{x:hr[0],y:hr[1]}),ye=!1,re.timeStamp-xe<=jr.multiClickDebounceTime()?(Yt&&clearTimeout(Yt),ye=!0,xe=null,x(as,["dblclick","dbltap","vdblclick"],re,{x:hr[0],y:hr[1]})):(Yt=setTimeout(function(){ye||x(as,["oneclick","onetap","voneclick"],re,{x:hr[0],y:hr[1]})},jr.multiClickDebounceTime()),xe=re.timeStamp)),as==null&&!y.dragData.didDrag&&!y.hoverData.selecting&&!y.hoverData.dragged&&!C(re)&&(jr.$(p).unselect(["tapunselect"]),$r.length>0&&y.redrawHint("eles",!0),y.dragData.possibleDragElements=$r=jr.collection()),Wa==as&&!y.dragData.didDrag&&!y.hoverData.selecting&&Wa!=null&&Wa._private.selectable&&(y.hoverData.dragging||(jr.selectionType()==="additive"||Qn?Wa.selected()?Wa.unselect(["tapunselect"]):Wa.select(["tapselect"]):Qn||(jr.$(p).unmerge(Wa).unselect(["tapunselect"]),Wa.select(["tapselect"]))),y.redrawHint("eles",!0)),y.hoverData.selecting){var Dc=jr.collection(y.getAllInBox(J[0],J[1],J[2],J[3]));y.redrawHint("select",!0),Dc.length>0&&y.redrawHint("eles",!0),jr.emit({type:"boxend",originalEvent:re,position:{x:hr[0],y:hr[1]}});var za=function(Lf){return Lf.selectable()&&!Lf.selected()};jr.selectionType()==="additive"||Qn||jr.$(p).unmerge(Dc).unselect(),Dc.emit("box").stdFilter(za).select().emit("boxselect"),y.redraw()}if(y.hoverData.dragging&&(y.hoverData.dragging=!1,y.redrawHint("select",!0),y.redrawHint("eles",!0),y.redraw()),!J[4]){y.redrawHint("drag",!0),y.redrawHint("eles",!0);var lo=as&&as.grabbed();vt($r),lo&&(as.emit("freeon"),$r.emit("free"),y.dragData.didDrag&&(as.emit("dragfreeon"),$r.emit("dragfree")))}}J[4]=0,y.hoverData.down=null,y.hoverData.cxtStarted=!1,y.hoverData.draggingEles=!1,y.hoverData.selecting=!1,y.hoverData.isOverThresholdDrag=!1,y.dragData.didDrag=!1,y.hoverData.dragged=!1,y.hoverData.dragDelta=[],y.hoverData.mdownPos=null,y.hoverData.mdownGPos=null}},!1);var de=function(re){if(!y.scrollingPage){var Kn=y.cy,jr=Kn.zoom(),hr=Kn.pan(),J=y.projectIntoViewport(re.clientX,re.clientY),Wa=[J[0]*jr+hr.x,J[1]*jr+hr.y];if(y.hoverData.draggingEles||y.hoverData.dragging||y.hoverData.cxtStarted||Ut()){re.preventDefault();return}if(Kn.panningEnabled()&&Kn.userPanningEnabled()&&Kn.zoomingEnabled()&&Kn.userZoomingEnabled()){re.preventDefault(),y.data.wheelZooming=!0,clearTimeout(y.data.wheelTimeout),y.data.wheelTimeout=setTimeout(function(){y.data.wheelZooming=!1,y.redrawHint("eles",!0),y.redraw()},150);var $r;re.deltaY!=null?$r=re.deltaY/-250:re.wheelDeltaY!=null?$r=re.wheelDeltaY/1e3:$r=re.wheelDelta/1e3,$r=$r*y.wheelSensitivity;var as=re.deltaMode===1;as&&($r*=33);var Qn=Kn.zoom()*Math.pow(10,$r);re.type==="gesturechange"&&(Qn=y.gestureStartZoom*re.scale),Kn.zoom({level:Qn,renderedPosition:{x:Wa[0],y:Wa[1]}}),Kn.emit(re.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};y.registerBinding(y.container,"wheel",de,!0),y.registerBinding(window,"scroll",function(re){y.scrollingPage=!0,clearTimeout(y.scrollingPageTimeout),y.scrollingPageTimeout=setTimeout(function(){y.scrollingPage=!1},250)},!0),y.registerBinding(y.container,"gesturestart",function(re){y.gestureStartZoom=y.cy.zoom(),y.hasTouchStarted||re.preventDefault()},!0),y.registerBinding(y.container,"gesturechange",function(Nr){y.hasTouchStarted||de(Nr)},!0),y.registerBinding(y.container,"mouseout",function(re){var Kn=y.projectIntoViewport(re.clientX,re.clientY);y.cy.emit({originalEvent:re,type:"mouseout",position:{x:Kn[0],y:Kn[1]}})},!1),y.registerBinding(y.container,"mouseover",function(re){var Kn=y.projectIntoViewport(re.clientX,re.clientY);y.cy.emit({originalEvent:re,type:"mouseover",position:{x:Kn[0],y:Kn[1]}})},!1);var ze,ke,xn,tn,an,Sn,Vn,or,Rn,ar,yr,kr,br,dr=function(re,Kn,jr,hr){return Math.sqrt((jr-re)*(jr-re)+(hr-Kn)*(hr-Kn))},kn=function(re,Kn,jr,hr){return(jr-re)*(jr-re)+(hr-Kn)*(hr-Kn)},wr;y.registerBinding(y.container,"touchstart",wr=function(re){if(y.hasTouchStarted=!0,!!ue(re)){kt(),y.touchData.capture=!0,y.data.bgActivePosistion=void 0;var Kn=y.cy,jr=y.touchData.now,hr=y.touchData.earlier;if(re.touches[0]){var J=y.projectIntoViewport(re.touches[0].clientX,re.touches[0].clientY);jr[0]=J[0],jr[1]=J[1]}if(re.touches[1]){var J=y.projectIntoViewport(re.touches[1].clientX,re.touches[1].clientY);jr[2]=J[0],jr[3]=J[1]}if(re.touches[2]){var J=y.projectIntoViewport(re.touches[2].clientX,re.touches[2].clientY);jr[4]=J[0],jr[5]=J[1]}if(re.touches[1]){y.touchData.singleTouchMoved=!0,vt(y.dragData.touchDragEles);var Wa=y.findContainerClientCoords();Rn=Wa[0],ar=Wa[1],yr=Wa[2],kr=Wa[3],ze=re.touches[0].clientX-Rn,ke=re.touches[0].clientY-ar,xn=re.touches[1].clientX-Rn,tn=re.touches[1].clientY-ar,br=0<=ze&&ze<=yr&&0<=xn&&xn<=yr&&0<=ke&&ke<=kr&&0<=tn&&tn<=kr;var $r=Kn.pan(),as=Kn.zoom();an=dr(ze,ke,xn,tn),Sn=kn(ze,ke,xn,tn),Vn=[(ze+xn)/2,(ke+tn)/2],or=[(Vn[0]-$r.x)/as,(Vn[1]-$r.y)/as];var Qn=200,Jc=Qn*Qn;if(Sn=1){for(var db=y.touchData.startPosition=[],w1=0;w1=y.touchTapThreshold2}if(Kn&&y.touchData.cxt){re.preventDefault();var db=re.touches[0].clientX-Rn,w1=re.touches[0].clientY-ar,Mf=re.touches[1].clientX-Rn,Od=re.touches[1].clientY-ar,om=kn(db,w1,Mf,Od),by=om/Sn,w6=150,_4=w6*w6,m6=1.5,SC=m6*m6;if(by>=SC||om>=_4){y.touchData.cxt=!1,y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var S4={originalEvent:re,type:"cxttapend",position:{x:J[0],y:J[1]}};y.touchData.start?(y.touchData.start.unactivate().emit(S4),y.touchData.start=null):hr.emit(S4)}}if(Kn&&y.touchData.cxt){var S4={originalEvent:re,type:"cxtdrag",position:{x:J[0],y:J[1]}};y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.touchData.start?y.touchData.start.emit(S4):hr.emit(S4),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxtDragged=!0;var y0=y.findNearestElement(J[0],J[1],!0,!0);(!y.touchData.cxtOver||y0!==y.touchData.cxtOver)&&(y.touchData.cxtOver&&y.touchData.cxtOver.emit({originalEvent:re,type:"cxtdragout",position:{x:J[0],y:J[1]}}),y.touchData.cxtOver=y0,y0&&y0.emit({originalEvent:re,type:"cxtdragover",position:{x:J[0],y:J[1]}}))}else if(Kn&&re.touches[2]&&hr.boxSelectionEnabled())re.preventDefault(),y.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,y.touchData.selecting||hr.emit({originalEvent:re,type:"boxstart",position:{x:J[0],y:J[1]}}),y.touchData.selecting=!0,y.touchData.didSelect=!0,jr[4]=1,!jr||jr.length===0||jr[0]===void 0?(jr[0]=(J[0]+J[2]+J[4])/3,jr[1]=(J[1]+J[3]+J[5])/3,jr[2]=(J[0]+J[2]+J[4])/3+1,jr[3]=(J[1]+J[3]+J[5])/3+1):(jr[2]=(J[0]+J[2]+J[4])/3,jr[3]=(J[1]+J[3]+J[5])/3),y.redrawHint("select",!0),y.redraw();else if(Kn&&re.touches[1]&&!y.touchData.didSelect&&hr.zoomingEnabled()&&hr.panningEnabled()&&hr.userZoomingEnabled()&&hr.userPanningEnabled()){re.preventDefault(),y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var G1=y.dragData.touchDragEles;if(G1){y.redrawHint("drag",!0);for(var x0=0;x00&&!y.hoverData.draggingEles&&!y.swipePanning&&y.data.bgActivePosistion!=null&&(y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.redraw())}},!1);var ci;y.registerBinding(window,"touchcancel",ci=function(re){var Kn=y.touchData.start;y.touchData.capture=!1,Kn&&Kn.unactivate()});var ui,ps,ga,Li;if(y.registerBinding(window,"touchend",ui=function(re){var Kn=y.touchData.start,jr=y.touchData.capture;if(jr)re.touches.length===0&&(y.touchData.capture=!1),re.preventDefault();else return;var hr=y.selection;y.swipePanning=!1,y.hoverData.draggingEles=!1;var J=y.cy,Wa=J.zoom(),$r=y.touchData.now,as=y.touchData.earlier;if(re.touches[0]){var Qn=y.projectIntoViewport(re.touches[0].clientX,re.touches[0].clientY);$r[0]=Qn[0],$r[1]=Qn[1]}if(re.touches[1]){var Qn=y.projectIntoViewport(re.touches[1].clientX,re.touches[1].clientY);$r[2]=Qn[0],$r[3]=Qn[1]}if(re.touches[2]){var Qn=y.projectIntoViewport(re.touches[2].clientX,re.touches[2].clientY);$r[4]=Qn[0],$r[5]=Qn[1]}Kn&&Kn.unactivate();var Jc;if(y.touchData.cxt){if(Jc={originalEvent:re,type:"cxttapend",position:{x:$r[0],y:$r[1]}},Kn?Kn.emit(Jc):J.emit(Jc),!y.touchData.cxtDragged){var uo={originalEvent:re,type:"cxttap",position:{x:$r[0],y:$r[1]}};Kn?Kn.emit(uo):J.emit(uo)}y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!1,y.touchData.start=null,y.redraw();return}if(!re.touches[2]&&J.boxSelectionEnabled()&&y.touchData.selecting){y.touchData.selecting=!1;var Dc=J.collection(y.getAllInBox(hr[0],hr[1],hr[2],hr[3]));hr[0]=void 0,hr[1]=void 0,hr[2]=void 0,hr[3]=void 0,hr[4]=0,y.redrawHint("select",!0),J.emit({type:"boxend",originalEvent:re,position:{x:$r[0],y:$r[1]}});var za=function(_4){return _4.selectable()&&!_4.selected()};Dc.emit("box").stdFilter(za).select().emit("boxselect"),Dc.nonempty()&&y.redrawHint("eles",!0),y.redraw()}if(Kn!=null&&Kn.unactivate(),re.touches[2])y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);else if(!re.touches[1]){if(!re.touches[0]){if(!re.touches[0]){y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var lo=y.dragData.touchDragEles;if(Kn!=null){var _l=Kn._private.grabbed;vt(lo),y.redrawHint("drag",!0),y.redrawHint("eles",!0),_l&&(Kn.emit("freeon"),lo.emit("free"),y.dragData.didDrag&&(Kn.emit("dragfreeon"),lo.emit("dragfree"))),x(Kn,["touchend","tapend","vmouseup","tapdragout"],re,{x:$r[0],y:$r[1]}),Kn.unactivate(),y.touchData.start=null}else{var Lf=y.findNearestElement($r[0],$r[1],!0,!0);x(Lf,["touchend","tapend","vmouseup","tapdragout"],re,{x:$r[0],y:$r[1]})}var b1=y.touchData.startPosition[0]-$r[0],db=b1*b1,w1=y.touchData.startPosition[1]-$r[1],Mf=w1*w1,Od=db+Mf,om=Od*Wa*Wa;y.touchData.singleTouchMoved||(Kn||J.$(":selected").unselect(["tapunselect"]),x(Kn,["tap","vclick"],re,{x:$r[0],y:$r[1]}),ps=!1,re.timeStamp-Li<=J.multiClickDebounceTime()?(ga&&clearTimeout(ga),ps=!0,Li=null,x(Kn,["dbltap","vdblclick"],re,{x:$r[0],y:$r[1]})):(ga=setTimeout(function(){ps||x(Kn,["onetap","voneclick"],re,{x:$r[0],y:$r[1]})},J.multiClickDebounceTime()),Li=re.timeStamp)),Kn!=null&&!y.dragData.didDrag&&Kn._private.selectable&&om"u"){var mi=[],ys=function(re){return{clientX:re.clientX,clientY:re.clientY,force:1,identifier:re.pointerId,pageX:re.pageX,pageY:re.pageY,radiusX:re.width/2,radiusY:re.height/2,screenX:re.screenX,screenY:re.screenY,target:re.target}},Xi=function(re){return{event:re,touch:ys(re)}},li=function(re){mi.push(Xi(re))},qi=function(re){for(var Kn=0;Kn0)return Rn[0]}return null},lt=Object.keys(Q),dt=0;dt0?it:MB(O,P,p,x,C,L,$)},checkPoint:function(p,x,C,L,O,P,$){var H=N8(L,O),z=2*H;if(em(p,x,this.points,P,$,L,O-z,[0,-1],C)||em(p,x,this.points,P,$,L-z,O,[0,-1],C))return!0;var G=L/2+2*C,Q=O/2+2*C,it=[P-G,$-Q,P-G,$,P+G,$,P+G,$-Q];return!!(v0(p,x,it)||w4(p,x,z,z,P+L/2-H,$+O/2-H,C)||w4(p,x,z,z,P-L/2+H,$+O/2-H,C))}}},rm.registerNodeShapes=function(){var y=this.nodeShapes={},p=this;this.generateEllipse(),this.generatePolygon("triangle",Dd(3,0)),this.generateRoundPolygon("round-triangle",Dd(3,0)),this.generatePolygon("rectangle",Dd(4,0)),y.square=y.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var x=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",x),this.generateRoundPolygon("round-diamond",x)}this.generatePolygon("pentagon",Dd(5,0)),this.generateRoundPolygon("round-pentagon",Dd(5,0)),this.generatePolygon("hexagon",Dd(6,0)),this.generateRoundPolygon("round-hexagon",Dd(6,0)),this.generatePolygon("heptagon",Dd(7,0)),this.generateRoundPolygon("round-heptagon",Dd(7,0)),this.generatePolygon("octagon",Dd(8,0)),this.generateRoundPolygon("round-octagon",Dd(8,0));var C=new Array(20);{var L=NM(5,0),O=NM(5,Math.PI/5),P=.5*(3-Math.sqrt(5));P*=1.57;for(var $=0;$=p.deqFastCost*qt)break}else if(z){if(It>=p.deqCost*lt||It>=p.deqAvgCost*it)break}else if(Pt>=p.deqNoDrawCost*fD)break;var ce=p.deq(C,Mt,vt);if(ce.length>0)for(var ee=0;ee0&&(p.onDeqd(C,dt),!z&&p.shouldRedraw(C,dt,Mt,vt)&&O())},$=p.priority||LM;L.beforeRender(P,$(C))}}}},jet=function(){function y(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sy;g(this,y),this.idsByKey=new M2,this.keyForId=new M2,this.cachesByLvl=new M2,this.lvls=[],this.getKey=p,this.doesEleInvalidateKey=x}return v(y,[{key:"getIdsFor",value:function(x){x==null&&jl("Can not get id list for null key");var C=this.idsByKey,L=this.idsByKey.get(x);return L||(L=new Ux,C.set(x,L)),L}},{key:"addIdForKey",value:function(x,C){x!=null&&this.getIdsFor(x).add(C)}},{key:"deleteIdForKey",value:function(x,C){x!=null&&this.getIdsFor(x).delete(C)}},{key:"getNumberOfIdsForKey",value:function(x){return x==null?0:this.getIdsFor(x).size}},{key:"updateKeyMappingFor",value:function(x){var C=x.id(),L=this.keyForId.get(C),O=this.getKey(x);this.deleteIdForKey(L,C),this.addIdForKey(O,C),this.keyForId.set(C,O)}},{key:"deleteKeyMappingFor",value:function(x){var C=x.id(),L=this.keyForId.get(C);this.deleteIdForKey(L,C),this.keyForId.delete(C)}},{key:"keyHasChangedFor",value:function(x){var C=x.id(),L=this.keyForId.get(C),O=this.getKey(x);return L!==O}},{key:"isInvalid",value:function(x){return this.keyHasChangedFor(x)||this.doesEleInvalidateKey(x)}},{key:"getCachesAt",value:function(x){var C=this.cachesByLvl,L=this.lvls,O=C.get(x);return O||(O=new M2,C.set(x,O),L.push(x)),O}},{key:"getCache",value:function(x,C){return this.getCachesAt(C).get(x)}},{key:"get",value:function(x,C){var L=this.getKey(x),O=this.getCache(L,C);return O!=null&&this.updateKeyMappingFor(x),O}},{key:"getForCachedKey",value:function(x,C){var L=this.keyForId.get(x.id()),O=this.getCache(L,C);return O}},{key:"hasCache",value:function(x,C){return this.getCachesAt(C).has(x)}},{key:"has",value:function(x,C){var L=this.getKey(x);return this.hasCache(L,C)}},{key:"setCache",value:function(x,C,L){L.key=x,this.getCachesAt(C).set(x,L)}},{key:"set",value:function(x,C,L){var O=this.getKey(x);this.setCache(O,C,L),this.updateKeyMappingFor(x)}},{key:"deleteCache",value:function(x,C){this.getCachesAt(C).delete(x)}},{key:"delete",value:function(x,C){var L=this.getKey(x);this.deleteCache(L,C)}},{key:"invalidateKey",value:function(x){var C=this;this.lvls.forEach(function(L){return C.deleteCache(x,L)})}},{key:"invalidate",value:function(x){var C=x.id(),L=this.keyForId.get(C);this.deleteKeyMappingFor(x);var O=this.doesEleInvalidateKey(x);return O&&this.invalidateKey(L),O||this.getNumberOfIdsForKey(L)===0}}]),y}(),_j=25,kC=50,EC=-4,dD=3,$et=7.99,zet=8,qet=1024,Het=1024,Vet=1024,Uet=.2,Get=.8,Ket=10,Wet=.15,Yet=.1,Xet=.9,Qet=.9,Jet=100,Zet=1,f6={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},tnt=f1({getKey:null,doesEleInvalidateKey:sy,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:g4,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Z8=function(p,x){var C=this;C.renderer=p,C.onDequeues=[];var L=tnt(x);we(C,L),C.lookup=new jet(L.getKey,L.doesEleInvalidateKey),C.setupDequeueing()},Yh=Z8.prototype;Yh.reasons=f6,Yh.getTextureQueue=function(y){var p=this;return p.eleImgCaches=p.eleImgCaches||{},p.eleImgCaches[y]=p.eleImgCaches[y]||[]},Yh.getRetiredTextureQueue=function(y){var p=this,x=p.eleImgCaches.retired=p.eleImgCaches.retired||{},C=x[y]=x[y]||[];return C},Yh.getElementQueue=function(){var y=this,p=y.eleCacheQueue=y.eleCacheQueue||new D8(function(x,C){return C.reqs-x.reqs});return p},Yh.getElementKeyToQueue=function(){var y=this,p=y.eleKeyToCacheQueue=y.eleKeyToCacheQueue||{};return p},Yh.getElement=function(y,p,x,C,L){var O=this,P=this.renderer,$=P.cy.zoom(),H=this.lookup;if(!p||p.w===0||p.h===0||isNaN(p.w)||isNaN(p.h)||!y.visible()||y.removed()||!O.allowEdgeTxrCaching&&y.isEdge()||!O.allowParentTxrCaching&&y.isParent())return null;if(C==null&&(C=Math.ceil(DM($*x))),C=$et||C>dD)return null;var z=Math.pow(2,C),G=p.h*z,Q=p.w*z,it=P.eleTextBiggerThanMin(y,z);if(!this.isVisible(y,it))return null;var lt=H.get(y,C);if(lt&<.invalidated&&(lt.invalidated=!1,lt.texture.invalidatedWidth-=lt.width),lt)return lt;var dt;if(G<=_j?dt=_j:G<=kC?dt=kC:dt=Math.ceil(G/kC)*kC,G>Vet||Q>Het)return null;var vt=O.getTextureQueue(dt),Mt=vt[vt.length-2],kt=function(){return O.recycleTexture(dt,Q)||O.addTexture(dt,Q)};Mt||(Mt=vt[vt.length-1]),Mt||(Mt=kt()),Mt.width-Mt.usedWidthC;xe--)Yt=O.getElement(y,p,x,xe,f6.downscale);ye()}else return O.queueElement(y,ee.level-1),ee;else{var de;if(!Pt&&!qt&&!ce)for(var ze=C-1;ze>=EC;ze--){var ke=H.get(y,ze);if(ke){de=ke;break}}if(It(de))return O.queueElement(y,C),de;Mt.context.translate(Mt.usedWidth,0),Mt.context.scale(z,z),this.drawElement(Mt.context,y,p,it,!1),Mt.context.scale(1/z,1/z),Mt.context.translate(-Mt.usedWidth,0)}return lt={x:Mt.usedWidth,texture:Mt,level:C,scale:z,width:Q,height:G,scaledLabelShown:it},Mt.usedWidth+=Math.ceil(Q+zet),Mt.eleCaches.push(lt),H.set(y,C,lt),O.checkTextureFullness(Mt),lt},Yh.invalidateElements=function(y){for(var p=0;p=Uet*y.width&&this.retireTexture(y)},Yh.checkTextureFullness=function(y){var p=this,x=p.getTextureQueue(y.height);y.usedWidth/y.width>Get&&y.fullnessChecks>=Ket?ay(x,y):y.fullnessChecks++},Yh.retireTexture=function(y){var p=this,x=y.height,C=p.getTextureQueue(x),L=this.lookup;ay(C,y),y.retired=!0;for(var O=y.eleCaches,P=0;P=p)return P.retired=!1,P.usedWidth=0,P.invalidatedWidth=0,P.fullnessChecks=0,q9(P.eleCaches),P.context.setTransform(1,0,0,1,0,0),P.context.clearRect(0,0,P.width,P.height),ay(L,P),C.push(P),P}},Yh.queueElement=function(y,p){var x=this,C=x.getElementQueue(),L=x.getElementKeyToQueue(),O=this.getKey(y),P=L[O];if(P)P.level=Math.max(P.level,p),P.eles.merge(y),P.reqs++,C.updateItem(P);else{var $={eles:y.spawn().merge(y),level:p,reqs:1,key:O};C.push($),L[O]=$}},Yh.dequeue=function(y){for(var p=this,x=p.getElementQueue(),C=p.getElementKeyToQueue(),L=[],O=p.lookup,P=0;P0;P++){var $=x.pop(),H=$.key,z=$.eles[0],G=O.hasCache(z,$.level);if(C[H]=null,G)continue;L.push($);var Q=p.getBoundingBox(z);p.getElement(z,Q,y,$.level,f6.dequeue)}return L},Yh.removeFromQueue=function(y){var p=this,x=p.getElementQueue(),C=p.getElementKeyToQueue(),L=this.getKey(y),O=C[L];O!=null&&(O.eles.length===1?(O.reqs=Vx,x.updateItem(O),x.pop(),C[L]=null):O.eles.unmerge(y))},Yh.onDequeue=function(y){this.onDequeues.push(y)},Yh.offDequeue=function(y){ay(this.onDequeues,y)},Yh.setupDequeueing=Cj.setupDequeueing({deqRedrawThreshold:Jet,deqCost:Wet,deqAvgCost:Yet,deqNoDrawCost:Xet,deqFastCost:Qet,deq:function(p,x,C){return p.dequeue(x,C)},onDeqd:function(p,x){for(var C=0;C=nnt||x>TC)return null}C.validateLayersElesOrdering(x,y);var H=C.layersByLevel,z=Math.pow(2,x),G=H[x]=H[x]||[],Q,it=C.levelIsComplete(x,y),lt,dt=function(){var ye=function(xn){if(C.validateLayersElesOrdering(xn,y),C.levelIsComplete(xn,y))return lt=H[xn],!0},xe=function(xn){if(!lt)for(var tn=x+xn;tE<=tn&&tn<=TC&&!ye(tn);tn+=xn);};xe(1),xe(-1);for(var de=G.length-1;de>=0;de--){var ze=G[de];ze.invalid&&ay(G,ze)}};if(!it)dt();else return G;var vt=function(){if(!Q){Q=m0();for(var ye=0;yeAj)return null;var ze=C.makeLayer(Q,x);if(xe!=null){var ke=G.indexOf(xe)+1;G.splice(ke,0,ze)}else(ye.insert===void 0||ye.insert)&&G.unshift(ze);return ze};if(C.skipping&&!$)return null;for(var kt=null,It=y.length/ent,Pt=!$,qt=0;qt=It||!LB(kt.bb,ce.boundingBox()))&&(kt=Mt({insert:!0,after:kt}),!kt))return null;lt||Pt?C.queueLayer(kt,ce):C.drawEleInLayer(kt,ce,x,p),kt.eles.push(ce),Ut[x]=kt}return lt||(Pt?null:G)},Af.getEleLevelForLayerLevel=function(y,p){return y},Af.drawEleInLayer=function(y,p,x,C){var L=this,O=this.renderer,P=y.context,$=p.boundingBox();$.w===0||$.h===0||!p.visible()||(x=L.getEleLevelForLayerLevel(x,C),O.setImgSmoothing(P,!1),O.drawCachedElement(P,p,null,null,x,unt),O.setImgSmoothing(P,!0))},Af.levelIsComplete=function(y,p){var x=this,C=x.layersByLevel[y];if(!C||C.length===0)return!1;for(var L=0,O=0;O0||P.invalid)return!1;L+=P.eles.length}return L===p.length},Af.validateLayersElesOrdering=function(y,p){var x=this.layersByLevel[y];if(x)for(var C=0;C0){p=!0;break}}return p},Af.invalidateElements=function(y){var p=this;y.length!==0&&(p.lastInvalidationTime=rp(),!(y.length===0||!p.haveLayers())&&p.updateElementsInLayers(y,function(C,L,O){p.invalidateLayer(C)}))},Af.invalidateLayer=function(y){if(this.lastInvalidationTime=rp(),!y.invalid){var p=y.level,x=y.eles,C=this.layersByLevel[p];ay(C,y),y.elesQueue=[],y.invalid=!0,y.replacement&&(y.replacement.invalid=!0);for(var L=0;L3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$=p._private.rscratch;if(!(O&&!p.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var H;x&&(H=x,y.translate(-H.x1,-H.y1));var z=O?p.pstyle("opacity").value:1,G=O?p.pstyle("line-opacity").value:1,Q=p.pstyle("curve-style").value,it=p.pstyle("line-style").value,lt=p.pstyle("width").pfValue,dt=p.pstyle("line-cap").value,vt=z*G,Mt=z*G,kt=function(){var de=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vt;Q==="straight-triangle"?(P.eleStrokeStyle(y,p,de),P.drawEdgeTrianglePath(p,y,$.allpts)):(y.lineWidth=lt,y.lineCap=dt,P.eleStrokeStyle(y,p,de),P.drawEdgePath(p,y,$.allpts,it),y.lineCap="butt")},It=function(){L&&P.drawEdgeOverlay(y,p)},Pt=function(){L&&P.drawEdgeUnderlay(y,p)},qt=function(){var de=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Mt;P.drawArrowheads(y,p,de)},ce=function(){P.drawElementText(y,p,null,C)};y.lineJoin="round";var ee=p.pstyle("ghost").value==="yes";if(ee){var Ut=p.pstyle("ghost-offset-x").pfValue,ue=p.pstyle("ghost-offset-y").pfValue,Yt=p.pstyle("ghost-opacity").value,ye=vt*Yt;y.translate(Ut,ue),kt(ye),qt(ye),y.translate(-Ut,-ue)}Pt(),kt(),qt(),It(),ce(),x&&y.translate(H.x1,H.y1)}};var Pj=function(p){if(!["overlay","underlay"].includes(p))throw new Error("Invalid state");return function(x,C){if(C.visible()){var L=C.pstyle("".concat(p,"-opacity")).value;if(L!==0){var O=this,P=O.usePaths(),$=C._private.rscratch,H=C.pstyle("".concat(p,"-padding")).pfValue,z=2*H,G=C.pstyle("".concat(p,"-color")).value;x.lineWidth=z,$.edgeType==="self"&&!P?x.lineCap="butt":x.lineCap="round",O.colorStrokeStyle(x,G[0],G[1],G[2],L),O.drawEdgePath(C,x,$.allpts,"solid")}}}};im.drawEdgeOverlay=Pj("overlay"),im.drawEdgeUnderlay=Pj("underlay"),im.drawEdgePath=function(y,p,x,C){var L=y._private.rscratch,O=p,P,$=!1,H=this.usePaths(),z=y.pstyle("line-dash-pattern").pfValue,G=y.pstyle("line-dash-offset").pfValue;if(H){var Q=x.join("$"),it=L.pathCacheKey&&L.pathCacheKey===Q;it?(P=p=L.pathCache,$=!0):(P=p=new Path2D,L.pathCacheKey=Q,L.pathCache=P)}if(O.setLineDash)switch(C){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(z),O.lineDashOffset=G;break;case"solid":O.setLineDash([]);break}if(!$&&!L.badLine)switch(p.beginPath&&p.beginPath(),p.moveTo(x[0],x[1]),L.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var lt=2;lt+35&&arguments[5]!==void 0?arguments[5]:!0,P=this;if(C==null){if(O&&!P.eleTextBiggerThanMin(p))return}else if(C===!1)return;if(p.isNode()){var $=p.pstyle("label");if(!$||!$.value)return;var H=P.getLabelJustification(p);y.textAlign=H,y.textBaseline="bottom"}else{var z=p.element()._private.rscratch.badLine,G=p.pstyle("label"),Q=p.pstyle("source-label"),it=p.pstyle("target-label");if(z||(!G||!G.value)&&(!Q||!Q.value)&&(!it||!it.value))return;y.textAlign="center",y.textBaseline="bottom"}var lt=!x,dt;x&&(dt=x,y.translate(-dt.x1,-dt.y1)),L==null?(P.drawText(y,p,null,lt,O),p.isEdge()&&(P.drawText(y,p,"source",lt,O),P.drawText(y,p,"target",lt,O))):P.drawText(y,p,L,lt,O),x&&y.translate(dt.x1,dt.y1)},sm.getFontCache=function(y){var p;this.fontCaches=this.fontCaches||[];for(var x=0;x2&&arguments[2]!==void 0?arguments[2]:!0,C=p.pstyle("font-style").strValue,L=p.pstyle("font-size").pfValue+"px",O=p.pstyle("font-family").strValue,P=p.pstyle("font-weight").strValue,$=x?p.effectiveOpacity()*p.pstyle("text-opacity").value:1,H=p.pstyle("text-outline-opacity").value*$,z=p.pstyle("color").value,G=p.pstyle("text-outline-color").value;y.font=C+" "+P+" "+L+" "+O,y.lineJoin="round",this.colorFillStyle(y,z[0],z[1],z[2],$),this.colorStrokeStyle(y,G[0],G[1],G[2],H)};function wnt(y,p,x,C,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;y.beginPath(),y.moveTo(p+O,x),y.lineTo(p+C-O,x),y.quadraticCurveTo(p+C,x,p+C,x+O),y.lineTo(p+C,x+L-O),y.quadraticCurveTo(p+C,x+L,p+C-O,x+L),y.lineTo(p+O,x+L),y.quadraticCurveTo(p,x+L,p,x+L-O),y.lineTo(p,x+O),y.quadraticCurveTo(p,x,p+O,x),y.closePath(),y.fill()}sm.getTextAngle=function(y,p){var x,C=y._private,L=C.rscratch,O=p?p+"-":"",P=y.pstyle(O+"text-rotation"),$=ub(L,"labelAngle",p);return P.strValue==="autorotate"?x=y.isEdge()?$:0:P.strValue==="none"?x=0:x=P.pfValue,x},sm.drawText=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=p._private,P=O.rscratch,$=L?p.effectiveOpacity():1;if(!(L&&($===0||p.pstyle("text-opacity").value===0))){x==="main"&&(x=null);var H=ub(P,"labelX",x),z=ub(P,"labelY",x),G,Q,it=this.getLabelText(p,x);if(it!=null&&it!==""&&!isNaN(H)&&!isNaN(z)){this.setupTextStyle(y,p,L);var lt=x?x+"-":"",dt=ub(P,"labelWidth",x),vt=ub(P,"labelHeight",x),Mt=p.pstyle(lt+"text-margin-x").pfValue,kt=p.pstyle(lt+"text-margin-y").pfValue,It=p.isEdge(),Pt=p.pstyle("text-halign").value,qt=p.pstyle("text-valign").value;It&&(Pt="center",qt="center"),H+=Mt,z+=kt;var ce;switch(C?ce=this.getTextAngle(p,x):ce=0,ce!==0&&(G=H,Q=z,y.translate(G,Q),y.rotate(ce),H=0,z=0),qt){case"top":break;case"center":z+=vt/2;break;case"bottom":z+=vt;break}var ee=p.pstyle("text-background-opacity").value,Ut=p.pstyle("text-border-opacity").value,ue=p.pstyle("text-border-width").pfValue,Yt=p.pstyle("text-background-padding").pfValue;if(ee>0||ue>0&&Ut>0){var ye=H-Yt;switch(Pt){case"left":ye-=dt;break;case"center":ye-=dt/2;break}var xe=z-vt-Yt,de=dt+2*Yt,ze=vt+2*Yt;if(ee>0){var ke=y.fillStyle,xn=p.pstyle("text-background-color").value;y.fillStyle="rgba("+xn[0]+","+xn[1]+","+xn[2]+","+ee*$+")";var tn=p.pstyle("text-background-shape").strValue;tn.indexOf("round")===0?wnt(y,ye,xe,de,ze,2):y.fillRect(ye,xe,de,ze),y.fillStyle=ke}if(ue>0&&Ut>0){var an=y.strokeStyle,Sn=y.lineWidth,Vn=p.pstyle("text-border-color").value,or=p.pstyle("text-border-style").value;if(y.strokeStyle="rgba("+Vn[0]+","+Vn[1]+","+Vn[2]+","+Ut*$+")",y.lineWidth=ue,y.setLineDash)switch(or){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"double":y.lineWidth=ue/4,y.setLineDash([]);break;case"solid":y.setLineDash([]);break}if(y.strokeRect(ye,xe,de,ze),or==="double"){var Rn=ue/2;y.strokeRect(ye+Rn,xe+Rn,de-Rn*2,ze-Rn*2)}y.setLineDash&&y.setLineDash([]),y.lineWidth=Sn,y.strokeStyle=an}}var ar=2*p.pstyle("text-outline-width").pfValue;if(ar>0&&(y.lineWidth=ar),p.pstyle("text-wrap").value==="wrap"){var yr=ub(P,"labelWrapCachedLines",x),kr=ub(P,"labelLineHeight",x),br=dt/2,dr=this.getLabelJustification(p);switch(dr==="auto"||(Pt==="left"?dr==="left"?H+=-dt:dr==="center"&&(H+=-br):Pt==="center"?dr==="left"?H+=-br:dr==="right"&&(H+=br):Pt==="right"&&(dr==="center"?H+=br:dr==="right"&&(H+=dt))),qt){case"top":z-=(yr.length-1)*kr;break;case"center":case"bottom":z-=(yr.length-1)*kr;break}for(var kn=0;kn0&&y.strokeText(yr[kn],H,z),y.fillText(yr[kn],H,z),z+=kr}else ar>0&&y.strokeText(it,H,z),y.fillText(it,H,z);ce!==0&&(y.rotate(-ce),y.translate(-G,-Q))}}};var py={};py.drawNode=function(y,p,x){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$,H,z=p._private,G=z.rscratch,Q=p.position();if(!(!Z(Q.x)||!Z(Q.y))&&!(O&&!p.visible())){var it=O?p.effectiveOpacity():1,lt=P.usePaths(),dt,vt=!1,Mt=p.padding();$=p.width()+2*Mt,H=p.height()+2*Mt;var kt;x&&(kt=x,y.translate(-kt.x1,-kt.y1));for(var It=p.pstyle("background-image"),Pt=It.value,qt=new Array(Pt.length),ce=new Array(Pt.length),ee=0,Ut=0;Ut0&&arguments[0]!==void 0?arguments[0]:ze;P.eleFillStyle(y,p,li)},Sn=function(){var li=arguments.length>0&&arguments[0]!==void 0?arguments[0]:tn;P.colorStrokeStyle(y,ke[0],ke[1],ke[2],li)},Vn=p.pstyle("shape").strValue,or=p.pstyle("shape-polygon-points").pfValue;if(lt){y.translate(Q.x,Q.y);var Rn=P.nodePathCache=P.nodePathCache||[],ar=Md(Vn==="polygon"?Vn+","+or.join(","):Vn,""+H,""+$),yr=Rn[ar];yr!=null?(dt=yr,vt=!0,G.pathCache=dt):(dt=new Path2D,Rn[ar]=G.pathCache=dt)}var kr=function(){if(!vt){var li=Q;lt&&(li={x:0,y:0}),P.nodeShapes[P.getNodeShape(p)].draw(dt||y,li.x,li.y,$,H)}lt?y.fill(dt):y.fill()},br=function(){for(var li=arguments.length>0&&arguments[0]!==void 0?arguments[0]:it,qi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Ao=z.backgrounding,Ka=0,Ws=0;Ws0&&arguments[0]!==void 0?arguments[0]:!1,qi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:it;P.hasPie(p)&&(P.drawPie(y,p,qi),li&&(lt||P.nodeShapes[P.getNodeShape(p)].draw(y,Q.x,Q.y,$,H)))},kn=function(){var li=arguments.length>0&&arguments[0]!==void 0?arguments[0]:it,qi=(xe>0?xe:-xe)*li,Ao=xe>0?0:255;xe!==0&&(P.colorFillStyle(y,Ao,Ao,Ao,qi),lt?y.fill(dt):y.fill())},wr=function(){if(de>0){if(y.lineWidth=de,y.lineCap="butt",y.setLineDash)switch(xn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}if(lt?y.stroke(dt):y.stroke(),xn==="double"){y.lineWidth=de/3;var li=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",lt?y.stroke(dt):y.stroke(),y.globalCompositeOperation=li}y.setLineDash&&y.setLineDash([])}},Ar=function(){L&&P.drawNodeOverlay(y,p,Q,$,H)},ci=function(){L&&P.drawNodeUnderlay(y,p,Q,$,H)},ui=function(){P.drawElementText(y,p,null,C)},ps=p.pstyle("ghost").value==="yes";if(ps){var ga=p.pstyle("ghost-offset-x").pfValue,Li=p.pstyle("ghost-offset-y").pfValue,mi=p.pstyle("ghost-opacity").value,ys=mi*it;y.translate(ga,Li),an(mi*ze),kr(),br(ys,!0),Sn(mi*tn),wr(),dr(xe!==0||de!==0),br(ys,!1),kn(ys),y.translate(-ga,-Li)}lt&&y.translate(-Q.x,-Q.y),ci(),lt&&y.translate(Q.x,Q.y),an(),kr(),br(it,!0),Sn(),wr(),dr(xe!==0||de!==0),br(it,!1),kn(),lt&&y.translate(-Q.x,-Q.y),ui(),Ar(),x&&y.translate(kt.x1,kt.y1)}};var Nj=function(p){if(!["overlay","underlay"].includes(p))throw new Error("Invalid state");return function(x,C,L,O,P){var $=this;if(C.visible()){var H=C.pstyle("".concat(p,"-padding")).pfValue,z=C.pstyle("".concat(p,"-opacity")).value,G=C.pstyle("".concat(p,"-color")).value,Q=C.pstyle("".concat(p,"-shape")).value;if(z>0){if(L=L||C.position(),O==null||P==null){var it=C.padding();O=C.width()+2*it,P=C.height()+2*it}$.colorFillStyle(x,G[0],G[1],G[2],z),$.nodeShapes[Q].draw(x,L.x,L.y,O+H*2,P+H*2),x.fill()}}}};py.drawNodeOverlay=Nj("overlay"),py.drawNodeUnderlay=Nj("underlay"),py.hasPie=function(y){return y=y[0],y._private.hasPie},py.drawPie=function(y,p,x,C){p=p[0],C=C||p.position();var L=p.cy().style(),O=p.pstyle("pie-size"),P=C.x,$=C.y,H=p.width(),z=p.height(),G=Math.min(H,z)/2,Q=0,it=this.usePaths();it&&(P=0,$=0),O.units==="%"?G=G*O.pfValue:O.pfValue!==void 0&&(G=O.pfValue/2);for(var lt=1;lt<=L.pieBackgroundN;lt++){var dt=p.pstyle("pie-"+lt+"-background-size").value,vt=p.pstyle("pie-"+lt+"-background-color").value,Mt=p.pstyle("pie-"+lt+"-background-opacity").value*x,kt=dt/100;kt+Q>1&&(kt=1-Q);var It=1.5*Math.PI+2*Math.PI*Q,Pt=2*Math.PI*kt,qt=It+Pt;dt===0||Q>=1||Q+kt>1||(y.beginPath(),y.moveTo(P,$),y.arc(P,$,G,It,qt),y.closePath(),this.colorFillStyle(y,vt[0],vt[1],vt[2],Mt),y.fill(),Q+=kt)}};var ug={},mnt=100;ug.getPixelRatio=function(){var y=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var p=y.backingStorePixelRatio||y.webkitBackingStorePixelRatio||y.mozBackingStorePixelRatio||y.msBackingStorePixelRatio||y.oBackingStorePixelRatio||y.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/p},ug.paintCache=function(y){for(var p=this.paintCaches=this.paintCaches||[],x=!0,C,L=0;LP.minMbLowQualFrames&&(P.motionBlurPxRatio=P.mbPxRBlurry)),P.clearingMotionBlur&&(P.motionBlurPxRatio=1),P.textureDrawLastFrame&&!Q&&(G[P.NODE]=!0,G[P.SELECT_BOX]=!0);var It=H.style(),Pt=H.zoom(),qt=L!==void 0?L:Pt,ce=H.pan(),ee={x:ce.x,y:ce.y},Ut={zoom:Pt,pan:{x:ce.x,y:ce.y}},ue=P.prevViewport,Yt=ue===void 0||Ut.zoom!==ue.zoom||Ut.pan.x!==ue.pan.x||Ut.pan.y!==ue.pan.y;!Yt&&!(vt&&!dt)&&(P.motionBlurPxRatio=1),O&&(ee=O),qt*=$,ee.x*=$,ee.y*=$;var ye=P.getCachedZSortedEles();function xe(Li,mi,ys,Xi,li){var qi=Li.globalCompositeOperation;Li.globalCompositeOperation="destination-out",P.colorFillStyle(Li,255,255,255,P.motionBlurTransparency),Li.fillRect(mi,ys,Xi,li),Li.globalCompositeOperation=qi}function de(Li,mi){var ys,Xi,li,qi;!P.clearingMotionBlur&&(Li===z.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]||Li===z.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG])?(ys={x:ce.x*lt,y:ce.y*lt},Xi=Pt*lt,li=P.canvasWidth*lt,qi=P.canvasHeight*lt):(ys=ee,Xi=qt,li=P.canvasWidth,qi=P.canvasHeight),Li.setTransform(1,0,0,1,0,0),mi==="motionBlur"?xe(Li,0,0,li,qi):!p&&(mi===void 0||mi)&&Li.clearRect(0,0,li,qi),x||(Li.translate(ys.x,ys.y),Li.scale(Xi,Xi)),O&&Li.translate(O.x,O.y),L&&Li.scale(L,L)}if(Q||(P.textureDrawLastFrame=!1),Q){if(P.textureDrawLastFrame=!0,!P.textureCache){P.textureCache={},P.textureCache.bb=H.mutableElements().boundingBox(),P.textureCache.texture=P.data.bufferCanvases[P.TEXTURE_BUFFER];var ze=P.data.bufferContexts[P.TEXTURE_BUFFER];ze.setTransform(1,0,0,1,0,0),ze.clearRect(0,0,P.canvasWidth*P.textureMult,P.canvasHeight*P.textureMult),P.render({forcedContext:ze,drawOnlyNodeLayer:!0,forcedPxRatio:$*P.textureMult});var Ut=P.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:P.canvasWidth,height:P.canvasHeight};Ut.mpan={x:(0-Ut.pan.x)/Ut.zoom,y:(0-Ut.pan.y)/Ut.zoom}}G[P.DRAG]=!1,G[P.NODE]=!1;var ke=z.contexts[P.NODE],xn=P.textureCache.texture,Ut=P.textureCache.viewport;ke.setTransform(1,0,0,1,0,0),it?xe(ke,0,0,Ut.width,Ut.height):ke.clearRect(0,0,Ut.width,Ut.height);var tn=It.core("outside-texture-bg-color").value,an=It.core("outside-texture-bg-opacity").value;P.colorFillStyle(ke,tn[0],tn[1],tn[2],an),ke.fillRect(0,0,Ut.width,Ut.height);var Pt=H.zoom();de(ke,!1),ke.clearRect(Ut.mpan.x,Ut.mpan.y,Ut.width/Ut.zoom/$,Ut.height/Ut.zoom/$),ke.drawImage(xn,Ut.mpan.x,Ut.mpan.y,Ut.width/Ut.zoom/$,Ut.height/Ut.zoom/$)}else P.textureOnViewport&&!p&&(P.textureCache=null);var Sn=H.extent(),Vn=P.pinching||P.hoverData.dragging||P.swipePanning||P.data.wheelZooming||P.hoverData.draggingEles||P.cy.animated(),or=P.hideEdgesOnViewport&&Vn,Rn=[];if(Rn[P.NODE]=!G[P.NODE]&&it&&!P.clearedForMotionBlur[P.NODE]||P.clearingMotionBlur,Rn[P.NODE]&&(P.clearedForMotionBlur[P.NODE]=!0),Rn[P.DRAG]=!G[P.DRAG]&&it&&!P.clearedForMotionBlur[P.DRAG]||P.clearingMotionBlur,Rn[P.DRAG]&&(P.clearedForMotionBlur[P.DRAG]=!0),G[P.NODE]||x||C||Rn[P.NODE]){var ar=it&&!Rn[P.NODE]&<!==1,ke=p||(ar?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]:z.contexts[P.NODE]),yr=it&&!ar?"motionBlur":void 0;de(ke,yr),or?P.drawCachedNodes(ke,ye.nondrag,$,Sn):P.drawLayeredElements(ke,ye.nondrag,$,Sn),P.debug&&P.drawDebugPoints(ke,ye.nondrag),!x&&!it&&(G[P.NODE]=!1)}if(!C&&(G[P.DRAG]||x||Rn[P.DRAG])){var ar=it&&!Rn[P.DRAG]&<!==1,ke=p||(ar?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG]:z.contexts[P.DRAG]);de(ke,it&&!ar?"motionBlur":void 0),or?P.drawCachedNodes(ke,ye.drag,$,Sn):P.drawCachedElements(ke,ye.drag,$,Sn),P.debug&&P.drawDebugPoints(ke,ye.drag),!x&&!it&&(G[P.DRAG]=!1)}if(P.showFps||!C&&G[P.SELECT_BOX]&&!x){var ke=p||z.contexts[P.SELECT_BOX];if(de(ke),P.selection[4]==1&&(P.hoverData.selecting||P.touchData.selecting)){var Pt=P.cy.zoom(),kr=It.core("selection-box-border-width").value/Pt;ke.lineWidth=kr,ke.fillStyle="rgba("+It.core("selection-box-color").value[0]+","+It.core("selection-box-color").value[1]+","+It.core("selection-box-color").value[2]+","+It.core("selection-box-opacity").value+")",ke.fillRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]),kr>0&&(ke.strokeStyle="rgba("+It.core("selection-box-border-color").value[0]+","+It.core("selection-box-border-color").value[1]+","+It.core("selection-box-border-color").value[2]+","+It.core("selection-box-opacity").value+")",ke.strokeRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]))}if(z.bgActivePosistion&&!P.hoverData.selecting){var Pt=P.cy.zoom(),br=z.bgActivePosistion;ke.fillStyle="rgba("+It.core("active-bg-color").value[0]+","+It.core("active-bg-color").value[1]+","+It.core("active-bg-color").value[2]+","+It.core("active-bg-opacity").value+")",ke.beginPath(),ke.arc(br.x,br.y,It.core("active-bg-size").pfValue/Pt,0,2*Math.PI),ke.fill()}var dr=P.lastRedrawTime;if(P.showFps&&dr){dr=Math.round(dr);var kn=Math.round(1e3/dr);ke.setTransform(1,0,0,1,0,0),ke.fillStyle="rgba(255, 0, 0, 0.75)",ke.strokeStyle="rgba(255, 0, 0, 0.75)",ke.lineWidth=1,ke.fillText("1 frame = "+dr+" ms = "+kn+" fps",0,20);var wr=60;ke.strokeRect(0,30,250,20),ke.fillRect(0,30,250*Math.min(kn/wr,1),20)}x||(G[P.SELECT_BOX]=!1)}if(it&<!==1){var Ar=z.contexts[P.NODE],ci=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_NODE],ui=z.contexts[P.DRAG],ps=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_DRAG],ga=function(mi,ys,Xi){mi.setTransform(1,0,0,1,0,0),Xi||!kt?mi.clearRect(0,0,P.canvasWidth,P.canvasHeight):xe(mi,0,0,P.canvasWidth,P.canvasHeight);var li=lt;mi.drawImage(ys,0,0,P.canvasWidth*li,P.canvasHeight*li,0,0,P.canvasWidth,P.canvasHeight)};(G[P.NODE]||Rn[P.NODE])&&(ga(Ar,ci,Rn[P.NODE]),G[P.NODE]=!1),(G[P.DRAG]||Rn[P.DRAG])&&(ga(ui,ps,Rn[P.DRAG]),G[P.DRAG]=!1)}P.prevViewport=Ut,P.clearingMotionBlur&&(P.clearingMotionBlur=!1,P.motionBlurCleared=!0,P.motionBlur=!0),it&&(P.motionBlurTimeout=setTimeout(function(){P.motionBlurTimeout=null,P.clearedForMotionBlur[P.NODE]=!1,P.clearedForMotionBlur[P.DRAG]=!1,P.motionBlur=!1,P.clearingMotionBlur=!Q,P.mbFrames=0,G[P.NODE]=!0,G[P.DRAG]=!0,P.redraw()},mnt)),p||H.emit("render")};var am={};am.drawPolygonPath=function(y,p,x,C,L,O){var P=C/2,$=L/2;y.beginPath&&y.beginPath(),y.moveTo(p+P*O[0],x+$*O[1]);for(var H=1;H0&&P>0){lt.clearRect(0,0,O,P),lt.globalCompositeOperation="source-over";var dt=this.getCachedZSortedEles();if(y.full)lt.translate(-C.x1*z,-C.y1*z),lt.scale(z,z),this.drawElements(lt,dt),lt.scale(1/z,1/z),lt.translate(C.x1*z,C.y1*z);else{var vt=p.pan(),Mt={x:vt.x*z,y:vt.y*z};z*=p.zoom(),lt.translate(Mt.x,Mt.y),lt.scale(z,z),this.drawElements(lt,dt),lt.scale(1/z,1/z),lt.translate(-Mt.x,-Mt.y)}y.bg&&(lt.globalCompositeOperation="destination-over",lt.fillStyle=y.bg,lt.rect(0,0,O,P),lt.fill())}return it};function vnt(y,p){for(var x=atob(y),C=new ArrayBuffer(x.length),L=new Uint8Array(C),O=0;O"u"?"undefined":f(OffscreenCanvas))!=="undefined"?x=new OffscreenCanvas(y,p):(x=document.createElement("canvas"),x.width=y,x.height=p),x},[pD,O2,im,nE,sm,py,ug,am,rE,zj].forEach(function(y){we(Mc,y)});var Vj=[{name:"null",impl:gj},{name:"base",impl:Tj},{name:"canvas",impl:ynt}],_C=[{type:"layout",extensions:Net},{type:"renderer",extensions:Vj}],g6={},lg={};function Uj(y,p,x){var C=x,L=function(ue){Vc("Can not register `"+p+"` for `"+y+"` since `"+ue+"` already exists in the prototype and can not be overridden")};if(y==="core"){if(X8.prototype[p])return L(p);X8.prototype[p]=x}else if(y==="collection"){if(g1.prototype[p])return L(p);g1.prototype[p]=x}else if(y==="layout"){for(var O=function(ue){this.options=ue,x.call(this,ue),ht(this._private)||(this._private={}),this._private.cy=ue.cy,this._private.listeners=[],this.createEmitter()},P=O.prototype=Object.create(x.prototype),$=[],H=0;H<$.length;H++){var z=$[H];P[z]=P[z]||function(){return this}}P.start&&!P.run?P.run=function(){return this.start(),this}:!P.start&&P.run&&(P.start=function(){return this.run(),this});var G=x.prototype.stop;P.stop=function(){var Ut=this.options;if(Ut&&Ut.animate){var ue=this.animations;if(ue)for(var Yt=0;Ytq&&(this.rect.x-=(this.labelWidth-q)/2,this.setWidth(this.labelWidth)),this.labelHeight>X&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-X)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-X),this.setHeight(this.labelHeight))}}},B.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},B.prototype.transform=function(R){var q=this.rect.x;q>_.WORLD_BOUNDARY?q=_.WORLD_BOUNDARY:q<-_.WORLD_BOUNDARY&&(q=-_.WORLD_BOUNDARY);var X=this.rect.y;X>_.WORLD_BOUNDARY?X=_.WORLD_BOUNDARY:X<-_.WORLD_BOUNDARY&&(X=-_.WORLD_BOUNDARY);var rt=new I(q,X),at=R.inverseTransformPoint(rt);this.setLocation(at.x,at.y)},B.prototype.getLeft=function(){return this.rect.x},B.prototype.getRight=function(){return this.rect.x+this.rect.width},B.prototype.getTop=function(){return this.rect.y},B.prototype.getBottom=function(){return this.rect.y+this.rect.height},B.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=B},function(f,g,w){function v(b,E){b==null&&E==null?(this.x=0,this.y=0):(this.x=b,this.y=E)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},f.exports=v},function(f,g,w){var v=w(2),b=w(10),E=w(0),_=w(6),S=w(3),I=w(1),B=w(13),F=w(12),R=w(11);function q(rt,at,ut){v.call(this,ut),this.estimatedSize=b.MIN_VALUE,this.margin=E.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=rt,at!=null&&at instanceof _?this.graphManager=at:at!=null&&at instanceof Layout&&(this.graphManager=at.graphManager)}q.prototype=Object.create(v.prototype);for(var X in v)q[X]=v[X];q.prototype.getNodes=function(){return this.nodes},q.prototype.getEdges=function(){return this.edges},q.prototype.getGraphManager=function(){return this.graphManager},q.prototype.getParent=function(){return this.parent},q.prototype.getLeft=function(){return this.left},q.prototype.getRight=function(){return this.right},q.prototype.getTop=function(){return this.top},q.prototype.getBottom=function(){return this.bottom},q.prototype.isConnected=function(){return this.isConnected},q.prototype.add=function(rt,at,ut){if(at==null&&ut==null){var pt=rt;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(pt)>-1)throw"Node already in graph!";return pt.owner=this,this.getNodes().push(pt),pt}else{var yt=rt;if(!(this.getNodes().indexOf(at)>-1&&this.getNodes().indexOf(ut)>-1))throw"Source or target not in graph!";if(!(at.owner==ut.owner&&at.owner==this))throw"Both owners must be this graph!";return at.owner!=ut.owner?null:(yt.source=at,yt.target=ut,yt.isInterGraph=!1,this.getEdges().push(yt),at.edges.push(yt),ut!=at&&ut.edges.push(yt),yt)}},q.prototype.remove=function(rt){var at=rt;if(rt instanceof S){if(at==null)throw"Node is null!";if(!(at.owner!=null&&at.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var ut=at.edges.slice(),pt,yt=ut.length,mt=0;mt-1&&bt>-1))throw"Source and/or target doesn't know this edge!";pt.source.edges.splice(ht,1),pt.target!=pt.source&&pt.target.edges.splice(bt,1);var gt=pt.source.owner.getEdges().indexOf(pt);if(gt==-1)throw"Not in owner's edge list!";pt.source.owner.getEdges().splice(gt,1)}},q.prototype.updateLeftTop=function(){for(var rt=b.MAX_VALUE,at=b.MAX_VALUE,ut,pt,yt,mt=this.getNodes(),gt=mt.length,ht=0;htut&&(rt=ut),at>pt&&(at=pt)}return rt==b.MAX_VALUE?null:(mt[0].getParent().paddingLeft!=null?yt=mt[0].getParent().paddingLeft:yt=this.margin,this.left=at-yt,this.top=rt-yt,new F(this.left,this.top))},q.prototype.updateBounds=function(rt){for(var at=b.MAX_VALUE,ut=-b.MAX_VALUE,pt=b.MAX_VALUE,yt=-b.MAX_VALUE,mt,gt,ht,bt,Z,ft=this.nodes,Y=ft.length,Et=0;Etmt&&(at=mt),utht&&(pt=ht),ytmt&&(at=mt),utht&&(pt=ht),yt=this.nodes.length){var Y=0;ut.forEach(function(Et){Et.owner==rt&&Y++}),Y==this.nodes.length&&(this.isConnected=!0)}},f.exports=q},function(f,g,w){var v,b=w(1);function E(_){v=w(5),this.layout=_,this.graphs=[],this.edges=[]}E.prototype.addRoot=function(){var _=this.layout.newGraph(),S=this.layout.newNode(null),I=this.add(_,S);return this.setRootGraph(I),this.rootGraph},E.prototype.add=function(_,S,I,B,F){if(I==null&&B==null&&F==null){if(_==null)throw"Graph is null!";if(S==null)throw"Parent node is null!";if(this.graphs.indexOf(_)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(_),_.parent!=null)throw"Already has a parent!";if(S.child!=null)throw"Already has a child!";return _.parent=S,S.child=_,_}else{F=I,B=S,I=_;var R=B.getOwner(),q=F.getOwner();if(!(R!=null&&R.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(q!=null&&q.getGraphManager()==this))throw"Target not in this graph mgr!";if(R==q)return I.isInterGraph=!1,R.add(I,B,F);if(I.isInterGraph=!0,I.source=B,I.target=F,this.edges.indexOf(I)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(I),!(I.source!=null&&I.target!=null))throw"Edge source and/or target is null!";if(!(I.source.edges.indexOf(I)==-1&&I.target.edges.indexOf(I)==-1))throw"Edge already in source and/or target incidency list!";return I.source.edges.push(I),I.target.edges.push(I),I}},E.prototype.remove=function(_){if(_ instanceof v){var S=_;if(S.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(S==this.rootGraph||S.parent!=null&&S.parent.graphManager==this))throw"Invalid parent node!";var I=[];I=I.concat(S.getEdges());for(var B,F=I.length,R=0;R=_.getRight()?S[0]+=Math.min(_.getX()-E.getX(),E.getRight()-_.getRight()):_.getX()<=E.getX()&&_.getRight()>=E.getRight()&&(S[0]+=Math.min(E.getX()-_.getX(),_.getRight()-E.getRight())),E.getY()<=_.getY()&&E.getBottom()>=_.getBottom()?S[1]+=Math.min(_.getY()-E.getY(),E.getBottom()-_.getBottom()):_.getY()<=E.getY()&&_.getBottom()>=E.getBottom()&&(S[1]+=Math.min(E.getY()-_.getY(),_.getBottom()-E.getBottom()));var F=Math.abs((_.getCenterY()-E.getCenterY())/(_.getCenterX()-E.getCenterX()));_.getCenterY()===E.getCenterY()&&_.getCenterX()===E.getCenterX()&&(F=1);var R=F*S[0],q=S[1]/F;S[0]R)return S[0]=I,S[1]=X,S[2]=F,S[3]=ft,!1;if(BF)return S[0]=q,S[1]=B,S[2]=bt,S[3]=R,!1;if(IF?(S[0]=at,S[1]=ut,Nt=!0):(S[0]=rt,S[1]=X,Nt=!0):jt===Ft&&(I>F?(S[0]=q,S[1]=X,Nt=!0):(S[0]=pt,S[1]=ut,Nt=!0)),-Ct===Ft?F>I?(S[2]=Z,S[3]=ft,Dt=!0):(S[2]=bt,S[3]=ht,Dt=!0):Ct===Ft&&(F>I?(S[2]=gt,S[3]=ht,Dt=!0):(S[2]=Y,S[3]=ft,Dt=!0)),Nt&&Dt)return!1;if(I>F?B>R?(_t=this.getCardinalDirection(jt,Ft,4),xt=this.getCardinalDirection(Ct,Ft,2)):(_t=this.getCardinalDirection(-jt,Ft,3),xt=this.getCardinalDirection(-Ct,Ft,1)):B>R?(_t=this.getCardinalDirection(-jt,Ft,1),xt=this.getCardinalDirection(-Ct,Ft,3)):(_t=this.getCardinalDirection(jt,Ft,2),xt=this.getCardinalDirection(Ct,Ft,4)),!Nt)switch(_t){case 1:Be=X,Gt=I+-mt/Ft,S[0]=Gt,S[1]=Be;break;case 2:Gt=pt,Be=B+yt*Ft,S[0]=Gt,S[1]=Be;break;case 3:Be=ut,Gt=I+mt/Ft,S[0]=Gt,S[1]=Be;break;case 4:Gt=at,Be=B+-yt*Ft,S[0]=Gt,S[1]=Be;break}if(!Dt)switch(xt){case 1:vn=ht,Ot=F+-V/Ft,S[2]=Ot,S[3]=vn;break;case 2:Ot=Y,vn=R+Et*Ft,S[2]=Ot,S[3]=vn;break;case 3:vn=ft,Ot=F+V/Ft,S[2]=Ot,S[3]=vn;break;case 4:Ot=Z,vn=R+-Et*Ft,S[2]=Ot,S[3]=vn;break}}return!1},b.getCardinalDirection=function(E,_,S){return E>_?S:1+S%4},b.getIntersection=function(E,_,S,I){if(I==null)return this.getIntersection2(E,_,S);var B=E.x,F=E.y,R=_.x,q=_.y,X=S.x,rt=S.y,at=I.x,ut=I.y,pt=void 0,yt=void 0,mt=void 0,gt=void 0,ht=void 0,bt=void 0,Z=void 0,ft=void 0,Y=void 0;return mt=q-F,ht=B-R,Z=R*F-B*q,gt=ut-rt,bt=X-at,ft=at*rt-X*ut,Y=mt*bt-gt*ht,Y===0?null:(pt=(ht*ft-bt*Z)/Y,yt=(gt*Z-mt*ft)/Y,new v(pt,yt))},b.angleOfVector=function(E,_,S,I){var B=void 0;return E!==S?(B=Math.atan((I-_)/(S-E)),S0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},f.exports=v},function(f,g,w){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,f.exports=v},function(f,g,w){var v=function(){function B(F,R){for(var q=0;q"u"?"undefined":v(E);return E==null||_!="object"&&_!="function"},f.exports=b},function(f,g,w){function v(X){if(Array.isArray(X)){for(var rt=0,at=Array(X.length);rt0&&rt;){for(mt.push(ht[0]);mt.length>0&&rt;){var bt=mt[0];mt.splice(0,1),yt.add(bt);for(var Z=bt.getEdges(),pt=0;pt-1&&ht.splice(V,1)}yt=new Set,gt=new Map}}return X},q.prototype.createDummyNodesForBendpoints=function(X){for(var rt=[],at=X.source,ut=this.graphManager.calcLowestCommonAncestor(X.source,X.target),pt=0;pt0){for(var ut=this.edgeToDummyNodes.get(at),pt=0;pt=0&&rt.splice(ft,1);var Y=gt.getNeighborsList();Y.forEach(function(Nt){if(at.indexOf(Nt)<0){var Dt=ut.get(Nt),jt=Dt-1;jt==1&&bt.push(Nt),ut.set(Nt,jt)}})}at=at.concat(bt),(rt.length==1||rt.length==2)&&(pt=!0,yt=rt[0])}return yt},q.prototype.setGraphManager=function(X){this.graphManager=X},f.exports=q},function(f,g,w){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},f.exports=v},function(f,g,w){var v=w(4);function b(E,_){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(E){this.lworldOrgX=E},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(E){this.lworldOrgY=E},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(E){this.lworldExtX=E},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(E){this.lworldExtY=E},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(E){this.ldeviceOrgX=E},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(E){this.ldeviceOrgY=E},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(E){this.ldeviceExtX=E},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(E){this.ldeviceExtY=E},b.prototype.transformX=function(E){var _=0,S=this.lworldExtX;return S!=0&&(_=this.ldeviceOrgX+(E-this.lworldOrgX)*this.ldeviceExtX/S),_},b.prototype.transformY=function(E){var _=0,S=this.lworldExtY;return S!=0&&(_=this.ldeviceOrgY+(E-this.lworldOrgY)*this.ldeviceExtY/S),_},b.prototype.inverseTransformX=function(E){var _=0,S=this.ldeviceExtX;return S!=0&&(_=this.lworldOrgX+(E-this.ldeviceOrgX)*this.lworldExtX/S),_},b.prototype.inverseTransformY=function(E){var _=0,S=this.ldeviceExtY;return S!=0&&(_=this.lworldOrgY+(E-this.ldeviceOrgY)*this.lworldExtY/S),_},b.prototype.inverseTransformPoint=function(E){var _=new v(this.inverseTransformX(E.x),this.inverseTransformY(E.y));return _},f.exports=b},function(f,g,w){function v(R){if(Array.isArray(R)){for(var q=0,X=Array(R.length);qE.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*E.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-E.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT_INCREMENTAL):(R>E.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(E.COOLING_ADAPTATION_FACTOR,1-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*(1-E.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},B.prototype.calcSpringForces=function(){for(var R=this.getAllEdges(),q,X=0;X0&&arguments[0]!==void 0?arguments[0]:!0,q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,X,rt,at,ut,pt=this.getAllNodes(),yt;if(this.useFRGridVariant)for(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&R&&this.updateGrid(),yt=new Set,X=0;Xmt||yt>mt)&&(R.gravitationForceX=-this.gravityConstant*at,R.gravitationForceY=-this.gravityConstant*ut)):(mt=q.getEstimatedSize()*this.compoundGravityRangeFactor,(pt>mt||yt>mt)&&(R.gravitationForceX=-this.gravityConstant*at*this.compoundGravityConstant,R.gravitationForceY=-this.gravityConstant*ut*this.compoundGravityConstant))},B.prototype.isConverged=function(){var R,q=!1;return this.totalIterations>this.maxIterations/3&&(q=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),R=this.totalDisplacement=pt.length||mt>=pt[0].length)){for(var gt=0;gtB}}]),S}();f.exports=_},function(f,g,w){var v=function(){function _(S,I){for(var B=0;B2&&arguments[2]!==void 0?arguments[2]:1,F=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,R=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,_),this.sequence1=S,this.sequence2=I,this.match_score=B,this.mismatch_penalty=F,this.gap_penalty=R,this.iMax=S.length+1,this.jMax=I.length+1,this.grid=new Array(this.iMax);for(var q=0;q=0;S--){var I=this.listeners[S];I.event===E&&I.callback===_&&this.listeners.splice(S,1)}},b.emit=function(E,_){for(var S=0;SI.coolingFactor*I.maxNodeDisplacement&&(this.displacementX=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementX)),Math.abs(this.displacementY)>I.coolingFactor*I.maxNodeDisplacement&&(this.displacementY=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),I.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},_.prototype.propogateDisplacementToChildren=function(I,B){for(var F=this.getChild().getNodes(),R,q=0;q0)this.positionNodesRadially(ht);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var bt=new Set(this.getAllNodes()),Z=this.nodesWithGravity.filter(function(ft){return bt.has(ft)});this.graphManager.setAllNodesToApplyGravitation(Z),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},mt.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%F.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var ht=new Set(this.getAllNodes()),bt=this.nodesWithGravity.filter(function(Y){return ht.has(Y)});this.graphManager.setAllNodesToApplyGravitation(bt),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=F.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=F.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var Z=!this.isTreeGrowing&&!this.isGrowthFinished,ft=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(Z,ft),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},mt.prototype.getPositionsData=function(){for(var ht=this.graphManager.getAllNodes(),bt={},Z=0;Z1){var Nt;for(Nt=0;Ntft&&(ft=Math.floor(V.y)),Et=Math.floor(V.x+B.DEFAULT_COMPONENT_SEPERATION)}this.transform(new X(R.WORLD_CENTER_X-V.x/2,R.WORLD_CENTER_Y-V.y/2))},mt.radialLayout=function(ht,bt,Z){var ft=Math.max(this.maxDiagonalInTree(ht),B.DEFAULT_RADIAL_SEPARATION);mt.branchRadialLayout(bt,null,0,359,0,ft);var Y=pt.calculateBounds(ht),Et=new yt;Et.setDeviceOrgX(Y.getMinX()),Et.setDeviceOrgY(Y.getMinY()),Et.setWorldOrgX(Z.x),Et.setWorldOrgY(Z.y);for(var V=0;V1;){var vn=Ot[0];Ot.splice(0,1);var Pe=Ft.indexOf(vn);Pe>=0&&Ft.splice(Pe,1),Gt--,_t--}bt!=null?Be=(Ft.indexOf(Ot[0])+1)%Gt:Be=0;for(var Ee=Math.abs(ft-Z)/_t,nn=Be;xt!=_t;nn=++nn%Gt){var sn=Ft[nn].getOtherEnd(ht);if(sn!=bt){var me=(Z+xt*Ee)%360,Fe=(me+Ee)%360;mt.branchRadialLayout(sn,ht,me,Fe,Y+Et,Et),xt++}}},mt.maxDiagonalInTree=function(ht){for(var bt=at.MIN_VALUE,Z=0;Zbt&&(bt=Y)}return bt},mt.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},mt.prototype.groupZeroDegreeMembers=function(){var ht=this,bt={};this.memberGroups={},this.idToDummyNode={};for(var Z=[],ft=this.graphManager.getAllNodes(),Y=0;Y"u"&&(bt[Nt]=[]),bt[Nt]=bt[Nt].concat(Et)}Object.keys(bt).forEach(function(Dt){if(bt[Dt].length>1){var jt="DummyCompound_"+Dt;ht.memberGroups[jt]=bt[Dt];var Ct=bt[Dt][0].getParent(),Ft=new S(ht.graphManager);Ft.id=jt,Ft.paddingLeft=Ct.paddingLeft||0,Ft.paddingRight=Ct.paddingRight||0,Ft.paddingBottom=Ct.paddingBottom||0,Ft.paddingTop=Ct.paddingTop||0,ht.idToDummyNode[jt]=Ft;var _t=ht.getGraphManager().add(ht.newGraph(),Ft),xt=Ct.getChild();xt.add(Ft);for(var Gt=0;Gt=0;ht--){var bt=this.compoundOrder[ht],Z=bt.id,ft=bt.paddingLeft,Y=bt.paddingTop;this.adjustLocations(this.tiledMemberPack[Z],bt.rect.x,bt.rect.y,ft,Y)}},mt.prototype.repopulateZeroDegreeMembers=function(){var ht=this,bt=this.tiledZeroDegreePack;Object.keys(bt).forEach(function(Z){var ft=ht.idToDummyNode[Z],Y=ft.paddingLeft,Et=ft.paddingTop;ht.adjustLocations(bt[Z],ft.rect.x,ft.rect.y,Y,Et)})},mt.prototype.getToBeTiled=function(ht){var bt=ht.id;if(this.toBeTiled[bt]!=null)return this.toBeTiled[bt];var Z=ht.getChild();if(Z==null)return this.toBeTiled[bt]=!1,!1;for(var ft=Z.getNodes(),Y=0;Y0)return this.toBeTiled[bt]=!1,!1;if(Et.getChild()==null){this.toBeTiled[Et.id]=!1;continue}if(!this.getToBeTiled(Et))return this.toBeTiled[bt]=!1,!1}return this.toBeTiled[bt]=!0,!0},mt.prototype.getNodeDegree=function(ht){ht.id;for(var bt=ht.getEdges(),Z=0,ft=0;ftDt&&(Dt=Ct.rect.height)}Z+=Dt+ht.verticalPadding}},mt.prototype.tileCompoundMembers=function(ht,bt){var Z=this;this.tiledMemberPack=[],Object.keys(ht).forEach(function(ft){var Y=bt[ft];Z.tiledMemberPack[ft]=Z.tileNodes(ht[ft],Y.paddingLeft+Y.paddingRight),Y.rect.width=Z.tiledMemberPack[ft].width,Y.rect.height=Z.tiledMemberPack[ft].height})},mt.prototype.tileNodes=function(ht,bt){var Z=B.TILING_PADDING_VERTICAL,ft=B.TILING_PADDING_HORIZONTAL,Y={rows:[],rowWidth:[],rowHeight:[],width:0,height:bt,verticalPadding:Z,horizontalPadding:ft};ht.sort(function(Nt,Dt){return Nt.rect.width*Nt.rect.height>Dt.rect.width*Dt.rect.height?-1:Nt.rect.width*Nt.rect.height0&&(V+=ht.horizontalPadding),ht.rowWidth[Z]=V,ht.width0&&(Nt+=ht.verticalPadding);var Dt=0;Nt>ht.rowHeight[Z]&&(Dt=ht.rowHeight[Z],ht.rowHeight[Z]=Nt,Dt=ht.rowHeight[Z]-Dt),ht.height+=Dt,ht.rows[Z].push(bt)},mt.prototype.getShortestRowIndex=function(ht){for(var bt=-1,Z=Number.MAX_VALUE,ft=0;ftZ&&(bt=ft,Z=ht.rowWidth[ft]);return bt},mt.prototype.canAddHorizontal=function(ht,bt,Z){var ft=this.getShortestRowIndex(ht);if(ft<0)return!0;var Y=ht.rowWidth[ft];if(Y+ht.horizontalPadding+bt<=ht.width)return!0;var Et=0;ht.rowHeight[ft]0&&(Et=Z+ht.verticalPadding-ht.rowHeight[ft]);var V;ht.width-Y>=bt+ht.horizontalPadding?V=(ht.height+Et)/(Y+bt+ht.horizontalPadding):V=(ht.height+Et)/ht.width,Et=Z+ht.verticalPadding;var Nt;return ht.widthEt&&bt!=Z){ft.splice(-1,1),ht.rows[Z].push(Y),ht.rowWidth[bt]=ht.rowWidth[bt]-Et,ht.rowWidth[Z]=ht.rowWidth[Z]+Et,ht.width=ht.rowWidth[instance.getLongestRowIndex(ht)];for(var V=Number.MIN_VALUE,Nt=0;NtV&&(V=ft[Nt].height);bt>0&&(V+=ht.verticalPadding);var Dt=ht.rowHeight[bt]+ht.rowHeight[Z];ht.rowHeight[bt]=V,ht.rowHeight[Z]0)for(var xt=Y;xt<=Et;xt++)_t[0]+=this.grid[xt][V-1].length+this.grid[xt][V].length-1;if(Et0)for(var xt=V;xt<=Nt;xt++)_t[3]+=this.grid[Y-1][xt].length+this.grid[Y][xt].length-1;for(var Gt=at.MAX_VALUE,Be,Ot,vn=0;vn<_t.length;vn++)_t[vn]0){var Nt;Nt=yt.getGraphManager().add(yt.newGraph(),Z),this.processChildrenList(Nt,bt,yt)}}},X.prototype.stop=function(){return this.stopped=!0,this};var at=function(pt){pt("layout","cose-bilkent",X)};typeof cytoscape<"u"&&at(cytoscape),g.exports=at}])})})(FHt);var Xtn=FHt.exports;const Qtn=JT(Xtn);NHt.use(Qtn);function jHt(i,a,f,g){OHt.drawNode(i,a,f,g),a.children&&a.children.forEach((w,v)=>{jHt(i,w,f<0?v:f,g)})}function Jtn(i,a){a.edges().map((f,g)=>{const w=f.data();if(f[0]._private.bodyBounds){const v=f[0]._private.rscratch;Wt.trace("Edge: ",g,w),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+w.section+" edge-depth-"+w.depth)}})}function $Ht(i,a,f,g){a.add({group:"nodes",data:{id:i.id,labelText:i.descr,height:i.height,width:i.width,level:g,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(w=>{$Ht(w,a,f,g+1),a.add({group:"edges",data:{id:`${i.id}_${w.id}`,source:i.id,target:w.id,depth:g,section:w.section}})})}function Ztn(i,a){return new Promise(f=>{const g=xr("body").append("div").attr("id","cy").attr("style","display:none"),w=NHt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});g.remove(),$Ht(i,w,a,0),w.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),w.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),w.ready(v=>{Wt.info("Ready",v),f(w)})})}function ten(i){i.nodes().map((a,f)=>{const g=a.data();g.x=a.position().x,g.y=a.position().y,OHt.positionNode(g);const w=i2t(g.nodeId);Wt.info("Id:",f,"Position: (",a.position().x,", ",a.position().y,")",g),w.attr("transform",`translate(${a.position().x-g.width/2}, ${a.position().y-g.height/2})`),w.attr("attr",`apa-${f})`)})}const een={draw:async(i,a,f,g)=>{const w=Re();w.htmlLabels=!1,Wt.debug(`Rendering mindmap diagram +`+i,g.parser);const v=Re().securityLevel;let b;v==="sandbox"&&(b=xr("#i"+a));const _=xr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body").select("#"+a);_.append("g");const S=g.db.getMindmap(),I=_.append("g");I.attr("class","mindmap-edges");const B=_.append("g");B.attr("class","mindmap-nodes"),jHt(B,S,-1,w);const F=await Ztn(S,w);Jtn(I,F),ten(F),g8(void 0,_,w.mindmap.padding,w.mindmap.useMaxWidth)}},nen=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${nen(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var o2t=function(){var i=function(E,_,S,I){for(S=S||{},I=E.length;I--;S[E[I]]=_);return S},a=[1,9],f=[1,10],g=[1,5,10,12],w={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(_,S,I,B,F,R,q){var X=R.length-1;switch(F){case 7:const rt=B.findOrCreateNode(R[X-4].trim().replaceAll('""','"')),at=B.findOrCreateNode(R[X-2].trim().replaceAll('""','"')),ut=parseFloat(R[X].trim());B.addLink(rt,at,ut);break;case 8:case 9:case 11:this.$=R[X];break;case 10:this.$=R[X-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:f},{1:[2,6],7:11,10:[1,12]},i(f,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(g,[2,8]),i(g,[2,9]),{19:[1,16]},i(g,[2,11]),{1:[2,1]},{1:[2,5]},i(f,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:f},{15:18,16:7,17:8,18:a,20:f},{18:[1,19]},i(f,[2,3]),{12:[1,20]},i(g,[2,10]),{15:21,16:7,17:8,18:a,20:f},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(_,S){if(S.recoverable)this.trace(_);else{var I=new Error(_);throw I.hash=S,I}},parse:function(_){var S=this,I=[0],B=[],F=[null],R=[],q=this.table,X="",rt=0,at=0,ut=2,pt=1,yt=R.slice.call(arguments,1),mt=Object.create(this.lexer),gt={yy:{}};for(var ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ht)&&(gt.yy[ht]=this.yy[ht]);mt.setInput(_,gt.yy),gt.yy.lexer=mt,gt.yy.parser=this,typeof mt.yylloc>"u"&&(mt.yylloc={});var bt=mt.yylloc;R.push(bt);var Z=mt.options&&mt.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var Gt;return Gt=B.pop()||mt.lex()||pt,typeof Gt!="number"&&(Gt instanceof Array&&(B=Gt,Gt=B.pop()),Gt=S.symbols_[Gt]||Gt),Gt}for(var Y,Et,V,Nt,Dt={},jt,Ct,Ft,_t;;){if(Et=I[I.length-1],this.defaultActions[Et]?V=this.defaultActions[Et]:((Y===null||typeof Y>"u")&&(Y=ft()),V=q[Et]&&q[Et][Y]),typeof V>"u"||!V.length||!V[0]){var xt="";_t=[];for(jt in q[Et])this.terminals_[jt]&&jt>ut&&_t.push("'"+this.terminals_[jt]+"'");mt.showPosition?xt="Parse error on line "+(rt+1)+`: +`+mt.showPosition()+` +Expecting `+_t.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'":xt="Parse error on line "+(rt+1)+": Unexpected "+(Y==pt?"end of input":"'"+(this.terminals_[Y]||Y)+"'"),this.parseError(xt,{text:mt.match,token:this.terminals_[Y]||Y,line:mt.yylineno,loc:bt,expected:_t})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+Y);switch(V[0]){case 1:I.push(Y),F.push(mt.yytext),R.push(mt.yylloc),I.push(V[1]),Y=null,at=mt.yyleng,X=mt.yytext,rt=mt.yylineno,bt=mt.yylloc;break;case 2:if(Ct=this.productions_[V[1]][1],Dt.$=F[F.length-Ct],Dt._$={first_line:R[R.length-(Ct||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(Ct||1)].first_column,last_column:R[R.length-1].last_column},Z&&(Dt._$.range=[R[R.length-(Ct||1)].range[0],R[R.length-1].range[1]]),Nt=this.performAction.apply(Dt,[X,at,rt,gt.yy,V[1],F,R].concat(yt)),typeof Nt<"u")return Nt;Ct&&(I=I.slice(0,-1*Ct*2),F=F.slice(0,-1*Ct),R=R.slice(0,-1*Ct)),I.push(this.productions_[V[1]][0]),F.push(Dt.$),R.push(Dt._$),Ft=q[I[I.length-2]][I[I.length-1]],I.push(Ft);break;case 3:return!0}}return!0}},v=function(){var E={EOF:1,parseError:function(S,I){if(this.yy.parser)this.yy.parser.parseError(S,I);else throw new Error(S)},setInput:function(_,S){return this.yy=S||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var S=_.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var S=_.length,I=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var F=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===B.length?this.yylloc.first_column:0)+B[B.length-I.length].length-I[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[F[0],F[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),S=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+S+"^"},test_match:function(_,S){var I,B,F;if(this.options.backtrack_lexer&&(F={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(F.yylloc.range=this.yylloc.range.slice(0))),B=_[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],I=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var R in F)this[R]=F[R];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,S,I,B;this._more||(this.yytext="",this.match="");for(var F=this._currentRules(),R=0;RS[0].length)){if(S=I,B=R,this.options.backtrack_lexer){if(_=this.test_match(I,F[R]),_!==!1)return _;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(_=this.test_match(S,F[B]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var S=this.next();return S||this.lex()},begin:function(S){this.conditionStack.push(S)},popState:function(){var S=this.conditionStack.length-1;return S>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},pushState:function(S){this.begin(S)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(S,I,B,F){switch(B){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return E}();w.lexer=v;function b(){this.yy={}}return b.prototype=w,w.Parser=b,new b}();o2t.parser=o2t;const LX=o2t;let MX=[],DX=[],AM={};const ien=()=>{MX=[],DX=[],AM={},Wg()};class sen{constructor(a,f,g=0){this.source=a,this.target=f,this.value=g}}const aen=(i,a,f)=>{MX.push(new sen(i,a,f))};class oen{constructor(a){this.ID=a}}const cen={nodesMap:AM,getConfig:()=>Re().sankey,getNodes:()=>DX,getLinks:()=>MX,getGraph:()=>({nodes:DX.map(i=>({id:i.ID})),links:MX.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:aen,findOrCreateNode:i=>(i=ei.sanitizeText(i,Re()),AM[i]||(AM[i]=new oen(i),DX.push(AM[i])),AM[i]),getAccTitle:Yg,setAccTitle:ng,getAccDescription:Qg,setAccDescription:Xg,getDiagramTitle:Jg,setDiagramTitle:y2,clear:ien};function zHt(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f=w)&&(f=w)}return f}function qHt(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f>g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function c2t(i,a){let f=0;if(a===void 0)for(let g of i)(g=+g)&&(f+=g);else{let g=-1;for(let w of i)(w=+a(w,++g,i))&&(f+=w)}return f}function uen(i){return i.target.depth}function len(i){return i.depth}function hen(i,a){return a-1-i.height}function HHt(i,a){return i.sourceLinks.length?i.depth:a-1}function fen(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?qHt(i.sourceLinks,uen)-1:0}function IX(i){return function(){return i}}function VHt(i,a){return OX(i.source,a.source)||i.index-a.index}function UHt(i,a){return OX(i.target,a.target)||i.index-a.index}function OX(i,a){return i.y0-a.y0}function u2t(i){return i.value}function den(i){return i.index}function gen(i){return i.nodes}function pen(i){return i.links}function GHt(i,a){const f=i.get(a);if(!f)throw new Error("missing: "+a);return f}function KHt({nodes:i}){for(const a of i){let f=a.y0,g=f;for(const w of a.sourceLinks)w.y0=f+w.width/2,f+=w.width;for(const w of a.targetLinks)w.y1=g+w.width/2,g+=w.width}}function ben(){let i=0,a=0,f=1,g=1,w=24,v=8,b,E=den,_=HHt,S,I,B=gen,F=pen,R=6;function q(){const Dt={nodes:B.apply(null,arguments),links:F.apply(null,arguments)};return X(Dt),rt(Dt),at(Dt),ut(Dt),mt(Dt),KHt(Dt),Dt}q.update=function(Dt){return KHt(Dt),Dt},q.nodeId=function(Dt){return arguments.length?(E=typeof Dt=="function"?Dt:IX(Dt),q):E},q.nodeAlign=function(Dt){return arguments.length?(_=typeof Dt=="function"?Dt:IX(Dt),q):_},q.nodeSort=function(Dt){return arguments.length?(S=Dt,q):S},q.nodeWidth=function(Dt){return arguments.length?(w=+Dt,q):w},q.nodePadding=function(Dt){return arguments.length?(v=b=+Dt,q):v},q.nodes=function(Dt){return arguments.length?(B=typeof Dt=="function"?Dt:IX(Dt),q):B},q.links=function(Dt){return arguments.length?(F=typeof Dt=="function"?Dt:IX(Dt),q):F},q.linkSort=function(Dt){return arguments.length?(I=Dt,q):I},q.size=function(Dt){return arguments.length?(i=a=0,f=+Dt[0],g=+Dt[1],q):[f-i,g-a]},q.extent=function(Dt){return arguments.length?(i=+Dt[0][0],f=+Dt[1][0],a=+Dt[0][1],g=+Dt[1][1],q):[[i,a],[f,g]]},q.iterations=function(Dt){return arguments.length?(R=+Dt,q):R};function X({nodes:Dt,links:jt}){for(const[Ft,_t]of Dt.entries())_t.index=Ft,_t.sourceLinks=[],_t.targetLinks=[];const Ct=new Map(Dt.map((Ft,_t)=>[E(Ft,_t,Dt),Ft]));for(const[Ft,_t]of jt.entries()){_t.index=Ft;let{source:xt,target:Gt}=_t;typeof xt!="object"&&(xt=_t.source=GHt(Ct,xt)),typeof Gt!="object"&&(Gt=_t.target=GHt(Ct,Gt)),xt.sourceLinks.push(_t),Gt.targetLinks.push(_t)}if(I!=null)for(const{sourceLinks:Ft,targetLinks:_t}of Dt)Ft.sort(I),_t.sort(I)}function rt({nodes:Dt}){for(const jt of Dt)jt.value=jt.fixedValue===void 0?Math.max(c2t(jt.sourceLinks,u2t),c2t(jt.targetLinks,u2t)):jt.fixedValue}function at({nodes:Dt}){const jt=Dt.length;let Ct=new Set(Dt),Ft=new Set,_t=0;for(;Ct.size;){for(const xt of Ct){xt.depth=_t;for(const{target:Gt}of xt.sourceLinks)Ft.add(Gt)}if(++_t>jt)throw new Error("circular link");Ct=Ft,Ft=new Set}}function ut({nodes:Dt}){const jt=Dt.length;let Ct=new Set(Dt),Ft=new Set,_t=0;for(;Ct.size;){for(const xt of Ct){xt.height=_t;for(const{source:Gt}of xt.targetLinks)Ft.add(Gt)}if(++_t>jt)throw new Error("circular link");Ct=Ft,Ft=new Set}}function pt({nodes:Dt}){const jt=zHt(Dt,_t=>_t.depth)+1,Ct=(f-i-w)/(jt-1),Ft=new Array(jt);for(const _t of Dt){const xt=Math.max(0,Math.min(jt-1,Math.floor(_.call(null,_t,jt))));_t.layer=xt,_t.x0=i+xt*Ct,_t.x1=_t.x0+w,Ft[xt]?Ft[xt].push(_t):Ft[xt]=[_t]}if(S)for(const _t of Ft)_t.sort(S);return Ft}function yt(Dt){const jt=qHt(Dt,Ct=>(g-a-(Ct.length-1)*b)/c2t(Ct,u2t));for(const Ct of Dt){let Ft=a;for(const _t of Ct){_t.y0=Ft,_t.y1=Ft+_t.value*jt,Ft=_t.y1+b;for(const xt of _t.sourceLinks)xt.width=xt.value*jt}Ft=(g-Ft+b)/(Ct.length+1);for(let _t=0;_tCt.length)-1)),yt(jt);for(let Ct=0;Ct0))continue;let vn=(Be/Ot-Gt.y0)*jt;Gt.y0+=vn,Gt.y1+=vn,Y(Gt)}S===void 0&&xt.sort(OX),bt(xt,Ct)}}function ht(Dt,jt,Ct){for(let Ft=Dt.length,_t=Ft-2;_t>=0;--_t){const xt=Dt[_t];for(const Gt of xt){let Be=0,Ot=0;for(const{target:Pe,value:Ee}of Gt.sourceLinks){let nn=Ee*(Pe.layer-Gt.layer);Be+=Nt(Gt,Pe)*nn,Ot+=nn}if(!(Ot>0))continue;let vn=(Be/Ot-Gt.y0)*jt;Gt.y0+=vn,Gt.y1+=vn,Y(Gt)}S===void 0&&xt.sort(OX),bt(xt,Ct)}}function bt(Dt,jt){const Ct=Dt.length>>1,Ft=Dt[Ct];ft(Dt,Ft.y0-b,Ct-1,jt),Z(Dt,Ft.y1+b,Ct+1,jt),ft(Dt,g,Dt.length-1,jt),Z(Dt,a,0,jt)}function Z(Dt,jt,Ct,Ft){for(;Ct1e-6&&(_t.y0+=xt,_t.y1+=xt),jt=_t.y1+b}}function ft(Dt,jt,Ct,Ft){for(;Ct>=0;--Ct){const _t=Dt[Ct],xt=(_t.y1-jt)*Ft;xt>1e-6&&(_t.y0-=xt,_t.y1-=xt),jt=_t.y0-b}}function Y({sourceLinks:Dt,targetLinks:jt}){if(I===void 0){for(const{source:{sourceLinks:Ct}}of jt)Ct.sort(UHt);for(const{target:{targetLinks:Ct}}of Dt)Ct.sort(VHt)}}function Et(Dt){if(I===void 0)for(const{sourceLinks:jt,targetLinks:Ct}of Dt)jt.sort(UHt),Ct.sort(VHt)}function V(Dt,jt){let Ct=Dt.y0-(Dt.sourceLinks.length-1)*b/2;for(const{target:Ft,width:_t}of Dt.sourceLinks){if(Ft===jt)break;Ct+=_t+b}for(const{source:Ft,width:_t}of jt.targetLinks){if(Ft===Dt)break;Ct-=_t}return Ct}function Nt(Dt,jt){let Ct=jt.y0-(jt.targetLinks.length-1)*b/2;for(const{source:Ft,width:_t}of jt.targetLinks){if(Ft===Dt)break;Ct+=_t+b}for(const{target:Ft,width:_t}of Dt.sourceLinks){if(Ft===jt)break;Ct-=_t}return Ct}return q}var l2t=Math.PI,h2t=2*l2t,$9=1e-6,wen=h2t-$9;function f2t(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function WHt(){return new f2t}f2t.prototype=WHt.prototype={constructor:f2t,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,f,g){this._+="Q"+ +i+","+ +a+","+(this._x1=+f)+","+(this._y1=+g)},bezierCurveTo:function(i,a,f,g,w,v){this._+="C"+ +i+","+ +a+","+ +f+","+ +g+","+(this._x1=+w)+","+(this._y1=+v)},arcTo:function(i,a,f,g,w){i=+i,a=+a,f=+f,g=+g,w=+w;var v=this._x1,b=this._y1,E=f-i,_=g-a,S=v-i,I=b-a,B=S*S+I*I;if(w<0)throw new Error("negative radius: "+w);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(B>$9)if(!(Math.abs(I*E-_*S)>$9)||!w)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var F=f-v,R=g-b,q=E*E+_*_,X=F*F+R*R,rt=Math.sqrt(q),at=Math.sqrt(B),ut=w*Math.tan((l2t-Math.acos((q+B-X)/(2*rt*at)))/2),pt=ut/at,yt=ut/rt;Math.abs(pt-1)>$9&&(this._+="L"+(i+pt*S)+","+(a+pt*I)),this._+="A"+w+","+w+",0,0,"+ +(I*F>S*R)+","+(this._x1=i+yt*E)+","+(this._y1=a+yt*_)}},arc:function(i,a,f,g,w,v){i=+i,a=+a,f=+f,v=!!v;var b=f*Math.cos(g),E=f*Math.sin(g),_=i+b,S=a+E,I=1^v,B=v?g-w:w-g;if(f<0)throw new Error("negative radius: "+f);this._x1===null?this._+="M"+_+","+S:(Math.abs(this._x1-_)>$9||Math.abs(this._y1-S)>$9)&&(this._+="L"+_+","+S),f&&(B<0&&(B=B%h2t+h2t),B>wen?this._+="A"+f+","+f+",0,1,"+I+","+(i-b)+","+(a-E)+"A"+f+","+f+",0,1,"+I+","+(this._x1=_)+","+(this._y1=S):B>$9&&(this._+="A"+f+","+f+",0,"+ +(B>=l2t)+","+I+","+(this._x1=i+f*Math.cos(w))+","+(this._y1=a+f*Math.sin(w))))},rect:function(i,a,f,g){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +f+"v"+ +g+"h"+-f+"Z"},toString:function(){return this._}};function YHt(i){return function(){return i}}function men(i){return i[0]}function ven(i){return i[1]}var yen=Array.prototype.slice;function xen(i){return i.source}function ken(i){return i.target}function Een(i){var a=xen,f=ken,g=men,w=ven,v=null;function b(){var E,_=yen.call(arguments),S=a.apply(this,_),I=f.apply(this,_);if(v||(v=E=WHt()),i(v,+g.apply(this,(_[0]=S,_)),+w.apply(this,_),+g.apply(this,(_[0]=I,_)),+w.apply(this,_)),E)return v=null,E+""||null}return b.source=function(E){return arguments.length?(a=E,b):a},b.target=function(E){return arguments.length?(f=E,b):f},b.x=function(E){return arguments.length?(g=typeof E=="function"?E:YHt(+E),b):g},b.y=function(E){return arguments.length?(w=typeof E=="function"?E:YHt(+E),b):w},b.context=function(E){return arguments.length?(v=E??null,b):v},b}function Ten(i,a,f,g,w){i.moveTo(a,f),i.bezierCurveTo(a=(a+g)/2,f,a,w,g,w)}function Cen(){return Een(Ten)}function _en(i){return[i.source.x1,i.y0]}function Sen(i){return[i.target.x0,i.y1]}function Aen(){return Cen().source(_en).target(Sen)}const XHt=class aOt{static next(a){return new aOt(a+ ++aOt.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};XHt.count=0;let QHt=XHt;const Len={left:len,right:hen,center:fen,justify:HHt},Men={draw:function(i,a,f,g){const{securityLevel:w,sankey:v}=Re(),b=YFt.sankey;let E;w==="sandbox"&&(E=xr("#i"+a));const _=xr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?_.select(`[id="${a}"]`):xr(`[id="${a}"]`),I=(v==null?void 0:v.width)??b.width,B=(v==null?void 0:v.height)??b.width,F=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,R=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,q=(v==null?void 0:v.prefix)??b.prefix,X=(v==null?void 0:v.suffix)??b.suffix,rt=(v==null?void 0:v.showValues)??b.showValues,at=g.db.getGraph(),ut=Len[R],pt=10;ben().nodeId(ft=>ft.id).nodeWidth(pt).nodePadding(10+(rt?15:0)).nodeAlign(ut).extent([[0,0],[I,B]])(at);const mt=TW(NLe);S.append("g").attr("class","nodes").selectAll(".node").data(at.nodes).join("g").attr("class","node").attr("id",ft=>(ft.uid=QHt.next("node-")).id).attr("transform",function(ft){return"translate("+ft.x0+","+ft.y0+")"}).attr("x",ft=>ft.x0).attr("y",ft=>ft.y0).append("rect").attr("height",ft=>ft.y1-ft.y0).attr("width",ft=>ft.x1-ft.x0).attr("fill",ft=>mt(ft.id));const gt=({id:ft,value:Y})=>rt?`${ft} +${q}${Math.round(Y*100)/100}${X}`:ft;S.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(at.nodes).join("text").attr("x",ft=>ft.x0(ft.y1+ft.y0)/2).attr("dy",`${rt?"0":"0.35"}em`).attr("text-anchor",ft=>ft.x0(Y.uid=QHt.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",Y=>Y.source.x1).attr("x2",Y=>Y.target.x0);ft.append("stop").attr("offset","0%").attr("stop-color",Y=>mt(Y.source.id)),ft.append("stop").attr("offset","100%").attr("stop-color",Y=>mt(Y.target.id))}let Z;switch(bt){case"gradient":Z=ft=>ft.uid;break;case"source":Z=ft=>mt(ft.source.id);break;case"target":Z=ft=>mt(ft.target.id);break;default:Z=bt}ht.append("path").attr("d",Aen()).attr("stroke",Z).attr("stroke-width",ft=>Math.max(1,ft.width)),g8(void 0,S,0,F)}},Den=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),Ien=LX.parse.bind(LX);LX.parse=i=>Ien(Den(i));const Oen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:LX,db:cen,renderer:Men}},Symbol.toStringTag,{value:"Module"}));return x2}); diff --git a/assets/favicon.png b/assets/favicon.png new file mode 100644 index 0000000..60de54e Binary files /dev/null and b/assets/favicon.png differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000..1cf13b9 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/iohomecontrol_frequence.png b/assets/iohomecontrol_frequence.png new file mode 100644 index 0000000..c697452 Binary files /dev/null and b/assets/iohomecontrol_frequence.png differ diff --git a/assets/iown-homecontrol_LogoFull.ico b/assets/iown-homecontrol_LogoFull.ico new file mode 100644 index 0000000..e8d136a Binary files /dev/null and b/assets/iown-homecontrol_LogoFull.ico differ diff --git a/assets/iown-homecontrol_LogoFull.png b/assets/iown-homecontrol_LogoFull.png new file mode 100644 index 0000000..c08fa8d Binary files /dev/null and b/assets/iown-homecontrol_LogoFull.png differ diff --git a/assets/iown-homecontrol_LogoOnly.png b/assets/iown-homecontrol_LogoOnly.png new file mode 100644 index 0000000..2f5a949 Binary files /dev/null and b/assets/iown-homecontrol_LogoOnly.png differ diff --git a/assets/iown-logo.png b/assets/iown-logo.png new file mode 100644 index 0000000..de5830e Binary files /dev/null and b/assets/iown-logo.png differ diff --git a/assets/javascripts/bundle.1e8ae164.min.js b/assets/javascripts/bundle.1e8ae164.min.js new file mode 100644 index 0000000..c32a125 --- /dev/null +++ b/assets/javascripts/bundle.1e8ae164.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var _i=Object.create;var br=Object.defineProperty;var Ai=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames,Ft=Object.getOwnPropertySymbols,ki=Object.getPrototypeOf,vr=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable;var Zr=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,F=(e,t)=>{for(var r in t||(t={}))vr.call(t,r)&&Zr(e,r,t[r]);if(Ft)for(var r of Ft(t))eo.call(t,r)&&Zr(e,r,t[r]);return e};var to=(e,t)=>{var r={};for(var o in e)vr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Ft)for(var o of Ft(e))t.indexOf(o)<0&&eo.call(e,o)&&(r[o]=e[o]);return r};var gr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ci(t))!vr.call(e,n)&&n!==r&&br(e,n,{get:()=>t[n],enumerable:!(o=Ai(t,n))||o.enumerable});return e};var jt=(e,t,r)=>(r=e!=null?_i(ki(e)):{},Hi(t||!e||!e.__esModule?br(r,"default",{value:e,enumerable:!0}):r,e));var ro=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{s(r.next(c))}catch(p){n(p)}},a=c=>{try{s(r.throw(c))}catch(p){n(p)}},s=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,a);s((r=r.apply(e,t)).next())});var no=gr((xr,oo)=>{(function(e,t){typeof xr=="object"&&typeof oo!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(C){return!!(C&&C!==document&&C.nodeName!=="HTML"&&C.nodeName!=="BODY"&&"classList"in C&&"contains"in C.classList)}function c(C){var ct=C.type,Ne=C.tagName;return!!(Ne==="INPUT"&&a[ct]&&!C.readOnly||Ne==="TEXTAREA"&&!C.readOnly||C.isContentEditable)}function p(C){C.classList.contains("focus-visible")||(C.classList.add("focus-visible"),C.setAttribute("data-focus-visible-added",""))}function l(C){C.hasAttribute("data-focus-visible-added")&&(C.classList.remove("focus-visible"),C.removeAttribute("data-focus-visible-added"))}function f(C){C.metaKey||C.altKey||C.ctrlKey||(s(r.activeElement)&&p(r.activeElement),o=!0)}function u(C){o=!1}function h(C){s(C.target)&&(o||c(C.target))&&p(C.target)}function w(C){s(C.target)&&(C.target.classList.contains("focus-visible")||C.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(C.target))}function A(C){document.visibilityState==="hidden"&&(n&&(o=!0),Z())}function Z(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function te(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(C){C.target.nodeName&&C.target.nodeName.toLowerCase()==="html"||(o=!1,te())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",A,!0),Z(),r.addEventListener("focus",h,!0),r.addEventListener("blur",w,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var zr=gr((kt,Vr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof kt=="object"&&typeof Vr=="object"?Vr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof kt=="object"?kt.ClipboardJS=r():t.ClipboardJS=r()})(kt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Li}});var a=i(279),s=i.n(a),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(D){try{return document.execCommand(D)}catch(M){return!1}}var h=function(M){var O=f()(M);return u("cut"),O},w=h;function A(D){var M=document.documentElement.getAttribute("dir")==="rtl",O=document.createElement("textarea");O.style.fontSize="12pt",O.style.border="0",O.style.padding="0",O.style.margin="0",O.style.position="absolute",O.style[M?"right":"left"]="-9999px";var I=window.pageYOffset||document.documentElement.scrollTop;return O.style.top="".concat(I,"px"),O.setAttribute("readonly",""),O.value=D,O}var Z=function(M,O){var I=A(M);O.container.appendChild(I);var W=f()(I);return u("copy"),I.remove(),W},te=function(M){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},I="";return typeof M=="string"?I=Z(M,O):M instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(M==null?void 0:M.type)?I=Z(M.value,O):(I=f()(M),u("copy")),I},J=te;function C(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(O){return typeof O}:C=function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},C(D)}var ct=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=M.action,I=O===void 0?"copy":O,W=M.container,K=M.target,Ce=M.text;if(I!=="copy"&&I!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(K!==void 0)if(K&&C(K)==="object"&&K.nodeType===1){if(I==="copy"&&K.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(I==="cut"&&(K.hasAttribute("readonly")||K.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Ce)return J(Ce,{container:W});if(K)return I==="cut"?w(K):J(K,{container:W})},Ne=ct;function Pe(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pe=function(O){return typeof O}:Pe=function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},Pe(D)}function xi(D,M){if(!(D instanceof M))throw new TypeError("Cannot call a class as a function")}function Xr(D,M){for(var O=0;O0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof W.action=="function"?W.action:this.defaultAction,this.target=typeof W.target=="function"?W.target:this.defaultTarget,this.text=typeof W.text=="function"?W.text:this.defaultText,this.container=Pe(W.container)==="object"?W.container:document.body}},{key:"listenClick",value:function(W){var K=this;this.listener=p()(W,"click",function(Ce){return K.onClick(Ce)})}},{key:"onClick",value:function(W){var K=W.delegateTarget||W.currentTarget,Ce=this.action(K)||"copy",It=Ne({action:Ce,container:this.container,target:this.target(K),text:this.text(K)});this.emit(It?"success":"error",{action:Ce,text:It,trigger:K,clearSelection:function(){K&&K.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(W){return hr("action",W)}},{key:"defaultTarget",value:function(W){var K=hr("target",W);if(K)return document.querySelector(K)}},{key:"defaultText",value:function(W){return hr("text",W)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(W){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(W,K)}},{key:"cut",value:function(W){return w(W)}},{key:"isSupported",value:function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],K=typeof W=="string"?[W]:W,Ce=!!document.queryCommandSupported;return K.forEach(function(It){Ce=Ce&&!!document.queryCommandSupported(It)}),Ce}}]),O}(s()),Li=Mi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,c){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(c))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,h,w){var A=p.apply(this,arguments);return l.addEventListener(u,A,w),{destroy:function(){l.removeEventListener(u,A,w)}}}function c(l,f,u,h,w){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(A){return s(A,f,u,h,w)}))}function p(l,f,u,h){return function(w){w.delegateTarget=a(w.target,f),w.delegateTarget&&h.call(l,w)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function c(u,h,w){if(!u&&!h&&!w)throw new Error("Missing required arguments");if(!a.string(h))throw new TypeError("Second argument must be a String");if(!a.fn(w))throw new TypeError("Third argument must be a Function");if(a.node(u))return p(u,h,w);if(a.nodeList(u))return l(u,h,w);if(a.string(u))return f(u,h,w);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,h,w){return u.addEventListener(h,w),{destroy:function(){u.removeEventListener(h,w)}}}function l(u,h,w){return Array.prototype.forEach.call(u,function(A){A.addEventListener(h,w)}),{destroy:function(){Array.prototype.forEach.call(u,function(A){A.removeEventListener(h,w)})}}}function f(u,h,w){return s(document.body,u,h,w)}o.exports=c},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),a=c.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var c=this;function p(){c.off(i,p),a.apply(s,arguments)}return p._=a,this.on(i,p,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=s.length;for(c;c{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var Va=/["'&<>]/;qn.exports=za;function za(e){var t=""+e,r=Va.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function V(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function z(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||s(u,h)})})}function s(u,h){try{c(o[u](h))}catch(w){f(i[0][3],w)}}function c(u){u.value instanceof ot?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){s("next",u)}function l(u){s("throw",u)}function f(u,h){u(h),i.shift(),i.length&&s(i[0][0],i[0][1])}}function so(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof ue=="function"?ue(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,c){a=e[i](a),n(s,c,a.done,a.value)})}}function n(i,a,s,c){Promise.resolve(c).then(function(p){i({value:p,done:s})},a)}}function k(e){return typeof e=="function"}function pt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Wt=pt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=ue(a),c=s.next();!c.done;c=s.next()){var p=c.value;p.remove(this)}}catch(A){t={error:A}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(k(l))try{l()}catch(A){i=A instanceof Wt?A.errors:[A]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=ue(f),h=u.next();!h.done;h=u.next()){var w=h.value;try{co(w)}catch(A){i=i!=null?i:[],A instanceof Wt?i=z(z([],V(i)),V(A.errors)):i.push(A)}}}catch(A){o={error:A}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Wt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)co(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Er=Ie.EMPTY;function Dt(e){return e instanceof Ie||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function co(e){k(e)?e():e.unsubscribe()}var ke={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var lt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Er:(this.currentObservers=null,s.push(r),new Ie(function(){o.currentObservers=null,Ve(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new vo(r,o)},t}(j);var vo=function(e){se(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Er},t}(g);var St={now:function(){return(St.delegate||Date).now()},delegate:void 0};var Ot=function(e){se(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=St);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,c=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),c=0;c0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(ut.cancelAnimationFrame(o),r._scheduled=void 0)},t}(zt);var yo=function(e){se(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(qt);var de=new yo(xo);var L=new j(function(e){return e.complete()});function Kt(e){return e&&k(e.schedule)}function _r(e){return e[e.length-1]}function Je(e){return k(_r(e))?e.pop():void 0}function Ae(e){return Kt(_r(e))?e.pop():void 0}function Qt(e,t){return typeof _r(e)=="number"?e.pop():t}var dt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Yt(e){return k(e==null?void 0:e.then)}function Bt(e){return k(e[ft])}function Gt(e){return Symbol.asyncIterator&&k(e==null?void 0:e[Symbol.asyncIterator])}function Jt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Di(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Xt=Di();function Zt(e){return k(e==null?void 0:e[Xt])}function er(e){return ao(this,arguments,function(){var r,o,n,i;return Ut(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,ot(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,ot(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,ot(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function tr(e){return k(e==null?void 0:e.getReader)}function N(e){if(e instanceof j)return e;if(e!=null){if(Bt(e))return Ni(e);if(dt(e))return Vi(e);if(Yt(e))return zi(e);if(Gt(e))return Eo(e);if(Zt(e))return qi(e);if(tr(e))return Ki(e)}throw Jt(e)}function Ni(e){return new j(function(t){var r=e[ft]();if(k(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Vi(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):ce,ye(1),r?Qe(t):jo(function(){return new or}))}}function $r(e){return e<=0?function(){return L}:x(function(t,r){var o=[];t.subscribe(S(r,function(n){o.push(n),e=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,c=s===void 0?!0:s;return function(p){var l,f,u,h=0,w=!1,A=!1,Z=function(){f==null||f.unsubscribe(),f=void 0},te=function(){Z(),l=u=void 0,w=A=!1},J=function(){var C=l;te(),C==null||C.unsubscribe()};return x(function(C,ct){h++,!A&&!w&&Z();var Ne=u=u!=null?u:r();ct.add(function(){h--,h===0&&!A&&!w&&(f=Pr(J,c))}),Ne.subscribe(ct),!l&&h>0&&(l=new it({next:function(Pe){return Ne.next(Pe)},error:function(Pe){A=!0,Z(),f=Pr(te,n,Pe),Ne.error(Pe)},complete:function(){w=!0,Z(),f=Pr(te,a),Ne.complete()}}),N(C).subscribe(l))})(p)}}function Pr(e,t){for(var r=[],o=2;oe.next(document)),e}function R(e,t=document){return Array.from(t.querySelectorAll(e))}function P(e,t=document){let r=me(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function me(e,t=document){return t.querySelector(e)||void 0}function Re(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var la=T(d(document.body,"focusin"),d(document.body,"focusout")).pipe(be(1),q(void 0),m(()=>Re()||document.body),B(1));function vt(e){return la.pipe(m(t=>e.contains(t)),Y())}function Vo(e,t){return T(d(e,"mouseenter").pipe(m(()=>!0)),d(e,"mouseleave").pipe(m(()=>!1))).pipe(t?be(t):ce,q(!1))}function Ue(e){return{x:e.offsetLeft,y:e.offsetTop}}function zo(e){return T(d(window,"load"),d(window,"resize")).pipe(Me(0,de),m(()=>Ue(e)),q(Ue(e)))}function ir(e){return{x:e.scrollLeft,y:e.scrollTop}}function et(e){return T(d(e,"scroll"),d(window,"resize")).pipe(Me(0,de),m(()=>ir(e)),q(ir(e)))}function qo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)qo(e,r)}function E(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)qo(o,n);return o}function ar(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function gt(e){let t=E("script",{src:e});return H(()=>(document.head.appendChild(t),T(d(t,"load"),d(t,"error").pipe(v(()=>Ar(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),ye(1))))}var Ko=new g,ma=H(()=>typeof ResizeObserver=="undefined"?gt("https://unpkg.com/resize-observer-polyfill"):$(void 0)).pipe(m(()=>new ResizeObserver(e=>{for(let t of e)Ko.next(t)})),v(e=>T(qe,$(e)).pipe(_(()=>e.disconnect()))),B(1));function pe(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Ee(e){return ma.pipe(y(t=>t.observe(e)),v(t=>Ko.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(()=>pe(e)))),q(pe(e)))}function xt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function sr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var Qo=new g,fa=H(()=>$(new IntersectionObserver(e=>{for(let t of e)Qo.next(t)},{threshold:0}))).pipe(v(e=>T(qe,$(e)).pipe(_(()=>e.disconnect()))),B(1));function yt(e){return fa.pipe(y(t=>t.observe(e)),v(t=>Qo.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function Yo(e,t=16){return et(e).pipe(m(({y:r})=>{let o=pe(e),n=xt(e);return r>=n.height-o.height-t}),Y())}var cr={drawer:P("[data-md-toggle=drawer]"),search:P("[data-md-toggle=search]")};function Bo(e){return cr[e].checked}function Be(e,t){cr[e].checked!==t&&cr[e].click()}function We(e){let t=cr[e];return d(t,"change").pipe(m(()=>t.checked),q(t.checked))}function ua(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function da(){return T(d(window,"compositionstart").pipe(m(()=>!0)),d(window,"compositionend").pipe(m(()=>!1))).pipe(q(!1))}function Go(){let e=d(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:Bo("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Re();if(typeof o!="undefined")return!ua(o,r)}return!0}),le());return da().pipe(v(t=>t?L:e))}function ve(){return new URL(location.href)}function st(e,t=!1){if(G("navigation.instant")&&!t){let r=E("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function Jo(){return new g}function Xo(){return location.hash.slice(1)}function Zo(e){let t=E("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function ha(e){return T(d(window,"hashchange"),e).pipe(m(Xo),q(Xo()),b(t=>t.length>0),B(1))}function en(e){return ha(e).pipe(m(t=>me(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function At(e){let t=matchMedia(e);return nr(r=>t.addListener(()=>r(t.matches))).pipe(q(t.matches))}function tn(){let e=matchMedia("print");return T(d(window,"beforeprint").pipe(m(()=>!0)),d(window,"afterprint").pipe(m(()=>!1))).pipe(q(e.matches))}function Ur(e,t){return e.pipe(v(r=>r?t():L))}function Wr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function De(e,t){return Wr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),B(1))}function rn(e,t){let r=new DOMParser;return Wr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),B(1))}function on(e,t){let r=new DOMParser;return Wr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),B(1))}function nn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function an(){return T(d(window,"scroll",{passive:!0}),d(window,"resize",{passive:!0})).pipe(m(nn),q(nn()))}function sn(){return{width:innerWidth,height:innerHeight}}function cn(){return d(window,"resize",{passive:!0}).pipe(m(sn),q(sn()))}function pn(){return Q([an(),cn()]).pipe(m(([e,t])=>({offset:e,size:t})),B(1))}function pr(e,{viewport$:t,header$:r}){let o=t.pipe(X("size")),n=Q([o,r]).pipe(m(()=>Ue(e)));return Q([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:c,y:p}])=>({offset:{x:a.x-c,y:a.y-p+i},size:s})))}function ba(e){return d(e,"message",t=>t.data)}function va(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function ln(e,t=new Worker(e)){let r=ba(t),o=va(t),n=new g;n.subscribe(o);let i=o.pipe(ee(),oe(!0));return n.pipe(ee(),$e(r.pipe(U(i))),le())}var ga=P("#__config"),Et=JSON.parse(ga.textContent);Et.base=`${new URL(Et.base,ve())}`;function we(){return Et}function G(e){return Et.features.includes(e)}function ge(e,t){return typeof t!="undefined"?Et.translations[e].replace("#",t.toString()):Et.translations[e]}function Te(e,t=document){return P(`[data-md-component=${e}]`,t)}function ie(e,t=document){return R(`[data-md-component=${e}]`,t)}function xa(e){let t=P(".md-typeset > :first-child",e);return d(t,"click",{once:!0}).pipe(m(()=>P(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function mn(e){if(!G("announce.dismiss")||!e.childElementCount)return L;if(!e.hidden){let t=P(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return H(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),xa(e).pipe(y(r=>t.next(r)),_(()=>t.complete()),m(r=>F({ref:e},r)))})}function ya(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function fn(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),ya(e,t).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))}function Ct(e,t){return t==="inline"?E("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},E("div",{class:"md-tooltip__inner md-typeset"})):E("div",{class:"md-tooltip",id:e,role:"tooltip"},E("div",{class:"md-tooltip__inner md-typeset"}))}function un(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return E("aside",{class:"md-annotation",tabIndex:0},Ct(t),E("a",{href:r,class:"md-annotation__index",tabIndex:-1},E("span",{"data-md-annotation-id":e})))}else return E("aside",{class:"md-annotation",tabIndex:0},Ct(t),E("span",{class:"md-annotation__index",tabIndex:-1},E("span",{"data-md-annotation-id":e})))}function dn(e){return E("button",{class:"md-clipboard md-icon",title:ge("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function Dr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,E("del",null,p)," "],[]).slice(0,-1),i=we(),a=new URL(e.location,i.base);G("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:s}=we();return E("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},E("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&E("div",{class:"md-search-result__icon md-icon"}),r>0&&E("h1",null,e.title),r<=0&&E("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=s?c in s?`md-tag-icon md-tag--${s[c]}`:"md-tag-icon":"";return E("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&E("p",{class:"md-search-result__terms"},ge("search.result.term.missing"),": ",...n)))}function hn(e){let t=e[0].score,r=[...e],o=we(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreDr(l,1)),...c.length?[E("details",{class:"md-search-result__more"},E("summary",{tabIndex:-1},E("div",null,c.length>0&&c.length===1?ge("search.result.more.one"):ge("search.result.more.other",c.length))),...c.map(l=>Dr(l,1)))]:[]];return E("li",{class:"md-search-result__item"},p)}function bn(e){return E("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>E("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?ar(r):r)))}function Nr(e){let t=`tabbed-control tabbed-control--${e}`;return E("div",{class:t,hidden:!0},E("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function vn(e){return E("div",{class:"md-typeset__scrollwrap"},E("div",{class:"md-typeset__table"},e))}function Ea(e){let t=we(),r=new URL(`../${e.version}/`,t.base);return E("li",{class:"md-version__item"},E("a",{href:`${r}`,class:"md-version__link"},e.title))}function gn(e,t){return e=e.filter(r=>{var o;return!((o=r.properties)!=null&&o.hidden)}),E("div",{class:"md-version"},E("button",{class:"md-version__current","aria-label":ge("select.version")},t.title),E("ul",{class:"md-version__list"},e.map(Ea)))}var wa=0;function Ta(e,t){document.body.append(e);let{width:r}=pe(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=sr(t),n=typeof o!="undefined"?et(o):$({x:0,y:0}),i=T(vt(t),Vo(t)).pipe(Y());return Q([i,n]).pipe(m(([a,s])=>{let{x:c,y:p}=Ue(t),l=pe(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:c-s.x+l.width/2-r/2,y:p-s.y+l.height+8}}}))}function Ge(e){let t=e.title;if(!t.length)return L;let r=`__tooltip_${wa++}`,o=Ct(r,"inline"),n=P(".md-typeset",o);return n.innerHTML=t,H(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),T(i.pipe(b(({active:a})=>a)),i.pipe(be(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,de)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(_t(125,de),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ta(o,e).pipe(y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))}).pipe(ze(ae))}function Sa(e,t){let r=H(()=>Q([zo(e),et(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=pe(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return vt(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),ye(+!o||1/0))))}function xn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return H(()=>{let i=new g,a=i.pipe(ee(),oe(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),yt(e).pipe(U(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),T(i.pipe(b(({active:s})=>s)),i.pipe(be(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,de)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(_t(125,de),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),d(n,"click").pipe(U(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),d(n,"mousedown").pipe(U(a),ne(i)).subscribe(([s,{active:c}])=>{var p;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(c){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Re())==null||p.blur()}}),r.pipe(U(a),b(s=>s===o),Ye(125)).subscribe(()=>e.focus()),Sa(e,t).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))})}function Oa(e){return e.tagName==="CODE"?R(".c, .c1, .cm",e):[e]}function Ma(e){let t=[];for(let r of Oa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,c]=a;if(typeof c=="undefined"){let p=i.splitText(a.index);i=p.splitText(s.length),t.push(p)}else{i.textContent=s,t.push(i);break}}}}return t}function yn(e,t){t.append(...Array.from(e.childNodes))}function lr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Ma(t)){let[,c]=s.textContent.match(/\((\d+)\)/);me(`:scope > li:nth-child(${c})`,e)&&(a.set(c,un(c,i)),s.replaceWith(a.get(c)))}return a.size===0?L:H(()=>{let s=new g,c=s.pipe(ee(),oe(!0)),p=[];for(let[l,f]of a)p.push([P(".md-typeset",f),P(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?yn(f,u):yn(u,f)}),T(...[...a].map(([,l])=>xn(l,t,{target$:r}))).pipe(_(()=>s.complete()),le())})}function En(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return En(t)}}function wn(e,t){return H(()=>{let r=En(e);return typeof r!="undefined"?lr(r,e,t):L})}var Tn=jt(zr());var La=0;function Sn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Sn(t)}}function _a(e){return Ee(e).pipe(m(({width:t})=>({scrollable:xt(e).width>t})),X("scrollable"))}function On(e,t){let{matches:r}=matchMedia("(hover)"),o=H(()=>{let n=new g,i=n.pipe($r(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Tn.default.isSupported()&&(e.closest(".copy")||G("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${La++}`;let p=dn(c.id);c.insertBefore(p,e),G("content.tooltips")&&a.push(Ge(p))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=Sn(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||G("content.code.annotate"))){let p=lr(c,e,t);a.push(Ee(s).pipe(U(i),m(({width:l,height:f})=>l&&f),Y(),v(l=>l?p:L)))}}return _a(e).pipe(y(c=>n.next(c)),_(()=>n.complete()),m(c=>F({ref:e},c)),$e(...a))});return G("content.lazy")?yt(e).pipe(b(n=>n),ye(1),v(()=>o)):o}function Aa(e,{target$:t,print$:r}){let o=!0;return T(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),y(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Mn(e,t){return H(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Aa(e,t).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}var Ln=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var qr,ka=0;function Ha(){return typeof mermaid=="undefined"||mermaid instanceof Element?gt("https://velocet.github.io/iown-homecontrol/assets/external/unpkg.com/mermaid@10.7.0/dist/mermaid.min.js"):$(void 0)}function _n(e){return e.classList.remove("mermaid"),qr||(qr=Ha().pipe(y(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Ln,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),B(1))),qr.subscribe(()=>ro(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${ka++}`,r=E("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),qr.pipe(m(()=>({ref:e})))}var An=E("table");function Cn(e){return e.replaceWith(An),An.replaceWith(vn(e)),$({ref:e})}function $a(e){let t=e.find(r=>r.checked)||e[0];return T(...e.map(r=>d(r,"change").pipe(m(()=>P(`label[for="${r.id}"]`))))).pipe(q(P(`label[for="${t.id}"]`)),m(r=>({active:r})))}function kn(e,{viewport$:t,target$:r}){let o=P(".tabbed-labels",e),n=R(":scope > input",e),i=Nr("prev");e.append(i);let a=Nr("next");return e.append(a),H(()=>{let s=new g,c=s.pipe(ee(),oe(!0));Q([s,Ee(e)]).pipe(U(c),Me(1,de)).subscribe({next([{active:p},l]){let f=Ue(p),{width:u}=pe(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let h=ir(o);(f.xh.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),Q([et(o),Ee(o)]).pipe(U(c)).subscribe(([p,l])=>{let f=xt(o);i.hidden=p.x<16,a.hidden=p.x>f.width-l.width-16}),T(d(i,"click").pipe(m(()=>-1)),d(a,"click").pipe(m(()=>1))).pipe(U(c)).subscribe(p=>{let{width:l}=pe(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(U(c),b(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=P(`label[for="${p.id}"]`);l.replaceChildren(E("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),d(l.firstElementChild,"click").pipe(U(c),b(f=>!(f.metaKey||f.ctrlKey)),y(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return G("content.tabs.link")&&s.pipe(Le(1),ne(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let w of R("[data-tabs]"))for(let A of R(":scope > input",w)){let Z=P(`label[for="${A.id}"]`);if(Z!==p&&Z.innerText.trim()===f){Z.setAttribute("data-md-switching",""),A.click();break}}window.scrollTo({top:e.offsetTop-u});let h=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...h])])}}),s.pipe(U(c)).subscribe(()=>{for(let p of R("audio, video",e))p.pause()}),$a(n).pipe(y(p=>s.next(p)),_(()=>s.complete()),m(p=>F({ref:e},p)))}).pipe(ze(ae))}function Hn(e,{viewport$:t,target$:r,print$:o}){return T(...R(".annotate:not(.highlight)",e).map(n=>wn(n,{target$:r,print$:o})),...R("pre:not(.mermaid) > code",e).map(n=>On(n,{target$:r,print$:o})),...R("pre.mermaid",e).map(n=>_n(n)),...R("table:not([class])",e).map(n=>Cn(n)),...R("details",e).map(n=>Mn(n,{target$:r,print$:o})),...R("[data-tabs]",e).map(n=>kn(n,{viewport$:t,target$:r})),...R("[title]",e).filter(()=>G("content.tooltips")).map(n=>Ge(n)))}function Ra(e,{alert$:t}){return t.pipe(v(r=>T($(!0),$(!1).pipe(Ye(2e3))).pipe(m(o=>({message:r,active:o})))))}function $n(e,t){let r=P(".md-typeset",e);return H(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ra(e,t).pipe(y(n=>o.next(n)),_(()=>o.complete()),m(n=>F({ref:e},n)))})}function Pa({viewport$:e}){if(!G("header.autohide"))return $(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Ke(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),Y()),o=We("search");return Q([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Y(),v(n=>n?r:$(!1)),q(!1))}function Rn(e,t){return H(()=>Q([Ee(e),Pa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Y((r,o)=>r.height===o.height&&r.hidden===o.hidden),B(1))}function Pn(e,{header$:t,main$:r}){return H(()=>{let o=new g,n=o.pipe(ee(),oe(!0));o.pipe(X("active"),je(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=fe(R("[title]",e)).pipe(b(()=>G("content.tooltips")),re(a=>Ge(a)));return r.subscribe(o),t.pipe(U(n),m(a=>F({ref:e},a)),$e(i.pipe(U(n))))})}function Ia(e,{viewport$:t,header$:r}){return pr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=pe(e);return{active:o>=n}}),X("active"))}function In(e,t){return H(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=me(".md-content h1");return typeof o=="undefined"?L:Ia(o,t).pipe(y(n=>r.next(n)),_(()=>r.complete()),m(n=>F({ref:e},n)))})}function Fn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Y()),n=o.pipe(v(()=>Ee(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),X("bottom"))));return Q([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,a-c,i)-Math.max(0,p+c-s)),{offset:a-i,height:p,active:a-i<=c})),Y((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Fa(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return $(...e).pipe(re(o=>d(o,"change").pipe(m(()=>o))),q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),B(1))}function jn(e){let t=R("input",e),r=E("meta",{name:"theme-color"});document.head.appendChild(r);let o=E("meta",{name:"color-scheme"});document.head.appendChild(o);let n=At("(prefers-color-scheme: light)");return H(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=c.getAttribute("data-md-color-scheme"),a.color.primary=c.getAttribute("data-md-color-primary"),a.color.accent=c.getAttribute("data-md-color-accent")}for(let[s,c]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,c);for(let s=0;sa.key==="Enter"),ne(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Te("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(Oe(ae)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Fa(t).pipe(U(n.pipe(Le(1))),at(),y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))})}function Un(e,{progress$:t}){return H(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(y(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Kr=jt(zr());function ja(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Wn({alert$:e}){Kr.default.isSupported()&&new j(t=>{new Kr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ja(P(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(y(t=>{t.trigger.focus()}),m(()=>ge("clipboard.copied"))).subscribe(e)}function Dn(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function Ua(e,t){let r=new Map;for(let o of R("url",e)){let n=P("loc",o),i=[Dn(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of R("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(Dn(new URL(s),t))}}return r}function mr(e){return on(new URL("sitemap.xml",e)).pipe(m(t=>Ua(t,new URL(e))),he(()=>$(new Map)))}function Wa(e,t){if(!(e.target instanceof Element))return L;let r=e.target.closest("a");if(r===null)return L;if(r.target||e.metaKey||e.ctrlKey)return L;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),$(new URL(r.href))):L}function Nn(e){let t=new Map;for(let r of R(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Vn(e){for(let t of R("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return $(e)}function Da(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...G("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=me(o),i=me(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=Nn(document);for(let[o,n]of Nn(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Te("container");return Fe(R("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),L}),ee(),oe(document))}function zn({location$:e,viewport$:t,progress$:r}){let o=we();if(location.protocol==="file:")return L;let n=mr(o.base);$(document).subscribe(Vn);let i=d(document.body,"click").pipe(je(n),v(([c,p])=>Wa(c,p)),le()),a=d(window,"popstate").pipe(m(ve),le());i.pipe(ne(t)).subscribe(([c,{offset:p}])=>{history.replaceState(p,""),history.pushState(null,"",c)}),T(i,a).subscribe(e);let s=e.pipe(X("pathname"),v(c=>rn(c,{progress$:r}).pipe(he(()=>(st(c,!0),L)))),v(Vn),v(Da),le());return T(s.pipe(ne(e,(c,p)=>p)),e.pipe(X("pathname"),v(()=>e),X("hash")),e.pipe(Y((c,p)=>c.pathname===p.pathname&&c.hash===p.hash),v(()=>i),y(()=>history.back()))).subscribe(c=>{var p,l;history.state!==null||!c.hash?window.scrollTo(0,(l=(p=history.state)==null?void 0:p.y)!=null?l:0):(history.scrollRestoration="auto",Zo(c.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),d(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(X("offset"),be(100)).subscribe(({offset:c})=>{history.replaceState(c,"")}),s}var Qn=jt(Kn());function Yn(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,Qn.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Ht(e){return e.type===1}function fr(e){return e.type===3}function Bn(e,t){let r=ln(e);return T($(location.protocol!=="file:"),We("search")).pipe(He(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:G("search.suggest")}}})),r}function Gn({document$:e}){let t=we(),r=De(new URL("../versions.json",t.base)).pipe(he(()=>L)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>d(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),ne(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let c=s.href;return!i.target.closest(".md-version")&&n.get(c)===a?L:(i.preventDefault(),$(c))}}return L}),v(i=>{let{version:a}=n.get(i);return mr(new URL(i)).pipe(m(s=>{let p=ve().href.replace(t.base,"");return s.has(p.split("#")[0])?new URL(`../${a}/${p}`,t.base):new URL(i)}))})))).subscribe(n=>st(n,!0)),Q([r,o]).subscribe(([n,i])=>{P(".md-header__topic").appendChild(gn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let c of s)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ie("outdated"))s.hidden=!1})}function Ka(e,{worker$:t}){let{searchParams:r}=ve();r.has("q")&&(Be("search",!0),e.value=r.get("q"),e.focus(),We("search").pipe(He(i=>!i)).subscribe(()=>{let i=ve();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=vt(e),n=T(t.pipe(He(Ht)),d(e,"keyup"),o).pipe(m(()=>e.value),Y());return Q([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),B(1))}function Jn(e,{worker$:t}){let r=new g,o=r.pipe(ee(),oe(!0));Q([t.pipe(He(Ht)),r],(i,a)=>a).pipe(X("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(X("focus")).subscribe(({focus:i})=>{i&&Be("search",i)}),d(e.form,"reset").pipe(U(o)).subscribe(()=>e.focus());let n=P("header [for=__search]");return d(n,"click").subscribe(()=>e.focus()),Ka(e,{worker$:t}).pipe(y(i=>r.next(i)),_(()=>r.complete()),m(i=>F({ref:e},i)),B(1))}function Xn(e,{worker$:t,query$:r}){let o=new g,n=Yo(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=P(":scope > :first-child",e),s=P(":scope > :last-child",e);We("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(ne(r),Ir(t.pipe(He(Ht)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?ge("search.result.none"):ge("search.result.placeholder");break;case 1:a.textContent=ge("search.result.one");break;default:let u=ar(l.length);a.textContent=ge("search.result.other",u)}});let c=o.pipe(y(()=>s.innerHTML=""),v(({items:l})=>T($(...l.slice(0,10)),$(...l.slice(10)).pipe(Ke(4),jr(n),v(([f])=>f)))),m(hn),le());return c.subscribe(l=>s.appendChild(l)),c.pipe(re(l=>{let f=me("details",l);return typeof f=="undefined"?L:d(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(fr),m(({data:l})=>l)).pipe(y(l=>o.next(l)),_(()=>o.complete()),m(l=>F({ref:e},l)))}function Qa(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ve();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function Zn(e,t){let r=new g,o=r.pipe(ee(),oe(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),d(e,"click").pipe(U(o)).subscribe(n=>n.preventDefault()),Qa(e,t).pipe(y(n=>r.next(n)),_(()=>r.complete()),m(n=>F({ref:e},n)))}function ei(e,{worker$:t,keyboard$:r}){let o=new g,n=Te("search-query"),i=T(d(n,"keydown"),d(n,"focus")).pipe(Oe(ae),m(()=>n.value),Y());return o.pipe(je(i),m(([{suggest:s},c])=>{let p=c.split(/([\s-]+)/);if(s!=null&&s.length&&p[p.length-1]){let l=s[s.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(fr),m(({data:s})=>s)).pipe(y(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function ti(e,{index$:t,keyboard$:r}){let o=we();try{let n=Bn(o.search,t),i=Te("search-query",e),a=Te("search-result",e);d(e,"click").pipe(b(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>Be("search",!1)),r.pipe(b(({mode:c})=>c==="search")).subscribe(c=>{let p=Re();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of R(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,h])=>h-u);f.click()}c.claim()}break;case"Escape":case"Tab":Be("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...R(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Re()&&i.focus()}}),r.pipe(b(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let s=Jn(i,{worker$:n});return T(s,Xn(a,{worker$:n,query$:s})).pipe($e(...ie("search-share",e).map(c=>Zn(c,{query$:s})),...ie("search-suggest",e).map(c=>ei(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,qe}}function ri(e,{index$:t,location$:r}){return Q([t,r.pipe(q(ve()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>Yn(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let c=s.textContent,p=o(c);p.length>c.length&&n.set(s,p)}for(let[s,c]of n){let{childNodes:p}=E("span",null,c);s.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function Ya(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return Q([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),Y((i,a)=>i.height===a.height&&i.locked===a.locked))}function Qr(e,o){var n=o,{header$:t}=n,r=to(n,["header$"]);let i=P(".md-sidebar__scrollwrap",e),{y:a}=Ue(i);return H(()=>{let s=new g,c=s.pipe(ee(),oe(!0)),p=s.pipe(Me(0,de));return p.pipe(ne(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(He()).subscribe(()=>{for(let l of R(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=pe(f);f.scrollTo({top:u-h/2})}}}),fe(R("label[tabindex]",e)).pipe(re(l=>d(l,"click").pipe(Oe(ae),m(()=>l),U(c)))).subscribe(l=>{let f=P(`[id="${l.htmlFor}"]`);P(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),Ya(e,r).pipe(y(l=>s.next(l)),_(()=>s.complete()),m(l=>F({ref:e},l)))})}function oi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Lt(De(`${r}/releases/latest`).pipe(he(()=>L),m(o=>({version:o.tag_name})),Qe({})),De(r).pipe(he(()=>L),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Qe({}))).pipe(m(([o,n])=>F(F({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return De(r).pipe(m(o=>({repositories:o.public_repos})),Qe({}))}}function ni(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return De(r).pipe(he(()=>L),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Qe({}))}function ii(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return oi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return ni(r,o)}return L}var Ba;function Ga(e){return Ba||(Ba=H(()=>{let t=__md_get("__source",sessionStorage);if(t)return $(t);if(ie("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return L}return ii(e.href).pipe(y(o=>__md_set("__source",o,sessionStorage)))}).pipe(he(()=>L),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),B(1)))}function ai(e){let t=P(":scope > :last-child",e);return H(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(bn(o)),t.classList.add("md-source__repository--active")}),Ga(e).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}function Ja(e,{viewport$:t,header$:r}){return Ee(document.body).pipe(v(()=>pr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),X("hidden"))}function si(e,t){return H(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(G("navigation.tabs.sticky")?$({hidden:!1}):Ja(e,t)).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}function Xa(e,{viewport$:t,header$:r}){let o=new Map,n=R(".md-nav__link",e);for(let s of n){let c=decodeURIComponent(s.hash.substring(1)),p=me(`[id="${c}"]`);typeof p!="undefined"&&o.set(s,p)}let i=r.pipe(X("height"),m(({height:s})=>{let c=Te("main"),p=P(":scope > :first-child",c);return s+.8*(p.offsetTop-c.offsetTop)}),le());return Ee(document.body).pipe(X("height"),v(s=>H(()=>{let c=[];return $([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let h=f.offsetParent;for(;h;h=h.offsetParent)u+=h.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),je(i),v(([c,p])=>t.pipe(Rr(([l,f],{offset:{y:u},size:h})=>{let w=u+h.height>=Math.floor(s.height);for(;f.length;){let[,A]=f[0];if(A-p=u&&!w)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Y((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,c])=>({prev:s.map(([p])=>p),next:c.map(([p])=>p)})),q({prev:[],next:[]}),Ke(2,1),m(([s,c])=>s.prev.length{let i=new g,a=i.pipe(ee(),oe(!0));if(i.subscribe(({prev:s,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===s.length-1)}),G("toc.follow")){let s=T(t.pipe(be(1),m(()=>{})),t.pipe(be(250),m(()=>"smooth")));i.pipe(b(({prev:c})=>c.length>0),je(o.pipe(Oe(ae))),ne(s)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=sr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=pe(f);f.scrollTo({top:u-h/2,behavior:p})}}})}return G("navigation.tracking")&&t.pipe(U(a),X("offset"),be(250),Le(1),U(n.pipe(Le(1))),at({delay:250}),ne(i)).subscribe(([,{prev:s}])=>{let c=ve(),p=s[s.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),Xa(e,{viewport$:t,header$:r}).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))})}function Za(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Ke(2,1),m(([a,s])=>a>s&&s>0),Y()),i=r.pipe(m(({active:a})=>a));return Q([i,n]).pipe(m(([a,s])=>!(a&&s)),Y(),U(o.pipe(Le(1))),oe(!0),at({delay:250}),m(a=>({hidden:a})))}function pi(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(ee(),oe(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(a),X("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),d(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),Za(e,{viewport$:t,main$:o,target$:n}).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))}function li({document$:e}){e.pipe(v(()=>R(".md-ellipsis")),re(t=>yt(t).pipe(U(e.pipe(Le(1))),b(r=>r),m(()=>t),ye(1))),b(t=>t.offsetWidth{let r=t.innerText,o=t.closest("a")||t;return o.title=r,Ge(o).pipe(U(e.pipe(Le(1))),_(()=>o.removeAttribute("title")))})).subscribe(),e.pipe(v(()=>R(".md-status")),re(t=>Ge(t))).subscribe()}function mi({document$:e,tablet$:t}){e.pipe(v(()=>R(".md-toggle--indeterminate")),y(r=>{r.indeterminate=!0,r.checked=!1}),re(r=>d(r,"change").pipe(Fr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),ne(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function es(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function fi({document$:e}){e.pipe(v(()=>R("[data-md-scrollfix]")),y(t=>t.removeAttribute("data-md-scrollfix")),b(es),re(t=>d(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function ui({viewport$:e,tablet$:t}){Q([We("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>$(r).pipe(Ye(r?400:100))),ne(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ts(){return location.protocol==="file:"?gt(`${new URL("search/search_index.js",Yr.base)}`).pipe(m(()=>__index),B(1)):De(new URL("search/search_index.json",Yr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var rt=No(),Rt=Jo(),wt=en(Rt),Br=Go(),_e=pn(),ur=At("(min-width: 960px)"),hi=At("(min-width: 1220px)"),bi=tn(),Yr=we(),vi=document.forms.namedItem("search")?ts():qe,Gr=new g;Wn({alert$:Gr});var Jr=new g;G("navigation.instant")&&zn({location$:Rt,viewport$:_e,progress$:Jr}).subscribe(rt);var di;((di=Yr.version)==null?void 0:di.provider)==="mike"&&Gn({document$:rt});T(Rt,wt).pipe(Ye(125)).subscribe(()=>{Be("drawer",!1),Be("search",!1)});Br.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=me("link[rel=prev]");typeof t!="undefined"&&st(t);break;case"n":case".":let r=me("link[rel=next]");typeof r!="undefined"&&st(r);break;case"Enter":let o=Re();o instanceof HTMLLabelElement&&o.click()}});li({document$:rt});mi({document$:rt,tablet$:ur});fi({document$:rt});ui({viewport$:_e,tablet$:ur});var tt=Rn(Te("header"),{viewport$:_e}),$t=rt.pipe(m(()=>Te("main")),v(e=>Fn(e,{viewport$:_e,header$:tt})),B(1)),rs=T(...ie("consent").map(e=>fn(e,{target$:wt})),...ie("dialog").map(e=>$n(e,{alert$:Gr})),...ie("header").map(e=>Pn(e,{viewport$:_e,header$:tt,main$:$t})),...ie("palette").map(e=>jn(e)),...ie("progress").map(e=>Un(e,{progress$:Jr})),...ie("search").map(e=>ti(e,{index$:vi,keyboard$:Br})),...ie("source").map(e=>ai(e))),os=H(()=>T(...ie("announce").map(e=>mn(e)),...ie("content").map(e=>Hn(e,{viewport$:_e,target$:wt,print$:bi})),...ie("content").map(e=>G("search.highlight")?ri(e,{index$:vi,location$:Rt}):L),...ie("header-title").map(e=>In(e,{viewport$:_e,header$:tt})),...ie("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Ur(hi,()=>Qr(e,{viewport$:_e,header$:tt,main$:$t})):Ur(ur,()=>Qr(e,{viewport$:_e,header$:tt,main$:$t}))),...ie("tabs").map(e=>si(e,{viewport$:_e,header$:tt})),...ie("toc").map(e=>ci(e,{viewport$:_e,header$:tt,main$:$t,target$:wt})),...ie("top").map(e=>pi(e,{viewport$:_e,header$:tt,main$:$t,target$:wt})))),gi=rt.pipe(v(()=>os),$e(rs),B(1));gi.subscribe();window.document$=rt;window.location$=Rt;window.target$=wt;window.keyboard$=Br;window.viewport$=_e;window.tablet$=ur;window.screen$=hi;window.print$=bi;window.alert$=Gr;window.progress$=Jr;window.component$=gi;})(); +//# sourceMappingURL=bundle.1e8ae164.min.js.map + diff --git a/assets/javascripts/bundle.1e8ae164.min.js.map b/assets/javascripts/bundle.1e8ae164.min.js.map new file mode 100644 index 0000000..6c33b8e --- /dev/null +++ b/assets/javascripts/bundle.1e8ae164.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/clipboard/dist/clipboard.js", "node_modules/escape-html/index.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2024 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an