diff --git a/public/20070207_Vortrag_GPL-Linux.odt b/public/20070207_Vortrag_GPL-Linux.odt new file mode 100644 index 0000000..805481f Binary files /dev/null and b/public/20070207_Vortrag_GPL-Linux.odt differ diff --git a/public/2017_Flyer.odt b/public/2017_Flyer.odt new file mode 100644 index 0000000..0488b79 Binary files /dev/null and b/public/2017_Flyer.odt differ diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..bf52007 --- /dev/null +++ b/public/404.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 404 Page not found | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ +
+
+
Verlaufen?
+
Error 404
+
+ Wir wissen zwar nach was Sie suchen, können aber die entsprechende Seite + nicht finden. Kein Problem, beginnen Sie doch noch mal mit der Startseite. +
+
+
+
+ + + + +
+ + + diff --git a/public/FLUGS-Logo.svg b/public/FLUGS-Logo.svg new file mode 100644 index 0000000..2fd6e54 --- /dev/null +++ b/public/FLUGS-Logo.svg @@ -0,0 +1,3269 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LUG Frankfurt + + diff --git a/public/FRALUG_Logo.png b/public/FRALUG_Logo.png new file mode 100644 index 0000000..8b84f5a Binary files /dev/null and b/public/FRALUG_Logo.png differ diff --git a/public/FraLUG_Beamer_Latex_style.tar.bz2 b/public/FraLUG_Beamer_Latex_style.tar.bz2 new file mode 100644 index 0000000..5dd94c8 Binary files /dev/null and b/public/FraLUG_Beamer_Latex_style.tar.bz2 differ diff --git a/public/LPD.png b/public/LPD.png new file mode 100644 index 0000000..badcfcd Binary files /dev/null and b/public/LPD.png differ diff --git a/public/LUG_Beamer.tar.gz b/public/LUG_Beamer.tar.gz new file mode 100644 index 0000000..75cef15 Binary files /dev/null and b/public/LUG_Beamer.tar.gz differ diff --git a/public/LUG_Vortrag_v0-1.otp b/public/LUG_Vortrag_v0-1.otp new file mode 100644 index 0000000..1885d97 Binary files /dev/null and b/public/LUG_Vortrag_v0-1.otp differ diff --git a/public/authors/index.html b/public/authors/index.html new file mode 100644 index 0000000..2d169fc --- /dev/null +++ b/public/authors/index.html @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Authors | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ + + +
+ + + + + + + + diff --git a/public/authors/index.xml b/public/authors/index.xml new file mode 100644 index 0000000..e5228f9 --- /dev/null +++ b/public/authors/index.xml @@ -0,0 +1,10 @@ + + + + Authors on LUG Frankfurt + https://test.lugfrankfurt.de/authors/ + Recent content in Authors on LUG Frankfurt + Hugo -- gohugo.io + de + + diff --git a/public/authors/page/1/index.html b/public/authors/page/1/index.html new file mode 100644 index 0000000..f5d42b5 --- /dev/null +++ b/public/authors/page/1/index.html @@ -0,0 +1 @@ +https://test.lugfrankfurt.de/authors/ \ No newline at end of file diff --git a/public/brand.svg b/public/brand.svg new file mode 100644 index 0000000..2e570d4 --- /dev/null +++ b/public/brand.svg @@ -0,0 +1,72 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/public/cc.png b/public/cc.png new file mode 100644 index 0000000..cf59608 Binary files /dev/null and b/public/cc.png differ diff --git a/public/custom.css b/public/custom.css new file mode 100644 index 0000000..b223318 --- /dev/null +++ b/public/custom.css @@ -0,0 +1,10 @@ +/* You can add custom styles here. */ +img[src$='#floatleft'] +{ + float:left; +} + +img[src$='#floatright'] +{ + float:right; +} diff --git a/public/de/Distriliste/index.html b/public/de/Distriliste/index.html new file mode 100644 index 0000000..8f68d4d --- /dev/null +++ b/public/de/Distriliste/index.html @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Liste der bekanntesten Linuxdistributionen | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Liste der bekanntesten Linuxdistributionen

+ +
+ +
+

in alphabetischer Reihenfolge ( = Reihenfolge ist keine Wertung)

+
+

+ Arch Linux + + + +

+

Die Distribution für fortgeschrittene Linux’er ist puristisch, leichgewichtig und als Rolling Release permanent auf dem aktuellen Stand der Technik. Trotz allem wird jeden Monat ein ISO Image mit dem aktuellen Entwicklungsstand veröffentlicht. Arch Linux verfolgt das KISS Prinzip, somit nur für fortgeschrittene Anwender zu empfehlen.

+

Arch Linux

+
+

+ Debian + + + +

+

Debian ist das bekannteste nichtkommerzielle Linuxpaket. Sie wird vor allem von erfahrenen Linuxern verwendet, da die Installation im Ruf steht, für Anfänger nicht gerade einfach zu sein. Debianer beschwören jedoch, dass hier grosse Fortschritte gemacht worden sind! Dazu kommt, dass Debian auf Sicherheit und Stabilität optimiert ist. Daher gibt es nicht ständige Updates und neue Softwarepakete werden erst integriert, wenn deren stabile Funktion unter Debian gewährleistet ist. Für Server optimal - ist dies im Alltagsbetrieb oft ein Handycap.

+

Debian Webseite

+
+

+ Gentoo + Sabayon + + + +

+

Bei Gentoo handelt es sich um ein Linuxprojekt, welches hochgradig skalierbar und anpassbar ist. Dabei werden alle Programme neukompiliert. Diese dauert recht lange, beschleunigt aber die Ausführung der Programme. Sabayon Linux ist eine Distribution aufbauend auf dem Original-Gentoo.

+

Gentoo Webseite und Sabayon Linux

+
+

+ Knoppix + + + +

+

Knoppix war ursprünglich eine Linuxversion, die von CD gestartet wurde (eine Festplatte war/ist nicht notwendig!). Lediglich Systemeinstellungen und private Daten im Verzeichnis des Benutzers können auf Diskette, Festplatte oder USB-Stick abgespeichert werden. Um den Start zu beschleunigen kann Knoppix auf die Festplatte kopiert werden; eine permanente Installation war eigentlich nicht vorgesehen, auch wenn sie möglich ist.

+

Knoppix Webseite

+
+

+ Mac OS X + + + +

+

Nicht wirklich Linux, aber Mac OS X basiert auf Darwin, einen unixoiden Betriebssystemkern, und ist daher in vielen Bereichen sehr Linux ähnlich. Einige Mitglieder der LUG Frankfurt verwenden Apple Laptops, so dass auch hier in der LUG Hilfe möglich ist.

+
+

+ Mandriva + Mageia + + + +

+

Mandriva Linux ist ein weiteres Linuxpaket, welches auf Benutzerfreundlichkeit Wert legt. Es ist ursprünglich aus Red Hat entstanden und stammt von einer französischen Firma. Im September 2010 gab es einen Fork vom ursprünglichen Mandriva, dieser neue Fork heisst nun Mageia.

+

OpenMandriva Webseite und Mageia Webseite

+
+

+ Red Hat + Fedora + Clones + + + +

+

Red Hat ist das in Amerika führende Linux und neben SuSE die wohl gängigste Distribution. In 2003 hat Red Hat den Vertrieb von Privatkundenversionen eingestellt und in das Fedoraprojekt ausgelagert. Neben der kostenpflichtige Version von Red Hat Enterprise Linux (RHEL) existiert ein kostenfreier Nachbau unter dem Namen CentOS (seit Version 8 nur noch als CentOS Stream verfügbar). Oracle hat sich auch Red Hats Enterprise Linux angenommen und vertreibt es nun als Oracle Linux. Scentific Linux wurde eingestellt. Nach dem CentOS Gau im Dezember 2020, gibt es neue Player auf dem Clonemarkt: Alma Linux und Rocky Linux.

+

Red Hat, bzw. Fedora sind oft Basis angepasster Linuxpakete.

+

Redhat Webseite, Fedora Website, CentOS (Stream), Oracle Linux, Alma Linux und Rocky Linux

+
+

+ Slackware + + + +

+

Slackware ist ein weniger bekanntes Linuxpaket, allerdings die älteste noch gepflegte Linux-Distribution.

+

Slackware Webseite

+
+

+ SuSE / openSuSE + + + +

+

2003 von Novell übernommen ist SuSE ursprünglich “das” deutsche Linuxpaket. Leider benutzt SuSE einige Eigenheiten, z.B. Verzeichnisse, die nicht den üblichen Linuxkonventionen entsprechen, weshalb man hier häufig auf SuSE-optimierte Pakete oder Kompilierung angewiesen ist. OpenSuSE ist die freie Fassung von SuSE.

+

Novell/Suse Webseite und Opensuse Webseite

+
+

+ Ubuntu + Derivate + + + +

+

Ubuntu ist eine von Marc Shuttleworth und seiner Firma Canonical Ltd. initierte Linux-Distributation, die auf Debian basiert. Sie wendet sich hauptsächlich an Einsteiger. Neben der Hauptvariante, die auf GNOME aufsetzt, gibt es noch andere Varianten, die z. B. KDE (Kubuntu) oder XFCE (Xubuntu) als Benutzeroberfläche benutzen, beziehungweise Weiterentwicklungen der Original Gnome Version, z.B. Linux Mint oder der Mac Clone “Elementary OS” oder der Windows Clone “Zorin OS”.

+

Ubuntu-Homepage, Kubuntu Webseite, Xubuntu Webseite, Linux Mint, Elementary OS und Zorin OS

+
+

+ Anfängerhilfe + + + +

+

Die Wahl des geeigneten Linuxpakets (Distribution genannt) ist wohl die wichtigste Entscheidung, damit man sich mit Linux langfristig wohlfühlt. Red Hat und SuSE versuchen (wie das Betriebssystem aus Redmond) dem Nutzer viele Entscheidungen abzunehmen. Andere Pakete bieten hier wesentlich mehr Einflussmöglichkeit - auch wenn am Anfang sicher eine 08/15-Installation hilft, so überlastet sie doch oft den Anfänger mit den umfangreichen Einstellmöglichkeiten und bindet den Nutzer dann an die eigene Produktphilosophie. Andere Linuxe, die dem Nutzer erstmal ein sinnvolles System zur Verfügung stellen, aber ihm später, schrittweise die Möglichkeit geben, sich immer mehr weiter einzuarbeiten, ohne ihm künstliche Begrenzungen aufzuerlegen, sollten hier das System der Wahl sein. Das diese meist kostenlos aus dem Internet heruntergeladen werden können und LUG Mitglieder diese Paket-CDs gern (und bei Linux legal!) für Euch kopieren, ist ein Grund zu unseren Treffen zu kommen … Gute Versionen für Anfänger sind unserer Meinung nach: Linux Mint, Mandriva, Elementary OS oder Zorin OS.

+
+
+

+ Weiterer Ausblick (beyond Linux): FreeBSD / NetBSD / OpenBSD + + + +

+

Auch bei der LUG Frankfurt benutzen Einige BSD (und wenn es als Mac OS daher kommt), so dass auch hier ein lockerer Austausch stattfinden kann.

+

FreeBSD Webseite, NetBSD Webseite und OpenBSD Webseite

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/FortunesDB/index.html b/public/de/FortunesDB/index.html new file mode 100644 index 0000000..22068e7 --- /dev/null +++ b/public/de/FortunesDB/index.html @@ -0,0 +1,1837 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Fortunes DB | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Fortunes DB

+ +
+ +
+
+

…ich wußte gar nicht, dass von dem noch mehr so tolle Sätze stammen ;-)
+*ausschneid und in meine TupperDose tu*

+
+
    +
  • Petra Klüver (zu einem Pythagoras-Zitat)
  • +
+
+
+

Du läßt auch bei anderen Gelegenheiten recht Zynische Bemerkungen ab.

+
+

Das hast du völlig richtig erkannt. Bravo! Und ich mache das hauptsächlich um dich ganz persönlich zu ärgern.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Du verstehst mich nicht. Aber das macht nichts.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Das wars, vielen Dank! :-)

+
+

Nein leider nicht. Das Problem ist nicht weg, auch wenn’s danach aussieht. (…) Wie gut bist du im Kernel hacking?

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ich erwarte von dir eine förmliche Entschuldigung und möchte dir dringen raten, diese zu erbringen. Ich habe hier viereinhalbtausen E-Mails und zwei E-Mail-Adressen, mit denen ich jede menge Spaß haben kann.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Im übrigen denke ich dich schon vor einer ganzen Weile gebeten zu haben, mich in dein kill file zu werfen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Was geht hier eigentlich grad ab? Falscher Film?!?

+
+

Nein, wir sehen nur, daß auch die größten und elitärsten Zyniker sich im Zweifelsfall gern mal zu gutbürgerlichen Kleingärtnerfehden hinreißen lassen.

+
    +
  • Martin Schmitt
  • +
+
+

<stammtisch>
+Ist das etwas meine Steuergeld was da verbraten wird?
+</stammtisch>

+
    +
  • Thomas Janke
  • +
+
+
+

Hier mal wieder ein “normaler” Betrag bzw. eine (vermutlich einfache) Frage:

+
+

Gott-sei-Dank.

+
    +
  • Ralph Müller
  • +
+
+
+

Hier mal wieder ein “normaler” Betrag

+
+

endlich ;)

+
    +
  • Stefan Dorn
  • +
+
+
+

Flamewar? Wann hatten wir denn den letzen richtigen Flamewar?

+
+

Ich arbeite gerade an einem, aber mein Kontrahent ist ein Spielverderber.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Wenn ich nicht über mindestens eine Person am Tag lachen könnte, ich würd' mir nen Stick nehmen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

So sind sie eben, die “Windows”-User. Ich denke mir schon gar nichts mehr dabei. Genau so, wie man sich nach ein paar Monaten nichts mehr dabei denkt, wenn im Bahnhofsviertel morgens die vollgedröhnten Junkies auf dem Boden liegen.

+
    +
  • Martin Schmitt
  • +
+
+

Nun … Helmut hätte kaum lauter “Jehova” sagen können.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Da gibts ein schönes Zitat: A real programer can program C in any language.

+
    +
  • Tobias
  • +
+
+

‘Open Source - Closed Minds’ scheint hier das Leitmotto mancher Leute zu sein.

+
    +
  • Frank Peter Becker
  • +
+
+

Ach, das… man merkt, dass du ihn nicht kennst, solltest ihn mal kennenlernen ;)

+
    +
  • Matthias Heinz
  • +
+
+

Ich hatte mal ein SuSE.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Hat irgend wer eine Idee wie ich den Rechner wieder dazu bringen kann mir zu gehorchen?

+
+

Ich würde den Rechner schnellstmöglich umtauschen - du hast da wohl einen weiblichen erwischt.

+
    +
  • Kay Bach
  • +
+
+

Hi Liste,
+Wie mache ich den mein Outlook Mailingliste-Kompatibel?

+
    +
  • Matthias Toberer
  • +
+
+

Man beachte mein hämisches Lachen.

+
    +
  • Wenzel Peppmeyer über ein Bug in SuSE 9.1
  • +
+
+

Der u.a. von mir betreute Server werkelt unter woody r2 wunderbar, allerdings ohne Fritz Karte. Das Ding läuft so gut, dass ich vergessen habe welche ISDN-Karte dort eingebaut ist.

+
    +
  • Frank Ickstadt
  • +
+
+

P.S. Frage an den Support: “Ist Donnertstag ein guter Tag um Flamewars loszutreten?”

+
    +
  • Roland Heß
  • +
+
+

Selbst wenn ich einen Monat hungern müsste, mit solchen Idioten würde ich nie wieder arbeiten.

+
    +
  • Matthias Heinz
  • +
+
+

Es ist immer spannend zu sehen, was es in der neuen Version alles tolles neues gibt, was noch nicht funktioniert, was endlich funktioniert und vorher nicht funktionierte und was vorher funktionierte und nun nicht mehr funktioniert.

+
    +
  • Stefan Brückmann über SuSE Linux
  • +
+
+
+

Weitere Hilfe gibt es erst dann, weil nämlich mein kostenpflichtiges /dev/glaskugel (notwendig für’s Hellsehen) gerade zur Wartung mußte.

+
+

$ ssh -l root ws.stephan.goll.net
+# ls -l /dev/glaskugel
+lrwxrwxrwx 1 root root 3 Feb 7 2003 /dev/glaskugel -> null

+

Du Aufschneider!

+
    +
  • Wenzel Peppmeyer in einer Antwort an Stephan Goll
  • +
+
+

mit sarkastischem Gruß,
+Step"Ersatz-Wenzel"han

+
    +
  • Stephan Goll
  • +
+
+
+

Hi Heinz,

+
+

Jetzt schuldest du mir was, denn ich heisse MATTHIAS!

+
    +
  • Matthias Heinz
  • +
+
+
+

Jetzt schuldest du mir was, denn ich heisse MATTHIAS!

+
+

Oh, sorry, tut mir leid … kann bei Deinem Namen aber auch recht leicht passieren. Angebot: Du darfst mich jetzt drei Mal WOLF nennen … dann sind wir quit, OK ;-)

+
    +
  • Michael Wolf
  • +
+
+
+

… Du wirst hiermit zu einem Hilfs-Wenzel degradiert.

+
+

Bist Du sicher, daß das nicht eine Beförderung ist? :-)

+
    +
  • Stephan Goll
  • +
+
+

Ich denke schon eine Weile darüber nach, mal eine richtige Diktatur in Deutschen Landen einzuführen. Ich suche noch Leute für meine Führungsclique. Hast du vielleicht Lust?

+
    +
  • Wenzel Peppmayer
  • +
+
+

<peng wohin=“blau”>Falsche gtk-Version?</peng>

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Das funktioniert ja auch aus Prinzip und nicht zufällig.

+
    +
  • Achim Lange
  • +
+
+

Wenn man bisher wußte, daß SCO nur das falsche Kraut geraucht hat, weiß man jetzt, daß es auch die falsche Menge war.

+
    +
  • Achim Lange
  • +
+
+

Mist. Wenn SuSE nicht Geld für deren Zeug haben wollte, sollte ich mir deren Machwerk mal wieder antun. Und sei es, nur um wieder herauszubekommen, wie viel Glück ich doch habe, SuSE nicht zu nutzen.

+
    +
  • Stephan Goll
  • +
+
+

Gruß,
+Stephan, heute einen (hilfreichen) Clown gefrühstückt habend. :-)

+
    +
  • Stephan Goll
  • +
+
+

<Tolimar> Kann sich nicht mal einer opfern, und die LUG-Mail mit dem:
+<Tolimar> “Gibt es noch irgend etwas auf das ich achten muss? Oder kann ich davon ausgehen, dass mir Suse nach so einer Installation irgendwann um die Ohren fliegt?”
+<Tolimar> Mit einem: “Nein, du must nichts beachten. Bei SuSE ist so oder so damit zu rechnen, dass es dir irgendwann um die Ohren fliegt.” beantworten?

+
+
+

Gibt es noch irgend etwas auf das ich achten muss? Oder kann ich davon ausgehen, dass mir Suse nach so einer Installation irgendwann um die Ohren fliegt?

+
+

Nein, du must nichts beachten. Bei SuSE ist so oder so damit zu rechnen, dass es dir irgendwann um die Ohren fliegt.

+
    +
  • Matthias Heinz zu Maruan Klaus Damlachi
  • +
+
+

Das du die falsche Distro verwendest? Ähh sorry, das habe ich gerade nicht gesagt.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

hier muß ich eingreifen! Wenn du schon über SuSE schreibst, solltest du nicht ohne Erklärung sachen wie “^w” benutzen. Als Hilfswenzel bist du zur Klugscheisserei verpflichtet!

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ich bin noch weit davon entfernt ein Experte zu sein. Ein Experte speziell für Suse-Linux möchte ich eigentlich auch gar nicht werden.

+
    +
  • Ralph Müller
  • +
+
+

# START CUT & PASTE (Nicht mitschneiden)
+clear;SATZ=‘date -d “1970-01-01 939027765 sec” +“Ich bin seit d.m.Y ca. H:
+M:S voll dabei, und bereue es nicht."`;echo -e “\n$SATZ\nTrotz AsozialitÃEURt.
+\nWindows vermisse ich sehr.\n\nWindows vermisse ich nicht.\n\nPipen ist doch
+cool oder??\n”|grep -iv ‘Windows.*sehr’
+# ENDE CUT & PASTE (Nicht mitschneiden)

+
    +
  • Rodrick Paul Bouchard
  • +
+
+

Paul stellt sich

+

Hallo All…

+

Danke für die Einladung zum Linux non-Anonymous (LugFrankfurt)

+

…Ich heise Paul… …und bin…

+

Pauls lippen zittern

+

…und bin… …linux-süchtig…

+

Paul bricht in Tränen aus

+
    +
  • Rodrick Paul Bouchard
  • +
+
+

PS.: Als Verschörungstheoretiker darf ich meinen Namen abkürzen

+
    +
  • Wenzel Peppmeyer
  • +
+
+

PS: Meiner Theorie Zufolge ist JFK gar nicht erschossen worden! Ich bin 100% davon überzeugt, dass er mit Elvis an The Hurd programmiert.

+
    +
  • Alexander Schmehl
  • +
+
+

P.S.: Nein, Gisela glaubt nicht an Aliens. Wirklich.
+P.S.S: Nein, Ich weiß nicht was in Schipten so geheim ist, daß es wie Area 51 nicht auf irrgend eine Landkarte ist.
+P.S.S.S.:UND NEIN, Ich wieß nicht wer JFK erschossen hat. Aber ich habe eine Theorie, daß es der gleiche ist der JR erwichte.

+
    +
  • Rodrick Paul Bouch
  • +
+
+

Stefan: Ach! Du bist der Wenzel!
+Wenzel: Ach, dann bist du derjenige welche, dem ich heute die Festplatte gescannt habe!

+
+

Ich werd den Teufel tun und Dich korrigieren. Ich weiß es doch selbst nicht. Aber den ntpd als experimentell zu bezeichenen ist … äh … seltsam. Vielleicht gilt das nur für SuSE? :-)

+
    +
  • Stephan Goll
  • +
+
+

P.S.: Da ich nur noch wenige Rechner mit Floppy-Laufwerk habe, mußte ich zwischen zwei Rechnern hin und her durchs Büro joggen … dabei habe ich mir den Kopf an meiner leider nur 1,9 m hohen Bürotür gestoßen. - Zwei nette Stunden im Stadtkrankenhaus Hanau zum Zusammenkleben der klaffenden Wunde … ;-) naja, war weniger schlimm als es jetzt klingt

+

… Aber man kann nicht sagen, ich hätte nicht alles versucht, um Debian zu installieren …

+
    +
  • Michael Wolf
  • +
+
+

Wir(tm) sind hart, aber trotzdem herzlich(tm).

+
    +
  • Stephan Goll
  • +
+
+
+

Jun 11 08:30:37 demenz kernel: Initializing RT netlink socket
+Jun 11 08:30:40 demenz kernel: eth0: found link beat

+
+

Das ist mal ‘nen cooler Hostname!

+
    +
  • Wenzel Peppmeyer zu Thomas Janke
  • +
+
+

Fragen nach dem Prinzip “ich bin zu faul/doof für Google, macht ihr mal” werden grundsätzlich nur an sehr hübschen, willigen Blondinen beantworten die mindestens Körbchengröße C haben! Bist du eine?

+
    +
  • Raya Sofaru
  • +
+
+

Ja, dreh’ das Messer nochmals in der Wunde um, mach nur! Das hatten wir gestern ja schon festgestellt…

+
    +
  • Christoph Rummel
  • +
+
+

PS: Mis?, je?z? sind meine “?” auch alle und die “?” werden auch langsam knapp.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Aber Zertifikate sind ja nur ein Beispiel für merkwürdiges Menschliches Verhalten.

+
    +
  • Christian Schmidt
  • +
+
+

Okay, also ich habe gelernt: Zertifizierungen sind willkürlich von Monopolisten in den Markt gedrückte Instrumente zur Machterweiterung und richten sich an Weicheier, die von Managern ohne Rückgrat eingestellt werden möchten, aber keine Ahnung von Linux haben.

+
    +
  • Simon Fuchs
  • +
+
+

Das Konzept ‘Ironie’ kann man bei Jugendlichen noch nicht als bekannt voraussetzen, zum einen erfordert sie ein enormes Alter (nüchtern ab 12) zum anderen intelekt (ist in Deutschland zu gefährlich, und deshalb mitte der 80er abgeschaft worden).

+
    +
  • Helmer
  • +
+
+

Ich verwende nahezu nie Smilies, da ich davon ausgehen, das meine Geschreibspartner Ironie erkennen können, wenn welche da ist.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Du versuchst Ahnung durch Software zu ersetzen. Das funktioniert nicht immer.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Firewall nix Module. Nix Module nix entladen. Ich hasse mein Leben!

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ein traceroute auf 192.168.0.1 zeigt dir, daß dein Rechner deinen Router sehen kann. Das erscheint mir persönlich als recht langweilig.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Solltest du heute Abend zu gegen sein, dann erkennst du mich daran, daß ich mich vor dir verstecke. Wehe es verrät mich jemand!

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Wenn Stefan dumm genug war, einen Irren wie mich an seinen Rechner zu lassen, hat er eins zwei schwub einen Kernel auf der Platte, der keine Module lädt.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Ist das Netzwerkinterface am PC oben, hast Du eine IP auf Interface gelegt?

+
+

?!? Nee rechts an der Seite, aber das meinst du sicher nicht.

+
    +
  • Stefan Brückmann auf eine Frage von Stephan Goll
  • +
+
+

Wenn du Viren erkennen willst die nicht unter Linux laufen, dann ist ein Virenscanner für dich sinnvoll. Wenn du Viren erkennen willst die unter Linux laufen, wirst du diese wohl selbst schreiben müssen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Da ich mich am Dienstag erfolgreich hinter dem Ferrari verstecken konnte, war es mir möglich, mich dem Zugriff durch Stefan zu entziehen. Mit anderen Worten: Ich war’s nicht.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Outlook, Build 10.0.6626?

+

10 LUGies, 0 Meter Entfernung, 6626 kleine Steine?

+
    +
  • Christoph Rummel
  • +
+
+
+

Keine Angst, wir haben auch kleine Steine.

+
+

Ich schlage vor, Ihr nehmt ganz kleine Steine, so wie Sand etwa.

+
    +
  • Christoph Pfeifer zu Wenzel Peppmeyer
  • +
+
+
+

Hi Flamers, hier wieder eine DAU-Frage…

+
+

Jetzt sprichts du mich schon direkt an. Auweia!

+
    +
  • Wenzel Peppmeyer zu Jürgen Barthel
  • +
+
+

Genau. Hiermit möchte ich dafür plädieren, dass Streitigkeiten in dieser Liste nur noch in diesem klaren und direkten Format ausgetragen werden.

+

Das ist für mein kindliches älteres Gemüt viel verständlicher. Ich kann dann der Diskussion sogar direkt folgen, ohne ständig meinen 13 Jahre alten Nachbarsjungen zu fragen, was wohl mit dieser oder jener Formulierung gemeint sei.

+

Der kommt allerdings gut damit klar, es entspricht ja auch meist seiner Altersgruppe.

+
    +
  • Wolfgang »wobo« Bornath
  • +
+
+

Hier möchte ich bemerken, das Gartenzaunstreiterrein ausschließlich von Erwachsenen geführt werden. Kinder sind da viel vernünftiger: “Du bist doof!”, und damit hat sich’s.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Wie alt bitte bist du??

+
+

Ich bin 26 Jahre alt und finde diesen Running Gag außerodentlich ammüsant. Vielleicht liegt das daran, daß ich dazu verdammt bin, über mich selbst lachen zu können.

+
    +
  • Wenzel Peppmeyer zu Markus Ehrlich
  • +
+
+
+

Warum nennen die das eigentlich Jehova??

+
+

Ich habe mit Prian drüber gechprochen. Der meinte, der Geprauch dieses Namens chtehe bei den Juden unter der Strafe der Chteinigung….

+

… Jehova … Jehova … Jehova … au …

+
    +
  • Uwe Bering
  • +
+
+

Richtig gemein ist das mit dieser Fortunes-Liste!

+

Jetzt wollte ich mal kräftig drüber herziehen, weil ich eigentlich aus dem Usenet richtig witzige Sachen kenne [1], da muss ich entdecken, dass man mich auch schon darin verewigt hat.

+
    +
  • Wolfgang “wobo” Bornath
  • +
+
+
+

Weil sich selbst in die fortunes schreiben ist wie cheaten, sowas macht man höchstens im Notfall.

+
+

Also, wenn ich da zu bestimmen hätte, dürftest Du diesen Satz reinstellen. :)

+
    +
  • Wolfgang “wobo” Bornath zu Alexander Schmehl
  • +
+
+

Soll ich dir Morgen eine Tüte Weltschmerz mitbringen, oder hast du noch mit deiner Wohnungsverlegung zu tun?

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Überdies lernt der gemeine Jungmensch Faulheit erst in der Schule.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Is jut. Kaum streckt man mal den Kopf aus dem Schneckenhaus, kriegt man schon eins über die Rübe ;-).

+

“Der Jens hat mich angeschrien ! Buhuu !” :-)

+
    +
  • Bodo Bender
  • +
+
+

Wahrscheinlich habe ich nicht mal Debian, sondern nur ein solches Hintergrundbild unter Windows. :-(

+
    +
  • Stefan Brückmann
  • +
+
+

Also, ich finde, daß BSD-Themen auf einer Linux-Liste ganz gut passen, solange nicht diese mausschubsenden möchtegern-Unixer von der Mac-Fraktion damit anfangen. ;-)

+
    +
  • Martin Schmitt
  • +
+
+

Ach was. Du bist doch bestimmt auch einer von denen, die vor vier Jahren noch kooperatives Multitasking unter OS 9 gemacht haben. Und heute? Da
+erzählt ihr von eurem tollen Unix-System, nehmt aber erstmal fünf Baldrian und stellt das Telefon ab, bevor ihr am Rande des
+Nervenzusammenbruchs Terminal.app (das Tor zur anderen Dimension) öffnet und hinterher eure verruchten Erlebnisse mit “ls” (oooh!) und “cd”
+(aaah!) auf irgendwelchen Mac-Foren zum besten gebt. Hörmirdochauf.

+
    +
  • Martin Schmitt
  • +
+
+

LOL! Martin, ich habe selten eine so total daneben liegende Einschätzung einer Person gelesen, wie Du sie hier von Thorsten abgibst! :)

+
    +
  • Wolfgang Bornath
  • +
+
+

Darf ich das sigen? <freu>

+
    +
  • Manfred Kuberczyk
  • +
+
+

Oh schreck, was hab ich denn jetzt schon wieder getan? ;-)

+
    +
  • Martin Schmitt
  • +
+
+

nahh … alles Falsch! Das file hat einfach einen so hohen Wenzel-Gehalt, das eure browser das nicht mitmachen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Willkommen. Du bist also der Volker. Ich bin der Wenzel und in dieser ML der Flamewarbeauftragte.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Wenn Du Dich irgendwie angegriffen fühlst, hast Du viele Möglichkeiten:
+1.) nimms mit Humor und ignoriere es
+2.) nimms mit Humor und antworte bissig
+3.) verlasse die Flug jetzt sofort wieder, denn es wird noch schlimmer
+4.) setze meine Adresse in Deinen Spam-Filter, dann hast Du im Jahr drei bissige Mails weniger

+
    +
  • Dirk Hanss
  • +
+
+
+

DU hast schlechte Laube? Komm Du mal nach Kerpen und mache meinen Job.

+
+

Such dir Jemanden über den du lachen kannst. Ich hab meinen schon gefunden. Paul zuwink

+
    +
  • Wenzel Peppmeyer zu Stephan Goll
  • +
+
+

dex@dex.macht.mil > flamingsystem
+flamingsystem self test initiating:
+short range scanner … online
+long range scanner … online
+targeting system … online
+short range weapon systems … online
+long range weapon systems … online
+all systems online. ready for attack.
+# set target “Stephan.Goll AT t-online.de”

+
+

Ich muß sowas schreiben, denn ich bin in dieser ML der Flamewarbeauchtragte.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Kannst du bitte die Neun, den Punkt und die Eins auch in Kapitalen schreiben?

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ähhh…. für die geographisch halbgebildetet unter uns: Wo in etwa liegt das?

+
    +
  • Alexander Schmehl
  • +
+
+
+
+

Kleiner Hinweis am Rande: Es gibt noch kein Linux 9.1.
+Wahrscheinlich meint er SuSE 9.1

+
+
+

Ich weiss, aber das S-Wort wollten meine Finger nicht tippen ;)

+
    +
  • Alexander Schmehl zu Thomas Baumgart
  • +
+
+
+

Mein Englisch reicht auch nur, um Leute zu verwirren.

+
+

Dazu musst du nicht Englisch sprechen ;)

+
    +
  • Alexander Schmehl zu Wenzel Peppmeyer
  • +
+
+

Auweia! Hier richts schon wieder so nach Fortunes.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

PS.: Ich darf tröten, weil Heut’ ist 11.11.

+
+

Wenzel, meinetwegen darfste immer tröten..

+
    +
  • Petra Klüver zu Wenzel Peppmeyer
  • +
+
+

Das ist ja wohl ein Frechheit! Wenn du nochmal behauptest Offenbach wäre Frankfurt, dann rückt aber die Freiwillige Feuerwehr Rödelheim in Offenbach ein und besetzt es! :-)

+
    +
  • Jens Kühnel
  • +
+
+

PS: Vielleicht bin ich nicht massenkompatibel. Ich mag kein Windows, kein Big Brother, die Dschungelshow und Bohlen koennen mir gestohlen bleiben. Vielleich bin ich wirklich falsch auf diesem Planeten. Falls ich ‘nen Weg nach Hause finde: kommt jemand mit? :-)

+
    +
  • Stephan Goll
  • +
+
+

Verdammt, schon wieder so ein Einlenker! Wie sollen wir hier je einen richtigen Flame War hinbekommen, wenn ihr immer gleich die Waffen streckt?

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Bitte wirf mich in dein kill file. Danke.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Und ich bin schuld … schon wieder.** :(

+

** Beispiel für einen Runnig Gag. Ja, ja, würdet ihr fleißig zum Treff kommen, dann könntet ihr jetzt mitlachen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

abwenzeln - eine Antwortschreiben und sich dabei totlachen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

So wird neue deutsche Rechtschreibung gemacht!

+
+

Ich glaube dir hier wiedersprechen zu müssen. Meine Schreibweise ist komplett falsch.

+
    +
  • Wenzel Peppmeyer zu Christoph Rummel
  • +
+
+

Prima! Du mußt verstehen, daß ich ein besonderes Interesse an meinen gesammelten Werken habe. :D

+
    +
  • Wenzel Peppmeyer nach der Korrektur kleinerer Fehler in den FortunesDB
  • +
+
+

Es gibt da so einen dünnen, recht kleinen Schwarzgekleideten. LASS DEN AUF KEINEN FALL AN DEINEN RECHNER! Ich habe ihn gewarnt.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+
+

Achtung: Da sind viele Win-Nutzer bei. Dafür ist der Ton dort etwas höflicher. ;-)
+Wie ist das jetzt zu verstehen?

+
+
+

Du solltest davon Abstand nehmen, ihnen die Wahrheit ins Gesicht zu sagen.

+
    +
  • Wenzel Peppmeyer zu Florian Quetting zu Joachim Hustedt
  • +
+
+
+

Du weißt aber schon, dass da satanische Botschaften drauf sind, oder?

+
+

Dann schenke ich sie meiner Ex-Frau.

+
    +
  • Markus Ehrlich bezüglich einer Microsoft CD
  • +
+
+

P.S.: Eigentlich will ich gar nicht auf die Weihnachtsfeier. Naja, ich kauf mir jetzt einen Döner, vielleicht wird mir ja schlecht davon und ich kann doch zum Treffen kommen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Wie ich schon schrieb, bastele ich schon seit einer ganzen Weile an meinem Autoflamer-2.0 rum. (Hab immernoch Probleme mit dem Aiming. Ich treffe jetzt schon die richtigen Leute in den richtigen MLs, jedoch leider nicht im gewünschten Teil des Multiversums.) Jetzt hab ich endlich ein zuverlässiges Debugging-Opfer. :D

+
    +
  • Wenzel Peppmeyer
  • +
+
+

LOL, für die Frage wurde ich aus #linuxger gebannt, hoffentlich droht hier nicht das gleiche! :-)

+
    +
  • Christian Britz, nachdem er eine Frage zu dem OS that may not be named gestellt hatte
  • +
+
+

Ich versprech dir auch, dass ich dich vielleicht nicht in die FortunesDB aufnehmen werde!

+
    +
  • Alexander Schmehl
  • +
+
+

Ich bin eine Frau! Ich bin kein normaler Mensch!

+
    +
  • Petra Klüver
  • +
+
+

Habe mir heute eine neue Billig-Tastatur gekauft und bin entsetzt! Das Tippen fühlt sich an wie im Matsch buddeln und der ENTF-Knopf sitzt an ergonomisch ungünstiger Stelle! :-( Naja, wenigstens die Nachbarn freuen sich, dass ich nicht mehr so laut tippe, allerdings auch nur bis ich das Matschding an der Wand zertrümmere….

+
    +
  • Christian Britz
  • +
+
+
+
+

Deswegen schrub ich ja, er soll sich das deb bei packages.debian.org besorgen….
+“schrub ich”: IN DIE FORTUNES! FORTUNES !!!! Hört ihr mich? FORTUNES!!!

+
+
+

Du kannst mich mal gern-schruben! :-P~~

+
    +
  • Christian Britz zu Florian Quetting zu Christian Britz
  • +
+
+

neneh chery hat doch irgendwie die geilere bitrate ;)

+
+
+

Sehr schön geschrieben :-). Woher nimmst Du eigentlich diesen Sarkasmus her?

+
+

Evolutionärer Druck - ich bin auf der richtigen Seite des Imperialistischen Schutzwalls aufgewachsen. Überdies lese ich viel.

+
    +
  • Wenzel Peppmeyer zu Bodo $Nachname
  • +
+
+

Irgendwie sind einfach viele LUG’s früher oder später stark Debian-lastig (auch die, die ohne einen Alex auskommen müssen). Wir (s. Signatur oder frag mal Jens) haben ausser drei Gentoo’lern und zweier standhafter Susianer, fast nur noch Debianer (zumindest was die Aktiven angeht). Und mit was? Mit Recht…

+
    +
  • Christian Sahm
  • +
+
+

Die Dinger sind versteckt, weil_dich_das_nichts_angeht . Mein Vater sagte in solchen Situationen gerne mal: Nicht mit den Finger kucken!

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Fortunes bitte! Aber vielleicht Plenk und Plural passend machen. ;-)

+
+

Fortunes ändern? Fällt das nicht unter die gleiche Rubrick wie “Geschichtsfälschung”?

+
    +
  • Alexander Schmehl zu Martin Schmitt
  • +
+
+

Nein, das bleibt so! Meine Fehler sind immer richtig falsch.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Beim Lesen dieser E-Mail habe ich ein wenig gelacht. Achja, als Flamewarebeauftragter dieser Liste heiße ich dich recht herzlich Willkommen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Auf den paar Treffen, zu denen ich kommen konnte, erhielt ich immer wieder Lösungen für mir völlig unbekannte, aber sehr große Probleme.

+
    +
  • Andreas Kaup
  • +
+
+

Ein Admin ohne Linux ist halt wie ein Sehender im Dunkeln…

+
    +
  • Christoph Pfeifer
  • +
+
+

Der Pizzabote, Dein bester Freund…

+
    +
  • Jürgen Barthel
  • +
+
+

War das nicht so, Frau am Herd ist Gold wert? Au, au, autsch, nicht hauen, au, aua, …

+
    +
  • Jürgen Barthel
  • +
+
+

Flamewar??? Das liegt daran, dass Wenzel über Weihnachten sssoooooo viel gegessen hat, dass er jetzt fast so aussieht wie zensiert und sowieso noch im Winterschlaf liegt *in volle Deckung geh*

+
    +
  • Petra Klüver
  • +
+
+

Ich war nicht träge und habe meinem Autoflamer-2.0 zwischen den Feiertagen eine Queue hinzugefügt. Ich bin jetzt also in der Lage Ziele auf Vorrat einzustellen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Das heißt, daß ich häufig Tools unter Linux verwendet habe, um Licht ins Dunkel der Cat-5 Leitungen zu bringen. Da isses nämlich gaanz Dunkel drin
+und ich konnte nix reingucken. Aber mein Linux, das hat mir geholfen und ne Lampe angemacht, und dann hab’ ich die Pakete nur so purzeln sehen. Und
+wenn ein Päckchen nicht da ankam, wo ich es wollte, dann hab' ich halt geschaut welcher böse Router es nicht mochte oder was für eine falsche
+Adresse da drauf stand. Und das kleine Rotkäppchen hatte auf einmal gar keine Angst mehr auf dem Weg durch das dunkle Cat-5 Kabel, weil mein Linux
+ihm den Weg gewiesen hat.

+
    +
  • Christoph Pfeifer
  • +
+
+

PS: Bitte leise Antworten ich schlafe.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ja mein Gesicht sieht genau so aus, wie du dir das gerade vorstellst.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

( 11 Zeilen Signatur gelöscht )

+

Jetzt noch eine Anrede oben drüber und unten drunter etwas weniger, dann wären deine Mails äusserlich perfekt :)

+
    +
  • Alexander Schmehl
  • +
+
+

Das ist kein Deutsch und ich weigere mich so etwas zu lesen. Antworte bitte nicht mehr auf meine E-Mails, es könnte sein, daß ich auf deine beleidigende Schlampigkeit hinreichend reagiere.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ich hatte bisher (ca. 1 Jahr) 2 Mal Verbindungsprobleme, diese wurden, ohne das mir die Zeit gegeben wurde mich bei Arcor darüber zu beschweren, selbsttätig beseitigt.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Hmm … ich mag nicht weise sein, wenn dies bedeutet, daß ich keinen Spass mehr haben darf.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Mein Hauptname ist “kleiner fickling”, wenn dir jedoch jemand mit einem völlig unbunten Namen begegnet, der sich über seine Gegner tot locht, dann werde das wohl ich sein.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Du kannst davon ausgehen, daß jedes einzelne Zeichen in meinen E-Mails genau da ist, wo ich es haben will. Wenn die Leute das bemerken ist es aber im Allgemeinen schon zu spät. <manisches_lachen />

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Das erinnert mich jetzt an die Bibel, in der auch jedes Wort gewollt und nicht zufällig ist :)

+
    +
  • Tobias Hansen
  • +
+
+
+

Darf ich dir 18.000 Spams (ca. 70MB) schicken? Nicht?

+
+

Darf ich das als Einladung zum Gyros verstehen?

+
    +
  • Tobias Hansen zu Christoph Rummel
  • +
+
+

Hmm … mein Gefühl sagt mir, das procmail Männlich ist. Vielleicht weil ich gerne Briefträger beiße.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ich helfe dir gern, aber auf meine Weise. Wenn du jedoch mit irgendwelchen Widerworten kommst, anstelle meinen Anweisungen Folge zu leisten, dann bekommst du im besten Fall eine vor den Latz.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ist der Windows PC neu? Wenn Du bislang darauf verzichten konntest fällt mir kein Grund ein, jetzt M$ Windows zu benutzen ;-) Ist genauso sinnlos wie mit dem Rauchen anzufangen…

+
    +
  • Christoph Pfeifer
  • +
+
+

Ich möchte mir mitteilen, daß ich hierbei sehr gelacht habe. Ich hoffe ich hatte auch Spass.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Irgendwie habe ich das Gefühl mit mir selbst zu reden. Das ist mir Unheimlich!

+
    +
  • Wenzel Peppmeyer
  • +
+
+

“Give a man a match and he’ll be warm for the night. Set a man on fire and he’ll be warm for the rest of his life.”

+
    +
  • zitiert von Martin Schmitt
  • +
+
+
+

nein und ich habe dies auch schon mehrfach bemängelt. Er hat auch immer wieder die selbe unverschämte Ausrede. Ich belauer ihn schont seit Wochen … <manisches_lachen />

+
+

Die unverschämten Ausreden könnte ich von anderen Listen kennen.. Na gut, dann belauer ich ihn mal von der anderen Seite damit Du nicht alleine da stehst <Zähne_fletsch>

+
    +
  • Thomas Janssen zu Wenzel Peppmeyer
  • +
+
+
+

Der Media Markt haut im Nordewestzentrum gerade Red Hat&Fedora Buch von Dr. Rainer Hattenbacher von Data Becker mit DVD und Buch für 2,99€ anstatt 17,99€ ist ein schönes Nachschlagwerk.

+
+

http://tinyurl.com/5x596

+
    +
  • Martin Schmitt zu Erik Plumpe (Anm. die Tinyurl enthielt die Definition eines Satzes)
  • +
+
+

<flamewar>
+… (lustiger Text) …
+</flamewar>

+
    +
  • Florian Quetting
  • +
+
+

Dafür möchte ich Dich bitten, einfach mal sterben zu gehen. In einer LUG die Nutzung des IE zu empfehlen …

+
    +
  • Stephan Goll
  • +
+
+
+

“apt-get install mc doc-linux-text”, und dann ab, in

+
+
               ^^ Du bist subversiv   
+
+
    +
  • Wenzel Peppmeyer zu Stephan Goll
  • +
+
+

Also Harvey, dein Verhalten ist ignorant und egozentrisch und_es_ist_uns_aufgefallen <punkt!>

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Hint: man kann /dev/brain auch so nutzen, daß die optonische Scannereinheit (vulgo: Auge) erkennt, dass es sich um bekannten Text handelt, und selbigen Text dann überspringen.

+
    +
  • Stephan Goll
  • +
+
+

Wuff. Wuff.

+
    +
  • Florian Quetting
  • +
+
+

Warum? Das weiss vermutlich nur der Vater des PS/2-Bus…

+
    +
  • Christoph Rummel
  • +
+
+
+

User sind kopflose Tiere, die überhaupt nichts wissen.

+
+

und die Admins ihr Führer, die sie direkt ins Tal der Tränen und Verzweiflung leiten ;-)

+
    +
  • Oliver Kalk zu Martin Schmitt
  • +
+
+

Ja mir ist bekannt, daß POSIX ein schlechter Witz ist. Mir ist auch völlig klar, daß die Wirtschaftsform, in der Unix entstanden ist es des Öfteren unmöglich macht, daß Leute, die miteinander reden sollten, dies nicht können. Dann werden Druckwerke erzeugt, auf denen machmal Standard draufsteht und manchmal Kriegserklärung. So ist das halt.

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Meiner Meinung nach ist dein Ansinnen Unsinn*, da KDE nicht dafür gemacht ist schnell zu sein.
+PS.: *Wortspiel!

+
+

Aber eher lahm! :-D

+
    +
  • Christian Britz zu Wenzel Peppmeyer
  • +
+
+

kannst du mir bei Gelegenheit mal die Grammatik von Mono aufschreiben? Bitte in BNF.
+PS.: Ich hab' schlechte Laune.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ich brauche mal ganz schnell hilfe … da hackt einer meinen server 06XXX - XXXXX ruf dich dann zurück

+
    +
  • Dr. P. Centner
  • +
+
+

Wenn du ein richtiges Unix nimmst (kann man bei SCO kaufen)

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Lassen wir das. Wir sind verschiedener Meinung. Die Diskussion ist eh unproduktiv.

+
+

Und warum führst du sie dann?

+
    +
  • Wenzel Peppmeyer zu Bodo Bender
  • +
+
+

XP ist einfach und gut.

+
    +
  • Bodo Bender
  • +
+
+

<fluestern zuwem=“Stephan”>
+Ich hatte mir hier eigentlich vorgestellt, daß du Bodo darauf hinweist, daß er dadurch von unserer unsagbaren Weisheit profitieren kann. So die hier-kannst-du-was-lernen-Schiene.
+</fluestern>

+
    +
  • Wenzel Peppmeyer
  • +
+
+

XP ist Scheisse.

+
    +
  • Stephan Goll
  • +
+
+
+

Das ist keine intelligente Kundenpolitik.

+
+

Recht viel intelligentes zu Linux, bzw. WinXP habe ich bis jetzt in dem Thread hier, von Dir auch nicht lesen können.

+
    +
  • Thomas Janssen zu Bodo Bender über SuSE
  • +
+
+

Danke, vielen Dank. Ohne deine Ahnungslosigkeit hätte ich heute wahrscheinlich gar nicht lachen können (Husten, wenig geschlafen).

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Nein, nicht jede. Ich bin bei der Personenwahl sehr spezifisch.
+PS: Phrasendeschmaschinentest

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Bin seit ca. 7 Jahren großer Linux Anhänger, bevorzugt RedHat/Fedora. Damit hab ichs mir bei euch ‘Debianern’ wahrscheinlich gleich versaut?!

+
    +
  • Christof Zahn
  • +
+
+

Kann es leider derzeit nicht selbst nachschlagen, da ich dank Arcor immer noch off bin und nicht stundenlang im Internetcafe verbringen kann.

+
    +
  • Markus Ehrlich (per E-Mail an die Liste)
  • +
+
+

Als ich nun anfing Wellen zu machen wegen USV prüfen weil vielleicht Stromausfall, klärte sich alles. Es war ein schlichtes OSI-Layer 8 Problem *ggg* (jemand hat versehentlich den Server gebootet…)

+
    +
  • Petra Klüver
  • +
+
+

Meinst Du wirklich, Sie hat’s kapiert? Das waren mehr als 1,5 Sätze am Stück…

+
    +
  • Jürgen Barthel
  • +
+
+
+

das passt jetzt alles. Es lag an der ssmtp.conf da war kein Server mehr eingetragen. Muss es wohl beim Update rausgehauen haben.

+
+

Und das ist Gentoo, ja?

+
    +
  • Wenzel Peppmeyer zu Nico, nachdem dessen mailclient und mailserver ploetzlich nicht mehr wollten
  • +
+
+

Wie Du diversen Newsgroups entnehmen könntest, ist das bei SuSE ein Feature. Daß eine Kiste nach einem Yast-Online-Update nicht mehr läuft ist nicht überraschend, sondern vorhersehbar. Alles andere würde die SuSE-Anhänger wohl enttäuschen.

+
    +
  • Florian Quetting
  • +
+
+

Unstable ist das Debian-Pendant zu SuSE-90-Euro-superstabil

+
    +
  • Florian Quetting
  • +
+
+

Jürgen… meine Drogen gehen zu Ende… bitte schick mir Neue.

+
    +
  • Petra Klüver zu Jürgen Barthel
  • +
+
+

Ach deswegen bist Du immer so spät und dann entweder himmelhoch jauchzend oder zu Tode betrübt… Verstanden

+
    +
  • Jürgen Barthel zu Petra Klüver nachdem sie ihre Odysseen auf der Suche nach dem LUG-Stammtisch beschrieben hat
  • +
+
+

Auch wenn den jüngeren Listenteilnehmern diese Vorstellung ziemlich abwegig vorkommen mag, ist es nicht so, daß ein solcher Releasewechsel nicht schon einmal stattgefunden hätte. ;-)

+
    +
  • Martin Schmitt
  • +
+
+
+

ich habe ein schweriges problem.

+
+

hier muß ich dich leider korrigieren! Du hast sogar drei Probleme und die lauten: Interpunktion, Orthographie und Grammatik.

+
    +
  • Wenzel Peppmeyer zu Matthias Lux
  • +
+
+

<mode class=“nitpick”>
+Wir wollen uns bemühen, erst Mails zu lesen, und erst dann zu antworten.
+</mode>

+
    +
  • Christoph Rummel
  • +
+
+
+

bin eben noch nät so gut in linux… also würde mich sehr freuen und wünschen dies auch zu erlernen.

+
+

Dann bist Du hier genau richtig. Wenzel! Alex! Wir haben ein neues Opfer. freu :-)

+
    +
  • Stephan Goll zu Matthias Lux
  • +
+
+

Nää, besagtes centericq kann rss feeds in der Kontaktliste aufnehmen. Damit kann ich /. lesen und gleich anderen Leuten mit meinem neuerworbenen Wissen auf den Sack gehen. Supergeil!

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

kannst du Alexander beim lesen der heutigen Mails bitte die Augen zuhalten? Danke.

+
+

Besser: <oooohhhmmm> wir(tm) werden Jeditricks verwenden und ihm suggerieren, daß wären keine fortune-würdigen Aussagen. Er will dieses Posting nicht lesen. <oooohhhhmmmm>

+
    +
  • Stephan Goll zu Wenzel Peppmeyer
  • +
+
+
+

ahhh, neiiiiin! Was habe ich getan!?

+
+

Das nennt sich blamieren und passiert hier jedem früher oder später.

+

Willkommen im Club. :-)

+
    +
  • Stephan Goll zu Wenzel Peppmeyer
  • +
+
+
+

Dringend gesucht ist eine Standalone-Lösung für Powerpoint

+
+

weiche Satan!

+
    +
  • Wenzel Peppmeyer zu Markus Ehrlich
  • +
+
+

zum Glück verweisen die dort auf xchat. Ich hätte beinahe auf bitchx hingewiesen.

+

/me rennt um sein leben

+
    +
  • Wenzel Peppmeyer zu Petra Klüver
  • +
+
+
+

Na jedenfalls kannst du nicht teuflisch oder diabolisch kichern.

+
+

es ist auch nicht ratsam damit anzufangen. Ich habe da ein Patent ‘drauf!

+
    +
  • Wenzel Peppmeyer zu Petra Klüver
  • +
+
+
+

P.S. Du und diabolisch! ppffttt - Du bist doch immer sssoooo lieb und könntest bestimmt keiner … katze … was zu leide tun! grins

+
+

ich bin böse und ich kann’s beweisen! http://www.eve-kills.com/?player=gfldex

+
    +
  • Wenzel Peppmeyer zu Petra Klüver
  • +
+
+

<xTs> Hab aber länger nichts mehr gesagt, im Gegensatz zu Tolimar lerne ich ;)
+<Tolimar> Im Gegensatz zu xTs habe ich das nicht nötig :)

+
+
+

Das sind die Fragen, die das Leben stellt.
+Ach ja, und da wäre noch die Frage, warum wird in unserem Kühlschrank nicht geheizt?

+
+

… und brennt das Licht da drinnen, auch wenn die Tür zu ist? Aber das kann uns die Hardware-Expertin Petra K. sicherlich ausführlich beantworten. :-)

+
    +
  • Stephan Goll zu Stefan Brückmann
  • +
+
+

PS: Wenzel: Kannst Du bitte Alex beim Lesen dieser Mail ablenken? Sonst stehe ich bald mit Windows-Tipps in der berühmt-berüchtigten Datei …

+
    +
  • Stephan Goll
  • +
+
+

er hat ein Interpunktionszeichen an der richtigen Stelle, das muß doch belohnt werden, oder?

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Würde es da nicht auch ein leichter, lobender Klaps auf den Kopf tun? ;)

+
+

Die Wahrscheinlichkeit ist recht hoch, daß er größer und stärker als ich ist.

+
    +
  • Wenzel Peppmeyer zu Alexander Schmehl
  • +
+
+
+

Bin eigentlich zu müde, weil wegen gestern Abend noch spät gereist. Ich bring zwei, drei neue Knoppix CDs mit. Ein paar Klappbemmen hab ich auf jeden Fall auch dabei.

+
+

Vergiss Dein Kostüm nicht. Du wolltest vor Alex tanzen, damit mein Posting nicht … ähh vergiss es. Das mit den Jedi-Tricks hat ja auch nicht geklappt.

+

Vorschlag: wenn Alex heute vorbeischaut, binden wir ihm die Augen zu. :-)

+
    +
  • Stephan Goll zu Wenzel Peppmeyer
  • +
+
+

Bin ich eigentlich irgendwie inkompatibel zu dieser Mailingliste? Ich kann schreiben was ich will, es wird immer auf die falscheste mögliche Art verstanden.

+
    +
  • Martin Schmitt
  • +
+
+
+

… ( full quote als Antwort auf seine eigene E-Mail ) …

+
+

du bist mein Held!

+
    +
  • Wenzel Peppmeyer zu Tim Koch
  • +
+
+
+

b. wie man das abstellt?

+
+

Deinstalliere Windows auf allen existierenden und virtuellen Rechnern.

+
    +
  • Wenzel Peppmeyer zu Peter Centner
  • +
+
+

Dies alles habe ich gelesen (1), nur um mich hinterher zu ärgern (2), daß es nicht Lesenswertes enthielt.

+

PS: (1) das war gelogen
+(2) das war nicht gelogen

+
    +
  • Wenzel Peppmeyer als Antwort auf eine TOFU-Mail
  • +
+
+

Kann mich bitte jemand Kassandra nennen? Danke.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

ich will stänkern und verweise deshalb auf die Erwähnung des Begriffes SuSE.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Wenn der Serveradmin auf das SuSE-Handbuch angewiesen ist, sollte er vorher überprüfen, ob man aus dem Papier einen Strick drehen kann.

+
    +
  • Thomas Janke
  • +
+
+
+

… ( eine ordentliche Argumentation ) …

+
+

In diesem Thread? Ich muß das leider sehr stark bezweifeln.

+
    +
  • Florian Quetting zu Wenzel Peppmeyer
  • +
+
+
+

SuSE ist die beste Distribution.

+
+

Ohje. Petra, Du wilderst in Wenzels Aufgabenbereich. Wenzel ist der Flamewarbeauftragte … Wenn Du wenigstens geschrieben hättest: “SuSE ist die beste Windows-Distribution …”. :-)

+
    +
  • Stephan Goll zu Petra Klüver
  • +
+
+

Lieber Wenzel
+(überlege, ob das ein Widerspruch in sich ist…)

+
    +
  • Petra Klüver
  • +
+
+

P.P.S.: Für die die es noch nicht mitbekommen haben es ist Sommerloch!

+
    +
  • Jens Kühnel
  • +
+
+

Vg Petra :-)))))))) (extra viele Smilies für Dich, weil ich ja weiß, wie sehr Du darauf stehst… grins)

+
    +
  • Petra Klüver zu Martin Schmitt
  • +
+
+

Dann versuche es das nächste Mal doch mit “frau find”. Das sind die “man”-Pages, aufbereitet für Frauen.

+
    +
  • Stephan Goll
  • +
+
+

PS: In meinem nächsten Leben werde ich BOfH. :-)

+
    +
  • Stephan Goll
  • +
+
+

PS: Und das mit dem ToFu bringen wir(tm) Dir auch noch bei. Alex, ich leih mir mal Teile Deines Footers aus … Siehe: http://learn.to/quote/

+
    +
  • Stephan Goll
  • +
+
+

ICH werde vermisst?

+
    +
  • Jürgen Barthel
  • +
+
+
+

Ich verstehe vermutlich Dein Problem nicht :-(

+
+

Hattest Du erwartet, Petra zu verstehen?

+
    +
  • Jürgen Barthel zu Michael Wolf
  • +
+
+

nach dem Lesen, der hier nicht zitierten E-Mail, mußte ich feststellen, daß ich dringender psychologischer Betreuung bedarf.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Ich lese übrigends gerade Quicksilver von Neal Stephenson und kann dieses Buch sehr empfehlen. Es ist nicht nur sehr dick, hat also ein gutes Preis-Buchstaben-Verhältnis, … Stephenson hat wie immer ein gutes Auge für’s Detail und macht sich hinreichend über allerlei Menschlichkeiten lustig.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Mitteilungsbedürftig? ICH???? Niemals!!!

+
    +
  • Petra Klüver
  • +
+
+

Fehler in den höheren Hirnfunktionen… ORA 0103000 - Datenbank zieht sich zur Beratung zurück…

+
    +
  • Jens Brey
  • +
+
+

Hmmm, Selbstdiagnose: Augenkrebs im Frühstadion.

+
    +
  • Christian Britz
  • +
+
+

ich in meiner Funktion als (arbeitsloser) Flamewarbeauftrager dieser LUG heiße dich auf das herzlichste Willkommen. Leider muß ich daraufhinweisen, daß im Moment nicht viel los ist auf der Liste. Ich würde dies auf das Sommerloch schieben, wenn wir einen hätten. :-/

+

Ich möchte noch anmerken, daß alles was du hier schreibst gegen dich verwendet werden kann. Und zwar hier:
+http://www.cs.uni-frankfurt.de/~schmehl/fortunes/fortunes-lug

+
    +
  • Wenzel Peppmeyer
  • +
+

Anmerkung des Admins: Jetzt zu finden unter: https://lugfrankfurt.de/de/FortunesDB

+
+

Vertraue Dir halt bind!

+
    +
  • Petra Klüver zu Jens Kühnel in einer Mail über Name-Server-Probleme
  • +
+
+
+

Ich weiss, ich sollte nicht so neugierig sein, aber: Was hat den Bind mit dem Mailversand zu tun? Und: Will ich die Antwort überhaupt wissen???

+
+

Nein, du willst das nicht wissen, ich auch nicht.

+
    +
  • Frank Ickstadt zu Alexander Schmehl
  • +
+
+

Übersetzung ins Männliche: Weil ich nicht weiß wie man es richtig macht.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

P.S. “…und so ergab es sich, dass es wieder still wurde…” Und nächste Woche erzähle ich euch etwas über die Konstellation meines Webservers, okay?

+
    +
  • Petra Klüver
  • +
+
+
+

/me glaubt immernoch nicht, was er da liest.

+
+

glauben war aber schon der richtige Ansatz. Du mußt ganz fest an Petra glauben, um sie zu verstehen. :)

+
    +
  • Wenzel Peppmeyer zu Alexander Schmehl
  • +
+
+

Flames? Flames! Flames, ich will Flames sehen ;-)

+
    +
  • Jürgen Barthel
  • +
+
+
+

Eine Hotline, die ZEIT hat?

+
+

Ich bin doch multitaskingfähig! Ich kann an einem Webserver rumspielen hüstel - Programmieren - Blödsinn in meiner Lieblingsmailinglist verzapfen UND den Leuten am Telefon sagen, was sie falsch gemacht haben. Das alles sogar so höflich, dass die zum Teil nur anrufen, um meine Stimme zu hören…

+
    +
  • Petra Klüver zu Jürgen Barthel
  • +
+
+

/me springt in sein Superwenzelkostüm und ruft: Ich komme!

+
    +
  • Wenzel Peppmeyer
  • +
+
+
+

Endlich mal jemand, der mit Smilies und so umgehen kann - und morgen erobern wir die Weltherrschaft…

+
+

Ähh … Petra? Vorher hätte ich gern noch eine Frage geklärt. Übernimmst Du dabei die Rolle von Pinky oder Brain? :-)

+
    +
  • Stephan Goll zu Petra Klüver
  • +
+
+
+

Ähh… meine persönliche Meinung: Gelbe Schrift auf schwarzem Grund mit grauen Nullen ist nicht unbedingt das, was ich als “gut lesbar” bezeichnen würde.

+
+

da du vergessen hast frames zu verdammen, mache ich das jetzt.

+

ICH VERDAMME FRAMES!

+
    +
  • Wenzel Peppmeyer zu Alexander Schmehl bezüglich der Webseite von Sascha Mannheims
  • +
+
+
+

Ich mag gerade nicht mehr lesen - möchte aber ein wenig was “sinnvolles” (soll heißen lehrreiches) anstellen…

+
+

Wie wäre es mit… Daten löschen und ausprobieren, ob sich das Backup wieder einspielen lässt?

+
    +
  • Christoph Rummel zu Petra Klüver
  • +
+
+
+

Ach!

+
+

sie lasen einen Film von Loriot. In den Hauptrollen Petra und Stefan.

+
    +
  • Wenzel Peppmeyer zu Stefan Brückmann
  • +
+
+

Lass mich raten: Du kamst, sahst und hast verloren!

+
    +
  • Florian Quetting kommentiert ein SuSE Update
  • +
+
+

Jetzt sieht es so aus, das ich zwar mit HTML umgehen kann aber von PHP soviel Ahnung habe wie eine Kuh von einer Nähmaschine!

+
    +
  • Yves Göbel
  • +
+
+

wenn ich dich so vor einem Cronjob bewahren konnte, der minütlich nach Dateien sucht welche er mit cat ver-hack-en könnte… war das meine heutige gute Tat :)

+
    +
  • Andreas Schiermeier zu Petra Klüver
  • +
+
+
+

Oh je. Ich befürchte einen Flamewar …

+
+

nur wenn er sich weigert Jens für die Austragung zu bezahlen.

+
    +
  • Wenzel Peppmeyer zu Sven Schettiger
  • +
+
+

Wer mir morgen einen Schneeball an den Kopf werfen möchte, wird nach Leipzig kommen müssen. Schneebälle sind mitzubringen.

+
    +
  • Wenzel Peppmeyer
  • +
+
+

Herzallerliebster Flamewar-Beauftragter, walte Deines Amtes. :-)

+
    +
  • Stephan Goll
  • +
+
+

gcc unter hpux ist noch schlimmer als hpux, und ja das geht! (Gehen im Sinne von: Noch schlimmer :-))

+
    +
  • Ralph “plundertasche”
  • +
+
+
+

P.S.: Was mich interessieren würde ist ob es wirklich was geändert hätte wenn ich 1-2 Tage früher geschrieben hätte.

+
+

Du hättest mir mehr Gelegenheit gegeben, doofe Witze zu machen ;)

+
    +
  • Alexander Schmehl zu Jens Kühnel
  • +
+
+

Grüße, Steffen (offizieller FraLUG-Held, ich glaube der Titel gefällt mir :D )

+
    +
  • Steffen Bauer, nachdem er eine Spammer aus dem Wiki geschmissen hat
  • +
+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Impressum/index.html b/public/de/Impressum/index.html new file mode 100644 index 0000000..6b69f8b --- /dev/null +++ b/public/de/Impressum/index.html @@ -0,0 +1,471 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Impressum | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Impressum

+ +
+ +
+

English

+

Diese Webseite wird vom FraLUG e.V. betrieben:

+

Frankfurter Linux User Group (FraLUG) e.V.
+c/o Jochen Schade
+Landgrafenring 14b
+63073 Offenbach

+

Eintragung beim Amtsgericht Frankfurt, Vereinsregister: 14628

+

Vertreten durch den Vorstand:
+Jens Kühnel
+Jochen Schade
+Dr. Christoph Zimmermann

+

info AT lugfrankfurt PUNKT de

+

Bei Problemen ist der Web-Hoster erreichbar! Siehe hier

+
+
+

+ Disclaimer + + + +

+
+

+ Haftungsausschluss + + + +

+

Der Zugang und die Benutzung der Webseite der Frankfurter Linux User Group e.V. geschehen auf eigene Gefahr des Benutzers. Der Betreiber übernimmt keine Verantwortung für die Inhalte und Beiträge. Der Betreiber distanziert sich ausdrücklich von allen Inhalten, die möglicherweise straf- oder haftungsrechtlich relevant sind oder gegen die guten Sitten verstoßen und behält sich vor, Beiträge oder Links mit entsprechendem Inhalt unverzüglich zu löschen. Der Betreiber ist nicht verantwortlich und übernimmt keinerlei Haftung für Schäden, u.a. für direkte, indirekte, zufällige, vorab konkret zu bestimmende oder Folgeschäden, die angeblich durch den oder in Verbindung mit dem Zugang und/oder der Benutzung dieser Webseite aufgetreten sind.

+
+

+ Hinweis an Rechteinhaber + + + +

+

Autoren sind aufgerufen, alle Inhalte, die sie zu dieser Webseite beisteuern, nach bestem Wissen zu erstellen. Die Betreiber weisen Autoren darauf hin, kein Material zu verwenden, das Urheberrechten Dritter unterliegt. Aufgrund der Art dieser Webseite kann es nicht ausgeschlossen werden, daß Material eingebracht wird, das bestehende Schutzrechte verletzt und das nicht sofort als solches erkannt wird. Entsprechende Urheberrechtsverletzungen bitten wir sofort dem Vorstand (Kontakt siehe Impressum) anzuzeigen, bei Rechtsverletzungen werden wir dementsprechende Inhalte sofort entfernen.

+
+ +

Diese Webseite enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Wir bitten sämtliche Autoren dieser Webseite, keinerlei Links auf Webseiten mit rechtswidrigem Inhalt einzufügen und bei Anlegen eines Links die verlinkte Webseite dementsprechend zu überprüfen. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

+
+

+ Datenschutz + + + +

+

Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.

+

Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

+

Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.

+
+

+ Rechtswirksamkeit dieses Haftungsausschlusses + + + +

+

Dieser Disclaimer ist als Teil des Internetangebotes zu betrachten, von dem aus auf diese Seite verwiesen wurde. Sofern Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtslage nicht, nicht mehr oder nicht vollständig entsprechen sollten, bleiben die übrigen Teile des Dokumentes in ihrem Inhalt und ihrer Gültigkeit davon unberührt.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Kontakt/index.html b/public/de/Kontakt/index.html new file mode 100644 index 0000000..d4a5877 --- /dev/null +++ b/public/de/Kontakt/index.html @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Kontakt | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Kontakt

+ +
+ +
+

English

+

Am besten über unsere Mailingliste bzw. wir sind auch in Freenode (als Server einfach irc.freenode.org angeben) vertreten. Channel: #lug-ffm

+

Oder einfach Mal bei unseren Treffen vorbeikommen.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/LPD/index.html b/public/de/LPD/index.html new file mode 100644 index 0000000..af1cfa4 --- /dev/null +++ b/public/de/LPD/index.html @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + LPD/Maustüröffnertag | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

LPD/Maustüröffnertag

+ +
+ +
+

English

+
+

+ Über den Linux Presentation Day (LPD) + + + +

+

Aufgrund des großen Erfolgs der Veranstaltung des Vorjahrs veranstaltet die FraLUG auch dieses Jahr wieder im Rahmen des Linux Presentation Days den FraLUG Maus-Türöffner Tag. Dieser findet wie in den Vorjahren auch am 3. Oktober in Frankfurt statt. Das Programm für unseren Maus-Türöffner-Tag wird im Laufe des Septembers veröffentlicht.

+

Die Registrierung erfolgt via der bekannten Website oder via Email an maus AT lugfrankfurt PUNKT de. Was wir auf jeden Fall für die Anmeldung brauchen: Die Namen und das Alter der teilnehmenden Kinder.

+

LPD

+

Der Linux Presentation Day ist eine Veranstaltung, auf der Leute, die Linux gar nicht oder kaum kennen, einen Einblick in den Umgang mit dem Open-Source-Betriebssystem bekommen können. Ziel dieser Veranstaltung, die in Zusammenarbeit mit dem WDR, der die Sendung mit der Maus vor mehr als vierzig Jahren aus der Taufe gehoben hat, durchgeführt wird, ist es, auch Kindern ab dem Schulalter dieses freie und quelloffene Betriebssystem nahe zu bringen.

+
+

+ Die Urkunde + + + +

+

Da wir dieses Jahr wieder sehr erfolgreich am Maustüröffnertag teilgenommen haben, gab’s vom WDR noch folgende Dankesurkunde:

+

LPD

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Mailingliste/index.html b/public/de/Mailingliste/index.html new file mode 100644 index 0000000..83f19d0 --- /dev/null +++ b/public/de/Mailingliste/index.html @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Mailingliste | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Mailingliste

+ +
+ +
+
+

+ der Linux User Group Frankfurt! + + + +

+

Um die Mailingliste zu abbonieren, verwende bitte die Weboberfläche.

+

Es gibt hier so zwischen 3 und 30 Mails pro Tag! Wer also seine Mails nur einmal pro Woche abholt, der bekommt schon ein paar!

+

Bitte stellt euch kurz vor und lest die Regeln der Mailingliste, damit dieselben Fehler nicht ständig wiederholt werden und nicht gleich die erste Mail mit einem Rüffel beantwortet wird.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Regeln/index.html b/public/de/Regeln/index.html new file mode 100644 index 0000000..f7dac28 --- /dev/null +++ b/public/de/Regeln/index.html @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Regeln der Mailingliste | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Regeln der Mailingliste

+ +
+ +
+

Wir freuen uns, Dich auf unserer Liste begrüßen zu dürfen und möchten Dich auf einige, aber wichtige Regeln, hinweisen:

+

1. Wir bitten Dich, alle Deine Mails in Nur-Text zu schreiben und keine HTML-Mails an die Liste zu schicken.

+

Text-Mails haben den Vorteil, dass jeder Leser diese so auf seinem Bildschirm sieht, wie er es gerne hat und nicht einen bestimmten Stil (Schriftart, Farbe, Textgröße) aufgezwungen bekommt. Ein weiterer Nachteil von HTML-Mails ist, dass einige Mail-Programme (besonders die, die man in der Konsole laufen lässt) keine HTML-Mails darstellen können und der Leser zwischen den HTML-Tags lesen muss. (Hier bald ein fiktives Negativ-Beispiel)

+

2. Erstelle neue Mails nicht mit dem “Antworten”-Button.

+

Viele von uns verwenden Mailprogramme, die eine Thread-Ansicht bieten (z.B. Mozilla, kmail, mutt, Evolution). Dies ermöglicht es, zu erkennen, dass eine Mail als Antwort auf eine andere Mail geschrieben wurde und diese in einer Baumstruktur darzustellen. Daher solltest Du bitte folgendes beachten:

+

Wenn Du ein neues Thema aufmachen willst, dann bitte richtig: eine NEUE Mail an lugfrankfurt@lug-frankfurt.de (<- einfach mal anklicken :-) ) erstellen und nicht einfach auf eine bestehende antworten, sonst erscheinen diese Mails irgendwo in einem Thread, wo diese wirklich nichts verloren hat. Gerade “Freaks” sind es gewohnt, ganze Threads abzuhacken und dort nicht mehr mitzulesen. Und das ist bestimmt nicht in Deinem Sinne, oder??

+

Ausserdem soll es sich schon mehrfach als hilfreich erwiesen haben, einer Mail auch ein “Subject” zu geben, deshalb bitte die “Betreff”-Zeile mit knackig-kurzen und sinnvollen Informationen füttern…

+

3. RTFM

+

Jeder User der Liste wird normalerweise nach bestem Wissen und Gewissen antworten und Hilfestellungen leisten. Dennoch kommt es immer häufiger vor, dass einfache Fragen gestellt werden, welche sich mit Hilfe der manpages, der HOWTOs oder Google in wenigen Minuten von selber lösen würden. Bitte schau also erstmal auf den “Empfehlenswerten Webseiten”, ob Du die Lösung selbst findest.

+

Als Vorgehensweise empfiehlt sich: http://www.tty1.net/smart-questions_de.html

+

Solltest Du noch nie mit Linux (oder Unix) gearbeitet haben, so bist Du uns natürlich ebenfalls herzlich willkommen. Du solltest Dir aber im Klaren darüber sein, dass Linux nicht Windows ist. Linux ist eine andere Welt, mit eigenen Regeln, eigenen Gesetzen und eigener “Kultur”. Du musst vor allem bereit sein, Neues zu lernen. Als Einstieg hat sich ein Buch sehr bewährt. Dann müssen wir nicht jede Kleinigkeit ständig neu erklären.

+

Auch ergibt es sich häufig, dass ein Besuch bei unseren Treffen “Eis” abbaut und Dir dort auch Tipps für die ersten Gehversuche gegeben werden. Immerhin haben wir ALLE mal angefangen uns mit Linux zu beschäftigen… (Auch wenn sich einige nicht mehr richtig daran erinnern können :-)

+

4. Spaß muß sein

+

Witze sind erlaubt, gewollt und immer gesucht. Aber bitte möglichst nur “gute” Witze, die vielleicht auch was mit Linux oder Computer zu tun haben.

+

5. Keine Glaubenskriege

+

Gleiches gilt für Grundsatzdiskussionen, ala “Was ist besser Windows oder Linux”

+

Erfahrungsberichte sind gerne gesehen. Die wirklich interessanten Artikel können auf unserer Webseite veröffentlicht werden, wenn dies erwünscht/erlaubt ist.

+

6. whois

+

Es ist üblich, dass sich neue Leute kurz vorstellen. Dabei bitte auf Punkt 2 achten!

+

7. https://lugfrankfurt.de

+

Unsere Webseite ist https://lugfrankfurt.de. Jens (unser “WebMaster”) ist manchmal ein Spielkind, und keiner weiss, welche Spielerei ihm als nächstes einfällt.

+

8. Keine Auto-Replys

+

Wenn ihr einen sogenannten Urlaubswarner benutzt, so meldet euch bitte während Eures Urlaubs von der Liste ab. Ansonsten behält sich der Mailinglistenadmin das Recht vor, Euch von der Liste zu schmeißen.

+

9. Aus aktuellem Anlass: Jobangebote nur nach Absprache!

+

Jobangebote bitte zuerst beim Mailinglistenadministrator fralug-ml-master jens.kuehnel.org (Bitte ein @ statt dem leerzeichen verwenden) “bestätigen” lassen, bevor sie an die Liste gesendet werden. Der Admin behält sich das Recht vor (und nimmt es auch wahr), Leute zu kicken, die sich nicht an diese Regel halten.

+

10. Schalte den Ironie-Detektor™ ein

+

Nicht alles, was wir schreiben, meinen wir auch ernst. Wer hier mitliest, sollte einen funktionstüchtigen Ironie-Detektor besitzen oder wissen, wie er Unerwünschtes filtern kann. Außerdem weisen wir darauf hin, dass die besten Sprüche in einer kleinen Fortunes Datenbank unter Fortunes DB zur Belustigung aller gesammelt wurden (und es könnte jemand auf die Idee kommen, damit wieder anzufangen).

+

11. Realnames sind erwünscht

+

Um die Kommunikation beim Stammtisch zu erleichtern, bitte auch auf der Mailingliste den richtigen Namen in Mails mit angeben. Es kann nur einen Tux geben!

+

12. Kein Spam

+

Damit die Mailingsliste nicht zugespammt wird, darf die Liste nicht mit unerwünschter Werbung belästigt werden. Dazu gehören auch Einladungen von Facebook, LinkedIn, Xing oder ähnlichen Webseiten.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Treffen/index.html b/public/de/Treffen/index.html new file mode 100644 index 0000000..adda15f --- /dev/null +++ b/public/de/Treffen/index.html @@ -0,0 +1,455 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Treffen | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Treffen

+ +
+ +
+

English

+

Die Treffen (Stammtisch und Vorträge) finden bis auf weiteres aufgrund der aktuellen Situation ausschließlich virtuell statt. Sobald diese wieder durchgeführt werden, erfahrt ihr es hier!

+

Angestrebt ist, dass wir am Dienstagstermin einen Vortrag präsentieren. Vortragsvorschläge bitte auf der Mailingliste posten.

+
+
+

+ Unsere Treffpunkte - So kommt man hin + + + +

+

Sandelmühle
+An der Sandelmühle 35
+60439 Frankfurt

+

Telefon Restaurant: 069 / 575742

+

Homepage Speisekarte

+

Übersichtskarte Heddernheim bei OpenStreetMap und Google Maps

+

Parkplätze sind vor dem Haus vorhanden.

+

Übersichtskarte der öffentlichen Verkehrsmittel für die Sandelmühle bei www.öpnvkarte.de

+

Aus Richtung Bad Homburg:

+

U-Bahn » U2, Haltestelle: Sandelmühle

+

Der die Schienen querenden Straße “An der Sandelmühle” Richtung Nidda etwa 200m folgen.

+

Aus der Stadt:

+

U-Bahn » U1, U2, U3 oder U8, Haltestelle: Heddernheim

+

In östlicher Richtung den Hinterausgang der U-Bahn-Station nehmen. Nach links wenden und die Straße “An der Sandelmühle” etwa 150m folgen.

+
+

Saalbau Gallus
+Frankenallee 111
+60326 Frankfurt am Main

+

Saalbau-Homepage

+

Übersichtskarte Gallus bei OpenStreetMap und Google Maps

+

Übersichtskarte der öffentlichen Verkehrsmittel für den Saalbau Gallus bei www.öpnvkarte.de

+
+
+

+ Ein paar Worte zu den Treffen! + + + +

+

Jeder kann kommen, ist aber für sich selbst verantwortlich. Viele kommen um ihre Erfahrungen auszutauschen, haste nichts zum tauschen, musste halt nur lauschen.

+

Wer seinen Rechner mitbringen will, weil er mal das Pinguinsystem installieren möchte oder anders ausprobieren möchte oder weil er Probleme mit einem bestimmten Programm hat, kann dies gerne tun. Es wird aber in jedem Fall empfohlen, dies vorher in der Mailingliste anzusprechen, damit man nicht nachher ohne Installationsmedium beim Treffen sitzt.

+

Ansonsten gibt es immer einige Helfer, die sich auch schnell streiten, wer denn zuerst die Tastatur massakrieren darf.

+

Die Vorträge finden in “Nichtraucherräumen” statt. Raucher müssen den Raum verlassen, um zu rauchen!

+

Die Sandelmühle stellt einen freien Internetzugang per WLAN zur Verfügung.

+
+

+ Im Saalbau Gallus + + + +

+

Das Treffen findet im Seminarraum 4 statt. Die Vorträge beginnen in der Regel gegen 19 Uhr. Es kann jegliche Form von Hardware mitgebracht werden. Ist der Vortrag beendet, kann in Clubatmosphäre diskutiert bzw. sich um die mitgebrachte Hardware gekümmert werden. Üblicherweise begeben wir uns im Anschluss noch in eine der Gaststätten in der Nähe zum Weiterdiskutieren; derzeit “Zum Hufnagel”, Hufnagelstraße 12a, 60326 Frankfurt a.M. Das ehemalige “Zum Hufnagel” ist nun ein Chinesisches Restaurant und heisst nun “Asian Flavors”. Müssen wir mal austesten …

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Verein/index.html b/public/de/Verein/index.html new file mode 100644 index 0000000..558df2e --- /dev/null +++ b/public/de/Verein/index.html @@ -0,0 +1,493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Verein | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Verein

+ +
+ +
+

Die LUG Frankfurt hat einen e.V. gegründet.

+

Dessen Aufgaben ist es die “… Veranstalten eines regelmäßigen Stammtischs sowie durch Vortragsveranstaltungen und Tagungen …” zu Veranstalten “… die für jedermann zugänglich sind.”

+

Mehr in der aktuellen Satzung und der Geschäftsordnung der Mitgliederversammlung des Vereins.

+

Der Verein erhebt keine Mitgliedsgebühr; eine Mitgliedschaft für die Teilnahme an den Veranstaltungen des Vereins wie Stammtisch und Vorträge ist nicht erforderlich. Einer der wesentlichen Vorteile einer Mitgliedschaft ist aber die Stimmberechtigung bei Mitgliedervesammlungen, die die Planung und Richtung des Vereins festlegen.

+
+

+ Mitgliedschaft + + + +

+

Für die Beantragung einer Mitgliedschaft reicht eine formlose Mail an fralug-vorstand AT lugfrankfurt PUNKT de. Diese Mail sollte den vollständigen Namen und Kontaktdaten wie Adresse und Telefonnummer enthalten. Über die Mitgliedschaft entscheidet satzungsgemäß der Vorstand. Eine Mitgliedsgebühr oder ähnlicher Schnickschnack wird nicht erhoben. Ebenfalls bleiben gemäß geltender DSGVO sämtliche Daten der Mitglieder im ausschließlichen Besitz des Vereins bis zum Austritt eines Mitgliedes oder der Löschung des Vereins aus dem Vereinsregister. Danach werden die entsprechenden Datensätze unwiderruflich gelöscht.

+

Mit Beantragung einer Mitgliederschaft stimmt der oder die Beantragende der maschinellen Erfassung und der Speicherung dieser Daten zu.

+
+

+ Historisches + + + +

+
+

+ 28.01.2014 Einführung einer Ehrenmitgliedschaft + + + +

+

Bei der Mitgliederversammlung am 28.01.2014 wurde die Einführung einer Ehrenmitgliedschaft beschlossen. Hierzu wurde die Satzung entsprechend ergänzt.

+

Die geänderten Paragraphen sind hier zu finden.

+

Die neue Satzung findet sich hier.

+
+

+ 22.03.2011 Erfolgreiche Gründung + + + +

+

Am 22.03.2011 haben wir die Frankfurter Linux User Group gegründet. Der neue Verein ist jetzt noch beim Amtsgericht einzutragen.

+

Hier ist die Satzung und die Geschäftsordnung der Mitgliederversammlung des neuen Vereins.

+

Seit dem 13. April 2011 sind wir nun auch offiziell als e.V. beim Amtsgericht Frankfurt eingetragen.

+
+

+ Einladung zur Gründungsversammlung am 22. März 2011 + + + +

+

Wir laden alle Interessierten zur Gründungsversammlung unseres Vereins am 22. März 2011, ab 19.30 Uhr im Vereinsraum 2 des Haus Gallus ein.

+

Wir schlagen folgende Tagesordnung vor (Änderungsvorschläge hier möglich):

+
    +
  1. Wahl der Sitzungsleitung
  2. +
  3. Begrüßung
  4. +
  5. Erstellung einer Anwesenheitsliste (Name, Wohnort)
  6. +
  7. Wahl eines Präsidiums
  8. +
  9. Wahl des Schriftführers
  10. +
  11. Ermittlung der Zahl der anwesenden Mitglieder und der Mehrheitsquote
  12. +
  13. Wahl einer Zählkommission
  14. +
  15. Abstimmung über die Tagesordnung
  16. +
  17. Verabschiedung einer Geschäftsordnung (gültig auch für zukünftige Mitgliederversammlungen) +
      +
    • Aussprache zum GO-Entwurf
    • +
    • Beschluss der GO
    • +
    +
  18. +
  19. Verabschiedung der Satzung +
      +
    • Findung eines Namens für den Verein und Abstimmung über die vorgestellten Entwürfe
    • +
    • Gemeinnützigkeit: ja, nein oder später
    • +
    • Aussprache zum Satzungsentwurf
    • +
    • Beschluss der Satzung
    • +
    +
  20. +
  21. Wahlen +
      +
    • Bestimmung der Sonder-Verantwortlichkeiten der Sprecher (Kasse, Website, …)
    • +
    • Wahl der drei Sprecher
    • +
    • Wahl der Beisitzer
    • +
    • Wahl der Kassenprüfer
    • +
    • Annahme der Wahl durch die Gewählten
    • +
    • Feststellung von Geburtsdatum und Adresse der Gewählten für das Gründungsprotokoll
    • +
    +
  22. +
  23. Unterschreibung der Satzung durch die anwesenden Mitglieder
  24. +
  25. Schlusswort
  26. +
  27. Unterschreibung des Protokolls durch Protokollant und Präsidium
  28. +
+
+

+ Versionsgeschichte + + + +

+

(wäre prima, eine solche zu haben 😉 )

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Vorschlaege/index.html b/public/de/Vorschlaege/index.html new file mode 100644 index 0000000..8008384 --- /dev/null +++ b/public/de/Vorschlaege/index.html @@ -0,0 +1,488 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Vortragsvorschläge | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Vortragsvorschläge

+ +
+ +
+

Das aktuelle Vortragsprogramm findet ihr unter Vorträge.

+

Vorträge, die gehalten werden können:

+

Jens Kühnel

+
    +
  • Samba
  • +
+

Steffen Bauer

+
    +
  • Python
  • +
  • Deep Learning / Artificial Intelligence
  • +
+

Laura Liparulo

+
    +
  • Bash Scripting
  • +
+

Rolf Schmidt

+
    +
  • Verschiedene Virtualisierungskonzepte (und warum speziell KVM)
  • +
+

Workshops

+

Umfangreichere Themen können auch im Rahmen eines Workshops behandelt werden. Vorbild ist hier bei unser Programmierworkshop. Vorgehen: Einfach Aufruf auf der Mailingliste posten oder die Sache beim Stammtisch ansprechen, evtl. einen Admin bitten den Aufruf auch auf der Startseite anzukündigen, Rückmeldungen abwarten, und los geht’s…

+

Interesse besteht für folgende Themen:

+

Anfängerthemen (immer wieder gerne)

+
    +
  • Benutzung der bash-Shell
  • +
  • Grundlagen der Systemadministration
  • +
  • Log-Auswertung - was ist wichtig
  • +
  • NFS-Filesystem, Samba einrichten und absichern
  • +
  • DynDNS nutzen
  • +
  • MySQL/MariaDB-Grundlagen
  • +
  • Editoren: vim und emacs
  • +
  • +
+

Netzwerk

+
    +
  • Wie scanne ich ein Netzwerk
  • +
  • Netzwerktools - welche gibt es und wofür sind die
  • +
  • Bind im richtigen Einsatz
  • +
  • Was macht eigentlich meine Firewall?
  • +
  • Sicherheit & Verschlüsselung
  • +
  • Alles, was mit Verschlüsselung zu tun hat von GPG bis hin zu WPA
  • +
  • Wozu eine Mail verschlüsseln/signieren
  • +
  • Rootkits
  • +
  • Tripwire
  • +
+

Virtualisierung

+
    +
  • Vergleich der verschiedenen Virtualisierungskonzepte und angebotenen Software
  • +
+

Systemadministration

+
    +
  • Apache Rechte Verwaltung (warum htaccess schlecht für Performance sein kann)
  • +
  • Einrichten, Anwenden und (sinnvoller) Einsatz von sudo, sshd, …
  • +
  • KDE und GNOME einschränken und zentral administrieren - Stichwort “Kiosk-Modus”
  • +
  • Gefahren und Fallen bei der Userverwaltung
  • +
+

Datenbanken

+
    +
  • Arbeit mit Postgresql oder MySQL/MariaDB
  • +
+

Multimedia

+
    +
  • Einbinden eines Scanners in Linux (bringe gerne meinen Scanner mit! :-))
  • +
+

Bürosoftware

+
    +
  • Welche Groupware Programme gibt es: OpenGroupware, phpGroupware, EGroupware, …
  • +
+

Anwender

+
    +
  • Benutzung von KDE mit Tastatur
  • +
+

Was in keine Rubrik passt

+
    +
  • +
+
+

+ Plakatvorschlag für Vorträge + + + +

+

Einen Vorschlag für ein Vortragsplakat findet man hier: Plakat als odt

+

Schön wäre es, wenn die Grafikbegabten unter uns sich entweder unter Orientierung an der obigen Plakatvorlage oder vielleicht mit neuen Vorschlägen an die Gestaltung eines ansprechenden Posters/Flyers machen, damit wir die Vorträge bekannt geben können.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Vortraege/index.html b/public/de/Vortraege/index.html new file mode 100644 index 0000000..9d82b4a --- /dev/null +++ b/public/de/Vortraege/index.html @@ -0,0 +1,1216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Vorträge | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Vorträge

+ +
+ +
+

Seit Dienstag, den 25.08.2009 finden an unseren Dienstagsterminen wieder Vorträge statt. Hierfür haben wir den Seminarraum 4 des Saalbau Gallus (siehe hierzu auch die Treffen Seite) für jeden vierten Dienstag im Monat reserviert. Wir treffen uns dort kurz vor 19 Uhr; Beginn des Vortrages ist in der Regel zwischen 19:00 und 19:15 Uhr. Im Anschluß geht’s meistens noch in eine Gastwirtschaft in der Nähe, die Details werden am Abend selbst festgelegt.

+
+

+ Termin-Planung für die Vorträge + + + +

+

Die Vorträge finden bis auf weiteres virtuell statt. Details zeitnah auf unserer Mailingliste.

+
+ | Kubernetes + Tools | Daniel |
+| Network Service Mesh | Daniel |
+| FLOSS-Lizenzen (GPL, MIT, BSD und Freunde) | Christoph |
+| September-FAQ | alle |
+| Mitgliederversammlung | alle | +
+ +

Änderungen vorbehalten - gerade bei den späteren Terminen, weil ja immer etwas dazwischen kommen kann. Also bitte vor den Vorträgen hier nochmal gucken, ob sich etwas geändert hat.

+

Es sei an dieser Stelle ausdrücklich dazu aufgerufen, daß sich auch weniger im Vortragen Geübte an eine Präsentation wagen dürfen. Es geht nicht um eine perfekte Darbietung, sondern der Spaß an der Weitergabe von Wissen an Leute mit gleichem Interesse soll im Vordergrund stehen.

+

Vortragsvorschläge und Vortragswünsche werden auf dieser Seite gesammelt.

+
+

+ Resourcen für Vortragende + + + +

+

Das FRALUG-Logo im PNG-Format (von Nadja Vajkonny)

+

Das FLUGS-Logo im SVG-Format (von Rolf Schmidt)

+

OpenOffice/LibreOffice Impress Vorlage für LUG Vorträge

+

Latex Beamer Vorlage für LUG Vorträge (von Oliver Sprinzl)

+

Alternative Beamer-Vorlage für Latex (von Dr. Christoph Zimmermann)

+

“Penguins crossing” im JPG-Format (von Maruan Klaus Damlachi)

+

Alle Materialien: Creative Commons License

+
+

+ Resourcen zur Werbung für Vorträge + + + +

+

Ein DIN-A4-Handout für den nächsten Vortrag im OpenDocumentFormat (für OpenOffice) zum Ausdrucken, Vervielfältigen, Aushängen und Weitergeben befindet sich am Ende dieser Seite.

+
+

+ In der Vergangenheit gehaltene Vorträge & Sessions + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DatumThemaWer
Dienstag, 27.04.2021FLOSS-Videokonferenzsysteme oder How I learned to cherish broken software FolienChristoph
Dienstag, 24.03.2021März-FAQalle
Dienstag, 24.02.2021Simon Tatham’s Portable Puzzle Collection FolienSteffen
Dienstag, 26.01.2021Redis als eine multi-modale NoSQL DB Folien Beispiel-CodeChristoph
Dienstag, 24.11.2020Jährliche Mitglieder-Versammlungalle
Dienstag, 27.10.2020Reinforcement Learning FolienSteffen
Dienstag, 22.09.2020September-FAQalle
Dienstag, 25.08.2020Borg-Backup Folien Borg SkriptHelmut
Dienstag, 28.07.2020Fortgeschrittenes Tor (Teil 2 der Tor-Reihe) FolienBenni und Christoph
Dienstag, 23.06.2020TYPO3 on Speed FolienChristoph
Dienstag, 26.05.2020RedisJSON - Eine dokumentenbasierte Datenbank in Rust FolienChristoph
Montag, 27.04.2020April-FAQalle
Dienstag, 25.02.2020Februar-FAQalle
Dienstag, 28.01.2020Tor - Grundlagen FolienBenni
Mittwoch, 18.12.2019Weihnachtsgrillen - Offenbach (Anmeldung per Mail erforderlich)alle
Dienstag, 26.11.2019Generative Adversarial Networks FolienSteffen
Dienstag, 22.10.2019Rust: Die Programmiersprache und das Drumherum Folien Webserver-SchnipselChristoph
Dienstag, 24.09.2019Die September-FAQalle
Dienstag, 27.08.2019Vorstellung: Die Free Software Foundation Europe (FSFE) FolienGuido und Michael
Dienstag, 23.07.2019Der System-Monitor conky Folien & mehrLars
Dienstag, 25.06.2019Juni-Grillen (Details wie immer auf der ML aber Campingplatz ist sicher :-) )alle
Dienstag, 21.05.2019Freedroid - Android ohne Google - F-Droid, Lineage, Micro-G FolienJens
Dienstag, 23.04.2019Dinosaurier auf Speed (Linux auf Mainframes)Christoph
Dienstag, 26.03.2019ip4 / ip6: Die Unterschiede und GemeinsamkeitenJochen
Dienstag, 26.02.2019Bash Startup FolienManuela
Dienstag, 22.01.2019Mitglieder-Versammlungalle
Dienstag, 25.12.2018Entfällt wegen Weihnachtspause. Frohes Fest!
Dienstag, 4.12.2018Nach dem Riesenerfolg der Vorjahre (alle überlebten!) gibt’s natürlich dieses Jahr wieder das FraLUG-Weihnachstsgrillen. Details wie immer via ML.alle
Dienstag, 27.11.2018Proxmox-Update (mit Demo)Gregor
Dienstag, 23.10.2018Arch auf Chromebooks FolienChristoph (Chromebook powered by Harald)
Mittwoch, 3.10.2018Maustüröffnertagalle (s. Webseite)
Dienstag, 26.09.2018NoSQL: Das bessere SQL? Übersicht über das was war, ist und sein wird (Double Feature: Pause gegen 22.45 Uhr :-) ). FolienChristoph
Dienstag, 28.08.2018August-FAQalle
Dienstag, 17.07.2018Juli-Grillen Achtung: Findet analog zum Weihnachtsgrillen auf dem Camping-Platz statt. Zweites Achtung: das Grillen findet ausnahmsweise nicht am 4. sondern am 3. Dienstag im Monat statt. Nähere Infos rechtzeitig via Mailing-Liste.Dirk / alle
Dienstag, 26.06.2018Was ihr immer schon über Filesysteme wissen wolltet! FolienJens
Dienstag, 22.05.2018Die Mai-FAQ wurde durch ein Vorgrillen ersetzt, um fit für den Juli-Termin zu sein :-). Details sobald verfügbar via Mailing-Listealle bei Jochen in Offenbach
Dienstag, 24.04.2018Bionic - Software-Qualität und Angriffsflächenanalyse von Androids Unterbau FolienChristoph
Dienstag, 27.03.2018Mitgliederversammlungalle
Dienstag, 27.02.2018Die Februar-FAQalle
Dienstag, 23.01.2018Tensorflow - eine Einführung in Google’s KI-Infrastruktur Folien Notebook Custom Classifier Notebook Feature Extraction Notebook General ClassifierSteffen
Dienstag, 5.12.2017Grillen Weihnachtsgrillen auf dem Campingplatzalle
Dienstag, 28.11.2017EGroupware 17.1 mit CollaboraGregor
Dienstag, 24.10.2017Der ursprünglich vorgesehene Vortrag zum Thema Bionic musste leider ausfallen und wird im November nachgeholtChristoph
Dienstag, 03.10.2017Maustüröffnertagalle / Orga-Kommittee
Dienstag, 26.09.2017Heim-AutomatisierungJochen
Dienstag, 22.08.2017Office-Automatisierung mit Libreoffice und Google-Apps, Der Fokus des zweitens Teil dieser zweiteiligen Vortragsreihe ist die Benutzung der Google Apps APIChristoph
Dienstag, 25.07.2017Office-Automatisierung mit Libreoffice und Google-Apps, Im ersten Teil dieser zweiteiligen Vortragsreihe wird die Programmierung mit der UNO-Schnittstelle von LO vorgestellt FolienChristoph
Dienstag, 27.06.2017Tor auf Debian (nicht nur für Anfänger)Benjamin
Dienstag, 23.05.2017Die Mai-FAQalle
Dienstag, 24.04.2017Anonymous & Friends OpenVPN, Tor und was da sonst noch kreucht und fleucht FolienChristoph
Dienstag, 28.03.2017Jahreshauptversammlung FraLUG e.V.alle
Dienstag, 28.02.2017Die Februar-FAQ - dieses Mal wie immer :-) zum Mitmachen. Fragen, Anregungen und Wünsche wie üblich per E-Mail und im IRC-Chat auf Freenode unter #lug_ffm.alle
Dienstag, 24.01.2017Fluxbox FolienLars
Dienstag, 22.11.2016Linux - Alles was man als Einsteiger drüber wissen muss FolienSteffen
Samstag, 5.11.2016LPD & Maustüröffnertag bei OpenRheinRuhr, 05.11.2016, 12.20 Uhr FolienChristoph
Dienstag, 25.10.2016DevOps & Continuous Integration FolienChristoph
Dienstag, 11.10.2016FraLUG / LPD @ FLOSS Weekly (18.30 Uhr CEST)Christoph
Dienstag, 27.09.2016Docker draussen und drinnen FolienHolger
Dienstag, 23.08.2016Netzwerkpakete rumschubsen mit iptablesSteffen
Dienstag, 28.06.2016Die Juni-FAQ. Archivierter Life-Stream auf Youtubealle
Dienstag, 24.05.2016Groupware, Kalender, Kontakte & Codiverse Vortragende
Dienstag, 26.04.2016Alarm: Arch Linux auf ARM (mit Ausflug in andere Userlands) FolienChristoph
Dienstag, 22.03.2016Die März-FAQalle
Dienstag, 23.02.2016Mitgliederversammlung fralug e.V. 2016alle
Dienstag, 26.01.2016Systemd FolienSteffen und Christoph
Dienstag, 23.11.2015Die Herbst-FAQalle
Samstag, 14.11.2015Linux Presentation Dayalle
Dienstag, 27.10.2015Minix 3 (Aufzeichnung von der diesjährigen FrOSCon) und anschließende DiskussionAndrew S. Tanenbaum
Dienstag, 22.09.2015Btrfs - Das ‘Next generation Linux filesystem’ Folien Live-Demo Exkurs B-TreesSteffen
Dienstag, 25.08.2015Grundlagen des Social Engineering FolienChristoph
Dienstag, 28.07.2015Sommerpause - Saalbau Gallus hat geschlossen. Kein Vortrag.
Donnerstag, 09.07.2015 18:00 UhrRichard Stallman @ Frankfurt University: Copyright vs. Community, Campus Westend, Casinogebäude, Festsaal Flyeralle
Mittwoch, 08.07.2015 19:00 UhrRichard Stallman @ Gallus Theater: Free Software and Your Freedom, Kleyerstraße 15 Flyeralle
Dienstag, 23.06.2015Das kleine 1x1 von TCP/IPJochen
Dienstag, 26.05.2015Jahresmitgliederversammlung fralug e.V.alle
Dienstag, 28.04.2015Nach dem großen Erfolg im Oktober mit der Herbst-FAQ gab’s im April die Frühjahrs-FAQ: eure Fragen und nicht nur unsere Antworten (inkl. Mini-Install-Party). Das Video gibt’s hier.alle
Dienstag, 24.03.2015Quadcopter bauen und fliegen (mit ohne schreddern) Teil 1: Grundlagen und Komponenten Teil 2: Bauformen und Flugkontrolle Teil 3: Steuerung Teil 4: Gadgets Teil 5: Bauteile einkaufen
Dienstag, 24.02.2015Linux + HTPCs: Teil 2 - Hardware FolienHolger
Dienstag, 27.01.2015Linux + HTPCs: Teil 1 - Software FolienHolger
Dienstag, 25.11.2014Bastelabend: Problemhilfe bei Hard- und Software-Projekten
Dienstag, 28.10.2014Die Herbst-FAQ: eure Fragen und nicht nur unsere Antworten (inkl. Mini-Install-Party) Diesmal mit Google Video Hangout und IRC-Channel. Die Idee für nächsten Dienstag abend ist, daß nicht nur mit den Anwesenden diskutiert wird, sondern auch per IRC Fragen gestellt werden können. Parallel dazu wird die Veranstaltuing per G+-Video Hangout in die große weite Welt hinausgetragen. Der Streaming-Link wird am Anfang per IRC publiziert. Ihr erreicht uns auf Freenode unter #lug_ffm - über rege Teilnahme würden wir uns freuen!alle
Dienstag, 23.09.2014Linux für Einsteiger: Die Kommandozeile Teil 2. Das Linux Filesystem. Folien
Dienstag, 26.08.2014Die eigene Dropbox: Ein Fileserver im Eigenbau mit Bordmitteln FolienChristoph
Dienstag, 22.07.2014Drahtlose Netzwerke unter Linux: Erfolgreicher Einsatz unter der Wahrung der mentalen Gesundheit (inkl. Klinik) FolienChristoph
Dienstag, 24.06.2014Desaster-Recovery unter Linux
Dienstag, 27.05.2014Linux Grundlagen: Wie funktioniert die Kommandozeile und was kann man damit alles machen Folien
Dienstag, 22.04.2014Osterpause - kein Vortrag
Dienstag, 25.03.2014Linux für Anfänger Von Windows nach Linux
Dienstag, 25.02.2014Film: Revolution OS + Diskussion Handout
Dienstag, 28.01.2014Mitgliederversammlung 2014alle
Dienstag, 26.11.2013BOINC-NG: Die Berkley Open Infrastructure for Network Computing (BOINC) war einer der ersten Ansätze für fehlertolerantes Grid-Computing (s. a. den entsprechenden Wikipedia-Eintrag). Der Vortrag zeigt ein mögliches Konzept für die nächste Generation dieser Architektur.Christoph
Dienstag, 22.10.2013BOINC-NG: Die nächste Generation BOINC (verschoben auf 26.11.13)Christoph
Dienstag, 24.09.2013Zeitreise 3 (1995-2000)Harald
Dienstag, 27.08.2013Log Analyse, wie kann man bei 100 Maschinen die Logfiles lesen?Jens
Dienstag, 23.07.2013Sommerpause, da Saalbau Gallus geschlossen.
Dienstag, 25.06.2013kein Vortrag
Dienstag, 28.05.2013DNS und Mail, was beim Mail hinter den Kulissen funktioniert! FolienLutz
Dienstag, 23.04.2013Wie setze ich neuste IT-Technologie in einer HA Umgebung um?Dirk
Dienstag, 26.03.2013Jahreshauptversammlung der FraLUG e.V. mit Vorstandswahlen
Dienstag, 26.02.2013Wie man einen Home Theater PC auf Linux-Basis aufsetzt (und dabei so normal wie möglich bleibt) FolienChristoph
Dienstag, 22.01.2013RepRap oder China on my desktopRolf
Dienstag, 27.11.2012Monitoring Einführung am Beispiel eines kleinen Privatnetzwerks mit Nagios/Icinga/check_mk und OMDJens in Vertretung für Martin
Dienstag, 23.10.2012PDF Grundlagen und TricksNadja
Dienstag, 25.09.2012BlenderNadja
Dienstag, 28.08.2012Pure DataAchim Wollscheid, Vertretung: Harald
Dienstag, 24.07.2012Leider war der Dozent kurzfristig verhindert, stattdessen spontan eine Kurzwiederholung des Python-Workshops. Materialien hierSteffen
Dienstag, 26.06.2012Moderne Methoden der Digitalphotographie (HDR, Panorama-Stitching, Focus Stacking) mit Open Source Software FolienSteffen
Montag, 21.05.2012Supercomputing (in Englisch, Folien auf Deutsch)Andrew
Dienstag, 24.04.2012Bluetooth unter Linux FolienSteffen
Dienstag, 28.02.2012Zeitreise Teil 2 - durch die Geschichte von Hard- und SoftwareHarald
Dienstag, 24.01.2012Zeitreise - durch die Geschichte von Hard- und SoftwareHarald
Dienstag, 22.11.2011Das X Window System - Teil 2: Der moderne Desktop und Zukunft von X FolienBernd und Martin
Dienstag, 25.10.2011Flashspeicher und Solid State Drives unter Linux FolienSteffen
Dienstag, 27.09.2011Mein eigener root-Server im Internet: Einrichtung und VerwaltungStephan
Dienstag, 23.08.2011Benutzung und Verwaltung von MP3´s mit AmarokStephan
Dienstag, 26.07.2011ist aus technischen Gründen entfallen
Dienstag, 28.06.2011Das X Window System - Teil 1: Historie, Konzept und Protokoll, Folien Historie Folien ProtokollBernd und Martin
Dienstag, 24.05.2011Einführung in EgroupwareGregor
Dienstag, 26.04.2011Reguläre Ausdrücke: POSIX Basic und Extended Regular Expressions, Perl Compatible Regular Expressions FolienBernd
Dienstag, 22.03.2011Gründungsversammlung des Vereins
Dienstag, 22.02.2011Mehr Power für den Pinguin. Stromverbrauch von Laptops unter Linux optimieren, FolienSteffen
Dienstag, 25.01.2011Präsentieren und Vorbereiten von Präsentationen FolienRolf
Dienstag, 28.12.2010kein Vortrag, stattdessen kleine Runde im African House, Kiesstr. 39
Dienstag, 23.11.2010Skriptsprachen und Compilersprachen: Gemeinsamkeiten/Unterschiede, Einsatzzweck Folien QuellenBernd
Dienstag, 26.10.2010Embedded LinuxMoritz
Dienstag, 28.09.2010Der Boot-Prozess eines GNU/Linux-Systems: Vom “Power On” bis zum benutzbaren Desktop FolienMartin
Dienstag, 24.08.2010Evaluation mit Linux, Grundlagen zum Erstellen und Auswerten von FragebögenJörg
Dienstag, 27.07.2010Vergleich von verschiedenen Virtualisierungskonzepten unter Linux FolienRolf
Dienstag, 22.06.2010Erfahrung mit Openstreetmap: Programmieren und Verwendung FolienJames
Dienstag, 25.05.2010Vorstellung der Programmiersprache ErlangHarald
Dienstag, 27.04.2010Grafikbearbeitung mit GIMP - Eine EinführungNadja
Dienstag, 23.03.2010Workshop “DVD-Authoring unter Linux” FolienSteffen
Dienstag, 23.02.2010Wiki-Workshop: Einführung Folien Vorstellung des LUG WikisJens
Dienstag, 26.01.2010Videoencoding mit Open Source Tools FolienSteffen
Dienstag, 24.11.2009“LaTeX ist nicht schwer… (nur halt eben anders)”Harald
Dienstag, 27.10.2009“Hilfe, mein Programm gibt’s nur als Source” - Vom Source Code zum fertigen Packet (Deb/Rpm) FolienOliver
Dienstag, 25.08.2009LDAP ist nicht schwerJens
Montag, 09.02.2009Open-Source Software unter Windows Material Freemind ZipWolfram
Montag, 12.01.2009Programmieren mit Gambas, Folien ProgrammbeispieleRolf
Montag, 10.03.2008Enterprise DistributionenJens
Montag, 11.02.2008Ruby on RailsManuel
Montag, 14.01.2008Datensicherung - Was, Wann, Wie… FolienRolf
Montag, 12.11.2007IPv6 EinführungBenedikt
Montag, 08.10.2007Einführung in EximErkan
Montag, 10.09.2007TCP/IP Part IIRolf
Mittwoch, 01.08.2007SSH - Grundlagen & TricksAndreas
Mittwoch, 04.07.2007VerschlüsselungJens
Mittwoch, 06.06.2007TCP/IP - GrundlagenPetra
Mittwoch, 02.05.2007Einführung in Shell-ProgrammierungRolf
Mittwoch, 04.04.2007OpenVPNMarkus
Mittwoch, 07.03.2007Scalix - wirklicher Exchange-ErsatzMarc
Mittwoch, 07.02.2007Linux - Freie Software - GPL was ist das?Jens
+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/Workshops/index.html b/public/de/Workshops/index.html new file mode 100644 index 0000000..d341d9f --- /dev/null +++ b/public/de/Workshops/index.html @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Workshops | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Workshops

+ +
+ +
+
+

+ Zur Zeit finden keine Programmierworkshop’s statt! + + + +

+

In der Vergangenheit gab es bei der LUG diverse Workshops, so z.B.

+
    +
  • C
  • +
  • Haskell
  • +
  • Java
  • +
  • Python
  • +
+

Sollte sich ein Tutor und genügend Teilnehmer finden, werden wir gerne die Programmierworkshop’s wieder aufleben lassen. Einfach auf der Mailingliste anfragen.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/de/index.html b/public/de/index.html new file mode 100644 index 0000000..e6982ff --- /dev/null +++ b/public/de/index.html @@ -0,0 +1,786 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Des | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + + + + +
+
+

Impressum

+
+ +
+ Diese Webseite wird vom FraLUG e.V. betrieben: +Frankfurter Linux User Group (FraLUG) e.V. +c/o Jochen Schade +Landgrafenring 14b +63073 Offenbach +Eintragung beim Amtsgericht Frankfurt, Vereinsregister: 14628 +Vertreten durch den Vorstand: +Jens Kühnel +Jochen Schade +Dr. Christoph Zimmermann + info AT lugfrankfurt PUNKT de +Bei Problemen ist der Web-Hoster erreichbar! Siehe hier + Disclaimer Haftungsausschluss Der Zugang und die Benutzung der Webseite der Frankfurter Linux User Group e. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Verein

+
+ +
+ Die LUG Frankfurt hat einen e.V. gegründet. +Dessen Aufgaben ist es die “… Veranstalten eines regelmäßigen Stammtischs sowie durch Vortragsveranstaltungen und Tagungen …” zu Veranstalten “… die für jedermann zugänglich sind.” +Mehr in der aktuellen Satzung und der Geschäftsordnung der Mitgliederversammlung des Vereins. +Der Verein erhebt keine Mitgliedsgebühr; eine Mitgliedschaft für die Teilnahme an den Veranstaltungen des Vereins wie Stammtisch und Vorträge ist nicht erforderlich. Einer der wesentlichen Vorteile einer Mitgliedschaft ist aber die Stimmberechtigung bei Mitgliedervesammlungen, die die Planung und Richtung des Vereins festlegen. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Mailingliste

+
+ +
+ der Linux User Group Frankfurt! Um die Mailingliste zu abbonieren, verwende bitte die Weboberfläche. +Es gibt hier so zwischen 3 und 30 Mails pro Tag! Wer also seine Mails nur einmal pro Woche abholt, der bekommt schon ein paar! +Bitte stellt euch kurz vor und lest die Regeln der Mailingliste, damit dieselben Fehler nicht ständig wiederholt werden und nicht gleich die erste Mail mit einem Rüffel beantwortet wird. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Kontakt

+
+ +
+ Am besten über unsere Mailingliste bzw. wir sind auch in Freenode (als Server einfach irc.freenode.org angeben) vertreten. Channel: #lug-ffm +Oder einfach Mal bei unseren Treffen vorbeikommen. +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Liste der bekanntesten Linuxdistributionen

+
+ +
+ in alphabetischer Reihenfolge ( = Reihenfolge ist keine Wertung) +Arch Linux Die Distribution für fortgeschrittene Linux’er ist puristisch, leichgewichtig und als Rolling Release permanent auf dem aktuellen Stand der Technik. Trotz allem wird jeden Monat ein ISO Image mit dem aktuellen Entwicklungsstand veröffentlicht. Arch Linux verfolgt das KISS Prinzip, somit nur für fortgeschrittene Anwender zu empfehlen. +Arch Linux +Debian Debian ist das bekannteste nichtkommerzielle Linuxpaket. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Regeln der Mailingliste

+
+ +
+ Wir freuen uns, Dich auf unserer Liste begrüßen zu dürfen und möchten Dich auf einige, aber wichtige Regeln, hinweisen: +1. Wir bitten Dich, alle Deine Mails in Nur-Text zu schreiben und keine HTML-Mails an die Liste zu schicken. +Text-Mails haben den Vorteil, dass jeder Leser diese so auf seinem Bildschirm sieht, wie er es gerne hat und nicht einen bestimmten Stil (Schriftart, Farbe, Textgröße) aufgezwungen bekommt. Ein weiterer Nachteil von HTML-Mails ist, dass einige Mail-Programme (besonders die, die man in der Konsole laufen lässt) keine HTML-Mails darstellen können und der Leser zwischen den HTML-Tags lesen muss. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Vortragsvorschläge

+
+ +
+ Das aktuelle Vortragsprogramm findet ihr unter Vorträge. +Vorträge, die gehalten werden können: +Jens Kühnel + Samba Steffen Bauer + Python Deep Learning / Artificial Intelligence Laura Liparulo + Bash Scripting Rolf Schmidt + Verschiedene Virtualisierungskonzepte (und warum speziell KVM) Workshops +Umfangreichere Themen können auch im Rahmen eines Workshops behandelt werden. Vorbild ist hier bei unser Programmierworkshop. Vorgehen: Einfach Aufruf auf der Mailingliste posten oder die Sache beim Stammtisch ansprechen, evtl. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Workshops

+
+ +
+ Zur Zeit finden keine Programmierworkshop’s statt! In der Vergangenheit gab es bei der LUG diverse Workshops, so z.B. + C Haskell Java Python Sollte sich ein Tutor und genügend Teilnehmer finden, werden wir gerne die Programmierworkshop’s wieder aufleben lassen. Einfach auf der Mailingliste anfragen. +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

LPD/Maustüröffnertag

+
+ +
+ Über den Linux Presentation Day (LPD) Aufgrund des großen Erfolgs der Veranstaltung des Vorjahrs veranstaltet die FraLUG auch dieses Jahr wieder im Rahmen des Linux Presentation Days den FraLUG Maus-Türöffner Tag. Dieser findet wie in den Vorjahren auch am 3. Oktober in Frankfurt statt. Das Programm für unseren Maus-Türöffner-Tag wird im Laufe des Septembers veröffentlicht. +Die Registrierung erfolgt via der bekannten Website oder via Email an maus AT lugfrankfurt PUNKT de. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Vorträge

+
+ +
+ Seit Dienstag, den 25.08.2009 finden an unseren Dienstagsterminen wieder Vorträge statt. Hierfür haben wir den Seminarraum 4 des Saalbau Gallus (siehe hierzu auch die Treffen Seite) für jeden vierten Dienstag im Monat reserviert. Wir treffen uns dort kurz vor 19 Uhr; Beginn des Vortrages ist in der Regel zwischen 19:00 und 19:15 Uhr. Im Anschluß geht’s meistens noch in eine Gastwirtschaft in der Nähe, die Details werden am Abend selbst festgelegt. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+ + + +
+ + + + + + + + diff --git a/public/de/index.xml b/public/de/index.xml new file mode 100644 index 0000000..6d6db91 --- /dev/null +++ b/public/de/index.xml @@ -0,0 +1,161 @@ + + + + Des on LUG Frankfurt + https://test.lugfrankfurt.de/de/ + Recent content in Des on LUG Frankfurt + Hugo -- gohugo.io + de + Thu, 04 Feb 2021 10:10:53 +0100 + + Impressum + https://test.lugfrankfurt.de/de/Impressum/ + Thu, 04 Feb 2021 10:10:53 +0100 + + https://test.lugfrankfurt.de/de/Impressum/ + Diese Webseite wird vom FraLUG e.V. betrieben: +Frankfurter Linux User Group (FraLUG) e.V. +c/o Jochen Schade +Landgrafenring 14b +63073 Offenbach +Eintragung beim Amtsgericht Frankfurt, Vereinsregister: 14628 +Vertreten durch den Vorstand: +Jens Kühnel +Jochen Schade +Dr. Christoph Zimmermann + info AT lugfrankfurt PUNKT de +Bei Problemen ist der Web-Hoster erreichbar! Siehe hier + Disclaimer Haftungsausschluss Der Zugang und die Benutzung der Webseite der Frankfurter Linux User Group e. + + + + Verein + https://test.lugfrankfurt.de/de/Verein/ + Thu, 04 Feb 2021 10:10:48 +0100 + + https://test.lugfrankfurt.de/de/Verein/ + Die LUG Frankfurt hat einen e.V. gegründet. +Dessen Aufgaben ist es die &ldquo;&hellip; Veranstalten eines regelmäßigen Stammtischs sowie durch Vortragsveranstaltungen und Tagungen &hellip;&rdquo; zu Veranstalten &ldquo;&hellip; die für jedermann zugänglich sind.&rdquo; +Mehr in der aktuellen Satzung und der Geschäftsordnung der Mitgliederversammlung des Vereins. +Der Verein erhebt keine Mitgliedsgebühr; eine Mitgliedschaft für die Teilnahme an den Veranstaltungen des Vereins wie Stammtisch und Vorträge ist nicht erforderlich. Einer der wesentlichen Vorteile einer Mitgliedschaft ist aber die Stimmberechtigung bei Mitgliedervesammlungen, die die Planung und Richtung des Vereins festlegen. + + + + Mailingliste + https://test.lugfrankfurt.de/de/Mailingliste/ + Thu, 04 Feb 2021 10:10:41 +0100 + + https://test.lugfrankfurt.de/de/Mailingliste/ + der Linux User Group Frankfurt! Um die Mailingliste zu abbonieren, verwende bitte die Weboberfläche. +Es gibt hier so zwischen 3 und 30 Mails pro Tag! Wer also seine Mails nur einmal pro Woche abholt, der bekommt schon ein paar! +Bitte stellt euch kurz vor und lest die Regeln der Mailingliste, damit dieselben Fehler nicht ständig wiederholt werden und nicht gleich die erste Mail mit einem Rüffel beantwortet wird. + + + + Kontakt + https://test.lugfrankfurt.de/de/Kontakt/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Kontakt/ + Am besten über unsere Mailingliste bzw. wir sind auch in Freenode (als Server einfach irc.freenode.org angeben) vertreten. Channel: #lug-ffm +Oder einfach Mal bei unseren Treffen vorbeikommen. + + + + Liste der bekanntesten Linuxdistributionen + https://test.lugfrankfurt.de/de/Distriliste/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Distriliste/ + in alphabetischer Reihenfolge ( = Reihenfolge ist keine Wertung) +Arch Linux Die Distribution für fortgeschrittene Linux&rsquo;er ist puristisch, leichgewichtig und als Rolling Release permanent auf dem aktuellen Stand der Technik. Trotz allem wird jeden Monat ein ISO Image mit dem aktuellen Entwicklungsstand veröffentlicht. Arch Linux verfolgt das KISS Prinzip, somit nur für fortgeschrittene Anwender zu empfehlen. +Arch Linux +Debian Debian ist das bekannteste nichtkommerzielle Linuxpaket. + + + + Regeln der Mailingliste + https://test.lugfrankfurt.de/de/Regeln/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Regeln/ + Wir freuen uns, Dich auf unserer Liste begrüßen zu dürfen und möchten Dich auf einige, aber wichtige Regeln, hinweisen: +1. Wir bitten Dich, alle Deine Mails in Nur-Text zu schreiben und keine HTML-Mails an die Liste zu schicken. +Text-Mails haben den Vorteil, dass jeder Leser diese so auf seinem Bildschirm sieht, wie er es gerne hat und nicht einen bestimmten Stil (Schriftart, Farbe, Textgröße) aufgezwungen bekommt. Ein weiterer Nachteil von HTML-Mails ist, dass einige Mail-Programme (besonders die, die man in der Konsole laufen lässt) keine HTML-Mails darstellen können und der Leser zwischen den HTML-Tags lesen muss. + + + + Vortragsvorschläge + https://test.lugfrankfurt.de/de/Vorschlaege/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Vorschlaege/ + Das aktuelle Vortragsprogramm findet ihr unter Vorträge. +Vorträge, die gehalten werden können: +Jens Kühnel + Samba Steffen Bauer + Python Deep Learning / Artificial Intelligence Laura Liparulo + Bash Scripting Rolf Schmidt + Verschiedene Virtualisierungskonzepte (und warum speziell KVM) Workshops +Umfangreichere Themen können auch im Rahmen eines Workshops behandelt werden. Vorbild ist hier bei unser Programmierworkshop. Vorgehen: Einfach Aufruf auf der Mailingliste posten oder die Sache beim Stammtisch ansprechen, evtl. + + + + Workshops + https://test.lugfrankfurt.de/de/Workshops/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Workshops/ + Zur Zeit finden keine Programmierworkshop&rsquo;s statt! In der Vergangenheit gab es bei der LUG diverse Workshops, so z.B. + C Haskell Java Python Sollte sich ein Tutor und genügend Teilnehmer finden, werden wir gerne die Programmierworkshop&rsquo;s wieder aufleben lassen. Einfach auf der Mailingliste anfragen. + + + + LPD/Maustüröffnertag + https://test.lugfrankfurt.de/de/LPD/ + Thu, 04 Feb 2021 10:06:20 +0100 + + https://test.lugfrankfurt.de/de/LPD/ + Über den Linux Presentation Day (LPD) Aufgrund des großen Erfolgs der Veranstaltung des Vorjahrs veranstaltet die FraLUG auch dieses Jahr wieder im Rahmen des Linux Presentation Days den FraLUG Maus-Türöffner Tag. Dieser findet wie in den Vorjahren auch am 3. Oktober in Frankfurt statt. Das Programm für unseren Maus-Türöffner-Tag wird im Laufe des Septembers veröffentlicht. +Die Registrierung erfolgt via der bekannten Website oder via Email an maus AT lugfrankfurt PUNKT de. + + + + Vorträge + https://test.lugfrankfurt.de/de/Vortraege/ + Thu, 04 Feb 2021 10:06:02 +0100 + + https://test.lugfrankfurt.de/de/Vortraege/ + Seit Dienstag, den 25.08.2009 finden an unseren Dienstagsterminen wieder Vorträge statt. Hierfür haben wir den Seminarraum 4 des Saalbau Gallus (siehe hierzu auch die Treffen Seite) für jeden vierten Dienstag im Monat reserviert. Wir treffen uns dort kurz vor 19 Uhr; Beginn des Vortrages ist in der Regel zwischen 19:00 und 19:15 Uhr. Im Anschluß geht&rsquo;s meistens noch in eine Gastwirtschaft in der Nähe, die Details werden am Abend selbst festgelegt. + + + + Treffen + https://test.lugfrankfurt.de/de/Treffen/ + Thu, 04 Feb 2021 10:05:56 +0100 + + https://test.lugfrankfurt.de/de/Treffen/ + Die Treffen (Stammtisch und Vorträge) finden bis auf weiteres aufgrund der aktuellen Situation ausschließlich virtuell statt. Sobald diese wieder durchgeführt werden, erfahrt ihr es hier! +Angestrebt ist, dass wir am Dienstagstermin einen Vortrag präsentieren. Vortragsvorschläge bitte auf der Mailingliste posten. + Unsere Treffpunkte - So kommt man hin Sandelmühle An der Sandelmühle 35 +60439 Frankfurt +Telefon Restaurant: 069 / 575742 +Homepage Speisekarte +Übersichtskarte Heddernheim bei OpenStreetMap und Google Maps + + + + Fortunes DB + https://test.lugfrankfurt.de/de/FortunesDB/ + Tue, 02 Feb 2021 13:06:02 +0100 + + https://test.lugfrankfurt.de/de/FortunesDB/ + &hellip;ich wußte gar nicht, dass von dem noch mehr so tolle Sätze stammen ;-) +*ausschneid und in meine TupperDose tu* + Petra Klüver (zu einem Pythagoras-Zitat) Du läßt auch bei anderen Gelegenheiten recht Zynische Bemerkungen ab. + Das hast du völlig richtig erkannt. Bravo! Und ich mache das hauptsächlich um dich ganz persönlich zu ärgern. + Wenzel Peppmeyer Du verstehst mich nicht. Aber das macht nichts. + + + + diff --git a/public/de/page/1/index.html b/public/de/page/1/index.html new file mode 100644 index 0000000..22f2a30 --- /dev/null +++ b/public/de/page/1/index.html @@ -0,0 +1 @@ +https://test.lugfrankfurt.de/de/ \ No newline at end of file diff --git a/public/de/page/2/index.html b/public/de/page/2/index.html new file mode 100644 index 0000000..150e471 --- /dev/null +++ b/public/de/page/2/index.html @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Des | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + + + + +
+
+

Treffen

+
+ +
+ Die Treffen (Stammtisch und Vorträge) finden bis auf weiteres aufgrund der aktuellen Situation ausschließlich virtuell statt. Sobald diese wieder durchgeführt werden, erfahrt ihr es hier! +Angestrebt ist, dass wir am Dienstagstermin einen Vortrag präsentieren. Vortragsvorschläge bitte auf der Mailingliste posten. + Unsere Treffpunkte - So kommt man hin Sandelmühle An der Sandelmühle 35 +60439 Frankfurt +Telefon Restaurant: 069 / 575742 +Homepage Speisekarte +Übersichtskarte Heddernheim bei OpenStreetMap und Google Maps +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+

Fortunes DB

+
+ +
+ …ich wußte gar nicht, dass von dem noch mehr so tolle Sätze stammen ;-) +*ausschneid und in meine TupperDose tu* + Petra Klüver (zu einem Pythagoras-Zitat) Du läßt auch bei anderen Gelegenheiten recht Zynische Bemerkungen ab. + Das hast du völlig richtig erkannt. Bravo! Und ich mache das hauptsächlich um dich ganz persönlich zu ärgern. + Wenzel Peppmeyer Du verstehst mich nicht. Aber das macht nichts. +
+
+ + Read full post + +
+ +
+ + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+ + + +
+ + + + + + + + diff --git a/public/en/Contact/index.html b/public/en/Contact/index.html new file mode 100644 index 0000000..b687b2b --- /dev/null +++ b/public/en/Contact/index.html @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Contact | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Contact

+ +
+ +
+

German

+

Please reach us on our Mailinglist, as well are we reachable on Freenode (as server irc.freenode.org), Channel: #lug-ffm

+

Or come to our next Meetup.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/en/Home/index.html b/public/en/Home/index.html new file mode 100644 index 0000000..2115d3e --- /dev/null +++ b/public/en/Home/index.html @@ -0,0 +1,538 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Welcome to the website of the Linux User Group Frankfurt | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Welcome to the website of the Linux User Group Frankfurt

+ +
+ +
+

German

+
+

+ Right now + + + +

+

+

⚠️ Due to the current situation with regard to the administrative directions regarding the constraints of social interaction unfortunately we are forced to move to virtual meetings instead of physical interaction (talks and Stammtisch) until further notice. As usual, details are posted on our mailing list.

+

Once the situation has changed, we will publish a update on this location.

+
+

Please note: As talk Tuesdays may be subject to change on short notice, please check the talks page for any last-minute changes. (Regular meetings on Mondays take place at the Sandelmühle, talk Tuesdays at Saalbau Gallus. Modifications are announced here.)

+
+ + +
+ +
+
+

+ Who we are + + + +

+

Our group was formed in 1998. The hard core consists of approximately 15 users who are from the Rhine Main area. The number of users on our mailing list is by far bigger though. Similar to other Linux User Groups (LUGs) the focus of our activities is on the free and open source Linux operating system. The LUG Frankfurt does not stop here though but regards itself as a local special interest group for topics around Free and Open Source Software (FOSS) in general.

+

Members are recruited from all walks of life, ranging from professional Linux system administrators and developers to long-standing enthusiasts to absolute beginners. We do not focus on a partiular distribution but welcome them all (an overview of distributions can be found on our distribution list). Although we are a registered association, membership is not mandatory but optional when you want participate in our activities. We focus on the sharing of knowledge and experience and not strict rules; other Unix-like operating systems and MacOS users are more than welcome.

+
+

+ Meetups + + + +

+

We regularly meet twice a month.

+

Every second Monday we host a regulars' table (we are a German community after all :-) ). We meet at around 7 pm at the Sandelmühle, An der Sandelmühle 35, 60439 Frankfurt. You are more than welcome to bring your laptop; power and Wifi are provided by the location. We aim to help with all Linux issues.

+

Every fourth Tuesday we meet at room # 4 at the Saalbau Gallus Frankenallee 111, 60326 Frankfurt, for the monthly talk. These talks also start around 7 pm. After the talk we normally gather in a nearby restaurant called Hufnagel (Hufnagelstraße 12a, 60326 Frankfurt a.M.) (needs to be checked). These talks are normally in German but most of the time we do have English speaking members around for a chat.

+
+

+ Mailing list + + + +

+

Between events we communicate via our mailing list, which is open to all interested parties.

+
+

+ Talks + + + +

+

The focus of the Tuesday meetups is a presentation on a FOSS topic. These talks are open to all interested parties who would like to give a presentation on a Linux / FOSS subject. Suggestions for topics can be found here. These talks normally start around 7 pm.

+

The schedule of these talks can be found here.

+
+

+ The Linux Presentation Day + + + +

+

LPD

+

Since 2015 we have been a part of the international Linux Presentation Day; since 2016 in media association with the Westdeutscher Rundfunk (WDR) as part of the MausTürÖffnerTag.

+

The Linux Presentation Day is an event where primarily German-speaking LUGs present Linux and FOSS in general to a greater audience which does not know Linux very well or not at all. The aim is a first touch and introduction to this operating system and its applications.

+

The MausTürÖffnerTag is an opportunity to look behind doors of administrations, companies and associations which are normally closed to the public. In addition, it is an ideal opportunity to introduct children at school age to Linux and FOSS in general.

+

The slides of the first LPD in Frankfurt and the corresponding live recording can be found here.

+
+
+

+ Disclosure of automated data storage and processing according to the General Data Protection Regulation (GDPR) + + + +

+
+

+ Provision of our statutory and business services + + + +

+

We process the data of our members, supporters, prospects, customers or other persons in accordance with Art. 6 para. 1 lit. b. GDPR, if we offer them contractual services or in the context of an existing business relationship, e.g. members, or are themselves recipients of benefits and benefits. Incidentally, we process the data of affected persons in accordance with. Art. 6 para. 1 lit. f. GDPR based on our legitimate interests, e.g. when it comes to administrative tasks or public relations.

+

The data processed, the nature, scope and purpose and necessity of their processing are determined by the underlying contractual relationship. This includes in principle inventory and master data of the persons (e.g., name, address, etc.) as well as the contact data (e.g., e-mail address, telephone, etc.).

+

We delete data that is no longer required to serve our statutory and business purposes. This is determined according to the respective tasks and contractual relationships. In the case of business processing, we retain the data for as long as they may be relevant to the transaction, as well as with regard to any warranty or liability obligations. The necessity of keeping the data is checked every three years; otherwise the statutory storage obligations apply.

+
+

+ Hosting and e-mailing + + + +

+

The hosting services we use are designed to provide the following services: infrastructure and platform services, computing capacity, storage and database services, e-mailing, security and technical maintenance services we use to operate this online service.

+

Here we, or our hosting provider, process inventory data, contact data, content data, contract data, usage data, meta and communication data of customers, interested parties and visitors to this online offer on the basis of our legitimate interests in an efficient and secure provision of this online offer acc. Art. 6 para. 1 lit. f GDPR i.V.m. Art. 28 GDPR (conclusion of contract processing contract).

+
+

+ Registration + + + +

+

Users can create a user account. As part of the registration, the required mandatory information is communicated to the users and based on Art. 6 para. 1 lit. b GDPR processed for purposes of providing the user account. The processed data include in particular the login information (name, password and an e-mail address). The data entered during registration will be used for the purpose of using the user account and its purpose.

+

Users may have access to information relevant to their user account, e.g. technical changes, be informed by e-mail. If users have terminated their user account, their data will be deleted with respect to the user account, subject to a statutory retention requirement. It is the responsibility of the users to secure their data upon termination before the end of the contract. We are entitled to irretrievably delete all user data stored during the term of the contract.

+

As part of the use of our registration and registration functions as well as the use of the user account, the IP address and the time of the respective user action will be saved. The storage is based on our legitimate interests, as well as the user’s protection against misuse and other unauthorized use. A transfer of these data to third parties does not take place, unless it is necessary for the prosecution of our claims or there is a legal obligation in accordance with. Art. 6 para. 1 lit. c GDPR.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/en/Imprint/index.html b/public/en/Imprint/index.html new file mode 100644 index 0000000..9dd7b06 --- /dev/null +++ b/public/en/Imprint/index.html @@ -0,0 +1,458 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Imprint | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Imprint

+ +
+ +
+

German

+

This website is organized by FraLUG e.V.:

+

Frankfurter Linux User Group (FraLUG) e.V.
+c/o Jochen Schade
+Landgrafenring 14b
+63073 Offenbach

+

Registered at the county court Frankfurt, association register: 14628

+

Represented through the steering committee:
+Jens Kühnel
+Jochen Schade
+Dr. Christoph Zimmermann

+

info AT lugfrankfurt PUNKT de

+

If you have any problems, contact our web hoster here.

+
+
+

+ Disclosure of automated data storage and processing according to the General Data Protection Regulation (GDPR) + + + +

+
+

+ Provision of our statutory and business services + + + +

+

We process the data of our members, supporters, prospects, customers or other persons in accordance with Art. 6 para. 1 lit. b. GDPR, if we offer them contractual services or in the context of an existing business relationship, e.g. members, or are themselves recipients of benefits and benefits. Incidentally, we process the data of affected persons in accordance with. Art. 6 para. 1 lit. f. GDPR based on our legitimate interests, e.g. when it comes to administrative tasks or public relations.

+

The data processed, the nature, scope and purpose and necessity of their processing are determined by the underlying contractual relationship. This includes in principle inventory and master data of the persons (e.g., name, address, etc.) as well as the contact data (e.g., e-mail address, telephone, etc.).

+

We delete data that is no longer required to serve our statutory and business purposes. This is determined according to the respective tasks and contractual relationships. In the case of business processing, we retain the data for as long as they may be relevant to the transaction, as well as with regard to any warranty or liability obligations. The necessity of keeping the data is checked every three years; otherwise the statutory storage obligations apply.

+
+

+ Hosting and e-mailing + + + +

+

The hosting services we use are designed to provide the following services: infrastructure and platform services, computing capacity, storage and database services, e-mailing, security and technical maintenance services we use to operate this online service.

+

Here we, or our hosting provider, process inventory data, contact data, content data, contract data, usage data, meta and communication data of customers, interested parties and visitors to this online offer on the basis of our legitimate interests in an efficient and secure provision of this online offer acc. Art. 6 para. 1 lit. f GDPR i.V.m. Art. 28 GDPR (conclusion of contract processing contract).

+
+

+ Registration + + + +

+

Users can create a user account. As part of the registration, the required mandatory information is communicated to the users and based on Art. 6 para. 1 lit. b GDPR processed for purposes of providing the user account. The processed data include in particular the login information (name, password and an e-mail address). The data entered during registration will be used for the purpose of using the user account and its purpose.

+

Users may have access to information relevant to their user account, e.g. technical changes, be informed by e-mail. If users have terminated their user account, their data will be deleted with respect to the user account, subject to a statutory retention requirement. It is the responsibility of the users to secure their data upon termination before the end of the contract. We are entitled to irretrievably delete all user data stored during the term of the contract.

+

As part of the use of our registration and registration functions as well as the use of the user account, the IP address and the time of the respective user action will be saved. The storage is based on our legitimate interests, as well as the user’s protection against misuse and other unauthorized use. A transfer of these data to third parties does not take place, unless it is necessary for the prosecution of our claims or there is a legal obligation in accordance with. Art. 6 para. 1 lit. c GDPR.

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/en/LPD/index.html b/public/en/LPD/index.html new file mode 100644 index 0000000..c043768 --- /dev/null +++ b/public/en/LPD/index.html @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + LPD/Maustüröffnertag | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

LPD/Maustüröffnertag

+ +
+ +
+

German

+
+

+ About the Linux Presentation Day (LPD) + + + +

+

Due to the huge success of last year’s event, FraLUG is participating in the Maus Türöffner Tag (Mouse Door Opener Day, sorry about the broken translation :-) ) this year once again. As in the years before, the event takes place on October 3rd in Frankfurt.

+

LPD

+

The Linux Presentation Day is an event where people with little or no previous exposure to Linux have the opportunity to gain a first introduction and experience with this open source operating sytem. The aim of this event which is done in collaboration with the Westdeutscher Rundfunk (WDR), the broadcaster who created this kids' show more than forty years ago, is to also introduce children aged 6 or above to this open source operating system.

+

Multiple presentations will introduce the children in a suitable way to topics such as programming, using Linux and contemporary issues including Raspberry Pies, etc. In doing so, the focus is on hands-on experience rather than classroom-style teaching so that the audience can benefit the most from this. In addition, there will be demo PCs with games, learning software and special Linux distributions for kids.

+

Apart from this content aimed at kids there will be experts on site who can help with any questions you may have on the subject of Linux and free software in general. We plan to offer a clinic where we can assist you with any questions on installation and configuration topics - feel free to bring your laptop along!

+

To ensure proper organisation of the day, participation does require a registration prior to the event. This registration is done via the official Maustüröffnertage website or via email to maus (at) lugfrankfurt.de. Please state the name and age of participating children when registering.

+
+

+ Program + + + +

+

The schedule for the day is currently in preparation and will be published in September. Please note that this event will last for the whole day; unfortunately a participation at individual times is not possible due to the fact that a specific piece of content depends on its predecessors.

+

Please note that the language of the talks and general interaction is German. While some of us do speak English, no guarantees are offered to cater for any non-German speaking participants.

+
+

+ The certificate + + + +

+

Due to the successful participation in last year’s event, the WDR has kindly sent us a certificate thanking us:

+

LPD

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/en/Meetup/index.html b/public/en/Meetup/index.html new file mode 100644 index 0000000..5cc7cac --- /dev/null +++ b/public/en/Meetup/index.html @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Meetup | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+ + + +

Meetup

+ +
+ +
+

German

+

Due to the current situation, all meetups (the Stammtisch and talks) take place virtually until further notice. Once this changes, an update will be posted here!

+
+

Our general meetup takes place each second Monday in a month at the restaurant Sandelmühle, An der Sandelmühle 35, 60439 Frankfurt starting around 7 pm (spoken languages include German, English and sometimes Klingon and Romulan based on availability :-) ).

+

Every fourth Tuesday we meet in room # 4 at Saalbau Gallus, Frankenallee 111, 60326 Frankfurt am Main for our monthly talk on a specific Linux or Free and Open Source Software topic. Most of the talks are delivered in German, but hey, this is an ideal opportunity to brush up your German language skills and to learn about that FOSS topic you always wanted to know more about….

+
+
+

+ Directions + + + +

+

Sandelmühle
+An der Sandelmühle 35
+60439 Frankfurt

+

Telefon: 069 / 57 57 42

+

Homepage Menu

+

Map of Heddernheim at OpenStreetMap und Google Maps

+

Ample parking is available in front of the building.

+

How to get there via public transport (in German) www.öpnvkarte.de

+

From direction Bad Homburg:

+

Tube » U2, stop: Sandelmühle

+

Following the tracks just stroll along the road named “An der Sandelmühle” torwards the river; you’ll find the entrance to the car park of the restaurant after around 200 meters.

+

From the city:

+

Tube » U1, U2, U3 or U8, stop: Heddernheim

+

Exit the station near the river Nidda, staying on the left-hand side under the bridge facing backwards / towards the city (sounds more complicated than it actually is). Take a left and follow the road named “An der Sandelmühle” for about 150 meters; the car park of the restaurant is on your righthand side.

+
+

Saalbau Gallus
+Frankenallee 111
+60326 Frankfurt am Main

+

Saalbau-Homepage

+

Map Gallus bei OpenStreetMap und Google Maps

+

How to get there via public transport (in German) www.öpnvkarte.de

+
+
+

+ A few notes for the meetups + + + +

+

Everbody is more than welcome; these events are about sharing of information and meeting new like-minded people who are FOSS enthusiasts. Even absolute beginners are welcome; we all started where you are now at some stage.

+

Bring your laptop along if you would like to install Linux or have an issue with a specific piece of software or other trouble running Linux; it’s more than likely that somebody will be able to help you (if you want to install Linux, please ensure that you have a suitable installation media with the distribution of choice with you or make your intentions known via our mailing list in advance).

+

As it’s custom these days in Germany, all our meetups take place in non-smoking environments, please go outside if you want to smoke.

+

We have guest wifi access in the Sandelmühle - just ask any of us for details.

+
+

+ Saalbau Gallus / monthly talks + + + +

+

The meetup takes place in room #4. The talks start around 7 pm; please to be on time so that other people can enjoy the presentation without interruptions from people arriving late. After the talk we normally gather in a small restaurant nearby: “Zum Hufnagel”, Hufnagelstraße 12a, 60326 Frankfurt a.M. The restaurant “Zum Hufnagel” is now a Asian restaurant called “Asian Flavors”. We have to check it out …

+ + +
+
+ +
+ + + +
+ + + + + + + + diff --git a/public/en/index.html b/public/en/index.html new file mode 100644 index 0000000..b648398 --- /dev/null +++ b/public/en/index.html @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Ens | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ + + +
+ + + + + + + + diff --git a/public/en/index.xml b/public/en/index.xml new file mode 100644 index 0000000..304692f --- /dev/null +++ b/public/en/index.xml @@ -0,0 +1,74 @@ + + + + Ens on LUG Frankfurt + https://test.lugfrankfurt.de/en/ + Recent content in Ens on LUG Frankfurt + Hugo -- gohugo.io + de + Thu, 04 Feb 2021 10:10:31 +0100 + + Contact + https://test.lugfrankfurt.de/en/Contact/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/en/Contact/ + Please reach us on our Mailinglist, as well are we reachable on Freenode (as server irc.freenode.org), Channel: #lug-ffm +Or come to our next Meetup. + + + + LPD/Maustüröffnertag + https://test.lugfrankfurt.de/en/LPD/ + Thu, 04 Feb 2021 10:06:20 +0100 + + https://test.lugfrankfurt.de/en/LPD/ + About the Linux Presentation Day (LPD) Due to the huge success of last year&rsquo;s event, FraLUG is participating in the Maus Türöffner Tag (Mouse Door Opener Day, sorry about the broken translation :-) ) this year once again. As in the years before, the event takes place on October 3rd in Frankfurt. +The Linux Presentation Day is an event where people with little or no previous exposure to Linux have the opportunity to gain a first introduction and experience with this open source operating sytem. + + + + Imprint + https://test.lugfrankfurt.de/en/Imprint/ + Thu, 04 Feb 2021 10:04:53 +0100 + + https://test.lugfrankfurt.de/en/Imprint/ + This website is organized by FraLUG e.V.: +Frankfurter Linux User Group (FraLUG) e.V. +c/o Jochen Schade +Landgrafenring 14b +63073 Offenbach +Registered at the county court Frankfurt, association register: 14628 +Represented through the steering committee: +Jens Kühnel +Jochen Schade +Dr. Christoph Zimmermann + info AT lugfrankfurt PUNKT de +If you have any problems, contact our web hoster here. + Disclosure of automated data storage and processing according to the General Data Protection Regulation (GDPR) Provision of our statutory and business services We process the data of our members, supporters, prospects, customers or other persons in accordance with Art. + + + + Meetup + https://test.lugfrankfurt.de/en/Meetup/ + Thu, 04 Feb 2021 10:04:53 +0100 + + https://test.lugfrankfurt.de/en/Meetup/ + Due to the current situation, all meetups (the Stammtisch and talks) take place virtually until further notice. Once this changes, an update will be posted here! + Our general meetup takes place each second Monday in a month at the restaurant Sandelmühle, An der Sandelmühle 35, 60439 Frankfurt starting around 7 pm (spoken languages include German, English and sometimes Klingon and Romulan based on availability :-) ). +Every fourth Tuesday we meet in room # 4 at Saalbau Gallus, Frankenallee 111, 60326 Frankfurt am Main for our monthly talk on a specific Linux or Free and Open Source Software topic. + + + + Welcome to the website of the Linux User Group Frankfurt + https://test.lugfrankfurt.de/en/Home/ + Thu, 04 Feb 2021 10:04:53 +0100 + + https://test.lugfrankfurt.de/en/Home/ + Right now ⚠️ Due to the current situation with regard to the administrative directions regarding the constraints of social interaction unfortunately we are forced to move to virtual meetings instead of physical interaction (talks and Stammtisch) until further notice. As usual, details are posted on our mailing list. +Once the situation has changed, we will publish a update on this location. + Please note: As talk Tuesdays may be subject to change on short notice, please check the talks page for any last-minute changes. + + + + diff --git a/public/en/page/1/index.html b/public/en/page/1/index.html new file mode 100644 index 0000000..bec4aa6 --- /dev/null +++ b/public/en/page/1/index.html @@ -0,0 +1 @@ +https://test.lugfrankfurt.de/en/ \ No newline at end of file diff --git a/public/eng.png b/public/eng.png new file mode 100644 index 0000000..531836e Binary files /dev/null and b/public/eng.png differ diff --git a/public/favicon/favicon-16x16.png b/public/favicon/favicon-16x16.png new file mode 100644 index 0000000..e837113 Binary files /dev/null and b/public/favicon/favicon-16x16.png differ diff --git a/public/favicon/favicon-32x32.png b/public/favicon/favicon-32x32.png new file mode 100644 index 0000000..eace718 Binary files /dev/null and b/public/favicon/favicon-32x32.png differ diff --git a/public/favicon/favicon-48x48.png b/public/favicon/favicon-48x48.png new file mode 100644 index 0000000..6f8ce88 Binary files /dev/null and b/public/favicon/favicon-48x48.png differ diff --git a/public/favicon/favicon.ico b/public/favicon/favicon.ico new file mode 100644 index 0000000..1ccedaf Binary files /dev/null and b/public/favicon/favicon.ico differ diff --git a/public/fonts/GeekblogIcons.woff b/public/fonts/GeekblogIcons.woff new file mode 100644 index 0000000..e0f888a Binary files /dev/null and b/public/fonts/GeekblogIcons.woff differ diff --git a/public/fonts/GeekblogIcons.woff2 b/public/fonts/GeekblogIcons.woff2 new file mode 100644 index 0000000..8b585f2 Binary files /dev/null and b/public/fonts/GeekblogIcons.woff2 differ diff --git a/public/fonts/LiberationMono.woff b/public/fonts/LiberationMono.woff new file mode 100644 index 0000000..05f5bd2 Binary files /dev/null and b/public/fonts/LiberationMono.woff differ diff --git a/public/fonts/LiberationMono.woff2 b/public/fonts/LiberationMono.woff2 new file mode 100644 index 0000000..3f4bb06 Binary files /dev/null and b/public/fonts/LiberationMono.woff2 differ diff --git a/public/fonts/LiberationSans-Bold.woff b/public/fonts/LiberationSans-Bold.woff new file mode 100644 index 0000000..145ed9f Binary files /dev/null and b/public/fonts/LiberationSans-Bold.woff differ diff --git a/public/fonts/LiberationSans-Bold.woff2 b/public/fonts/LiberationSans-Bold.woff2 new file mode 100644 index 0000000..b165967 Binary files /dev/null and b/public/fonts/LiberationSans-Bold.woff2 differ diff --git a/public/fonts/LiberationSans-BoldItalic.woff b/public/fonts/LiberationSans-BoldItalic.woff new file mode 100644 index 0000000..aa4c0c1 Binary files /dev/null and b/public/fonts/LiberationSans-BoldItalic.woff differ diff --git a/public/fonts/LiberationSans-BoldItalic.woff2 b/public/fonts/LiberationSans-BoldItalic.woff2 new file mode 100644 index 0000000..081c4d6 Binary files /dev/null and b/public/fonts/LiberationSans-BoldItalic.woff2 differ diff --git a/public/fonts/LiberationSans-Italic.woff b/public/fonts/LiberationSans-Italic.woff new file mode 100644 index 0000000..ebe952e Binary files /dev/null and b/public/fonts/LiberationSans-Italic.woff differ diff --git a/public/fonts/LiberationSans-Italic.woff2 b/public/fonts/LiberationSans-Italic.woff2 new file mode 100644 index 0000000..86f6521 Binary files /dev/null and b/public/fonts/LiberationSans-Italic.woff2 differ diff --git a/public/fonts/LiberationSans.woff b/public/fonts/LiberationSans.woff new file mode 100644 index 0000000..bb582d5 Binary files /dev/null and b/public/fonts/LiberationSans.woff differ diff --git a/public/fonts/LiberationSans.woff2 b/public/fonts/LiberationSans.woff2 new file mode 100644 index 0000000..796cb17 Binary files /dev/null and b/public/fonts/LiberationSans.woff2 differ diff --git a/public/fonts/Metropolis.woff b/public/fonts/Metropolis.woff new file mode 100644 index 0000000..6b1342c Binary files /dev/null and b/public/fonts/Metropolis.woff differ diff --git a/public/fonts/Metropolis.woff2 b/public/fonts/Metropolis.woff2 new file mode 100644 index 0000000..d79d50a Binary files /dev/null and b/public/fonts/Metropolis.woff2 differ diff --git a/public/ger.png b/public/ger.png new file mode 100644 index 0000000..4e84b6e Binary files /dev/null and b/public/ger.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..a9ea67e --- /dev/null +++ b/public/index.html @@ -0,0 +1,542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ +
+
+

LUG Frankfurt

+ +
+
+ +

English

+
+

+ Aktuelles + + + +

+

+

⚠️ Aufgrund der aktuellen Lage bzgl. behördlicher Anordnungen im Hinblick auf soziale Kontakte sind wir leider gezwungen, die Treffen (Vorträge und Stammtisch) bis auf Weiteres virtuell stattfinden zu lassen. Die Details findet ihr wie immer auf der Mailingliste.

+

Sobald sich die Lage ändert, wird hier eine Aktualisierung veröffentlicht.

+
+

Achtung: Da sich bei Vortragsdienstagen immer mal wieder kurzfristig Änderungen ergeben können, bitte unbedingt vorher einen Blick auf die Vortragsseite werfen, ob sich vielleicht was geändert hat (Montagstreffen normalerweise in der Sandelmühle, Dienstagstreffen im Saalbau Gallus. Abweichungen und Änderungen werden hier bekanntgegeben.)

+
+ + +
+ +
+
+

+ Wer sind wir + + + +

+

Unsere Gruppe existiert seit 1998. Zum “harten Kern” der Gruppe gehören etwa 15 Nutzer, die im Rhein-Main-Gebiet leben oder/und arbeiten. Die Zahl der Teilnehmer auf unserer Mailingliste ist jedoch deutlich größer. Wie bei anderen Linux User Groups (LUGs) auch steht bei uns dieses quelloffene und freie Betriebssystem im Vordergrund. Die LUG Frankfurt beschränkt sich hierbei jedoch nicht nur auf das Betriebssystem selbst, sondern sieht sich als lokale Interessenvertretung und Anlaufstelle für generelle Free and Open Source Software (FOSS) Themen.

+

Bei uns sind alle vertreten, von professionellen Linux-Systemadministratoren und Entwickler, über langjährige Enthusiasten bis hin zu absoluten Einsteigern. Bei uns sind alle Linux-Distributionen vertreten und gerne gesehen. Einen Überblick gibt es in unsere Distriliste. Obwohl wir ein Verein sind, ist eine Mitgliedschaft nicht notwendig, um an unseren Veranstaltungen teilzunehmen. Bei uns steht die Wissensweitergabe und Teilen von Erfahrungen im Vordergrund und keine starren Vereinsregeln. Aber auch andere unixoide Distributionen wie Solaris und MacOS sind gerne gesehen.

+
+

+ Treffen + + + +

+

Wir treffen uns regelmässig zweimal im Monat.

+

Jeden zweiten Montag im Monat findet unser Stammtisch statt. Wir treffen uns ab 19:00 Uhr in der Sandelmühle, An der Sandelmühle 35, 60439 Frankfurt. Zum Stammtisch können gerne Laptops mitgebracht werden. WLAN und Strom sind vorhanden. Wir versuchen bei allen Linux-Problemen zu helfen.

+

Jeden vierten Dienstag im Monat treffen wir uns im Seminarraum 4 des Saalbau Gallus, Frankenallee 111, 60326 Frankfurt, wo dann Vorträge stattfinden. Auch diese Treffen finden ab 19:00 Uhr statt. Anschließend sind wir meistens im Hufnagel zu finden (Hufnagelstraße 12a, 60326 Frankfurt a.M.), einer Gastwirtschaft um die Ecke vom Haus Gallus.

+
+

+ Mailingliste + + + +

+

Zwischen den Treffen diskutieren wir in unserer Mailingliste, an der jede/r Interessierte/r teilnehmen kann.

+
+

+ Vorträge + + + +

+

Im Mittelpunkt der Dienstagstreffen steht im Allgemeinen ein Vortrag. Das Podium steht hierbei jedem offen, der über ein Linux/FOSS-Thema referieren möchte. Obwohl hier aufgrund der Arbeit der Gruppe FOSS-Themen im Vordergrund stehen, sind die Vorträge nicht ausschließlich auf Linux/FOSSbezogene Themen beschränkt, wie unsere erfolgreiche Vortragsreihe “föllig vachfremd” © zeigt. Themenvorschläge sammeln wir auf der Seite Vortragsvorschläge. Der Start des Vortrags ist dann meist gegen 19 Uhr.

+

Die Themenplanung für die folgenden Dienstagstermine ist unter Vorträge zu finden.

+
+

+ Der Linux Presentation Day + + + +

+

LPD

+

Seit 2015 ist die LUG Frankfurt beim internationalen Linux Presentation Day mit dabei; seit 2016 in Medienkooperation mit dem Westdeutschen Rundfunk im Rahmen des Maustüröffnertages.

+

Am Linux Presentation Day stellen LUGs in vielen Städten im deutschsprachigen Raum Linux vor, damit Leute, die Linux noch nicht oder nur wenig kennen, erste Erfahrungen mit diesem Betriebssystem und dem dazugehörigen FOSS-Ökosystem sammeln können.

+

Der Maustüröffnertag ist eine Gelegenheit, hinter Türen von Behörden, Firmen und Vereinen zu werfen, die sonst verschlossen bleiben. Ausserdem bietet er eine prima Gelegenheit, Kindern ab dem Schulalter Linux und FOSS allgemein näher zu bringen.

+

Die Folien unserer Vorträge des ersten Frankfurter LPDs sowie einen Link zu dem Videomitschnitt der Veranstaltung findet ihr hier.

+
+

+ Programmierworkshop + + + +

+

Derzeit steht kein Thema für einen Programmierworkshop fest. Neue Ideen und Schwerpunkte sind übrigens jederzeit willkommen.

+
+

+ Flyer + + + +

+

Der Entwurf für den neuen Flyer findet ihr hier und das ODT hier. Eure Meinung interessiert uns!

+
+
+

+ Auskunft gemäß Datenschutzgrundverordnung (DSGVO) + + + +

+
+

+ Erbringung unserer satzungs- und geschäftsgemäßen Leistungen + + + +

+

Wir verarbeiten die Daten unserer Mitglieder, Unterstützer, Interessenten, Kunden oder sonstiger Personen entsprechend Art. 6 Abs. 1 lit. b. DSGVO, sofern wir ihnen gegenüber vertragliche Leistungen anbieten oder im Rahmen bestehender geschäftlicher Beziehung, z.B. gegenüber Mitgliedern, tätig werden oder selbst Empfänger von Leistungen und Zuwendungen sind. Im Übrigen verarbeiten wir die Daten betroffener Personen gem. Art. 6 Abs. 1 lit. f. DSGVO auf Grundlage unserer berechtigten Interessen, z.B. wenn es sich um administrative Aufgaben oder Öffentlichkeitsarbeit handelt.

+

Die hierbei verarbeiteten Daten, die Art, der Umfang und der Zweck und die Erforderlichkeit ihrer Verarbeitung bestimmen sich nach dem zugrundeliegenden Vertragsverhältnis. Dazu gehören grundsätzlich Bestands- und Stammdaten der Personen (z.B., Name, Adresse, etc.), als auch die Kontaktdaten (z.B., E-Mailadresse, Telefon, etc.).

+

Wir löschen Daten, die zur Erbringung unserer satzungs- und geschäftsmäßigen Zwecke nicht mehr erforderlich sind. Dies bestimmt sich entsprechend der jeweiligen Aufgaben und vertraglichen Beziehungen. Im Fall geschäftlicher Verarbeitung bewahren wir die Daten so lange auf, wie sie zur Geschäftsabwicklung, als auch im Hinblick auf etwaige Gewährleistungs- oder Haftungspflichten relevant sein können. Die Erforderlichkeit der Aufbewahrung der Daten wird alle drei Jahre überprüft; im Übrigen gelten die gesetzlichen Aufbewahrungspflichten.

+
+

+ Hosting und E-Mail-Versand + + + +

+

Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.

+

Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Inhaltsdaten, Vertragsdaten, Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).

+
+

+ Registrierfunktion + + + +

+

Nutzer können ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden die erforderlichen Pflichtangaben den Nutzern mitgeteilt und auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO zu Zwecken der Bereitstellung des Nutzerkontos verarbeitet. Zu den verarbeiteten Daten gehören insbesondere die Login-Informationen (Name, Passwort sowie eine E-Mailadresse). Die im Rahmen der Registrierung eingegebenen Daten werden für die Zwecke der Nutzung des Nutzerkontos und dessen Zwecks verwendet.

+

Die Nutzer können über Informationen, die für deren Nutzerkonto relevant sind, wie z.B. technische Änderungen, per E-Mail informiert werden. Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf das Nutzerkonto, vorbehaltlich einer gesetzlichen Aufbewahrungspflicht, gelöscht. Es obliegt den Nutzern, ihre Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der Vertragsdauer gespeicherten Daten des Nutzers unwiederbringlich zu löschen.

+

Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung des Nutzerkontos, speichern wird die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf Grundlage unserer berechtigten Interessen, als auch der Nutzer an Schutz vor Missbrauch und sonstiger unbefugter Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, außer sie ist zur Verfolgung unserer Ansprüche erforderlich oder es besteht hierzu besteht eine gesetzliche Verpflichtung gem. Art. 6 Abs. 1 lit. c DSGVO.

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + + + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..63036ee --- /dev/null +++ b/public/index.xml @@ -0,0 +1,224 @@ + + + + LUG Frankfurt + https://test.lugfrankfurt.de/ + Recent content on LUG Frankfurt + Hugo -- gohugo.io + de + Sun, 04 Apr 2021 10:04:53 +0100 + + Impressum + https://test.lugfrankfurt.de/de/Impressum/ + Thu, 04 Feb 2021 10:10:53 +0100 + + https://test.lugfrankfurt.de/de/Impressum/ + Diese Webseite wird vom FraLUG e.V. betrieben: +Frankfurter Linux User Group (FraLUG) e.V. +c/o Jochen Schade +Landgrafenring 14b +63073 Offenbach +Eintragung beim Amtsgericht Frankfurt, Vereinsregister: 14628 +Vertreten durch den Vorstand: +Jens Kühnel +Jochen Schade +Dr. Christoph Zimmermann + info AT lugfrankfurt PUNKT de +Bei Problemen ist der Web-Hoster erreichbar! Siehe hier + Disclaimer Haftungsausschluss Der Zugang und die Benutzung der Webseite der Frankfurter Linux User Group e. + + + + Verein + https://test.lugfrankfurt.de/de/Verein/ + Thu, 04 Feb 2021 10:10:48 +0100 + + https://test.lugfrankfurt.de/de/Verein/ + Die LUG Frankfurt hat einen e.V. gegründet. +Dessen Aufgaben ist es die &ldquo;&hellip; Veranstalten eines regelmäßigen Stammtischs sowie durch Vortragsveranstaltungen und Tagungen &hellip;&rdquo; zu Veranstalten &ldquo;&hellip; die für jedermann zugänglich sind.&rdquo; +Mehr in der aktuellen Satzung und der Geschäftsordnung der Mitgliederversammlung des Vereins. +Der Verein erhebt keine Mitgliedsgebühr; eine Mitgliedschaft für die Teilnahme an den Veranstaltungen des Vereins wie Stammtisch und Vorträge ist nicht erforderlich. Einer der wesentlichen Vorteile einer Mitgliedschaft ist aber die Stimmberechtigung bei Mitgliedervesammlungen, die die Planung und Richtung des Vereins festlegen. + + + + Mailingliste + https://test.lugfrankfurt.de/de/Mailingliste/ + Thu, 04 Feb 2021 10:10:41 +0100 + + https://test.lugfrankfurt.de/de/Mailingliste/ + der Linux User Group Frankfurt! Um die Mailingliste zu abbonieren, verwende bitte die Weboberfläche. +Es gibt hier so zwischen 3 und 30 Mails pro Tag! Wer also seine Mails nur einmal pro Woche abholt, der bekommt schon ein paar! +Bitte stellt euch kurz vor und lest die Regeln der Mailingliste, damit dieselben Fehler nicht ständig wiederholt werden und nicht gleich die erste Mail mit einem Rüffel beantwortet wird. + + + + Contact + https://test.lugfrankfurt.de/en/Contact/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/en/Contact/ + Please reach us on our Mailinglist, as well are we reachable on Freenode (as server irc.freenode.org), Channel: #lug-ffm +Or come to our next Meetup. + + + + Kontakt + https://test.lugfrankfurt.de/de/Kontakt/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Kontakt/ + Am besten über unsere Mailingliste bzw. wir sind auch in Freenode (als Server einfach irc.freenode.org angeben) vertreten. Channel: #lug-ffm +Oder einfach Mal bei unseren Treffen vorbeikommen. + + + + Liste der bekanntesten Linuxdistributionen + https://test.lugfrankfurt.de/de/Distriliste/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Distriliste/ + in alphabetischer Reihenfolge ( = Reihenfolge ist keine Wertung) +Arch Linux Die Distribution für fortgeschrittene Linux&rsquo;er ist puristisch, leichgewichtig und als Rolling Release permanent auf dem aktuellen Stand der Technik. Trotz allem wird jeden Monat ein ISO Image mit dem aktuellen Entwicklungsstand veröffentlicht. Arch Linux verfolgt das KISS Prinzip, somit nur für fortgeschrittene Anwender zu empfehlen. +Arch Linux +Debian Debian ist das bekannteste nichtkommerzielle Linuxpaket. + + + + Regeln der Mailingliste + https://test.lugfrankfurt.de/de/Regeln/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Regeln/ + Wir freuen uns, Dich auf unserer Liste begrüßen zu dürfen und möchten Dich auf einige, aber wichtige Regeln, hinweisen: +1. Wir bitten Dich, alle Deine Mails in Nur-Text zu schreiben und keine HTML-Mails an die Liste zu schicken. +Text-Mails haben den Vorteil, dass jeder Leser diese so auf seinem Bildschirm sieht, wie er es gerne hat und nicht einen bestimmten Stil (Schriftart, Farbe, Textgröße) aufgezwungen bekommt. Ein weiterer Nachteil von HTML-Mails ist, dass einige Mail-Programme (besonders die, die man in der Konsole laufen lässt) keine HTML-Mails darstellen können und der Leser zwischen den HTML-Tags lesen muss. + + + + Vortragsvorschläge + https://test.lugfrankfurt.de/de/Vorschlaege/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Vorschlaege/ + Das aktuelle Vortragsprogramm findet ihr unter Vorträge. +Vorträge, die gehalten werden können: +Jens Kühnel + Samba Steffen Bauer + Python Deep Learning / Artificial Intelligence Laura Liparulo + Bash Scripting Rolf Schmidt + Verschiedene Virtualisierungskonzepte (und warum speziell KVM) Workshops +Umfangreichere Themen können auch im Rahmen eines Workshops behandelt werden. Vorbild ist hier bei unser Programmierworkshop. Vorgehen: Einfach Aufruf auf der Mailingliste posten oder die Sache beim Stammtisch ansprechen, evtl. + + + + Workshops + https://test.lugfrankfurt.de/de/Workshops/ + Thu, 04 Feb 2021 10:10:31 +0100 + + https://test.lugfrankfurt.de/de/Workshops/ + Zur Zeit finden keine Programmierworkshop&rsquo;s statt! In der Vergangenheit gab es bei der LUG diverse Workshops, so z.B. + C Haskell Java Python Sollte sich ein Tutor und genügend Teilnehmer finden, werden wir gerne die Programmierworkshop&rsquo;s wieder aufleben lassen. Einfach auf der Mailingliste anfragen. + + + + LPD/Maustüröffnertag + https://test.lugfrankfurt.de/de/LPD/ + Thu, 04 Feb 2021 10:06:20 +0100 + + https://test.lugfrankfurt.de/de/LPD/ + Über den Linux Presentation Day (LPD) Aufgrund des großen Erfolgs der Veranstaltung des Vorjahrs veranstaltet die FraLUG auch dieses Jahr wieder im Rahmen des Linux Presentation Days den FraLUG Maus-Türöffner Tag. Dieser findet wie in den Vorjahren auch am 3. Oktober in Frankfurt statt. Das Programm für unseren Maus-Türöffner-Tag wird im Laufe des Septembers veröffentlicht. +Die Registrierung erfolgt via der bekannten Website oder via Email an maus AT lugfrankfurt PUNKT de. + + + + LPD/Maustüröffnertag + https://test.lugfrankfurt.de/en/LPD/ + Thu, 04 Feb 2021 10:06:20 +0100 + + https://test.lugfrankfurt.de/en/LPD/ + About the Linux Presentation Day (LPD) Due to the huge success of last year&rsquo;s event, FraLUG is participating in the Maus Türöffner Tag (Mouse Door Opener Day, sorry about the broken translation :-) ) this year once again. As in the years before, the event takes place on October 3rd in Frankfurt. +The Linux Presentation Day is an event where people with little or no previous exposure to Linux have the opportunity to gain a first introduction and experience with this open source operating sytem. + + + + Vorträge + https://test.lugfrankfurt.de/de/Vortraege/ + Thu, 04 Feb 2021 10:06:02 +0100 + + https://test.lugfrankfurt.de/de/Vortraege/ + Seit Dienstag, den 25.08.2009 finden an unseren Dienstagsterminen wieder Vorträge statt. Hierfür haben wir den Seminarraum 4 des Saalbau Gallus (siehe hierzu auch die Treffen Seite) für jeden vierten Dienstag im Monat reserviert. Wir treffen uns dort kurz vor 19 Uhr; Beginn des Vortrages ist in der Regel zwischen 19:00 und 19:15 Uhr. Im Anschluß geht&rsquo;s meistens noch in eine Gastwirtschaft in der Nähe, die Details werden am Abend selbst festgelegt. + + + + Treffen + https://test.lugfrankfurt.de/de/Treffen/ + Thu, 04 Feb 2021 10:05:56 +0100 + + https://test.lugfrankfurt.de/de/Treffen/ + Die Treffen (Stammtisch und Vorträge) finden bis auf weiteres aufgrund der aktuellen Situation ausschließlich virtuell statt. Sobald diese wieder durchgeführt werden, erfahrt ihr es hier! +Angestrebt ist, dass wir am Dienstagstermin einen Vortrag präsentieren. Vortragsvorschläge bitte auf der Mailingliste posten. + Unsere Treffpunkte - So kommt man hin Sandelmühle An der Sandelmühle 35 +60439 Frankfurt +Telefon Restaurant: 069 / 575742 +Homepage Speisekarte +Übersichtskarte Heddernheim bei OpenStreetMap und Google Maps + + + + Imprint + https://test.lugfrankfurt.de/en/Imprint/ + Thu, 04 Feb 2021 10:04:53 +0100 + + https://test.lugfrankfurt.de/en/Imprint/ + This website is organized by FraLUG e.V.: +Frankfurter Linux User Group (FraLUG) e.V. +c/o Jochen Schade +Landgrafenring 14b +63073 Offenbach +Registered at the county court Frankfurt, association register: 14628 +Represented through the steering committee: +Jens Kühnel +Jochen Schade +Dr. Christoph Zimmermann + info AT lugfrankfurt PUNKT de +If you have any problems, contact our web hoster here. + Disclosure of automated data storage and processing according to the General Data Protection Regulation (GDPR) Provision of our statutory and business services We process the data of our members, supporters, prospects, customers or other persons in accordance with Art. + + + + Meetup + https://test.lugfrankfurt.de/en/Meetup/ + Thu, 04 Feb 2021 10:04:53 +0100 + + https://test.lugfrankfurt.de/en/Meetup/ + Due to the current situation, all meetups (the Stammtisch and talks) take place virtually until further notice. Once this changes, an update will be posted here! + Our general meetup takes place each second Monday in a month at the restaurant Sandelmühle, An der Sandelmühle 35, 60439 Frankfurt starting around 7 pm (spoken languages include German, English and sometimes Klingon and Romulan based on availability :-) ). +Every fourth Tuesday we meet in room # 4 at Saalbau Gallus, Frankenallee 111, 60326 Frankfurt am Main for our monthly talk on a specific Linux or Free and Open Source Software topic. + + + + Welcome to the website of the Linux User Group Frankfurt + https://test.lugfrankfurt.de/en/Home/ + Thu, 04 Feb 2021 10:04:53 +0100 + + https://test.lugfrankfurt.de/en/Home/ + Right now ⚠️ Due to the current situation with regard to the administrative directions regarding the constraints of social interaction unfortunately we are forced to move to virtual meetings instead of physical interaction (talks and Stammtisch) until further notice. As usual, details are posted on our mailing list. +Once the situation has changed, we will publish a update on this location. + Please note: As talk Tuesdays may be subject to change on short notice, please check the talks page for any last-minute changes. + + + + Fortunes DB + https://test.lugfrankfurt.de/de/FortunesDB/ + Tue, 02 Feb 2021 13:06:02 +0100 + + https://test.lugfrankfurt.de/de/FortunesDB/ + &hellip;ich wußte gar nicht, dass von dem noch mehr so tolle Sätze stammen ;-) +*ausschneid und in meine TupperDose tu* + Petra Klüver (zu einem Pythagoras-Zitat) Du läßt auch bei anderen Gelegenheiten recht Zynische Bemerkungen ab. + Das hast du völlig richtig erkannt. Bravo! Und ich mache das hauptsächlich um dich ganz persönlich zu ärgern. + Wenzel Peppmeyer Du verstehst mich nicht. Aber das macht nichts. + + + + diff --git a/public/js/clipboard-27784b7376.min.js b/public/js/clipboard-27784b7376.min.js new file mode 100644 index 0000000..95f55d7 --- /dev/null +++ b/public/js/clipboard-27784b7376.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:function(t,e,n){"use strict";n.d(e,{default:function(){return r}});var e=n(279),i=n.n(e),e=n(370),a=n.n(e),e=n(817),o=n.n(e);function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var n=0;n + * @copyright 2015 Gregory Wild-Smith + * @license MIT + * @homepage https://github.com/abritinthebay/datejs + */ +/* + 2015 Gregory Wild-Smith + @license MIT + @homepage https://github.com/abritinthebay/datejs + 2015 Gregory Wild-Smith + @license MIT + @homepage https://github.com/abritinthebay/datejs +*/ +Date.CultureStrings=Date.CultureStrings||{}; +Date.CultureStrings["de-DE"]={name:"de-DE",englishName:"German (Germany)",nativeName:"Deutsch (Deutschland)",Sunday:"Sonntag",Monday:"Montag",Tuesday:"Dienstag",Wednesday:"Mittwoch",Thursday:"Donnerstag",Friday:"Freitag",Saturday:"Samstag",Sun:"Son",Mon:"Mon",Tue:"Die",Wed:"Mit",Thu:"Don",Fri:"Fre",Sat:"Sam",Su:"So",Mo:"Mo",Tu:"Di",We:"Mi",Th:"Do",Fr:"Fr",Sa:"Sa",S_Sun_Initial:"S",M_Mon_Initial:"M",T_Tue_Initial:"D",W_Wed_Initial:"M",T_Thu_Initial:"D",F_Fri_Initial:"F",S_Sat_Initial:"S",January:"Januar", +February:"Februar",March:"M\u00e4rz",April:"April",May:"Mai",June:"Juni",July:"Juli",August:"August",September:"September",October:"Oktober",November:"November",December:"Dezember",Jan_Abbr:"Jan",Feb_Abbr:"Feb",Mar_Abbr:"Mrz",Apr_Abbr:"Apr",May_Abbr:"Mai",Jun_Abbr:"Jun",Jul_Abbr:"Jul",Aug_Abbr:"Aug",Sep_Abbr:"Sep",Oct_Abbr:"Okt",Nov_Abbr:"Nov",Dec_Abbr:"Dez",AM:"",PM:"",firstDayOfWeek:1,twoDigitYearMax:2029,mdy:"dmy","M/d/yyyy":"dd.MM.yyyy","dddd, MMMM dd, yyyy":"dddd, d. MMMM yyyy","h:mm tt":"HH:mm", +"h:mm:ss tt":"HH:mm:ss","dddd, MMMM dd, yyyy h:mm:ss tt":"dddd, d. MMMM yyyy HH:mm:ss","yyyy-MM-ddTHH:mm:ss":"yyyy-MM-ddTHH:mm:ss","yyyy-MM-dd HH:mm:ssZ":"yyyy-MM-dd HH:mm:ssZ","ddd, dd MMM yyyy HH:mm:ss":"ddd, dd MMM yyyy HH:mm:ss","MMMM dd":"dd MMMM","MMMM, yyyy":"MMMM yyyy","/jan(uary)?/":"jan(uar)?","/feb(ruary)?/":"feb(ruar)?","/mar(ch)?/":"m\u00e4rz","/apr(il)?/":"apr(il)?","/may/":"mai","/jun(e)?/":"jun(i)?","/jul(y)?/":"jul(i)?","/aug(ust)?/":"aug(ust)?","/sep(t(ember)?)?/":"sep(t(ember)?)?", +"/oct(ober)?/":"okt(ober)?","/nov(ember)?/":"nov(ember)?","/dec(ember)?/":"dez(ember)?","/^su(n(day)?)?/":"^sonntag","/^mo(n(day)?)?/":"^montag","/^tu(e(s(day)?)?)?/":"^dienstag","/^we(d(nesday)?)?/":"^mittwoch","/^th(u(r(s(day)?)?)?)?/":"^donnerstag","/^fr(i(day)?)?/":"^freitag","/^sa(t(urday)?)?/":"^samstag","/^next/":"^n\u00e4chste(r|s|n)?","/^last|past|prev(ious)?/":"^letzte(r|s|n)?|vergangene(r|s|n)?|vorherige(r|s|n)?","/^(\\+|aft(er)?|from|hence)/":"^(\\+|(da)?nach(er)?|von|daher|in)","/^(\\-|bef(ore)?|ago)/":"^(\\-|(be|zu)?vor|fr\u00fcher)", +"/^yes(terday)?/":"^gestern","/^t(od(ay)?)?/":"^heute","/^tom(orrow)?/":"^morgen","/^n(ow)?/":"^jetzt|sofort|gleich","/^ms|milli(second)?s?/":"^ms|milli(sekunde(n)?)?","/^sec(ond)?s?/":"^sek(unde(n)?)?","/^mn|min(ute)?s?/":"^mn|min(ute(n)?)?","/^h(our)?s?/":"^h|st(d|unde(n)?)?","/^w(eek)?s?/":"^w(oche(n)?)?","/^m(onth)?s?/":"^m(onat(e)?)?","/^d(ay)?s?/":"^d|t(ag(en)?)?","/^y(ear)?s?/":"^y|j(ahr(en)?)?","/^(a|p)/":"^(a|p)","/^(a\\.?m?\\.?|p\\.?m?\\.?)/":"^(a\\.?m?\\.?|p\\.?m?\\.?)","/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/":"^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)", +"/^\\s*(st|nd|rd|th)/":"^\\s*(st|nd|rd|th)","/^\\s*(\\:|a(?!u|p)|p)/":"^\\s*(\\:|a(?!u|p)|p)",LINT:"LINT",TOT:"TOT",CHAST:"CHAST",NZST:"NZST",NFT:"NFT",SBT:"SBT",AEST:"AEST",ACST:"ACST",JST:"JST",CWST:"CWST",CT:"CT",ICT:"ICT",MMT:"MMT",BIOT:"BST",NPT:"NPT",IST:"IST",PKT:"PKT",AFT:"AFT",MSK:"MSK",IRST:"IRST",FET:"FET",EET:"EET",CET:"CET",UTC:"UTC",GMT:"GMT",CVT:"CVT",GST:"GST",BRT:"BRT",NST:"NST",AST:"AST",EST:"EST",CST:"CST",MST:"MST",PST:"PST",AKST:"AKST",MIT:"MIT",HST:"HST",SST:"SST",BIT:"BIT", +CHADT:"CHADT",NZDT:"NZDT",AEDT:"AEDT",ACDT:"ACDT",AZST:"AZST",IRDT:"IRDT",EEST:"EEST",CEST:"CEST",BST:"BST",PMDT:"PMDT",ADT:"ADT",NDT:"NDT",EDT:"EDT",CDT:"CDT",MDT:"MDT",PDT:"PDT",AKDT:"AKDT",HADT:"HADT"};Date.CultureStrings.lang="de-DE"; +(function(){var h=Date,f=Date.CultureStrings?Date.CultureStrings.lang:null,d={},c={getFromKey:function(a,b){var e;e=Date.CultureStrings&&Date.CultureStrings[b]&&Date.CultureStrings[b][a]?Date.CultureStrings[b][a]:c.buildFromDefault(a);"/"===a.charAt(0)&&(e=c.buildFromRegex(a,b));return e},getFromObjectValues:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[e]=c.getFromKey(a[e],b));return g},getFromObjectKeys:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[c.getFromKey(e,b)]= +a[e]);return g},getFromArray:function(a,b){for(var e=[],g=0;gb?1:0;throw new TypeError(a+" - "+b);};h.equals= +function(a,b){return 0===a.compareTo(b)};h.getDayName=function(a){return Date.CultureInfo.dayNames[a]};h.getDayNumberFromName=function(a){var b=Date.CultureInfo.dayNames,e=Date.CultureInfo.abbreviatedDayNames,g=Date.CultureInfo.shortestDayNames;a=a.toLowerCase();for(var m=0;me?!1:!0};h.validateMillisecond=function(a){return c(a,0,999,"millisecond")};h.validateSecond=function(a){return c(a,0,59,"second")};h.validateMinute=function(a){return c(a,0, +59,"minute")};h.validateHour=function(a){return c(a,0,23,"hour")};h.validateDay=function(a,b,e){return void 0===b||null===b||void 0===e||null===e?!1:c(a,1,h.getDaysInMonth(b,e),"day")};h.validateWeek=function(a){return c(a,0,53,"week")};h.validateMonth=function(a){return c(a,0,11,"month")};h.validateYear=function(a){return c(a,-271822,275760,"year")};h.validateTimezone=function(a){return 1==={ACDT:1,ACST:1,ACT:1,ADT:1,AEDT:1,AEST:1,AFT:1,AKDT:1,AKST:1,AMST:1,AMT:1,ART:1,AST:1,AWDT:1,AWST:1,AZOST:1, +AZT:1,BDT:1,BIOT:1,BIT:1,BOT:1,BRT:1,BST:1,BTT:1,CAT:1,CCT:1,CDT:1,CEDT:1,CEST:1,CET:1,CHADT:1,CHAST:1,CHOT:1,ChST:1,CHUT:1,CIST:1,CIT:1,CKT:1,CLST:1,CLT:1,COST:1,COT:1,CST:1,CT:1,CVT:1,CWST:1,CXT:1,DAVT:1,DDUT:1,DFT:1,EASST:1,EAST:1,EAT:1,ECT:1,EDT:1,EEDT:1,EEST:1,EET:1,EGST:1,EGT:1,EIT:1,EST:1,FET:1,FJT:1,FKST:1,FKT:1,FNT:1,GALT:1,GAMT:1,GET:1,GFT:1,GILT:1,GIT:1,GMT:1,GST:1,GYT:1,HADT:1,HAEC:1,HAST:1,HKT:1,HMT:1,HOVT:1,HST:1,ICT:1,IDT:1,IOT:1,IRDT:1,IRKT:1,IRST:1,IST:1,JST:1,KGT:1,KOST:1,KRAT:1, +KST:1,LHST:1,LINT:1,MAGT:1,MART:1,MAWT:1,MDT:1,MET:1,MEST:1,MHT:1,MIST:1,MIT:1,MMT:1,MSK:1,MST:1,MUT:1,MVT:1,MYT:1,NCT:1,NDT:1,NFT:1,NPT:1,NST:1,NT:1,NUT:1,NZDT:1,NZST:1,OMST:1,ORAT:1,PDT:1,PET:1,PETT:1,PGT:1,PHOT:1,PHT:1,PKT:1,PMDT:1,PMST:1,PONT:1,PST:1,PYST:1,PYT:1,RET:1,ROTT:1,SAKT:1,SAMT:1,SAST:1,SBT:1,SCT:1,SGT:1,SLST:1,SRT:1,SST:1,SYOT:1,TAHT:1,THA:1,TFT:1,TJT:1,TKT:1,TLT:1,TMT:1,TOT:1,TVT:1,UCT:1,ULAT:1,UTC:1,UYST:1,UYT:1,UZT:1,VET:1,VLAT:1,VOLT:1,VOST:1,VUT:1,WAKT:1,WAST:1,WAT:1,WEDT:1,WEST:1, +WET:1,WST:1,YAKT:1,YEKT:1,Z:1}[a]};h.validateTimezoneOffset=function(a){return-841a}})(); +(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)},c=function(a){var b={},e=this,g,c;c=function(b,g,c){if("day"===b){b=void 0!==a.month?a.month:e.getMonth();var d=void 0!==a.year?a.year:e.getFullYear();return h[g](c,d,b)}return h[g](c)};for(g in a)if(Object.prototype.hasOwnProperty.call(a,g)){var d="validate"+g.charAt(0).toUpperCase()+g.slice(1);h[d]&&null!==a[g]&&c(g,d,a[g])&&(b[g]=a[g])}return b};f.clearTime=function(){this.setHours(0);this.setMinutes(0); +this.setSeconds(0);this.setMilliseconds(0);return this};f.setTimeToNow=function(){var a=new Date;this.setHours(a.getHours());this.setMinutes(a.getMinutes());this.setSeconds(a.getSeconds());this.setMilliseconds(a.getMilliseconds());return this};f.clone=function(){return new Date(this.getTime())};f.compareTo=function(a){return Date.compare(this,a)};f.equals=function(a){return Date.equals(this,void 0!==a?a:new Date)};f.between=function(a,b){return this.getTime()>=a.getTime()&&this.getTime()<=b.getTime()}; +f.isAfter=function(a){return 1===this.compareTo(a||new Date)};f.isBefore=function(a){return-1===this.compareTo(a||new Date)};f.isToday=f.isSameDay=function(a){return this.clone().clearTime().equals((a||new Date).clone().clearTime())};f.addMilliseconds=function(a){if(!a)return this;this.setTime(this.getTime()+1*a);return this};f.addSeconds=function(a){return a?this.addMilliseconds(1E3*a):this};f.addMinutes=function(a){return a?this.addMilliseconds(6E4*a):this};f.addHours=function(a){return a?this.addMilliseconds(36E5* +a):this};f.addDays=function(a){if(!a)return this;this.setDate(this.getDate()+1*a);return this};f.addWeekdays=function(a){if(!a)return this;var b=this.getDay(),e=Math.ceil(Math.abs(a)/7);(0===b||6===b)&&0a){for(;0>a;)this.addDays(-1),b=this.getDay(),0!==b&&6!==b&&a++;return this}if(5 +b)this.moveToLastDayOfMonth(),this.is().weekday()&&(b+=1);else return this;return this.addWeekdays(b)}var e=0;if(0a)return a=(a-1E4).toString(),a.charAt(0)+a.substr(2);a=(a+1E4).toString();return"+"+a.substr(1)};f.getElapsed=function(a){return(a||new Date)-this};f.set=function(a){a=c.call(this, +a);for(var b in a)if(Object.prototype.hasOwnProperty.call(a,b)){var e=b.charAt(0).toUpperCase()+b.slice(1),g,d;"week"!==b&&"month"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&(e+="s");g="add"+e;d="get"+e;"month"===b?g+="s":"year"===b&&(d="getFullYear");if("day"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&"week"!==b&&"hour"!==b)this[g](a[b]-this[d]());else if("timezone"===b||"timezoneOffset"===b||"week"===b||"hour"===b)this["set"+e](a[b])}a.day&&this.addDays(a.day-this.getDate());return this};f.moveToFirstDayOfMonth= +function(){return this.set({day:1})};f.moveToLastDayOfMonth=function(){return this.set({day:h.getDaysInMonth(this.getFullYear(),this.getMonth())})};var b=function(a){switch(1*a){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},e=function(a){var b=Date.CultureInfo.formatPatterns;switch(a){case "d":return this.toString(b.shortDate);case "D":return this.toString(b.longDate);case "F":return this.toString(b.fullDateTime);case "m":return this.toString(b.monthDay); +case "r":case "R":return a=this.clone().addMinutes(this.getTimezoneOffset()),a.toString(b.rfc1123)+" GMT";case "s":return this.toString(b.sortableDateTime);case "t":return this.toString(b.shortTime);case "T":return this.toString(b.longTime);case "u":return a=this.clone().addMinutes(this.getTimezoneOffset()),a.toString(b.universalSortableDateTime);case "y":return this.toString(b.yearMonth);default:return!1}},g=function(a){return function(e){if("\\"===e.charAt(0))return e.replace("\\","");switch(e){case "hh":return d(13> +a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-12);case "h":return 13>a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-12;case "HH":return d(a.getHours());case "H":return a.getHours();case "mm":return d(a.getMinutes());case "m":return a.getMinutes();case "ss":return d(a.getSeconds());case "s":return a.getSeconds();case "yyyy":return d(a.getFullYear(),4);case "yy":return d(a.getFullYear());case "y":return a.getFullYear();case "E":case "dddd":return Date.CultureInfo.dayNames[a.getDay()]; +case "ddd":return Date.CultureInfo.abbreviatedDayNames[a.getDay()];case "dd":return d(a.getDate());case "d":return a.getDate();case "MMMM":return Date.CultureInfo.monthNames[a.getMonth()];case "MMM":return Date.CultureInfo.abbreviatedMonthNames[a.getMonth()];case "MM":return d(a.getMonth()+1);case "M":return a.getMonth()+1;case "t":return 12>a.getHours()?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case "tt":return 12>a.getHours()?Date.CultureInfo.amDesignator: +Date.CultureInfo.pmDesignator;case "S":return b(a.getDate());case "W":return a.getWeek();case "WW":return a.getISOWeek();case "Q":return"Q"+a.getQuarter();case "q":return String(a.getQuarter());case "z":return a.getTimezone();case "Z":case "X":return Date.getTimezoneOffset(a.getTimezone());case "ZZ":return-60*a.getTimezoneOffset();case "u":return a.getDay();case "L":return h.isLeapYear(a.getFullYear())?1:0;case "B":return"@"+(a.getUTCSeconds()+60*a.getUTCMinutes()+3600*(a.getUTCHours()+1))/86.4;default:return e}}}; +f.toString=function(a,b){if(!b&&a&&1===a.length&&(output=e.call(this,a)))return output;var c=g(this);return a?a.replace(/((\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S|q|Q|WW?W?W?)(?![^\[]*\]))/g,c).replace(/\[|\]/g,""):this._toString()}})(); +(function(){var h=Date,f=h.prototype,d=Number.prototype;f._orient=1;f._nth=null;f._is=!1;f._same=!1;f._isSecond=!1;d._dateElement="days";f.next=function(){this._move=!0;this._orient=1;return this};h.next=function(){return h.today().next()};f.last=f.prev=f.previous=function(){this._move=!0;this._orient=-1;return this};h.last=h.prev=h.previous=function(){return h.today().last()};f.is=function(){this._is=!0;return this};f.same=function(){this._same=!0;this._isSecond=!1;return this};f.today=function(){return this.same().day()}; +f.weekday=function(){return this._nth?m("Weekday").call(this):this._move?this.addWeekdays(this._orient):this._is?(this._is=!1,!this.is().sat()&&!this.is().sun()):!1};f.weekend=function(){return this._is?(this._is=!1,this.is().sat()||this.is().sun()):!1};f.at=function(a){return"string"===typeof a?h.parse(this.toString("d")+" "+a):this.set(a)};d.fromNow=d.after=function(a){var b={};b[this._dateElement]=this;return(a?a.clone():new Date).add(b)};d.ago=d.before=function(a){var b={};b["s"!==this._dateElement[this._dateElement.length- +1]?this._dateElement+"s":this._dateElement]=-1*this;return(a?a.clone():new Date).add(b)};var c="sunday monday tuesday wednesday thursday friday saturday".split(/\s/),a="january february march april may june july august september october november december".split(/\s/),b="Millisecond Second Minute Hour Day Week Month Year Quarter Weekday".split(/\s/),e="Milliseconds Seconds Minutes Hours Date Week Month FullYear Quarter".split(/\s/),g="final first second third fourth fifth".split(/\s/);f.toObject=function(){for(var a= +{},g=0;ge)throw new RangeError(h.getDayName(a)+ +" does not occur "+b+" times in the month of "+h.getMonthName(e.getMonth())+" "+e.getFullYear()+".");return this}return this.moveToDayOfWeek(a,this._orient)}},k=function(a,b,e){for(var g=0;ga.length&&0>a.indexOf(".")&&0>a.indexOf("/"))return e.year= +a,h.processTimeObject(e);a=a.match(this.regex);if(!a||!a.length)return null;for(b=0;bp;p++){var q=c.shift();q&&(delete e[q],g--)}try{f=e[l]=e[l]||a.call(this,l)}catch(s){f=e[l]=s}g++;c.push(l);if(f instanceof h.Exception)throw f;return f}},any:function(){var a=arguments;return function(e){for(var g=null,c=0;cthis.hour&&Date.Config.strict24hr)throw"Invalid hour and meridian combination";"p"===this.meridian&&12>this.hour?this.hour+=12:"a"===this.meridian&&12===this.hour&&(this.hour= +0)}};h.Translator={hour:function(c){return function(){this.hour=Number(c)}},minute:function(c){return function(){this.minute=Number(c)}},second:function(c){return function(){this.second=Number(c)}},secondAndMillisecond:function(c){return function(){var a=c.match(/^([0-5][0-9])\.([0-9]{1,3})/);this.second=Number(a[1]);this.millisecond=Number(a[2])}},meridian:function(c){return function(){this.meridian=c.slice(0,1).toLowerCase()}},timezone:function(c){return function(){var a=c.replace(/[^\d\+\-]/g, +"");a.length?this.timezoneOffset=Number(a):this.timezone=c.toLowerCase()}},day:function(c){var a=c[0];return function(){this.day=Number(a.match(/\d+/)[0]);if(1>this.day)throw"invalid day";}},month:function(c){return function(){this.month=3===c.length?"jan feb mar apr may jun jul aug sep oct nov dec".indexOf(c)/4:Number(c)-1;if(0>this.month)throw"invalid month";}},year:function(c){return function(){var a=Number(c);this.year=2h.getDaysInMonth(this.year,this.month))throw new RangeError(this.day+" is not a valid value for days.");c=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);100>this.year&&c.setFullYear(this.year);this.timezone?c.set({timezone:this.timezone}):this.timezoneOffset&&c.set({timezoneOffset:this.timezoneOffset});return c},finish:function(c){var a,b,e;c=c instanceof Array?f(c):[c];if(0===c.length)return null; +for(a=0;ac?-1:1,k=Math.abs(c);this.setDays(Math.floor(k/864E5)*h);k%=864E5;this.setHours(Math.floor(k/36E5)*h);k%=36E5;this.setMinutes(Math.floor(k/6E4)*h);k%=6E4;this.setSeconds(Math.floor(k/1E3)*h);this.setMilliseconds(k%1E3*h)}else this.set(c,a,b,e,f);this.getTotalMilliseconds=function(){return 864E5*this.getDays()+ +36E5*this.getHours()+6E4*this.getMinutes()+1E3*this.getSeconds()};this.compareTo=function(a){var b=new Date(1970,1,1,this.getHours(),this.getMinutes(),this.getSeconds());a=null===a?new Date(1970,1,1,0,0,0):new Date(1970,1,1,a.getHours(),a.getMinutes(),a.getSeconds());return ba?1:0};this.equals=function(a){return 0===this.compareTo(a)};this.add=function(a){return null===a?this:this.addSeconds(a.getTotalMilliseconds()/1E3)};this.subtract=function(a){return null===a?this:this.addSeconds(-a.getTotalMilliseconds()/ +1E3)};this.addDays=function(a){return new d(this.getTotalMilliseconds()+864E5*a)};this.addHours=function(a){return new d(this.getTotalMilliseconds()+36E5*a)};this.addMinutes=function(a){return new d(this.getTotalMilliseconds()+6E4*a)};this.addSeconds=function(a){return new d(this.getTotalMilliseconds()+1E3*a)};this.addMilliseconds=function(a){return new d(this.getTotalMilliseconds()+a)};this.get12HourHour=function(){return 12this.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator};this.toString=function(a){this._toString=function(){return null!==this.getDays()&&0a.toString().length?"0"+a:a};var b=this;return a?a.replace(/dd?|HH?|hh?|mm?|ss?|tt?/g, +function(a){switch(a){case "d":return b.getDays();case "dd":return b.p(b.getDays());case "H":return b.getHours();case "HH":return b.p(b.getHours());case "h":return b.get12HourHour();case "hh":return b.p(b.get12HourHour());case "m":return b.getMinutes();case "mm":return b.p(b.getMinutes());case "s":return b.getSeconds();case "ss":return b.p(b.getSeconds());case "t":return(12>b.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator).substring(0,1);case "tt":return 12>b.getHours()?Date.CultureInfo.amDesignator: +Date.CultureInfo.pmDesignator}}):this._toString()};return this};(function(c,a){for(var b=0;bc;)f();else for(;bp?1:-1;this.dates={start:arguments[0].clone(),end:arguments[1].clone()};d(q,l,p,this);var s=!1===(l.isDaylightSavingTime()===p.isDaylightSavingTime());s&&1===q?l.addHours(-1):s&&l.addHours(1);l=p-l;0!==l&&(l=new TimeSpan(l),this.set(this.years,this.months,l.getDays(),l.getHours(),l.getMinutes(),l.getSeconds(),l.getMilliseconds()))}return this};(function(a,b){for(var c=0;c + * @copyright 2015 Gregory Wild-Smith + * @license MIT + * @homepage https://github.com/abritinthebay/datejs + */ +/* + 2015 Gregory Wild-Smith + @license MIT + @homepage https://github.com/abritinthebay/datejs +*/ +(function(){var h=Date,f=Date.CultureStrings?Date.CultureStrings.lang:null,d={},c={getFromKey:function(a,b){var e;e=Date.CultureStrings&&Date.CultureStrings[b]&&Date.CultureStrings[b][a]?Date.CultureStrings[b][a]:c.buildFromDefault(a);"/"===a.charAt(0)&&(e=c.buildFromRegex(a,b));return e},getFromObjectValues:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[e]=c.getFromKey(a[e],b));return g},getFromObjectKeys:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[c.getFromKey(e,b)]= +a[e]);return g},getFromArray:function(a,b){for(var e=[],g=0;gb?1:0;throw new TypeError(a+" - "+b);};h.equals= +function(a,b){return 0===a.compareTo(b)};h.getDayName=function(a){return Date.CultureInfo.dayNames[a]};h.getDayNumberFromName=function(a){var b=Date.CultureInfo.dayNames,e=Date.CultureInfo.abbreviatedDayNames,g=Date.CultureInfo.shortestDayNames;a=a.toLowerCase();for(var m=0;me?!1:!0};h.validateMillisecond=function(a){return c(a,0,999,"millisecond")};h.validateSecond=function(a){return c(a,0,59,"second")};h.validateMinute=function(a){return c(a,0, +59,"minute")};h.validateHour=function(a){return c(a,0,23,"hour")};h.validateDay=function(a,b,e){return void 0===b||null===b||void 0===e||null===e?!1:c(a,1,h.getDaysInMonth(b,e),"day")};h.validateWeek=function(a){return c(a,0,53,"week")};h.validateMonth=function(a){return c(a,0,11,"month")};h.validateYear=function(a){return c(a,-271822,275760,"year")};h.validateTimezone=function(a){return 1==={ACDT:1,ACST:1,ACT:1,ADT:1,AEDT:1,AEST:1,AFT:1,AKDT:1,AKST:1,AMST:1,AMT:1,ART:1,AST:1,AWDT:1,AWST:1,AZOST:1, +AZT:1,BDT:1,BIOT:1,BIT:1,BOT:1,BRT:1,BST:1,BTT:1,CAT:1,CCT:1,CDT:1,CEDT:1,CEST:1,CET:1,CHADT:1,CHAST:1,CHOT:1,ChST:1,CHUT:1,CIST:1,CIT:1,CKT:1,CLST:1,CLT:1,COST:1,COT:1,CST:1,CT:1,CVT:1,CWST:1,CXT:1,DAVT:1,DDUT:1,DFT:1,EASST:1,EAST:1,EAT:1,ECT:1,EDT:1,EEDT:1,EEST:1,EET:1,EGST:1,EGT:1,EIT:1,EST:1,FET:1,FJT:1,FKST:1,FKT:1,FNT:1,GALT:1,GAMT:1,GET:1,GFT:1,GILT:1,GIT:1,GMT:1,GST:1,GYT:1,HADT:1,HAEC:1,HAST:1,HKT:1,HMT:1,HOVT:1,HST:1,ICT:1,IDT:1,IOT:1,IRDT:1,IRKT:1,IRST:1,IST:1,JST:1,KGT:1,KOST:1,KRAT:1, +KST:1,LHST:1,LINT:1,MAGT:1,MART:1,MAWT:1,MDT:1,MET:1,MEST:1,MHT:1,MIST:1,MIT:1,MMT:1,MSK:1,MST:1,MUT:1,MVT:1,MYT:1,NCT:1,NDT:1,NFT:1,NPT:1,NST:1,NT:1,NUT:1,NZDT:1,NZST:1,OMST:1,ORAT:1,PDT:1,PET:1,PETT:1,PGT:1,PHOT:1,PHT:1,PKT:1,PMDT:1,PMST:1,PONT:1,PST:1,PYST:1,PYT:1,RET:1,ROTT:1,SAKT:1,SAMT:1,SAST:1,SBT:1,SCT:1,SGT:1,SLST:1,SRT:1,SST:1,SYOT:1,TAHT:1,THA:1,TFT:1,TJT:1,TKT:1,TLT:1,TMT:1,TOT:1,TVT:1,UCT:1,ULAT:1,UTC:1,UYST:1,UYT:1,UZT:1,VET:1,VLAT:1,VOLT:1,VOST:1,VUT:1,WAKT:1,WAST:1,WAT:1,WEDT:1,WEST:1, +WET:1,WST:1,YAKT:1,YEKT:1,Z:1}[a]};h.validateTimezoneOffset=function(a){return-841a}})(); +(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)},c=function(a){var b={},e=this,g,c;c=function(b,g,c){if("day"===b){b=void 0!==a.month?a.month:e.getMonth();var d=void 0!==a.year?a.year:e.getFullYear();return h[g](c,d,b)}return h[g](c)};for(g in a)if(Object.prototype.hasOwnProperty.call(a,g)){var d="validate"+g.charAt(0).toUpperCase()+g.slice(1);h[d]&&null!==a[g]&&c(g,d,a[g])&&(b[g]=a[g])}return b};f.clearTime=function(){this.setHours(0);this.setMinutes(0); +this.setSeconds(0);this.setMilliseconds(0);return this};f.setTimeToNow=function(){var a=new Date;this.setHours(a.getHours());this.setMinutes(a.getMinutes());this.setSeconds(a.getSeconds());this.setMilliseconds(a.getMilliseconds());return this};f.clone=function(){return new Date(this.getTime())};f.compareTo=function(a){return Date.compare(this,a)};f.equals=function(a){return Date.equals(this,void 0!==a?a:new Date)};f.between=function(a,b){return this.getTime()>=a.getTime()&&this.getTime()<=b.getTime()}; +f.isAfter=function(a){return 1===this.compareTo(a||new Date)};f.isBefore=function(a){return-1===this.compareTo(a||new Date)};f.isToday=f.isSameDay=function(a){return this.clone().clearTime().equals((a||new Date).clone().clearTime())};f.addMilliseconds=function(a){if(!a)return this;this.setTime(this.getTime()+1*a);return this};f.addSeconds=function(a){return a?this.addMilliseconds(1E3*a):this};f.addMinutes=function(a){return a?this.addMilliseconds(6E4*a):this};f.addHours=function(a){return a?this.addMilliseconds(36E5* +a):this};f.addDays=function(a){if(!a)return this;this.setDate(this.getDate()+1*a);return this};f.addWeekdays=function(a){if(!a)return this;var b=this.getDay(),e=Math.ceil(Math.abs(a)/7);(0===b||6===b)&&0a){for(;0>a;)this.addDays(-1),b=this.getDay(),0!==b&&6!==b&&a++;return this}if(5 +b)this.moveToLastDayOfMonth(),this.is().weekday()&&(b+=1);else return this;return this.addWeekdays(b)}var e=0;if(0a)return a=(a-1E4).toString(),a.charAt(0)+a.substr(2);a=(a+1E4).toString();return"+"+a.substr(1)};f.getElapsed=function(a){return(a||new Date)-this};f.set=function(a){a=c.call(this, +a);for(var b in a)if(Object.prototype.hasOwnProperty.call(a,b)){var e=b.charAt(0).toUpperCase()+b.slice(1),g,d;"week"!==b&&"month"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&(e+="s");g="add"+e;d="get"+e;"month"===b?g+="s":"year"===b&&(d="getFullYear");if("day"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&"week"!==b&&"hour"!==b)this[g](a[b]-this[d]());else if("timezone"===b||"timezoneOffset"===b||"week"===b||"hour"===b)this["set"+e](a[b])}a.day&&this.addDays(a.day-this.getDate());return this};f.moveToFirstDayOfMonth= +function(){return this.set({day:1})};f.moveToLastDayOfMonth=function(){return this.set({day:h.getDaysInMonth(this.getFullYear(),this.getMonth())})};var b=function(a){switch(1*a){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},e=function(a){var b=Date.CultureInfo.formatPatterns;switch(a){case "d":return this.toString(b.shortDate);case "D":return this.toString(b.longDate);case "F":return this.toString(b.fullDateTime);case "m":return this.toString(b.monthDay); +case "r":case "R":return a=this.clone().addMinutes(this.getTimezoneOffset()),a.toString(b.rfc1123)+" GMT";case "s":return this.toString(b.sortableDateTime);case "t":return this.toString(b.shortTime);case "T":return this.toString(b.longTime);case "u":return a=this.clone().addMinutes(this.getTimezoneOffset()),a.toString(b.universalSortableDateTime);case "y":return this.toString(b.yearMonth);default:return!1}},g=function(a){return function(e){if("\\"===e.charAt(0))return e.replace("\\","");switch(e){case "hh":return d(13> +a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-12);case "h":return 13>a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-12;case "HH":return d(a.getHours());case "H":return a.getHours();case "mm":return d(a.getMinutes());case "m":return a.getMinutes();case "ss":return d(a.getSeconds());case "s":return a.getSeconds();case "yyyy":return d(a.getFullYear(),4);case "yy":return d(a.getFullYear());case "y":return a.getFullYear();case "E":case "dddd":return Date.CultureInfo.dayNames[a.getDay()]; +case "ddd":return Date.CultureInfo.abbreviatedDayNames[a.getDay()];case "dd":return d(a.getDate());case "d":return a.getDate();case "MMMM":return Date.CultureInfo.monthNames[a.getMonth()];case "MMM":return Date.CultureInfo.abbreviatedMonthNames[a.getMonth()];case "MM":return d(a.getMonth()+1);case "M":return a.getMonth()+1;case "t":return 12>a.getHours()?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case "tt":return 12>a.getHours()?Date.CultureInfo.amDesignator: +Date.CultureInfo.pmDesignator;case "S":return b(a.getDate());case "W":return a.getWeek();case "WW":return a.getISOWeek();case "Q":return"Q"+a.getQuarter();case "q":return String(a.getQuarter());case "z":return a.getTimezone();case "Z":case "X":return Date.getTimezoneOffset(a.getTimezone());case "ZZ":return-60*a.getTimezoneOffset();case "u":return a.getDay();case "L":return h.isLeapYear(a.getFullYear())?1:0;case "B":return"@"+(a.getUTCSeconds()+60*a.getUTCMinutes()+3600*(a.getUTCHours()+1))/86.4;default:return e}}}; +f.toString=function(a,b){if(!b&&a&&1===a.length&&(output=e.call(this,a)))return output;var c=g(this);return a?a.replace(/((\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S|q|Q|WW?W?W?)(?![^\[]*\]))/g,c).replace(/\[|\]/g,""):this._toString()}})(); +(function(){var h=Date,f=h.prototype,d=Number.prototype;f._orient=1;f._nth=null;f._is=!1;f._same=!1;f._isSecond=!1;d._dateElement="days";f.next=function(){this._move=!0;this._orient=1;return this};h.next=function(){return h.today().next()};f.last=f.prev=f.previous=function(){this._move=!0;this._orient=-1;return this};h.last=h.prev=h.previous=function(){return h.today().last()};f.is=function(){this._is=!0;return this};f.same=function(){this._same=!0;this._isSecond=!1;return this};f.today=function(){return this.same().day()}; +f.weekday=function(){return this._nth?m("Weekday").call(this):this._move?this.addWeekdays(this._orient):this._is?(this._is=!1,!this.is().sat()&&!this.is().sun()):!1};f.weekend=function(){return this._is?(this._is=!1,this.is().sat()||this.is().sun()):!1};f.at=function(a){return"string"===typeof a?h.parse(this.toString("d")+" "+a):this.set(a)};d.fromNow=d.after=function(a){var b={};b[this._dateElement]=this;return(a?a.clone():new Date).add(b)};d.ago=d.before=function(a){var b={};b["s"!==this._dateElement[this._dateElement.length- +1]?this._dateElement+"s":this._dateElement]=-1*this;return(a?a.clone():new Date).add(b)};var c="sunday monday tuesday wednesday thursday friday saturday".split(/\s/),a="january february march april may june july august september october november december".split(/\s/),b="Millisecond Second Minute Hour Day Week Month Year Quarter Weekday".split(/\s/),e="Milliseconds Seconds Minutes Hours Date Week Month FullYear Quarter".split(/\s/),g="final first second third fourth fifth".split(/\s/);f.toObject=function(){for(var a= +{},g=0;ge)throw new RangeError(h.getDayName(a)+ +" does not occur "+b+" times in the month of "+h.getMonthName(e.getMonth())+" "+e.getFullYear()+".");return this}return this.moveToDayOfWeek(a,this._orient)}},k=function(a,b,e){for(var g=0;ga.length&&0>a.indexOf(".")&&0>a.indexOf("/"))return e.year= +a,h.processTimeObject(e);a=a.match(this.regex);if(!a||!a.length)return null;for(b=0;bp;p++){var q=c.shift();q&&(delete e[q],g--)}try{f=e[l]=e[l]||a.call(this,l)}catch(s){f=e[l]=s}g++;c.push(l);if(f instanceof h.Exception)throw f;return f}},any:function(){var a=arguments;return function(e){for(var g=null,c=0;cthis.hour&&Date.Config.strict24hr)throw"Invalid hour and meridian combination";"p"===this.meridian&&12>this.hour?this.hour+=12:"a"===this.meridian&&12===this.hour&&(this.hour= +0)}};h.Translator={hour:function(c){return function(){this.hour=Number(c)}},minute:function(c){return function(){this.minute=Number(c)}},second:function(c){return function(){this.second=Number(c)}},secondAndMillisecond:function(c){return function(){var a=c.match(/^([0-5][0-9])\.([0-9]{1,3})/);this.second=Number(a[1]);this.millisecond=Number(a[2])}},meridian:function(c){return function(){this.meridian=c.slice(0,1).toLowerCase()}},timezone:function(c){return function(){var a=c.replace(/[^\d\+\-]/g, +"");a.length?this.timezoneOffset=Number(a):this.timezone=c.toLowerCase()}},day:function(c){var a=c[0];return function(){this.day=Number(a.match(/\d+/)[0]);if(1>this.day)throw"invalid day";}},month:function(c){return function(){this.month=3===c.length?"jan feb mar apr may jun jul aug sep oct nov dec".indexOf(c)/4:Number(c)-1;if(0>this.month)throw"invalid month";}},year:function(c){return function(){var a=Number(c);this.year=2h.getDaysInMonth(this.year,this.month))throw new RangeError(this.day+" is not a valid value for days.");c=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);100>this.year&&c.setFullYear(this.year);this.timezone?c.set({timezone:this.timezone}):this.timezoneOffset&&c.set({timezoneOffset:this.timezoneOffset});return c},finish:function(c){var a,b,e;c=c instanceof Array?f(c):[c];if(0===c.length)return null; +for(a=0;ac?-1:1,k=Math.abs(c);this.setDays(Math.floor(k/864E5)*h);k%=864E5;this.setHours(Math.floor(k/36E5)*h);k%=36E5;this.setMinutes(Math.floor(k/6E4)*h);k%=6E4;this.setSeconds(Math.floor(k/1E3)*h);this.setMilliseconds(k%1E3*h)}else this.set(c,a,b,e,f);this.getTotalMilliseconds=function(){return 864E5*this.getDays()+ +36E5*this.getHours()+6E4*this.getMinutes()+1E3*this.getSeconds()};this.compareTo=function(a){var b=new Date(1970,1,1,this.getHours(),this.getMinutes(),this.getSeconds());a=null===a?new Date(1970,1,1,0,0,0):new Date(1970,1,1,a.getHours(),a.getMinutes(),a.getSeconds());return ba?1:0};this.equals=function(a){return 0===this.compareTo(a)};this.add=function(a){return null===a?this:this.addSeconds(a.getTotalMilliseconds()/1E3)};this.subtract=function(a){return null===a?this:this.addSeconds(-a.getTotalMilliseconds()/ +1E3)};this.addDays=function(a){return new d(this.getTotalMilliseconds()+864E5*a)};this.addHours=function(a){return new d(this.getTotalMilliseconds()+36E5*a)};this.addMinutes=function(a){return new d(this.getTotalMilliseconds()+6E4*a)};this.addSeconds=function(a){return new d(this.getTotalMilliseconds()+1E3*a)};this.addMilliseconds=function(a){return new d(this.getTotalMilliseconds()+a)};this.get12HourHour=function(){return 12this.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator};this.toString=function(a){this._toString=function(){return null!==this.getDays()&&0a.toString().length?"0"+a:a};var b=this;return a?a.replace(/dd?|HH?|hh?|mm?|ss?|tt?/g, +function(a){switch(a){case "d":return b.getDays();case "dd":return b.p(b.getDays());case "H":return b.getHours();case "HH":return b.p(b.getHours());case "h":return b.get12HourHour();case "hh":return b.p(b.get12HourHour());case "m":return b.getMinutes();case "mm":return b.p(b.getMinutes());case "s":return b.getSeconds();case "ss":return b.p(b.getSeconds());case "t":return(12>b.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator).substring(0,1);case "tt":return 12>b.getHours()?Date.CultureInfo.amDesignator: +Date.CultureInfo.pmDesignator}}):this._toString()};return this};(function(c,a){for(var b=0;bc;)f();else for(;bp?1:-1;this.dates={start:arguments[0].clone(),end:arguments[1].clone()};d(q,l,p,this);var s=!1===(l.isDaylightSavingTime()===p.isDaylightSavingTime());s&&1===q?l.addHours(-1):s&&l.addHours(1);l=p-l;0!==l&&(l=new TimeSpan(l),this.set(this.years,this.months,l.getDays(),l.getHours(),l.getMinutes(),l.getSeconds(),l.getMilliseconds()))}return this};(function(a,b){for(var c=0;c=d&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(c,this.o),this.F&&this.F(this.o)));return this}function S(a){const c=B();for(const b in a)if(a.hasOwnProperty(b)){const d=a[b];F(d)?c[b]=d.slice(0):G(d)?c[b]=S(d):c[b]=d}return c}function W(a,c){const b=a.length,d=O(c),e=[];for(let f=0,h=0;f=h&&(a=a[g-(e+.5>>0)],a=a[b]||(a[b]=[]), +a[a.length]=d);return e}function ba(a,c){if(a){const b=Object.keys(a);for(let d=0,e=b.length;da?1:a?-1:0}function pa(a,c){a=a[M];c=c[M];return ac?1:0}function oa(a,c){const b=M.length;for(let d=0;dc?1:0}function T(a,c,b){return a?{page:a,next:c?""+c:null,result:b}:b}function ha(a,c,b,d,e,f,h){let g,k=[];if(!0===b){b="0";var l=""}else l=b&&b.split(":");const p=a.length;if(1h&&(l=0),l=l||0,g=l+c,g=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:a, +content:c}),this.c[f]=""+this.C,b&&b(),this;if(!e){if(this.async&&"function"!==typeof importScripts){let t=this;f=new Promise(function(v){setTimeout(function(){t.add(a,c,null,d,!0);t=null;v()})});if(b)f.then(b);else return f;return this}if(b)return this.add(a,c,null,d,!0),b(),this}c=this.encode(c);if(!c.length)return this;b=this.f;e=O(b)?b(c):c.split(this.split);this.filter&&(e=W(e,this.filter));const n=B();n._ctx=B();const m=e.length,u=this.threshold,q=this.depth,A=this.b,z=this.i,y=this.D;for(let t= +0;tp;x--)l=h.substring(p,x),V(z,n,l,a,v,k,u,A-1)}break;default:if(g=V(z,n,h,a,1,k,u,A-1),q&&1=u)for(g=n._ctx[h]||(n._ctx[h]=B()),h=this.h[h]||(this.h[h]=ia(A-(u||0))),k=t-q,l=t+q+1,0>k&&(k=0),l> +m&&(l=m);kh;d--)e=g[d-1],g[d]=e,f[e]=d;g[h]=c;f[c]=h}}}return b};return a}();return w}(function(){const K={},R="undefined"!==typeof Blob&& +"undefined"!==typeof URL&&URL.createObjectURL;return function(w,L,S,W,P){S=R?URL.createObjectURL(new Blob(["("+S.toString()+")()"],{type:"text/javascript"})):w+".min.js";w+="-"+L;K[w]||(K[w]=[]);K[w][P]=new Worker(S);K[w][P].onmessage=W;return K[w][P]}}()),this); diff --git a/public/js/mermaid-edf9138816.min.js b/public/js/mermaid-edf9138816.min.js new file mode 100644 index 0000000..1554b4c --- /dev/null +++ b/public/js/mermaid-edf9138816.min.js @@ -0,0 +1,31 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.mermaid=e():t.mermaid=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=384)}([function(t,e,n){"use strict";n.r(e);var r=function(t,e){return te?1:t>=e?0:NaN},i=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return r(e(t),n)}),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var a=i(r),o=a.right,s=a.left,c=o,u=function(t,e){null==e&&(e=l);for(var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);nt?1:e>=t?0:NaN},d=function(t){return null===t?NaN:+t},p=function(t,e){var n,r,i=t.length,a=0,o=-1,s=0,c=0;if(null==e)for(;++o1)return c/(a-1)},y=function(t,e){var n=p(t,e);return n?Math.sqrt(n):n},g=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o=n)for(r=i=n;++on&&(r=n),i=n)for(r=i=n;++on&&(r=n),i0)return[t];if((r=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=0?(a>=w?10:a>=E?5:a>=T?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=w?10:a>=E?5:a>=T?2:1)}function A(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=w?i*=10:a>=E?i*=5:a>=T&&(i*=2),eh;)f.pop(),--d;var p,y=new Array(d+1);for(i=0;i<=d;++i)(p=y[i]=[]).x0=i>0?f[i-1]:l,p.x1=i=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(i-a)}},N=function(t,e,n){return t=b.call(t,d).sort(r),Math.ceil((n-e)/(2*(B(t,.75)-B(t,.25))*Math.pow(t.length,-1/3)))},D=function(t,e,n){return Math.ceil((n-e)/(3.5*y(t)*Math.pow(t.length,-1/3)))},L=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a=n)for(r=n;++ar&&(r=n)}else for(;++a=n)for(r=n;++ar&&(r=n);return r},I=function(t,e){var n,r=t.length,i=r,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n},P=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a=n)for(r=n;++an&&(r=n)}else for(;++a=n)for(r=n;++an&&(r=n);return r},j=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},Y=function(t,e){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==e&&(e=r);++a=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function ct(t,e){for(var n,r=0,i=t.length;r0)for(var n,r,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var _t="http://www.w3.org/1999/xhtml",kt={svg:"http://www.w3.org/2000/svg",xhtml:_t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},wt=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),kt.hasOwnProperty(e)?{space:kt[e],local:t}:t};function Et(t){return function(){this.removeAttribute(t)}}function Tt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ct(t,e){return function(){this.setAttribute(t,e)}}function St(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function At(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function Mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var Ot=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Bt(t){return function(){this.style.removeProperty(t)}}function Nt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Dt(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function Lt(t,e){return t.style.getPropertyValue(e)||Ot(t).getComputedStyle(t,null).getPropertyValue(e)}function It(t){return function(){delete this[t]}}function Rt(t,e){return function(){this[t]=e}}function Ft(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Pt(t){return t.trim().split(/^|\s+/)}function jt(t){return t.classList||new Yt(t)}function Yt(t){this._node=t,this._names=Pt(t.getAttribute("class")||"")}function zt(t,e){for(var n=jt(t),r=-1,i=e.length;++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Vt(){this.textContent=""}function Ht(t){return function(){this.textContent=t}}function Gt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function Xt(){this.innerHTML=""}function Zt(t){return function(){this.innerHTML=t}}function Qt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function Kt(){this.nextSibling&&this.parentNode.appendChild(this)}function Jt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function te(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===_t&&e.documentElement.namespaceURI===_t?e.createElement(t):e.createElementNS(n,t)}}function ee(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var ne=function(t){var e=wt(t);return(e.local?ee:te)(e)};function re(){return null}function ie(){var t=this.parentNode;t&&t.removeChild(this)}function ae(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}var se={},ce=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(se={mouseenter:"mouseover",mouseleave:"mouseout"}));function ue(t,e,n){return t=le(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function le(t,e,n){return function(r){var i=ce;ce=r;try{t.call(this,this.__data__,e,n)}finally{ce=i}}}function he(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function fe(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r=_&&(_=x+1);!(b=v[_])&&++_=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=xt);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a1?this.each((null==e?Bt:"function"==typeof e?Dt:Nt)(t,e,null==n?"":n)):Lt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?It:"function"==typeof e?Ft:Rt)(t,e)):this.node()[t]},classed:function(t,e){var n=Pt(t+"");if(arguments.length<2){for(var r=jt(this.node()),i=-1,a=n.length;++i>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?new Ge(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?new Ge(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Le.exec(t))?new Ge(e[1],e[2],e[3],1):(e=Ie.exec(t))?new Ge(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Re.exec(t))?We(e[1],e[2],e[3],e[4]):(e=Fe.exec(t))?We(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Pe.exec(t))?Ke(e[1],e[2]/100,e[3]/100,1):(e=je.exec(t))?Ke(e[1],e[2]/100,e[3]/100,e[4]):Ye.hasOwnProperty(t)?qe(Ye[t]):"transparent"===t?new Ge(NaN,NaN,NaN,0):null}function qe(t){return new Ge(t>>16&255,t>>8&255,255&t,1)}function We(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ge(t,e,n,r)}function Ve(t){return t instanceof Me||(t=$e(t)),t?new Ge((t=t.rgb()).r,t.g,t.b,t.opacity):new Ge}function He(t,e,n,r){return 1===arguments.length?Ve(t):new Ge(t,e,n,null==r?1:r)}function Ge(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Xe(){return"#"+Qe(this.r)+Qe(this.g)+Qe(this.b)}function Ze(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Qe(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Ke(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new en(t,e,n,r)}function Je(t){if(t instanceof en)return new en(t.h,t.s,t.l,t.opacity);if(t instanceof Me||(t=$e(t)),!t)return new en;if(t instanceof en)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n0&&c<1?0:o,new en(o,s,c,t.opacity)}function tn(t,e,n,r){return 1===arguments.length?Je(t):new en(t,e,n,null==r?1:r)}function en(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function nn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function rn(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}Se(Me,$e,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ze,formatHex:ze,formatHsl:function(){return Je(this).formatHsl()},formatRgb:Ue,toString:Ue}),Se(Ge,He,Ae(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ge(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ge(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Xe,formatHex:Xe,formatRgb:Ze,toString:Ze})),Se(en,tn,Ae(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new en(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new en(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Ge(nn(t>=240?t-240:t+120,i,r),nn(t,i,r),nn(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var an=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r180||n<-180?n-360*Math.round(n/360):n):sn(isNaN(t)?e:t)}function ln(t){return 1==(t=+t)?hn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):sn(isNaN(e)?n:e)}}function hn(t,e){var n=e-t;return n?cn(t,n):sn(isNaN(t)?e:t)}var fn=function t(e){var n=ln(e);function r(t,e){var r=n((t=He(t)).r,(e=He(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=hn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function dn(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,c.push({i:o,x:_n(n,r)})),a=En.lastIndex;return a=0&&e._call.call(null,t),e=e._next;--Dn}function Vn(){Fn=(Rn=jn.now())+Pn,Dn=Ln=0;try{Wn()}finally{Dn=0,function(){var t,e,n=Tn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Tn=e);Cn=t,Gn(r)}(),Fn=0}}function Hn(){var t=jn.now(),e=t-Rn;e>1e3&&(Pn-=e,Rn=t)}function Gn(t){Dn||(Ln&&(Ln=clearTimeout(Ln)),t-Fn>24?(t<1/0&&(Ln=setTimeout(Vn,t-jn.now()-Pn)),In&&(In=clearInterval(In))):(In||(Rn=jn.now(),In=setInterval(Hn,1e3)),Dn=1,Yn(Vn)))}$n.prototype=qn.prototype={constructor:$n,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?zn():+n)+(null==e?0:+e),this._next||Cn===this||(Cn?Cn._next=this:Tn=this,Cn=this),this._call=t,this._time=n,Gn()},stop:function(){this._call&&(this._call=null,this._time=1/0,Gn())}};var Xn=function(t,e,n){var r=new $n;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r},Zn=lt("start","end","cancel","interrupt"),Qn=[],Kn=function(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(c){var u,l,h,f;if(1!==n.state)return s();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return Xn(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[u]):+u0)throw new Error("too late; already scheduled");return n}function tr(t,e){var n=er(t,e);if(n.state>3)throw new Error("too late; already running");return n}function er(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var nr,rr,ir,ar,or=function(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}},sr=180/Math.PI,cr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},ur=function(t,e,n,r,i,a){var o,s,c;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),t*r180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:_n(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:_n(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,s,c),function(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:_n(t,n)},{i:s-2,x:_n(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,r=c.length;++n=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Jn:tr;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}var Dr=_e.prototype.constructor;function Lr(t){return function(){this.style.removeProperty(t)}}function Ir(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function Rr(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&Ir(t,a,n)),r}return a._value=e,a}function Fr(t){return function(e){this.textContent=t.call(this,e)}}function Pr(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Fr(r)),e}return r._value=t,r}var jr=0;function Yr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function zr(t){return _e().transition(t)}function Ur(){return++jr}var $r=_e.prototype;function qr(t){return t*t*t}function Wr(t){return--t*t*t+1}function Vr(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}Yr.prototype=zr.prototype={constructor:Yr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=ft(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o1&&n.name===e)return new Yr([[t]],Xr,e,+r);return null},Qr=function(t){return function(){return t}},Kr=function(t,e,n){this.target=t,this.type=e,this.selection=n};function Jr(){ce.stopImmediatePropagation()}var ti=function(){ce.preventDefault(),ce.stopImmediatePropagation()},ei={name:"drag"},ni={name:"space"},ri={name:"handle"},ii={name:"center"};function ai(t){return[+t[0],+t[1]]}function oi(t){return[ai(t[0]),ai(t[1])]}function si(t){return function(e){return Bn(e,ce.touches,t)}}var ci={name:"x",handles:["w","e"].map(gi),input:function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ui={name:"y",handles:["n","s"].map(gi),input:function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},li={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(gi),input:function(t){return null==t?null:oi(t)},output:function(t){return t}},hi={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},fi={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},di={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},pi={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},yi={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function gi(t){return{type:t}}function vi(){return!ce.ctrlKey&&!ce.button}function mi(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function bi(){return navigator.maxTouchPoints||"ontouchstart"in this}function xi(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function _i(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ki(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function wi(){return Ci(ci)}function Ei(){return Ci(ui)}var Ti=function(){return Ci(li)};function Ci(t){var e,n=mi,r=vi,i=bi,a=!0,o=lt("start","brush","end"),s=6;function c(e){var n=e.property("__brush",y).selectAll(".overlay").data([gi("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hi.overlay).merge(n).each((function(){var t=xi(this).extent;ke(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),e.selectAll(".selection").data([gi("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hi.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return hi[t.type]})),e.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(){var t=ke(this),e=xi(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?e[1][0]-s/2:e[0][0]-s/2})).attr("y",(function(t){return"s"===t.type[0]?e[1][1]-s/2:e[0][1]-s/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+s:s})).attr("height",(function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+s:s}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(t,e,n){return!n&&t.__brush.emitter||new h(t,e)}function h(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function f(){if((!e||ce.touches)&&r.apply(this,arguments)){var n,i,o,s,c,h,f,d,p,y,g,v=this,m=ce.target.__data__.type,b="selection"===(a&&ce.metaKey?m="overlay":m)?ei:a&&ce.altKey?ii:ri,x=t===ui?null:pi[m],_=t===ci?null:yi[m],k=xi(v),w=k.extent,E=k.selection,T=w[0][0],C=w[0][1],S=w[1][0],A=w[1][1],M=0,O=0,B=x&&_&&a&&ce.shiftKey,N=ce.touches?si(ce.changedTouches[0].identifier):Nn,D=N(v),L=D,I=l(v,arguments,!0).beforestart();"overlay"===m?(E&&(p=!0),k.selection=E=[[n=t===ui?T:D[0],o=t===ci?C:D[1]],[c=t===ui?S:n,f=t===ci?A:o]]):(n=E[0][0],o=E[0][1],c=E[1][0],f=E[1][1]),i=n,s=o,h=c,d=f;var R=ke(v).attr("pointer-events","none"),F=R.selectAll(".overlay").attr("cursor",hi[m]);if(ce.touches)I.moved=j,I.ended=z;else{var P=ke(ce.view).on("mousemove.brush",j,!0).on("mouseup.brush",z,!0);a&&P.on("keydown.brush",U,!0).on("keyup.brush",$,!0),Te(ce.view)}Jr(),or(v),u.call(v),I.start()}function j(){var t=N(v);!B||y||g||(Math.abs(t[0]-L[0])>Math.abs(t[1]-L[1])?g=!0:y=!0),L=t,p=!0,ti(),Y()}function Y(){var t;switch(M=L[0]-D[0],O=L[1]-D[1],b){case ni:case ei:x&&(M=Math.max(T-n,Math.min(S-c,M)),i=n+M,h=c+M),_&&(O=Math.max(C-o,Math.min(A-f,O)),s=o+O,d=f+O);break;case ri:x<0?(M=Math.max(T-n,Math.min(S-n,M)),i=n+M,h=c):x>0&&(M=Math.max(T-c,Math.min(S-c,M)),i=n,h=c+M),_<0?(O=Math.max(C-o,Math.min(A-o,O)),s=o+O,d=f):_>0&&(O=Math.max(C-f,Math.min(A-f,O)),s=o,d=f+O);break;case ii:x&&(i=Math.max(T,Math.min(S,n-M*x)),h=Math.max(T,Math.min(S,c+M*x))),_&&(s=Math.max(C,Math.min(A,o-O*_)),d=Math.max(C,Math.min(A,f+O*_)))}h0&&(n=i-M),_<0?f=d-O:_>0&&(o=s-O),b=ni,F.attr("cursor",hi.selection),Y());break;default:return}ti()}function $(){switch(ce.keyCode){case 16:B&&(y=g=B=!1,Y());break;case 18:b===ii&&(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=ri,Y());break;case 32:b===ni&&(ce.altKey?(x&&(c=h-M*x,n=i+M*x),_&&(f=d-O*_,o=s+O*_),b=ii):(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=ri),F.attr("cursor",hi[m]),Y());break;default:return}ti()}}function d(){l(this,arguments).moved()}function p(){l(this,arguments).ended()}function y(){var e=this.__brush||{selection:null};return e.extent=oi(n.apply(this,arguments)),e.dim=t,e}return c.move=function(e,n){e.selection?e.on("start.brush",(function(){l(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){l(this,arguments).end()})).tween("brush",(function(){var e=this,r=e.__brush,i=l(e,arguments),a=r.selection,o=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),s=An(a,o);function c(t){r.selection=1===t&&null===o?null:s(t),u.call(e),i.brush()}return null!==a&&null!==o?c:c(1)})):e.each((function(){var e=this,r=arguments,i=e.__brush,a=t.input("function"==typeof n?n.apply(e,r):n,i.extent),o=l(e,r).beforestart();or(e),i.selection=null===a?null:a,u.call(e),o.start().brush().end()}))},c.clear=function(t){c.move(t,null)},h.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(e){pe(new Kr(c,e,t.output(this.state.selection)),o.apply,o,[e,this.that,this.args])}},c.extent=function(t){return arguments.length?(n="function"==typeof t?t:Qr(oi(t)),c):n},c.filter=function(t){return arguments.length?(r="function"==typeof t?t:Qr(!!t),c):r},c.touchable=function(t){return arguments.length?(i="function"==typeof t?t:Qr(!!t),c):i},c.handleSize=function(t){return arguments.length?(s=+t,c):s},c.keyModifiers=function(t){return arguments.length?(a=!!t,c):a},c.on=function(){var t=o.on.apply(o,arguments);return t===o?c:t},c}var Si=Math.cos,Ai=Math.sin,Mi=Math.PI,Oi=Mi/2,Bi=2*Mi,Ni=Math.max;function Di(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}var Li=function(){var t=0,e=null,n=null,r=null;function i(i){var a,o,s,c,u,l,h=i.length,f=[],d=k(h),p=[],y=[],g=y.groups=new Array(h),v=new Array(h*h);for(a=0,u=-1;++u1e-6)if(Math.abs(l*s-c*u)>1e-6&&i){var f=n-a,d=r-o,p=s*s+c*c,y=f*f+d*d,g=Math.sqrt(p),v=Math.sqrt(h),m=i*Math.tan((Fi-Math.acos((p+h-y)/(2*g*v)))/2),b=m/v,x=m/g;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(e+b*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>u*d)+","+(this._x1=t+x*s)+","+(this._y1=e+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=t+o,u=e+s,l=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-u)>1e-6)&&(this._+="L"+c+","+u),n&&(h<0&&(h=h%Pi+Pi),h>ji?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=c)+","+(this._y1=u):h>1e-6&&(this._+="A"+n+","+n+",0,"+ +(h>=Fi)+","+l+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var Ui=zi;function $i(t){return t.source}function qi(t){return t.target}function Wi(t){return t.radius}function Vi(t){return t.startAngle}function Hi(t){return t.endAngle}var Gi=function(){var t=$i,e=qi,n=Wi,r=Vi,i=Hi,a=null;function o(){var o,s=Ii.call(arguments),c=t.apply(this,s),u=e.apply(this,s),l=+n.apply(this,(s[0]=c,s)),h=r.apply(this,s)-Oi,f=i.apply(this,s)-Oi,d=l*Si(h),p=l*Ai(h),y=+n.apply(this,(s[0]=u,s)),g=r.apply(this,s)-Oi,v=i.apply(this,s)-Oi;if(a||(a=o=Ui()),a.moveTo(d,p),a.arc(0,0,l,h,f),h===g&&f===v||(a.quadraticCurveTo(0,0,y*Si(g),y*Ai(g)),a.arc(0,0,y,g,v)),a.quadraticCurveTo(0,0,d,p),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:Ri(+t),o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Ri(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Ri(+t),o):i},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o};function Xi(){}function Zi(t,e){var n=new Xi;if(t instanceof Xi)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++i=r.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var c,u,l,h=-1,f=n.length,d=r[i++],p=Qi(),y=o();++hr.length)return n;var o,s=i[a-1];return null!=e&&a>=r.length?o=n.entries():(o=[],n.each((function(e,n){o.push({key:n,values:t(e,a)})}))),null!=s?o.sort((function(t,e){return s(t.key,e.key)})):o}(a(t,0,ea,na),0)},key:function(t){return r.push(t),n},sortKeys:function(t){return i[r.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}};function Ji(){return{}}function ta(t,e,n){t[e]=n}function ea(){return Qi()}function na(t,e,n){t.set(e,n)}function ra(){}var ia=Qi.prototype;function aa(t,e){var n=new ra;if(t instanceof ra)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(null==e)for(;++r6/29*(6/29)*(6/29)?Math.pow(t,1/3):t/(6/29*3*(6/29))+4/29}function va(t){return t>6/29?t*t*t:6/29*3*(6/29)*(t-4/29)}function ma(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ba(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function xa(t){if(t instanceof wa)return new wa(t.h,t.c,t.l,t.opacity);if(t instanceof ya||(t=fa(t)),0===t.a&&0===t.b)return new wa(NaN,0r!=d>r&&n<(f-u)*(r-l)/(d-l)+u&&(i=-i)}return i}function Fa(t,e,n){var r,i,a,o;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],a=n[r],o=e[r],i<=a&&a<=o||o<=a&&a<=i)}var Pa=function(){},ja=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],Ya=function(){var t=1,e=1,n=M,r=s;function i(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(Da);else{var r=g(t),i=r[0],o=r[1];e=A(i,o,e),e=k(Math.floor(i/e)*e,Math.floor(o/e)*e,e)}return e.map((function(e){return a(t,e)}))}function a(n,i){var a=[],s=[];return function(n,r,i){var a,s,c,u,l,h,f=new Array,d=new Array;a=s=-1,u=n[0]>=r,ja[u<<1].forEach(p);for(;++a=r,ja[c|u<<1].forEach(p);ja[u<<0].forEach(p);for(;++s=r,l=n[s*t]>=r,ja[u<<1|l<<2].forEach(p);++a=r,h=l,l=n[s*t+a+1]>=r,ja[c|u<<1|l<<2|h<<3].forEach(p);ja[u|l<<3].forEach(p)}a=-1,l=n[s*t]>=r,ja[l<<2].forEach(p);for(;++a=r,ja[l<<2|h<<3].forEach(p);function p(t){var e,n,r=[t[0][0]+a,t[0][1]+s],c=[t[1][0]+a,t[1][1]+s],u=o(r),l=o(c);(e=d[u])?(n=f[l])?(delete d[e.end],delete f[n.start],e===n?(e.ring.push(c),i(e.ring)):f[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete d[e.end],e.ring.push(c),d[e.end=l]=e):(e=f[l])?(n=d[u])?(delete f[e.start],delete d[n.end],e===n?(e.ring.push(c),i(e.ring)):f[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete f[e.start],e.ring.unshift(r),f[e.start=u]=e):f[u]=d[l]={start:u,end:l,ring:[r,c]}}ja[l<<3].forEach(p)}(n,i,(function(t){r(t,n,i),function(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e0?a.push([t]):s.push(t)})),s.forEach((function(t){for(var e,n=0,r=a.length;n0&&o0&&s0&&a>0))throw new Error("invalid size");return t=r,e=a,i},i.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?La(Na.call(t)):La(t),i):n},i.smooth=function(t){return arguments.length?(r=t?s:Pa,i):r===s},i};function za(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[s-a+o*r]),e.data[s-n+o*r]=c/Math.min(s+1,r-1+a-s,a))}function Ua(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[o+(s-a)*r]),e.data[o+(s-n)*r]=c/Math.min(s+1,i-1+a-s,a))}function $a(t){return t[0]}function qa(t){return t[1]}function Wa(){return 1}var Va=function(){var t=$a,e=qa,n=Wa,r=960,i=500,a=20,o=2,s=3*a,c=r+2*s>>o,u=i+2*s>>o,l=La(20);function h(r){var i=new Float32Array(c*u),h=new Float32Array(c*u);r.forEach((function(r,a,l){var h=+t(r,a,l)+s>>o,f=+e(r,a,l)+s>>o,d=+n(r,a,l);h>=0&&h=0&&f>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o);var d=l(i);if(!Array.isArray(d)){var p=L(i);d=A(0,p,d),(d=k(0,Math.floor(p/d)*d,d)).shift()}return Ya().thresholds(d).size([c,u])(i).map(f)}function f(t){return t.value*=Math.pow(2,-2*o),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(y)}function y(t){t[0]=t[0]*Math.pow(2,o)-s,t[1]=t[1]*Math.pow(2,o)-s}function g(){return c=r+2*(s=3*a)>>o,u=i+2*s>>o,h}return h.x=function(e){return arguments.length?(t="function"==typeof e?e:La(+e),h):t},h.y=function(t){return arguments.length?(e="function"==typeof t?t:La(+t),h):e},h.weight=function(t){return arguments.length?(n="function"==typeof t?t:La(+t),h):n},h.size=function(t){if(!arguments.length)return[r,i];var e=Math.ceil(t[0]),n=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return r=e,i=n,g()},h.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(t)/Math.LN2),g()},h.thresholds=function(t){return arguments.length?(l="function"==typeof t?t:Array.isArray(t)?La(Na.call(t)):La(t),h):l},h.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),g()},h},Ha=function(t){return function(){return t}};function Ga(t,e,n,r,i,a,o,s,c,u){this.target=t,this.type=e,this.subject=n,this.identifier=r,this.active=i,this.x=a,this.y=o,this.dx=s,this.dy=c,this._=u}function Xa(){return!ce.ctrlKey&&!ce.button}function Za(){return this.parentNode}function Qa(t){return null==t?{x:ce.x,y:ce.y}:t}function Ka(){return navigator.maxTouchPoints||"ontouchstart"in this}Ga.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var Ja=function(){var t,e,n,r,i=Xa,a=Za,o=Qa,s=Ka,c={},u=lt("start","drag","end"),l=0,h=0;function f(t){t.on("mousedown.drag",d).filter(s).on("touchstart.drag",g).on("touchmove.drag",v).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(){if(!r&&i.apply(this,arguments)){var o=b("mouse",a.apply(this,arguments),Nn,this,arguments);o&&(ke(ce.view).on("mousemove.drag",p,!0).on("mouseup.drag",y,!0),Te(ce.view),we(),n=!1,t=ce.clientX,e=ce.clientY,o("start"))}}function p(){if(Ee(),!n){var r=ce.clientX-t,i=ce.clientY-e;n=r*r+i*i>h}c.mouse("drag")}function y(){ke(ce.view).on("mousemove.drag mouseup.drag",null),Ce(ce.view,n),Ee(),c.mouse("end")}function g(){if(i.apply(this,arguments)){var t,e,n=ce.changedTouches,r=a.apply(this,arguments),o=n.length;for(t=0;t9999?"+"+io(e,6):io(e,4))+"-"+io(t.getUTCMonth()+1,2)+"-"+io(t.getUTCDate(),2)+(a?"T"+io(n,2)+":"+io(r,2)+":"+io(i,2)+"."+io(a,3)+"Z":i?"T"+io(n,2)+":"+io(r,2)+":"+io(i,2)+"Z":r||n?"T"+io(n,2)+":"+io(r,2)+"Z":"")}var oo=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,s=0,c=a<=0,u=!1;function l(){if(c)return eo;if(u)return u=!1,to;var e,r,i=o;if(34===t.charCodeAt(i)){for(;o++=a?c=!0:10===(r=t.charCodeAt(o++))?u=!0:13===r&&(u=!0,10===t.charCodeAt(o)&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o=(a=(y+v)/2))?y=a:v=a,(l=n>=(o=(g+m)/2))?g=o:m=o,i=d,!(d=d[h=l<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),c=+t._y.call(null,d.data),e===s&&n===c)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(y+v)/2))?y=a:v=a,(l=n>=(o=(g+m)/2))?g=o:m=o}while((h=l<<1|u)==(f=(c>=o)<<1|s>=a));return i[f]=d,i[h]=p,t}var _s=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function ks(t){return t[0]}function ws(t){return t[1]}function Es(t,e,n){var r=new Ts(null==e?ks:e,null==n?ws:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ts(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Cs(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Ss=Es.prototype=Ts.prototype;function As(t){return t.x+t.vx}function Ms(t){return t.y+t.vy}Ss.copy=function(){var t,e,n=new Ts(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=Cs(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=Cs(e));return n},Ss.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return xs(this.cover(e,n),e,n,t)},Ss.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),s=new Array(a),c=1/0,u=1/0,l=-1/0,h=-1/0;for(n=0;nl&&(l=r),ih&&(h=i));if(c>l||u>h)return this;for(this.cover(c,u).cover(l,h),n=0;nt||t>=i||r>e||e>=a;)switch(s=(ef||(a=c.y0)>d||(o=c.x1)=v)<<1|t>=g)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var m=t-+this._x.call(null,y.data),b=e-+this._y.call(null,y.data),x=m*m+b*b;if(x=(s=(p+g)/2))?p=s:g=s,(l=o>=(c=(y+v)/2))?y=c:v=c,e=d,!(d=d[h=l<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[f]=d:this._root=d),this):(this._root=i,this)},Ss.removeAll=function(t){for(var e=0,n=t.length;ec+d||iu+d||as.index){var p=c-o.x-o.vx,y=u-o.y-o.vy,g=p*p+y*y;gt.r&&(t.r=t[e].r)}function s(){if(e){var r,i,a=e.length;for(n=new Array(a),r=0;r1?(null==n?s.remove(t):s.set(t,d(n)),e):s.get(t)},find:function(e,n,r){var i,a,o,s,c,u=0,l=t.length;for(null==r?r=1/0:r*=r,u=0;u1?(u.on(t,n),e):u.on(t)}}},Ps=function(){var t,e,n,r,i=ms(-30),a=1,o=1/0,s=.81;function c(r){var i,a=t.length,o=Es(t,Ls,Is).visitAfter(l);for(n=r,i=0;i=o)){(t.data!==e||t.next)&&(0===l&&(d+=(l=bs())*l),0===h&&(d+=(h=bs())*h),d1?r[0]+r.slice(2):r,+t.slice(n+1)]},$s=function(t){return(t=Us(Math.abs(t)))?t[1]:NaN},qs=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ws(t){if(!(e=qs.exec(t)))throw new Error("invalid format: "+t);var e;return new Vs({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Vs(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}Ws.prototype=Vs.prototype,Vs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Hs,Gs,Xs,Zs,Qs=function(t,e){var n=Us(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Ks={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Qs(100*t,e)},r:Qs,s:function(t,e){var n=Us(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Hs=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Us(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Js=function(t){return t},tc=Array.prototype.map,ec=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],nc=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Js:(e=tc.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(t.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?Js:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(tc.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",u=void 0===t.minus?"-":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=Ws(t)).fill,n=t.align,h=t.sign,f=t.symbol,d=t.zero,p=t.width,y=t.comma,g=t.precision,v=t.trim,m=t.type;"n"===m?(y=!0,m="g"):Ks[m]||(void 0===g&&(g=12),v=!0,m="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var b="$"===f?i:"#"===f&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",x="$"===f?a:/[%p]/.test(m)?c:"",_=Ks[m],k=/[defgprs%]/.test(m);function w(t){var i,a,c,f=b,w=x;if("c"===m)w=_(t)+w,t="";else{var E=(t=+t)<0;if(t=isNaN(t)?l:_(Math.abs(t),g),v&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),E&&0==+t&&(E=!1),f=(E?"("===h?h:u:"-"===h||"("===h?"":h)+f,w=("s"===m?ec[8+Hs/3]:"")+w+(E&&"("===h?")":""),k)for(i=-1,a=t.length;++i(c=t.charCodeAt(i))||c>57){w=(46===c?o+t.slice(i+1):t.slice(i))+w,t=t.slice(0,i);break}}y&&!d&&(t=r(t,1/0));var T=f.length+t.length+w.length,C=T>1)+f+t+w+C.slice(T);break;default:t=C+f+t+w}return s(t)}return g=void 0===g?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),w.toString=function(){return t+""},w}return{format:h,formatPrefix:function(t,e){var n=h(((t=Ws(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor($s(e)/3))),i=Math.pow(10,-r),a=ec[8+r/3];return function(t){return n(i*t)+a}}}};function rc(t){return Gs=nc(t),Xs=Gs.format,Zs=Gs.formatPrefix,Gs}rc({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});var ic=function(t){return Math.max(0,-$s(Math.abs(t)))},ac=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor($s(e)/3)))-$s(Math.abs(t)))},oc=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,$s(e)-$s(t))+1},sc=function(){return new cc};function cc(){this.reset()}cc.prototype={constructor:cc,reset:function(){this.s=this.t=0},add:function(t){lc(uc,t,this.t),lc(this,uc.s,this.s),this.s?this.t+=uc.t:this.s=uc.t},valueOf:function(){return this.s}};var uc=new cc;function lc(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var hc=Math.PI,fc=hc/2,dc=hc/4,pc=2*hc,yc=180/hc,gc=hc/180,vc=Math.abs,mc=Math.atan,bc=Math.atan2,xc=Math.cos,_c=Math.ceil,kc=Math.exp,wc=(Math.floor,Math.log),Ec=Math.pow,Tc=Math.sin,Cc=Math.sign||function(t){return t>0?1:t<0?-1:0},Sc=Math.sqrt,Ac=Math.tan;function Mc(t){return t>1?0:t<-1?hc:Math.acos(t)}function Oc(t){return t>1?fc:t<-1?-fc:Math.asin(t)}function Bc(t){return(t=Tc(t/2))*t}function Nc(){}function Dc(t,e){t&&Ic.hasOwnProperty(t.type)&&Ic[t.type](t,e)}var Lc={Feature:function(t,e){Dc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,a=xc(e=(e*=gc)/2+dc),o=Tc(e),s=Uc*o,c=zc*a+s*xc(i),u=s*r*Tc(i);qc.add(bc(u,c)),Yc=t,zc=a,Uc=o}var Qc=function(t){return Wc.reset(),$c(t,Vc),2*Wc};function Kc(t){return[bc(t[1],t[0]),Oc(t[2])]}function Jc(t){var e=t[0],n=t[1],r=xc(n);return[r*xc(e),r*Tc(e),Tc(n)]}function tu(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function eu(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function nu(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function ru(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function iu(t){var e=Sc(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var au,ou,su,cu,uu,lu,hu,fu,du,pu,yu=sc(),gu={point:vu,lineStart:bu,lineEnd:xu,polygonStart:function(){gu.point=_u,gu.lineStart=ku,gu.lineEnd=wu,yu.reset(),Vc.polygonStart()},polygonEnd:function(){Vc.polygonEnd(),gu.point=vu,gu.lineStart=bu,gu.lineEnd=xu,qc<0?(au=-(su=180),ou=-(cu=90)):yu>1e-6?cu=90:yu<-1e-6&&(ou=-90),pu[0]=au,pu[1]=su},sphere:function(){au=-(su=180),ou=-(cu=90)}};function vu(t,e){du.push(pu=[au=t,su=t]),ecu&&(cu=e)}function mu(t,e){var n=Jc([t*gc,e*gc]);if(fu){var r=eu(fu,n),i=eu([r[1],-r[0],0],r);iu(i),i=Kc(i);var a,o=t-uu,s=o>0?1:-1,c=i[0]*yc*s,u=vc(o)>180;u^(s*uucu&&(cu=a):u^(s*uu<(c=(c+360)%360-180)&&ccu&&(cu=e)),u?tEu(au,su)&&(su=t):Eu(t,su)>Eu(au,su)&&(au=t):su>=au?(tsu&&(su=t)):t>uu?Eu(au,t)>Eu(au,su)&&(su=t):Eu(t,su)>Eu(au,su)&&(au=t)}else du.push(pu=[au=t,su=t]);ecu&&(cu=e),fu=n,uu=t}function bu(){gu.point=mu}function xu(){pu[0]=au,pu[1]=su,gu.point=vu,fu=null}function _u(t,e){if(fu){var n=t-uu;yu.add(vc(n)>180?n+(n>0?360:-360):n)}else lu=t,hu=e;Vc.point(t,e),mu(t,e)}function ku(){Vc.lineStart()}function wu(){_u(lu,hu),Vc.lineEnd(),vc(yu)>1e-6&&(au=-(su=180)),pu[0]=au,pu[1]=su,fu=null}function Eu(t,e){return(e-=t)<0?e+360:e}function Tu(t,e){return t[0]-e[0]}function Cu(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eEu(r[0],r[1])&&(r[1]=i[1]),Eu(i[0],r[1])>Eu(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,e=0,r=a[n=a.length-1];e<=n;r=i,++e)i=a[e],(s=Eu(r[1],i[0]))>o&&(o=s,au=i[0],su=r[1])}return du=pu=null,au===1/0||ou===1/0?[[NaN,NaN],[NaN,NaN]]:[[au,ou],[su,cu]]},qu={sphere:Nc,point:Wu,lineStart:Hu,lineEnd:Zu,polygonStart:function(){qu.lineStart=Qu,qu.lineEnd=Ku},polygonEnd:function(){qu.lineStart=Hu,qu.lineEnd=Zu}};function Wu(t,e){t*=gc;var n=xc(e*=gc);Vu(n*xc(t),n*Tc(t),Tc(e))}function Vu(t,e,n){++Su,Mu+=(t-Mu)/Su,Ou+=(e-Ou)/Su,Bu+=(n-Bu)/Su}function Hu(){qu.point=Gu}function Gu(t,e){t*=gc;var n=xc(e*=gc);Yu=n*xc(t),zu=n*Tc(t),Uu=Tc(e),qu.point=Xu,Vu(Yu,zu,Uu)}function Xu(t,e){t*=gc;var n=xc(e*=gc),r=n*xc(t),i=n*Tc(t),a=Tc(e),o=bc(Sc((o=zu*a-Uu*i)*o+(o=Uu*r-Yu*a)*o+(o=Yu*i-zu*r)*o),Yu*r+zu*i+Uu*a);Au+=o,Nu+=o*(Yu+(Yu=r)),Du+=o*(zu+(zu=i)),Lu+=o*(Uu+(Uu=a)),Vu(Yu,zu,Uu)}function Zu(){qu.point=Wu}function Qu(){qu.point=Ju}function Ku(){tl(Pu,ju),qu.point=Wu}function Ju(t,e){Pu=t,ju=e,t*=gc,e*=gc,qu.point=tl;var n=xc(e);Yu=n*xc(t),zu=n*Tc(t),Uu=Tc(e),Vu(Yu,zu,Uu)}function tl(t,e){t*=gc;var n=xc(e*=gc),r=n*xc(t),i=n*Tc(t),a=Tc(e),o=zu*a-Uu*i,s=Uu*r-Yu*a,c=Yu*i-zu*r,u=Sc(o*o+s*s+c*c),l=Oc(u),h=u&&-l/u;Iu+=h*o,Ru+=h*s,Fu+=h*c,Au+=l,Nu+=l*(Yu+(Yu=r)),Du+=l*(zu+(zu=i)),Lu+=l*(Uu+(Uu=a)),Vu(Yu,zu,Uu)}var el=function(t){Su=Au=Mu=Ou=Bu=Nu=Du=Lu=Iu=Ru=Fu=0,$c(t,qu);var e=Iu,n=Ru,r=Fu,i=e*e+n*n+r*r;return i<1e-12&&(e=Nu,n=Du,r=Lu,Au<1e-6&&(e=Mu,n=Ou,r=Bu),(i=e*e+n*n+r*r)<1e-12)?[NaN,NaN]:[bc(n,e)*yc,Oc(r/Sc(i))*yc]},nl=function(t){return function(){return t}},rl=function(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n};function il(t,e){return[vc(t)>hc?t+Math.round(-t/pc)*pc:t,e]}function al(t,e,n){return(t%=pc)?e||n?rl(sl(t),cl(e,n)):sl(t):e||n?cl(e,n):il}function ol(t){return function(e,n){return[(e+=t)>hc?e-pc:e<-hc?e+pc:e,n]}}function sl(t){var e=ol(t);return e.invert=ol(-t),e}function cl(t,e){var n=xc(t),r=Tc(t),i=xc(e),a=Tc(e);function o(t,e){var o=xc(e),s=xc(t)*o,c=Tc(t)*o,u=Tc(e),l=u*n+s*r;return[bc(c*i-l*a,s*n-u*r),Oc(l*i+c*a)]}return o.invert=function(t,e){var o=xc(e),s=xc(t)*o,c=Tc(t)*o,u=Tc(e),l=u*i-c*a;return[bc(c*i+u*a,s*n+l*r),Oc(l*n-s*r)]},o}il.invert=il;var ul=function(t){function e(e){return(e=t(e[0]*gc,e[1]*gc))[0]*=yc,e[1]*=yc,e}return t=al(t[0]*gc,t[1]*gc,t.length>2?t[2]*gc:0),e.invert=function(e){return(e=t.invert(e[0]*gc,e[1]*gc))[0]*=yc,e[1]*=yc,e},e};function ll(t,e,n,r,i,a){if(n){var o=xc(e),s=Tc(e),c=r*n;null==i?(i=e+r*pc,a=e-c/2):(i=hl(o,i),a=hl(o,a),(r>0?ia)&&(i+=r*pc));for(var u,l=i;r>0?l>a:l1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},pl=function(t,e){return vc(t[0]-e[0])<1e-6&&vc(t[1]-e[1])<1e-6};function yl(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}var gl=function(t,e,n,r,i){var a,o,s=[],c=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(pl(r,o)){for(i.lineStart(),a=0;a=0;--a)i.point((l=u[a])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}u=(f=f.o).z,d=!d}while(!f.v);i.lineEnd()}}};function vl(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,T=E*w,C=T>hc,S=y*_;if(ml.add(bc(S*E*Tc(T),g*k+S*xc(T))),o+=C?w+E*pc:w,C^d>=n^b>=n){var A=eu(Jc(f),Jc(m));iu(A);var M=eu(a,A);iu(M);var O=(C^w>=0?-1:1)*Oc(M[2]);(r>O||r===O&&(A[0]||A[1]))&&(s+=C^w>=0?1:-1)}}return(o<-1e-6||o<1e-6&&ml<-1e-6)^1&s},_l=function(t,e,n,r){return function(i){var a,o,s,c=e(i),u=dl(),l=e(u),h=!1,f={point:d,lineStart:y,lineEnd:g,polygonStart:function(){f.point=v,f.lineStart=m,f.lineEnd=b,o=[],a=[]},polygonEnd:function(){f.point=d,f.lineStart=y,f.lineEnd=g,o=F(o);var t=xl(a,r);o.length?(h||(i.polygonStart(),h=!0),gl(o,wl,t,n,i)):t&&(h||(i.polygonStart(),h=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),h&&(i.polygonEnd(),h=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(e,n){t(e,n)&&i.point(e,n)}function p(t,e){c.point(t,e)}function y(){f.point=p,c.lineStart()}function g(){f.point=d,c.lineEnd()}function v(t,e){s.push([t,e]),l.point(t,e)}function m(){l.lineStart(),s=[]}function b(){v(s[0][0],s[0][1]),l.lineEnd();var t,e,n,r,c=l.clean(),f=u.result(),d=f.length;if(s.pop(),a.push(s),s=null,d)if(1&c){if((e=(n=f[0]).length-1)>0){for(h||(i.polygonStart(),h=!0),i.lineStart(),t=0;t1&&2&c&&f.push(f.pop().concat(f.shift())),o.push(f.filter(kl))}return f}};function kl(t){return t.length>1}function wl(t,e){return((t=t.x)[0]<0?t[1]-fc-1e-6:fc-t[1])-((e=e.x)[0]<0?e[1]-fc-1e-6:fc-e[1])}var El=_l((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?hc:-hc,c=vc(a-n);vc(c-hc)<1e-6?(t.point(n,r=(r+o)/2>0?fc:-fc),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&c>=hc&&(vc(n-i)<1e-6&&(n-=1e-6*i),vc(a-s)<1e-6&&(a-=1e-6*s),r=function(t,e,n,r){var i,a,o=Tc(t-n);return vc(o)>1e-6?mc((Tc(e)*(a=xc(r))*Tc(n)-Tc(r)*(i=xc(e))*Tc(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=a,r=o),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*fc,r.point(-hc,i),r.point(0,i),r.point(hc,i),r.point(hc,0),r.point(hc,-i),r.point(0,-i),r.point(-hc,-i),r.point(-hc,0),r.point(-hc,i);else if(vc(t[0]-e[0])>1e-6){var a=t[0]0,i=vc(e)>1e-6;function a(t,n){return xc(t)*xc(n)>e}function o(t,n,r){var i=[1,0,0],a=eu(Jc(t),Jc(n)),o=tu(a,a),s=a[0],c=o-s*s;if(!c)return!r&&t;var u=e*o/c,l=-e*s/c,h=eu(i,a),f=ru(i,u);nu(f,ru(a,l));var d=h,p=tu(f,d),y=tu(d,d),g=p*p-y*(tu(f,f)-1);if(!(g<0)){var v=Sc(g),m=ru(d,(-p-v)/y);if(nu(m,f),m=Kc(m),!r)return m;var b,x=t[0],_=n[0],k=t[1],w=n[1];_0^m[1]<(vc(m[0]-x)<1e-6?k:w):k<=m[1]&&m[1]<=w:E>hc^(x<=m[0]&&m[0]<=_)){var C=ru(d,(-p+v)/y);return nu(C,f),[m,Kc(C)]}}}function s(e,n){var i=r?t:hc-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return _l(a,(function(t){var e,n,c,u,l;return{lineStart:function(){u=c=!1,l=1},point:function(h,f){var d,p=[h,f],y=a(h,f),g=r?y?0:s(h,f):y?s(h+(h<0?hc:-hc),f):0;if(!e&&(u=c=y)&&t.lineStart(),y!==c&&(!(d=o(e,p))||pl(e,d)||pl(p,d))&&(p[0]+=1e-6,p[1]+=1e-6,y=a(p[0],p[1])),y!==c)l=0,y?(t.lineStart(),d=o(p,e),t.point(d[0],d[1])):(d=o(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(i&&e&&r^y){var v;g&n||!(v=o(p,e,!0))||(l=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!y||e&&pl(e,p)||t.point(p[0],p[1]),e=p,c=y,n=g},lineEnd:function(){c&&t.lineEnd(),e=null},clean:function(){return l|(u&&c)<<1}}}),(function(e,r,i,a){ll(a,t,n,i,e,r)}),r?[0,-t]:[-hc,t-hc])};function Cl(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,u){var l=0,h=0;if(null==i||(l=o(i,s))!==(h=o(a,s))||c(i,a)<0^s>0)do{u.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==h);else u.point(a[0],a[1])}function o(r,i){return vc(r[0]-t)<1e-6?i>0?0:3:vc(r[0]-n)<1e-6?i>0?2:1:vc(r[1]-e)<1e-6?i>0?1:0:i>0?3:2}function s(t,e){return c(t.x,e.x)}function c(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var c,u,l,h,f,d,p,y,g,v,m,b=o,x=dl(),_={point:k,lineStart:function(){_.point=w,u&&u.push(l=[]);v=!0,g=!1,p=y=NaN},lineEnd:function(){c&&(w(h,f),d&&g&&x.rejoin(),c.push(x.result()));_.point=k,g&&b.lineEnd()},polygonStart:function(){b=x,c=[],u=[],m=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=u.length;nr&&(f-a)*(r-o)>(d-o)*(t-a)&&++e:d<=r&&(f-a)*(r-o)<(d-o)*(t-a)&&--e;return e}(),n=m&&e,i=(c=F(c)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&gl(c,s,e,a,o),o.polygonEnd());b=o,c=u=l=null}};function k(t,e){i(t,e)&&b.point(t,e)}function w(a,o){var s=i(a,o);if(u&&l.push([a,o]),v)h=a,f=o,d=s,v=!1,s&&(b.lineStart(),b.point(a,o));else if(s&&g)b.point(a,o);else{var c=[p=Math.max(-1e9,Math.min(1e9,p)),y=Math.max(-1e9,Math.min(1e9,y))],x=[a=Math.max(-1e9,Math.min(1e9,a)),o=Math.max(-1e9,Math.min(1e9,o))];!function(t,e,n,r,i,a){var o,s=t[0],c=t[1],u=0,l=1,h=e[0]-s,f=e[1]-c;if(o=n-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>l)return;o>u&&(u=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>u&&(u=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>l)return;o>u&&(u=o)}if(o=a-c,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>u&&(u=o)}else if(f>0){if(o0&&(t[0]=s+u*h,t[1]=c+u*f),l<1&&(e[0]=s+l*h,e[1]=c+l*f),!0}}}}}(c,x,t,e,n,r)?s&&(b.lineStart(),b.point(a,o),m=!1):(g||(b.lineStart(),b.point(c[0],c[1])),b.point(x[0],x[1]),s||b.lineEnd(),m=!1)}p=a,y=o,g=s}return _}}var Sl,Al,Ml,Ol=function(){var t,e,n,r=0,i=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=Cl(r,i,a,o)(e=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[r,i],[a,o]]}}},Bl=sc(),Nl={sphere:Nc,point:Nc,lineStart:function(){Nl.point=Ll,Nl.lineEnd=Dl},lineEnd:Nc,polygonStart:Nc,polygonEnd:Nc};function Dl(){Nl.point=Nl.lineEnd=Nc}function Ll(t,e){Sl=t*=gc,Al=Tc(e*=gc),Ml=xc(e),Nl.point=Il}function Il(t,e){t*=gc;var n=Tc(e*=gc),r=xc(e),i=vc(t-Sl),a=xc(i),o=r*Tc(i),s=Ml*n-Al*r*a,c=Al*n+Ml*r*a;Bl.add(bc(Sc(o*o+s*s),c)),Sl=t,Al=n,Ml=r}var Rl=function(t){return Bl.reset(),$c(t,Nl),+Bl},Fl=[null,null],Pl={type:"LineString",coordinates:Fl},jl=function(t,e){return Fl[0]=t,Fl[1]=e,Rl(Pl)},Yl={Feature:function(t,e){return Ul(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r0&&(i=jl(t[a],t[a-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<1e-12*i)return!0;n=r}return!1}function Wl(t,e){return!!xl(t.map(Vl),Hl(e))}function Vl(t){return(t=t.map(Hl)).pop(),t}function Hl(t){return[t[0]*gc,t[1]*gc]}var Gl=function(t,e){return(t&&Yl.hasOwnProperty(t.type)?Yl[t.type]:Ul)(t,e)};function Xl(t,e,n){var r=k(t,e-1e-6,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function Zl(t,e,n){var r=k(t,e-1e-6,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function Ql(){var t,e,n,r,i,a,o,s,c,u,l,h,f=10,d=f,p=90,y=360,g=2.5;function v(){return{type:"MultiLineString",coordinates:m()}}function m(){return k(_c(r/p)*p,n,p).map(l).concat(k(_c(s/y)*y,o,y).map(h)).concat(k(_c(e/f)*f,t,f).filter((function(t){return vc(t%p)>1e-6})).map(c)).concat(k(_c(a/d)*d,i,d).filter((function(t){return vc(t%y)>1e-6})).map(u))}return v.lines=function(){return m().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(h(o).slice(1),l(n).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),v.precision(g)):[[r,s],[n,o]]},v.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),a>i&&(n=a,a=i,i=n),v.precision(g)):[[e,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],y=+t[1],v):[p,y]},v.stepMinor=function(t){return arguments.length?(f=+t[0],d=+t[1],v):[f,d]},v.precision=function(f){return arguments.length?(g=+f,c=Xl(a,i,90),u=Zl(e,t,g),l=Xl(s,o,90),h=Zl(r,n,g),v):g},v.extentMajor([[-180,1e-6-90],[180,90-1e-6]]).extentMinor([[-180,-80-1e-6],[180,80+1e-6]])}function Kl(){return Ql()()}var Jl,th,eh,nh,rh=function(t,e){var n=t[0]*gc,r=t[1]*gc,i=e[0]*gc,a=e[1]*gc,o=xc(r),s=Tc(r),c=xc(a),u=Tc(a),l=o*xc(n),h=o*Tc(n),f=c*xc(i),d=c*Tc(i),p=2*Oc(Sc(Bc(a-r)+o*c*Bc(i-n))),y=Tc(p),g=p?function(t){var e=Tc(t*=p)/y,n=Tc(p-t)/y,r=n*l+e*f,i=n*h+e*d,a=n*s+e*u;return[bc(i,r)*yc,bc(a,Sc(r*r+i*i))*yc]}:function(){return[n*yc,r*yc]};return g.distance=p,g},ih=function(t){return t},ah=sc(),oh=sc(),sh={point:Nc,lineStart:Nc,lineEnd:Nc,polygonStart:function(){sh.lineStart=ch,sh.lineEnd=hh},polygonEnd:function(){sh.lineStart=sh.lineEnd=sh.point=Nc,ah.add(vc(oh)),oh.reset()},result:function(){var t=ah/2;return ah.reset(),t}};function ch(){sh.point=uh}function uh(t,e){sh.point=lh,Jl=eh=t,th=nh=e}function lh(t,e){oh.add(nh*t-eh*e),eh=t,nh=e}function hh(){lh(Jl,th)}var fh=sh,dh=1/0,ph=dh,yh=-dh,gh=yh;var vh,mh,bh,xh,_h={point:function(t,e){tyh&&(yh=t);egh&&(gh=e)},lineStart:Nc,lineEnd:Nc,polygonStart:Nc,polygonEnd:Nc,result:function(){var t=[[dh,ph],[yh,gh]];return yh=gh=-(ph=dh=1/0),t}},kh=0,wh=0,Eh=0,Th=0,Ch=0,Sh=0,Ah=0,Mh=0,Oh=0,Bh={point:Nh,lineStart:Dh,lineEnd:Rh,polygonStart:function(){Bh.lineStart=Fh,Bh.lineEnd=Ph},polygonEnd:function(){Bh.point=Nh,Bh.lineStart=Dh,Bh.lineEnd=Rh},result:function(){var t=Oh?[Ah/Oh,Mh/Oh]:Sh?[Th/Sh,Ch/Sh]:Eh?[kh/Eh,wh/Eh]:[NaN,NaN];return kh=wh=Eh=Th=Ch=Sh=Ah=Mh=Oh=0,t}};function Nh(t,e){kh+=t,wh+=e,++Eh}function Dh(){Bh.point=Lh}function Lh(t,e){Bh.point=Ih,Nh(bh=t,xh=e)}function Ih(t,e){var n=t-bh,r=e-xh,i=Sc(n*n+r*r);Th+=i*(bh+t)/2,Ch+=i*(xh+e)/2,Sh+=i,Nh(bh=t,xh=e)}function Rh(){Bh.point=Nh}function Fh(){Bh.point=jh}function Ph(){Yh(vh,mh)}function jh(t,e){Bh.point=Yh,Nh(vh=bh=t,mh=xh=e)}function Yh(t,e){var n=t-bh,r=e-xh,i=Sc(n*n+r*r);Th+=i*(bh+t)/2,Ch+=i*(xh+e)/2,Sh+=i,Ah+=(i=xh*t-bh*e)*(bh+t),Mh+=i*(xh+e),Oh+=3*i,Nh(bh=t,xh=e)}var zh=Bh;function Uh(t){this._context=t}Uh.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,pc)}},result:Nc};var $h,qh,Wh,Vh,Hh,Gh=sc(),Xh={point:Nc,lineStart:function(){Xh.point=Zh},lineEnd:function(){$h&&Qh(qh,Wh),Xh.point=Nc},polygonStart:function(){$h=!0},polygonEnd:function(){$h=null},result:function(){var t=+Gh;return Gh.reset(),t}};function Zh(t,e){Xh.point=Qh,qh=Vh=t,Wh=Hh=e}function Qh(t,e){Vh-=t,Hh-=e,Gh.add(Sc(Vh*Vh+Hh*Hh)),Vh=t,Hh=e}var Kh=Xh;function Jh(){this._string=[]}function tf(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Jh.prototype={_radius:4.5,_circle:tf(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=tf(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var ef=function(t,e){var n,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),$c(t,n(r))),r.result()}return a.area=function(t){return $c(t,n(fh)),fh.result()},a.measure=function(t){return $c(t,n(Kh)),Kh.result()},a.bounds=function(t){return $c(t,n(_h)),_h.result()},a.centroid=function(t){return $c(t,n(zh)),zh.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,ih):(t=e).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(e=null,new Jh):new Uh(e=t),"function"!=typeof i&&r.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(e)},nf=function(t){return{stream:rf(t)}};function rf(t){return function(e){var n=new af;for(var r in t)n[r]=t[r];return n.stream=e,n}}function af(){}function of(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),$c(n,t.stream(_h)),e(_h.result()),null!=r&&t.clipExtent(r),t}function sf(t,e,n){return of(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])}),n)}function cf(t,e,n){return sf(t,[[0,0],e],n)}function uf(t,e,n){return of(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])}),n)}function lf(t,e,n){return of(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])}),n)}af.prototype={constructor:af,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var hf=xc(30*gc),ff=function(t,e){return+e?function(t,e){function n(r,i,a,o,s,c,u,l,h,f,d,p,y,g){var v=u-r,m=l-i,b=v*v+m*m;if(b>4*e&&y--){var x=o+f,_=s+d,k=c+p,w=Sc(x*x+_*_+k*k),E=Oc(k/=w),T=vc(vc(k)-1)<1e-6||vc(a-h)<1e-6?(a+h)/2:bc(_,x),C=t(T,E),S=C[0],A=C[1],M=S-r,O=A-i,B=m*M-v*O;(B*B/b>e||vc((v*M+m*O)/b-.5)>.3||o*f+s*d+c*p2?t[2]%360*gc:0,S()):[g*yc,v*yc,m*yc]},T.angle=function(t){return arguments.length?(b=t%360*gc,S()):b*yc},T.precision=function(t){return arguments.length?(o=ff(s,E=t*t),A()):Sc(E)},T.fitExtent=function(t,e){return sf(T,t,e)},T.fitSize=function(t,e){return cf(T,t,e)},T.fitWidth=function(t,e){return uf(T,t,e)},T.fitHeight=function(t,e){return lf(T,t,e)},function(){return e=t.apply(this,arguments),T.invert=e.invert&&C,S()}}function mf(t){var e=0,n=hc/3,r=vf(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*gc,n=t[1]*gc):[e*yc,n*yc]},i}function bf(t,e){var n=Tc(t),r=(n+Tc(e))/2;if(vc(r)<1e-6)return function(t){var e=xc(t);function n(t,n){return[t*e,Tc(n)/e]}return n.invert=function(t,n){return[t/e,Oc(n*e)]},n}(t);var i=1+n*(2*r-n),a=Sc(i)/r;function o(t,e){var n=Sc(i-2*r*Tc(e))/r;return[n*Tc(t*=r),a-n*xc(t)]}return o.invert=function(t,e){var n=a-e;return[bc(t,vc(n))/r*Cc(n),Oc((i-(t*t+n*n)*r*r)/(2*r))]},o}var xf=function(){return mf(bf).scale(155.424).center([0,33.6442])},_f=function(){return xf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var kf=function(){var t,e,n,r,i,a,o=_f(),s=xf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=xf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function l(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(r.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,l}return l.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:o).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[o.stream(e=n),s.stream(n),c.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n0?e<1e-6-fc&&(e=1e-6-fc):e>fc-1e-6&&(e=fc-1e-6);var n=i/Ec(Nf(e),r);return[n*Tc(r*t),i-n*xc(r*t)]}return a.invert=function(t,e){var n=i-e,a=Cc(r)*Sc(t*t+n*n);return[bc(t,vc(n))/r*Cc(n),2*mc(Ec(i/a,1/r))-fc]},a}var Lf=function(){return mf(Df).scale(109.5).parallels([30,30])};function If(t,e){return[t,e]}If.invert=If;var Rf=function(){return gf(If).scale(152.63)};function Ff(t,e){var n=xc(t),r=t===e?Tc(t):(n-xc(e))/(e-t),i=n/r+t;if(vc(r)<1e-6)return If;function a(t,e){var n=i-e,a=r*t;return[n*Tc(a),i-n*xc(a)]}return a.invert=function(t,e){var n=i-e;return[bc(t,vc(n))/r*Cc(n),i-Cc(r)*Sc(t*t+n*n)]},a}var Pf=function(){return mf(Ff).scale(131.154).center([0,13.9389])},jf=1.340264,Yf=-.081106,zf=893e-6,Uf=.003796,$f=Sc(3)/2;function qf(t,e){var n=Oc($f*Tc(e)),r=n*n,i=r*r*r;return[t*xc(n)/($f*(jf+3*Yf*r+i*(7*zf+9*Uf*r))),n*(jf+Yf*r+i*(zf+Uf*r))]}qf.invert=function(t,e){for(var n,r=e,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=n=(r*(jf+Yf*i+a*(zf+Uf*i))-e)/(jf+3*Yf*i+a*(7*zf+9*Uf*i)))*r)*i*i,!(vc(n)<1e-12));++o);return[$f*t*(jf+3*Yf*i+a*(7*zf+9*Uf*i))/xc(r),Oc(Tc(r)/$f)]};var Wf=function(){return gf(qf).scale(177.158)};function Vf(t,e){var n=xc(e),r=xc(t)*n;return[n*Tc(t)/r,Tc(e)/r]}Vf.invert=Ef(mc);var Hf=function(){return gf(Vf).scale(144.049).clipAngle(60)};function Gf(t,e,n,r){return 1===t&&1===e&&0===n&&0===r?ih:rf({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}var Xf=function(){var t,e,n,r,i,a,o=1,s=0,c=0,u=1,l=1,h=ih,f=null,d=ih;function p(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=h(d(i=t))},postclip:function(r){return arguments.length?(d=r,f=t=e=n=null,p()):d},clipExtent:function(r){return arguments.length?(d=null==r?(f=t=e=n=null,ih):Cl(f=+r[0][0],t=+r[0][1],e=+r[1][0],n=+r[1][1]),p()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(h=Gf((o=+t)*u,o*l,s,c),p()):o},translate:function(t){return arguments.length?(h=Gf(o*u,o*l,s=+t[0],c=+t[1]),p()):[s,c]},reflectX:function(t){return arguments.length?(h=Gf(o*(u=t?-1:1),o*l,s,c),p()):u<0},reflectY:function(t){return arguments.length?(h=Gf(o*u,o*(l=t?-1:1),s,c),p()):l<0},fitExtent:function(t,e){return sf(a,t,e)},fitSize:function(t,e){return cf(a,t,e)},fitWidth:function(t,e){return uf(a,t,e)},fitHeight:function(t,e){return lf(a,t,e)}}};function Zf(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),e*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}Zf.invert=function(t,e){var n,r=e,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(vc(n)>1e-6&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};var Qf=function(){return gf(Zf).scale(175.295)};function Kf(t,e){return[xc(e)*Tc(t),Tc(e)]}Kf.invert=Ef(Oc);var Jf=function(){return gf(Kf).scale(249.5).clipAngle(90+1e-6)};function td(t,e){var n=xc(e),r=1+xc(t)*n;return[n*Tc(t)/r,Tc(e)/r]}td.invert=Ef((function(t){return 2*mc(t)}));var ed=function(){return gf(td).scale(250).clipAngle(142)};function nd(t,e){return[wc(Ac((fc+e)/2)),-t]}nd.invert=function(t,e){return[-e,2*mc(kc(t))-fc]};var rd=function(){var t=Bf(nd),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};function id(t,e){return t.parent===e.parent?1:2}function ad(t,e){return t+e.x}function od(t,e){return Math.max(t,e.y)}var sd=function(){var t=id,e=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter((function(e){var n=e.children;n?(e.x=function(t){return t.reduce(ad,0)/t.length}(n),e.y=function(t){return 1+t.reduce(od,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),u=s.x-t(s,c)/2,l=c.x+t(c,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-u)/(l-u)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i};function cd(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function ud(t,e){var n,r,i,a,o,s=new dd(t),c=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=ld);n=u.pop();)if(c&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)u.push(r=n.children[a]=new dd(i[a])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(fd)}function ld(t){return t.children}function hd(t){t.data=t.data.data}function fd(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function dd(t){this.data=t,this.depth=this.height=0,this.parent=null}dd.prototype=ud.prototype={constructor:dd,count:function(){return this.eachAfter(cd)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return ud(this).eachBefore(hd)}};var pd=Array.prototype.slice;var yd=function(t){for(var e,n,r=0,i=(t=function(t){for(var e,n,r=t.length;r;)n=Math.random()*r--|0,e=t[r],t[r]=t[n],t[n]=e;return t}(pd.call(t))).length,a=[];r0&&n*n>r*r+i*i}function bd(t,e){for(var n=0;n(o*=o)?(r=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-r*r)),n.x=t.x-r*s-a*c,n.y=t.y-r*c+a*s):(r=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-r*r)),n.x=e.x+r*s-a*c,n.y=e.y+r*c+a*s)):(n.x=e.x+n.r,n.y=e.y)}function Ed(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Td(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,a=(e.y*n.r+n.y*e.r)/r;return i*i+a*a}function Cd(t){this._=t,this.next=null,this.previous=null}function Sd(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,c,u,l,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;wd(n,e,r=t[2]),e=new Cd(e),n=new Cd(n),r=new Cd(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=Od(e),n):t},n.parentId=function(t){return arguments.length?(e=Od(t),n):e},n};function Vd(t,e){return t.parent===e.parent?1:2}function Hd(t){var e=t.children;return e?e[0]:t.t}function Gd(t){var e=t.children;return e?e[e.length-1]:t.t}function Xd(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Zd(t,e,n){return t.a.parent===e.parent?t.a:n}function Qd(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Qd.prototype=Object.create(dd.prototype);var Kd=function(){var t=Vd,e=1,n=1,r=null;function i(i){var c=function(t){for(var e,n,r,i,a,o=new Qd(t,0),s=[o];e=s.pop();)if(r=e._.children)for(e.children=new Array(a=r.length),i=a-1;i>=0;--i)s.push(n=e.children[i]=new Qd(r[i],i)),n.parent=e;return(o.parent=new Qd(null,0)).children=[o],o}(i);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)i.eachBefore(s);else{var u=i,l=i,h=i;i.eachBefore((function(t){t.xl.x&&(l=t),t.depth>h.depth&&(h=t)}));var f=u===l?1:t(u,l)/2,d=f-u.x,p=e/(l.x+f+d),y=n/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*y}))}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,a=e,o=e,s=n,c=a.parent.children[0],u=a.m,l=o.m,h=s.m,f=c.m;s=Gd(s),a=Hd(a),s&&a;)c=Hd(c),(o=Gd(o)).a=e,(i=s.z+h-a.z-u+t(s._,a._))>0&&(Xd(Zd(s,e,r),e,i),u+=i,l+=i),h+=s.m,u+=a.m,f+=c.m,l+=o.m;s&&!Gd(o)&&(o.t=s,o.m+=h-l),a&&!Hd(c)&&(c.t=a,c.m+=u-f,r=e)}return r}(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},Jd=function(t,e,n,r,i){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(i-n)/t.value;++sf&&(f=s),g=l*l*y,(d=Math.max(f/g,g/h))>p){l-=s;break}p=d}v.push(o={value:l,dice:c1?e:1)},n}(tp),rp=function(){var t=np,e=!1,n=1,r=1,i=[0],a=Bd,o=Bd,s=Bd,c=Bd,u=Bd;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(h),i=[0],e&&t.eachBefore(Pd),t}function h(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,h=e.x1-n,f=e.y1-n;h=n-1){var l=s[e];return l.x0=i,l.y0=a,l.x1=o,void(l.y1=c)}var h=u[e],f=r/2+h,d=e+1,p=n-1;for(;d>>1;u[y]c-a){var m=(i*v+o*g)/r;t(e,d,g,i,a,m,c),t(d,n,v,m,a,o,c)}else{var b=(a*v+c*g)/r;t(e,d,g,i,a,o,b),t(d,n,v,i,b,o,c)}}(0,c,t.value,e,n,r,i)},ap=function(t,e,n,r,i){(1&t.depth?Jd:jd)(t,e,n,r,i)},op=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,c,u,l,h=-1,f=o.length,d=t.value;++h1?e:1)},n}(tp),sp=function(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}},cp=function(t,e){var n=un(+t,+e);return function(t){var e=n(t);return e-360*Math.floor(e/360)}},up=function(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}},lp=Math.SQRT2;function hp(t){return((t=Math.exp(t))+1/t)/2}var fp=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],s=e[0],c=e[1],u=e[2],l=s-i,h=c-a,f=l*l+h*h;if(f<1e-12)r=Math.log(u/o)/lp,n=function(t){return[i+t*l,a+t*h,o*Math.exp(lp*t*r)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),y=(u*u-o*o-4*f)/(2*u*2*d),g=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(y*y+1)-y);r=(v-g)/lp,n=function(t){var e,n=t*r,s=hp(g),c=o/(2*d)*(s*(e=lp*n+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+c*l,a+c*h,o*s/hp(lp*n+g)]}}return n.duration=1e3*r,n};function dp(t){return function(e,n){var r=t((e=tn(e)).h,(n=tn(n)).h),i=hn(e.s,n.s),a=hn(e.l,n.l),o=hn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var pp=dp(un),yp=dp(hn);function gp(t,e){var n=hn((t=pa(t)).l,(e=pa(e)).l),r=hn(t.a,e.a),i=hn(t.b,e.b),a=hn(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=r(e),t.b=i(e),t.opacity=a(e),t+""}}function vp(t){return function(e,n){var r=t((e=ka(e)).h,(n=ka(n)).h),i=hn(e.c,n.c),a=hn(e.l,n.l),o=hn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var mp=vp(un),bp=vp(hn);function xp(t){return function e(n){function r(e,r){var i=t((e=Oa(e)).h,(r=Oa(r)).h),a=hn(e.s,r.s),o=hn(e.l,r.l),s=hn(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=a(t),e.l=o(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,r.gamma=e,r}(1)}var _p=xp(un),kp=xp(hn);function wp(t,e){for(var n=0,r=e.length-1,i=e[0],a=new Array(r<0?0:r);n1&&(e=t[a[o-2]],n=t[a[o-1]],r=t[s],(n[0]-e[0])*(r[1]-e[1])-(n[1]-e[1])*(r[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}var Mp=function(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e=0;--e)u.push(t[r[a[e]][2]]);for(e=+s;es!=u>s&&o<(c-n)*(s-r)/(u-r)+n&&(l=!l),c=n,u=r;return l},Bp=function(t){for(var e,n,r=-1,i=t.length,a=t[i-1],o=a[0],s=a[1],c=0;++r1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Np),Ip=function t(e){function n(){var t=Lp.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(Np),Rp=function t(e){function n(t){return function(){for(var n=0,r=0;rr&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function ty(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?ey:ty,i=a=null,h}function h(e){return isNaN(e=+e)?n:(i||(i=r(o.map(t),s,c)))(t(u(e)))}return h.invert=function(n){return u(e((a||(a=r(s,o.map(t),_n)))(n)))},h.domain=function(t){return arguments.length?(o=Up.call(t,Xp),u===Qp||(u=Jp(o)),l()):o.slice()},h.range=function(t){return arguments.length?(s=$p.call(t),l()):s.slice()},h.rangeRound=function(t){return s=$p.call(t),c=up,l()},h.clamp=function(t){return arguments.length?(u=t?Jp(o):Qp,h):u!==Qp},h.interpolate=function(t){return arguments.length?(c=t,l()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,l()}}function iy(t,e){return ry()(t,e)}var ay=function(t,e,n,r){var i,a=A(t,e,n);switch((r=Ws(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=ac(a,o))||(r.precision=i),Zs(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=oc(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=ic(a))||(r.precision=i-2*("%"===r.type))}return Xs(r)};function oy(t){var e=t.domain;return t.ticks=function(t){var n=e();return C(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return ay(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,s=i[a],c=i[o];return c0?r=S(s=Math.floor(s/r)*r,c=Math.ceil(c/r)*r,n):r<0&&(r=S(s=Math.ceil(s*r)/r,c=Math.floor(c*r)/r,n)),r>0?(i[a]=Math.floor(s/r)*r,i[o]=Math.ceil(c/r)*r,e(i)):r<0&&(i[a]=Math.ceil(s*r)/r,i[o]=Math.floor(c*r)/r,e(i)),t},t}function sy(){var t=iy(Qp,Qp);return t.copy=function(){return ny(t,sy())},jp.apply(t,arguments),oy(t)}function cy(t){var e;function n(t){return isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Up.call(e,Xp),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return cy(t).unknown(e)},t=arguments.length?Up.call(t,Xp):[0,1],oy(n)}var uy=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o0){for(;fc)break;y.push(h)}}else for(;f=1;--l)if(!((h=u*l)c)break;y.push(h)}}else y=C(f,d,Math.min(d-f,p)).map(n);return r?y.reverse():y},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=Xs(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/n(Math.round(e(t)));return r*a0?i[r-1]:e[0],r=r?[i[r-1],n]:[i[o-1],i[o]]},o.unknown=function(e){return arguments.length?(t=e,o):o},o.thresholds=function(){return i.slice()},o.copy=function(){return My().domain([e,n]).range(a).unknown(t)},jp.apply(oy(o),arguments)}function Oy(){var t,e=[.5],n=[0,1],r=1;function i(i){return i<=i?n[c(e,i,0,r)]:t}return i.domain=function(t){return arguments.length?(e=$p.call(t),r=Math.min(e.length,n.length-1),i):e.slice()},i.range=function(t){return arguments.length?(n=$p.call(t),r=Math.min(e.length,n.length-1),i):n.slice()},i.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return Oy().domain(e).range(n).unknown(t)},jp.apply(i,arguments)}var By=new Date,Ny=new Date;function Dy(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return By.setTime(+e),Ny.setTime(+r),t(By),t(Ny),Math.floor(n(By,Ny))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Ly=Dy((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Ly.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Dy((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Iy=Ly,Ry=Ly.range,Fy=Dy((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),Py=Fy,jy=Fy.range;function Yy(t){return Dy((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var zy=Yy(0),Uy=Yy(1),$y=Yy(2),qy=Yy(3),Wy=Yy(4),Vy=Yy(5),Hy=Yy(6),Gy=zy.range,Xy=Uy.range,Zy=$y.range,Qy=qy.range,Ky=Wy.range,Jy=Vy.range,tg=Hy.range,eg=Dy((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),ng=eg,rg=eg.range,ig=Dy((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),ag=ig,og=ig.range,sg=Dy((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),cg=sg,ug=sg.range,lg=Dy((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),hg=lg,fg=lg.range,dg=Dy((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));dg.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Dy((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):dg:null};var pg=dg,yg=dg.range;function gg(t){return Dy((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var vg=gg(0),mg=gg(1),bg=gg(2),xg=gg(3),_g=gg(4),kg=gg(5),wg=gg(6),Eg=vg.range,Tg=mg.range,Cg=bg.range,Sg=xg.range,Ag=_g.range,Mg=kg.range,Og=wg.range,Bg=Dy((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),Ng=Bg,Dg=Bg.range,Lg=Dy((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));Lg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Dy((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var Ig=Lg,Rg=Lg.range;function Fg(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Pg(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function jg(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Yg(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,c=t.shortMonths,u=Kg(i),l=Jg(i),h=Kg(a),f=Jg(a),d=Kg(o),p=Jg(o),y=Kg(s),g=Jg(s),v=Kg(c),m=Jg(c),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:xv,e:xv,f:Tv,H:_v,I:kv,j:wv,L:Ev,m:Cv,M:Sv,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:em,s:nm,S:Av,u:Mv,U:Ov,V:Bv,w:Nv,W:Dv,x:null,X:null,y:Lv,Y:Iv,Z:Rv,"%":tm},x={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:Fv,e:Fv,f:Uv,H:Pv,I:jv,j:Yv,L:zv,m:$v,M:qv,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:em,s:nm,S:Wv,u:Vv,U:Hv,V:Gv,w:Xv,W:Zv,x:null,X:null,y:Qv,Y:Kv,Z:Jv,"%":tm},_={a:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=f[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=g[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:lv,e:lv,f:gv,H:fv,I:fv,j:hv,L:yv,m:uv,M:dv,p:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.p=l[r[0].toLowerCase()],n+r[0].length):-1},q:cv,Q:mv,s:bv,S:pv,u:ev,U:nv,V:rv,w:tv,W:iv,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:ov,Y:av,Z:sv,"%":vv};function k(t,e){return function(n){var r,i,a,o=[],s=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=Pg(jg(a.y,0,1))).getUTCDay(),r=i>4||0===i?mg.ceil(r):mg(r),r=Ng.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=Fg(jg(a.y,0,1))).getDay(),r=i>4||0===i?Uy.ceil(r):Uy(r),r=ng.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?Pg(jg(a.y,0,1)).getUTCDay():Fg(jg(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Pg(a)):Fg(a)}}function E(t,e,n,r){for(var i,a,o=0,s=e.length,c=n.length;o=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=_[i in Vg?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return(b.x=k(n,b),b.X=k(r,b),b.c=k(e,b),x.x=k(n,x),x.X=k(r,x),x.c=k(e,x),{format:function(t){var e=k(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}})}var zg,Ug,$g,qg,Wg,Vg={"-":"",_:" ",0:"0"},Hg=/^\s*\d+/,Gg=/^%/,Xg=/[\\^$*+?|[\]().{}]/g;function Zg(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a68?1900:2e3),n+r[0].length):-1}function sv(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function cv(t,e,n){var r=Hg.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function uv(t,e,n){var r=Hg.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function lv(t,e,n){var r=Hg.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function hv(t,e,n){var r=Hg.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function fv(t,e,n){var r=Hg.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function dv(t,e,n){var r=Hg.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function pv(t,e,n){var r=Hg.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function yv(t,e,n){var r=Hg.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function gv(t,e,n){var r=Hg.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function vv(t,e,n){var r=Gg.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function mv(t,e,n){var r=Hg.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function bv(t,e,n){var r=Hg.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function xv(t,e){return Zg(t.getDate(),e,2)}function _v(t,e){return Zg(t.getHours(),e,2)}function kv(t,e){return Zg(t.getHours()%12||12,e,2)}function wv(t,e){return Zg(1+ng.count(Iy(t),t),e,3)}function Ev(t,e){return Zg(t.getMilliseconds(),e,3)}function Tv(t,e){return Ev(t,e)+"000"}function Cv(t,e){return Zg(t.getMonth()+1,e,2)}function Sv(t,e){return Zg(t.getMinutes(),e,2)}function Av(t,e){return Zg(t.getSeconds(),e,2)}function Mv(t){var e=t.getDay();return 0===e?7:e}function Ov(t,e){return Zg(zy.count(Iy(t)-1,t),e,2)}function Bv(t,e){var n=t.getDay();return t=n>=4||0===n?Wy(t):Wy.ceil(t),Zg(Wy.count(Iy(t),t)+(4===Iy(t).getDay()),e,2)}function Nv(t){return t.getDay()}function Dv(t,e){return Zg(Uy.count(Iy(t)-1,t),e,2)}function Lv(t,e){return Zg(t.getFullYear()%100,e,2)}function Iv(t,e){return Zg(t.getFullYear()%1e4,e,4)}function Rv(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Zg(e/60|0,"0",2)+Zg(e%60,"0",2)}function Fv(t,e){return Zg(t.getUTCDate(),e,2)}function Pv(t,e){return Zg(t.getUTCHours(),e,2)}function jv(t,e){return Zg(t.getUTCHours()%12||12,e,2)}function Yv(t,e){return Zg(1+Ng.count(Ig(t),t),e,3)}function zv(t,e){return Zg(t.getUTCMilliseconds(),e,3)}function Uv(t,e){return zv(t,e)+"000"}function $v(t,e){return Zg(t.getUTCMonth()+1,e,2)}function qv(t,e){return Zg(t.getUTCMinutes(),e,2)}function Wv(t,e){return Zg(t.getUTCSeconds(),e,2)}function Vv(t){var e=t.getUTCDay();return 0===e?7:e}function Hv(t,e){return Zg(vg.count(Ig(t)-1,t),e,2)}function Gv(t,e){var n=t.getUTCDay();return t=n>=4||0===n?_g(t):_g.ceil(t),Zg(_g.count(Ig(t),t)+(4===Ig(t).getUTCDay()),e,2)}function Xv(t){return t.getUTCDay()}function Zv(t,e){return Zg(mg.count(Ig(t)-1,t),e,2)}function Qv(t,e){return Zg(t.getUTCFullYear()%100,e,2)}function Kv(t,e){return Zg(t.getUTCFullYear()%1e4,e,4)}function Jv(){return"+0000"}function tm(){return"%"}function em(t){return+t}function nm(t){return Math.floor(+t/1e3)}function rm(t){return zg=Yg(t),Ug=zg.format,$g=zg.parse,qg=zg.utcFormat,Wg=zg.utcParse,zg}rm({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 im(t){return new Date(t)}function am(t){return t instanceof Date?+t:+new Date(+t)}function om(t,e,n,r,a,o,s,c,u){var l=iy(Qp,Qp),h=l.invert,f=l.domain,d=u(".%L"),p=u(":%S"),y=u("%I:%M"),g=u("%I %p"),v=u("%a %d"),m=u("%b %d"),b=u("%B"),x=u("%Y"),_=[[s,1,1e3],[s,5,5e3],[s,15,15e3],[s,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[a,1,36e5],[a,3,108e5],[a,6,216e5],[a,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function k(i){return(s(i)1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Gb.h=360*t-100,Gb.s=1.5-1.5*e,Gb.l=.8-.9*e,Gb+""},Zb=He(),Qb=Math.PI/3,Kb=2*Math.PI/3,Jb=function(t){var e;return t=(.5-t)*Math.PI,Zb.r=255*(e=Math.sin(t))*e,Zb.g=255*(e=Math.sin(t+Qb))*e,Zb.b=255*(e=Math.sin(t+Kb))*e,Zb+""},tx=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"};function ex(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var nx=ex(Nm("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),rx=ex(Nm("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),ix=ex(Nm("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),ax=ex(Nm("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),ox=function(t){return ke(ne(t).call(document.documentElement))},sx=0;function cx(){return new ux}function ux(){this._="@"+(++sx).toString(36)}ux.prototype=cx.prototype={constructor:ux,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var lx=function(t){return"string"==typeof t?new be([document.querySelectorAll(t)],[document.documentElement]):new be([null==t?[]:t],me)},hx=function(t,e){null==e&&(e=Mn().touches);for(var n=0,r=e?e.length:0,i=new Array(r);n1?0:t<-1?xx:Math.acos(t)}function Ex(t){return t>=1?_x:t<=-1?-_x:Math.asin(t)}function Tx(t){return t.innerRadius}function Cx(t){return t.outerRadius}function Sx(t){return t.startAngle}function Ax(t){return t.endAngle}function Mx(t){return t&&t.padAngle}function Ox(t,e,n,r,i,a,o,s){var c=n-t,u=r-e,l=o-i,h=s-a,f=h*c-l*u;if(!(f*f<1e-12))return[t+(f=(l*(e-a)-h*(t-i))/f)*c,e+f*u]}function Bx(t,e,n,r,i,a,o){var s=t-n,c=e-r,u=(o?a:-a)/bx(s*s+c*c),l=u*c,h=-u*s,f=t+l,d=e+h,p=n+l,y=r+h,g=(f+p)/2,v=(d+y)/2,m=p-f,b=y-d,x=m*m+b*b,_=i-a,k=f*y-p*d,w=(b<0?-1:1)*bx(gx(0,_*_*x-k*k)),E=(k*b-m*w)/x,T=(-k*m-b*w)/x,C=(k*b+m*w)/x,S=(-k*m+b*w)/x,A=E-g,M=T-v,O=C-g,B=S-v;return A*A+M*M>O*O+B*B&&(E=C,T=S),{cx:E,cy:T,x01:-l,y01:-h,x11:E*(i/_-1),y11:T*(i/_-1)}}var Nx=function(){var t=Tx,e=Cx,n=fx(0),r=null,i=Sx,a=Ax,o=Mx,s=null;function c(){var c,u,l=+t.apply(this,arguments),h=+e.apply(this,arguments),f=i.apply(this,arguments)-_x,d=a.apply(this,arguments)-_x,p=dx(d-f),y=d>f;if(s||(s=c=Ui()),h1e-12)if(p>kx-1e-12)s.moveTo(h*yx(f),h*mx(f)),s.arc(0,0,h,f,d,!y),l>1e-12&&(s.moveTo(l*yx(d),l*mx(d)),s.arc(0,0,l,d,f,y));else{var g,v,m=f,b=d,x=f,_=d,k=p,w=p,E=o.apply(this,arguments)/2,T=E>1e-12&&(r?+r.apply(this,arguments):bx(l*l+h*h)),C=vx(dx(h-l)/2,+n.apply(this,arguments)),S=C,A=C;if(T>1e-12){var M=Ex(T/l*mx(E)),O=Ex(T/h*mx(E));(k-=2*M)>1e-12?(x+=M*=y?1:-1,_-=M):(k=0,x=_=(f+d)/2),(w-=2*O)>1e-12?(m+=O*=y?1:-1,b-=O):(w=0,m=b=(f+d)/2)}var B=h*yx(m),N=h*mx(m),D=l*yx(_),L=l*mx(_);if(C>1e-12){var I,R=h*yx(b),F=h*mx(b),P=l*yx(x),j=l*mx(x);if(p1e-12?A>1e-12?(g=Bx(P,j,B,N,h,A,y),v=Bx(R,F,D,L,h,A,y),s.moveTo(g.cx+g.x01,g.cy+g.y01),A1e-12&&k>1e-12?S>1e-12?(g=Bx(D,L,R,F,l,-S,y),v=Bx(B,N,P,j,l,-S,y),s.lineTo(g.cx+g.x01,g.cy+g.y01),S=l;--h)s.point(g[h],v[h]);s.lineEnd(),s.areaEnd()}y&&(g[u]=+t(f,u,c),v[u]=+n(f,u,c),s.point(e?+e(f,u,c):g[u],r?+r(f,u,c):v[u]))}if(d)return s=null,d+""||null}function u(){return Fx().defined(i).curve(o).context(a)}return c.x=function(n){return arguments.length?(t="function"==typeof n?n:fx(+n),e=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:fx(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),r=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),c):n},c.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:fx(+t),c):r},c.lineX0=c.lineY0=function(){return u().x(t).y(n)},c.lineY1=function(){return u().x(t).y(r)},c.lineX1=function(){return u().x(e).y(n)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:fx(!!t),c):i},c.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),c):o},c.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),c):a},c},jx=function(t,e){return et?1:e>=t?0:NaN},Yx=function(t){return t},zx=function(){var t=Yx,e=jx,n=null,r=fx(0),i=fx(kx),a=fx(0);function o(o){var s,c,u,l,h,f=o.length,d=0,p=new Array(f),y=new Array(f),g=+r.apply(this,arguments),v=Math.min(kx,Math.max(-kx,i.apply(this,arguments)-g)),m=Math.min(Math.abs(v)/f,a.apply(this,arguments)),b=m*(v<0?-1:1);for(s=0;s0&&(d+=h);for(null!=e?p.sort((function(t,n){return e(y[t],y[n])})):null!=n&&p.sort((function(t,e){return n(o[t],o[e])})),s=0,u=d?(v-f*b)/d:0;s0?h*u:0)+b,y[c]={data:o[c],index:s,value:h,startAngle:g,endAngle:l,padAngle:m};return y}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:fx(+t),o):a},o},Ux=qx(Lx);function $x(t){this._curve=t}function qx(t){function e(e){return new $x(t(e))}return e._curve=t,e}function Wx(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(qx(t)):e()._curve},t}$x.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var Vx=function(){return Wx(Fx().curve(Ux))},Hx=function(){var t=Px().curve(Ux),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Wx(n())},delete t.lineX0,t.lineEndAngle=function(){return Wx(r())},delete t.lineX1,t.lineInnerRadius=function(){return Wx(i())},delete t.lineY0,t.lineOuterRadius=function(){return Wx(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(qx(t)):e()._curve},t},Gx=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},Xx=Array.prototype.slice;function Zx(t){return t.source}function Qx(t){return t.target}function Kx(t){var e=Zx,n=Qx,r=Ix,i=Rx,a=null;function o(){var o,s=Xx.call(arguments),c=e.apply(this,s),u=n.apply(this,s);if(a||(a=o=Ui()),t(a,+r.apply(this,(s[0]=c,s)),+i.apply(this,s),+r.apply(this,(s[0]=u,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),o):r},o.y=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function Jx(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function t_(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function e_(t,e,n,r,i){var a=Gx(e,n),o=Gx(e,n=(n+i)/2),s=Gx(r,n),c=Gx(r,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],c[0],c[1])}function n_(){return Kx(Jx)}function r_(){return Kx(t_)}function i_(){var t=Kx(e_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var a_={draw:function(t,e){var n=Math.sqrt(e/xx);t.moveTo(n,0),t.arc(0,0,n,0,kx)}},o_={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},s_=Math.sqrt(1/3),c_=2*s_,u_={draw:function(t,e){var n=Math.sqrt(e/c_),r=n*s_;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},l_=Math.sin(xx/10)/Math.sin(7*xx/10),h_=Math.sin(kx/10)*l_,f_=-Math.cos(kx/10)*l_,d_={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=h_*n,i=f_*n;t.moveTo(0,-n),t.lineTo(r,i);for(var a=1;a<5;++a){var o=kx*a/5,s=Math.cos(o),c=Math.sin(o);t.lineTo(c*n,-s*n),t.lineTo(s*r-c*i,c*r+s*i)}t.closePath()}},p_={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},y_=Math.sqrt(3),g_={draw:function(t,e){var n=-Math.sqrt(e/(3*y_));t.moveTo(0,2*n),t.lineTo(-y_*n,-n),t.lineTo(y_*n,-n),t.closePath()}},v_=Math.sqrt(3)/2,m_=1/Math.sqrt(12),b_=3*(m_/2+1),x_={draw:function(t,e){var n=Math.sqrt(e/b_),r=n/2,i=n*m_,a=r,o=n*m_+n,s=-a,c=o;t.moveTo(r,i),t.lineTo(a,o),t.lineTo(s,c),t.lineTo(-.5*r-v_*i,v_*r+-.5*i),t.lineTo(-.5*a-v_*o,v_*a+-.5*o),t.lineTo(-.5*s-v_*c,v_*s+-.5*c),t.lineTo(-.5*r+v_*i,-.5*i-v_*r),t.lineTo(-.5*a+v_*o,-.5*o-v_*a),t.lineTo(-.5*s+v_*c,-.5*c-v_*s),t.closePath()}},__=[a_,o_,u_,p_,d_,g_,x_],k_=function(){var t=fx(a_),e=fx(64),n=null;function r(){var r;if(n||(n=r=Ui()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(e){return arguments.length?(t="function"==typeof e?e:fx(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:fx(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r},w_=function(){};function E_(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function T_(t){this._context=t}T_.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:E_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);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:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var C_=function(t){return new T_(t)};function S_(t){this._context=t}S_.prototype={areaStart:w_,areaEnd:w_,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)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var A_=function(t){return new S_(t)};function M_(t){this._context=t}M_.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var O_=function(t){return new M_(t)};function B_(t,e){this._basis=new T_(t),this._beta=e}B_.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,s=e[n]-a,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*o),this._beta*e[c]+(1-this._beta)*(a+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var N_=function t(e){function n(t){return 1===e?new T_(t):new B_(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function D_(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function L_(t,e){this._context=t,this._k=(1-e)/6}L_.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:D_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:D_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var I_=function t(e){function n(t){return new L_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function R_(t,e){this._context=t,this._k=(1-e)/6}R_.prototype={areaStart:w_,areaEnd:w_,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)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:D_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var F_=function t(e){function n(t){return new R_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function P_(t,e){this._context=t,this._k=(1-e)/6}P_.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,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:D_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var j_=function t(e){function n(t){return new P_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Y_(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>1e-12){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function z_(t,e){this._context=t,this._alpha=e}z_.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)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Y_(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var U_=function t(e){function n(t){return e?new z_(t,e):new L_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function $_(t,e){this._context=t,this._alpha=e}$_.prototype={areaStart:w_,areaEnd:w_,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)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Y_(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var q_=function t(e){function n(t){return e?new $_(t,e):new R_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function W_(t,e){this._context=t,this._alpha=e}W_.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,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:Y_(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var V_=function t(e){function n(t){return e?new W_(t,e):new P_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function H_(t){this._context=t}H_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};var G_=function(t){return new H_(t)};function X_(t){return t<0?-1:1}function Z_(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(X_(a)+X_(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Q_(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function K_(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function J_(t){this._context=t}function tk(t){this._context=new ek(t)}function ek(t){this._context=t}function nk(t){return new J_(t)}function rk(t){return new tk(t)}function ik(t){this._context=t}function ak(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var ck=function(t){return new sk(t,.5)};function uk(t){return new sk(t,0)}function lk(t){return new sk(t,1)}var hk=function(t,e){if((i=t.length)>1)for(var n,r,i,a=1,o=t[e[0]],s=o.length;a=0;)n[e]=e;return n};function dk(t,e){return t[e]}var pk=function(){var t=fx([]),e=fk,n=hk,r=dk;function i(i){var a,o,s=t.apply(this,arguments),c=i.length,u=s.length,l=new Array(u);for(a=0;a0){for(var n,r,i,a=0,o=t[0].length;a0)for(var n,r,i,a,o,s,c=0,u=t[e[0]].length;c0?(r[0]=a,r[1]=a+=i):i<0?(r[1]=o,r[0]=o+=i):(r[0]=0,r[1]=i)},vk=function(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],a=i.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,a=0,o=1;oa&&(a=e,r=n);return r}var _k=function(t){var e=t.map(kk);return fk(t).sort((function(t,n){return e[t]-e[n]}))};function kk(t){for(var e,n=0,r=-1,i=t.length;++r0)){if(a/=f,f<0){if(a0){if(a>h)return;a>l&&(l=a)}if(a=r-c,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>l&&(l=a)}else if(f>0){if(a0)){if(a/=d,d<0){if(a0){if(a>h)return;a>l&&(l=a)}if(a=i-u,d||!(a<0)){if(a/=d,d<0){if(a>h)return;a>l&&(l=a)}else if(d>0){if(a0||h<1)||(l>0&&(t[0]=[c+l*f,u+l*d]),h<1&&(t[1]=[c+h*f,u+h*d]),!0)}}}}}function Uk(t,e,n,r,i){var a=t[1];if(a)return!0;var o,s,c=t[0],u=t.left,l=t.right,h=u[0],f=u[1],d=l[0],p=l[1],y=(h+d)/2,g=(f+p)/2;if(p===f){if(y=r)return;if(h>d){if(c){if(c[1]>=i)return}else c=[y,n];a=[y,i]}else{if(c){if(c[1]1)if(h>d){if(c){if(c[1]>=i)return}else c=[(n-s)/o,n];a=[(i-s)/o,i]}else{if(c){if(c[1]=r)return}else c=[e,o*e+s];a=[r,o*r+s]}else{if(c){if(c[0]=-lw)){var d=c*c+u*u,p=l*l+h*h,y=(h*d-u*p)/f,g=(c*p-l*d)/f,v=Hk.pop()||new Gk;v.arc=t,v.site=i,v.x=y+o,v.y=(v.cy=g+s)+Math.sqrt(y*y+g*g),t.circle=v;for(var m=null,b=sw._;b;)if(v.yuw)s=s.L;else{if(!((i=a-iw(s,o))>uw)){r>-uw?(e=s.P,n=s):i>-uw?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){ow[t.index]={site:t,halfedges:[]}}(t);var c=Jk(t);if(aw.insert(e,c),e||n){if(e===n)return Zk(e),n=Jk(e.site),aw.insert(c,n),c.edge=n.edge=Pk(e.site,c.site),Xk(e),void Xk(n);if(n){Zk(e),Zk(n);var u=e.site,l=u[0],h=u[1],f=t[0]-l,d=t[1]-h,p=n.site,y=p[0]-l,g=p[1]-h,v=2*(f*g-d*y),m=f*f+d*d,b=y*y+g*g,x=[(g*m-d*b)/v+l,(f*b-y*m)/v+h];Yk(n.edge,u,p,x),c.edge=Pk(u,t,null,x),n.edge=Pk(t,p,null,x),Xk(e),Xk(n)}else c.edge=Pk(e.site,c.site)}}function rw(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],c=n[1],u=c-e;if(!u)return s;var l=s-r,h=1/a-1/u,f=l/u;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-a/2)))/h+r:(r+s)/2}function iw(t,e){var n=t.N;if(n)return rw(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var aw,ow,sw,cw,uw=1e-6,lw=1e-12;function hw(t,e){return e[1]-t[1]||e[0]-t[0]}function fw(t,e){var n,r,i,a=t.sort(hw).pop();for(cw=[],ow=new Array(t.length),aw=new Fk,sw=new Fk;;)if(i=Vk,a&&(!i||a[1]uw||Math.abs(i[0][1]-i[1][1])>uw)||delete cw[a]}(o,s,c,u),function(t,e,n,r){var i,a,o,s,c,u,l,h,f,d,p,y,g=ow.length,v=!0;for(i=0;iuw||Math.abs(y-f)>uw)&&(c.splice(s,0,cw.push(jk(o,d,Math.abs(p-t)uw?[t,Math.abs(h-t)uw?[Math.abs(f-r)uw?[n,Math.abs(h-n)uw?[Math.abs(f-e)=s)return null;var c=t-i.site[0],u=e-i.site[1],l=c*c+u*u;do{i=a.cells[r=o],o=null,i.halfedges.forEach((function(n){var r=a.edges[n],s=r.left;if(s!==i.site&&s||(s=r.right)){var c=t-s[0],u=e-s[1],h=c*c+u*u;hr?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}var Sw=function(){var t,e,n=_w,r=kw,i=Cw,a=Ew,o=Tw,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,l=fp,h=lt("start","zoom","end"),f=0;function d(t){t.property("__zoom",ww).on("wheel.zoom",x).on("mousedown.zoom",_).on("dblclick.zoom",k).filter(o).on("touchstart.zoom",w).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",T).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new gw(e,t.x,t.y)}function y(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new gw(t.k,r,i)}function g(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function v(t,e,n){t.on("start.zoom",(function(){m(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){m(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,a=m(t,i),o=r.apply(t,i),s=null==n?g(o):"function"==typeof n?n.apply(t,i):n,c=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,i):e,f=l(u.invert(s).concat(c/u.k),h.invert(s).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=f(t),n=c/e[2];t=new gw(n,s[0]-e[0]*n,s[1]-e[1]*n)}a.zoom(null,t)}}))}function m(t,e,n){return!n&&t.__zooming||new b(t,e)}function b(t,e){this.that=t,this.args=e,this.active=0,this.extent=r.apply(t,e),this.taps=0}function x(){if(n.apply(this,arguments)){var t=m(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,a.apply(this,arguments)))),o=Nn(this);if(t.wheel)t.mouse[0][0]===o[0]&&t.mouse[0][1]===o[1]||(t.mouse[1]=e.invert(t.mouse[0]=o)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[o,e.invert(o)],or(this),t.start()}xw(),t.wheel=setTimeout(u,150),t.zoom("mouse",i(y(p(e,r),t.mouse[0],t.mouse[1]),t.extent,c))}function u(){t.wheel=null,t.end()}}function _(){if(!e&&n.apply(this,arguments)){var t=m(this,arguments,!0),r=ke(ce.view).on("mousemove.zoom",u,!0).on("mouseup.zoom",l,!0),a=Nn(this),o=ce.clientX,s=ce.clientY;Te(ce.view),bw(),t.mouse=[a,this.__zoom.invert(a)],or(this),t.start()}function u(){if(xw(),!t.moved){var e=ce.clientX-o,n=ce.clientY-s;t.moved=e*e+n*n>f}t.zoom("mouse",i(y(t.that.__zoom,t.mouse[0]=Nn(t.that),t.mouse[1]),t.extent,c))}function l(){r.on("mousemove.zoom mouseup.zoom",null),Ce(ce.view,t.moved),xw(),t.end()}}function k(){if(n.apply(this,arguments)){var t=this.__zoom,e=Nn(this),a=t.invert(e),o=t.k*(ce.shiftKey?.5:2),s=i(y(p(t,o),e,a),r.apply(this,arguments),c);xw(),u>0?ke(this).transition().duration(u).call(v,s,e):ke(this).call(d.transform,s)}}function w(){if(n.apply(this,arguments)){var e,r,i,a,o=ce.touches,s=o.length,c=m(this,arguments,ce.changedTouches.length===s);for(bw(),r=0;rh&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},M={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),58;case 1:return this.begin("type_directive"),59;case 2:return this.popState(),this.begin("arg_directive"),14;case 3:return this.popState(),this.popState(),61;case 4:return 60;case 5:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return this.begin("ID"),16;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),48;case 13:return this.popState(),this.popState(),this.begin("LINE"),18;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),27;case 16:return this.begin("LINE"),29;case 17:return this.begin("LINE"),30;case 18:return this.begin("LINE"),31;case 19:return this.begin("LINE"),36;case 20:return this.begin("LINE"),33;case 21:return this.begin("LINE"),35;case 22:return this.popState(),19;case 23:return 28;case 24:return 43;case 25:return 44;case 26:return 39;case 27:return 37;case 28:return this.begin("ID"),22;case 29:return this.begin("ID"),23;case 30:return 25;case 31:return 7;case 32:return 21;case 33:return 42;case 34:return 5;case 35:return e.yytext=e.yytext.trim(),48;case 36:return 51;case 37:return 52;case 38:return 49;case 39:return 50;case 40:return 53;case 41:return 54;case 42:return 55;case 43:return 56;case 44:return 57;case 45:return 46;case 46:return 47;case 47:return 5;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\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,/^(?:and\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\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:{open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,12],inclusive:!1},ALIAS:{rules:[7,8,13,14],inclusive:!1},LINE:{rules:[7,8,22],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,15,16,17,18,19,20,21,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],inclusive:!0}}};function O(){this.yy={}}return A.lexer=M,O.prototype=A,A.Parser=O,new O}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){var r=n(199);t.exports={Graph:r.Graph,json:n(302),alg:n(303),version:r.version}},function(t,e,n){var r;try{r={cloneDeep:n(314),constant:n(87),defaults:n(155),each:n(88),filter:n(129),find:n(315),flatten:n(157),forEach:n(127),forIn:n(320),has:n(94),isUndefined:n(140),last:n(321),map:n(141),mapValues:n(322),max:n(323),merge:n(325),min:n(330),minBy:n(331),now:n(332),pick:n(162),range:n(163),reduce:n(143),sortBy:n(339),uniqueId:n(164),values:n(148),zipObject:n(344)}}catch(t){}r||(r=window._),t.exports=r},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){ +/** + * @license + * Copyright (c) 2012-2013 Chris Pettitt + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +t.exports={graphlib:n(312),dagre:n(154),intersect:n(369),render:n(371),util:n(14),version:n(383)}},function(t,e,n){"use strict";var r=n(4),i=n(20).Graph;function a(t,e,n,i){var a;do{a=r.uniqueId(i)}while(t.hasNode(a));return n.dummy=e,t.setNode(a,n),a}function o(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:a,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;if(!o&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=u*o/s,r=u):(o<0&&(c=-c),n=c,r=c*s/o);return{x:i+n,y:a+r}},buildLayerMatrix:function(t){var e=r.map(r.range(o(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),a=i.rank;r.isUndefined(a)||(e[a][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,a=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%a!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return a(t,"border",i,e)},maxRank:o,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},function(t,e,n){t.exports={graphlib:n(20),layout:n(313),debug:n(367),util:{time:n(8).time,notime:n(8).notime},version:n(368)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(173),i=n(174),a=n(175),o={channel:r.default,lang:i.default,unit:a.default};e.default=o},function(t,e){var n,r,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var c,u=[],l=!1,h=-1;function f(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!l){var t=s(f);l=!0;for(var e=u.length;e;){for(c=u,u=[];++h1)for(var n=1;nh&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},N={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),13;case 1:return this.begin("type_directive"),14;case 2:return this.popState(),this.begin("arg_directive"),11;case 3:return this.popState(),this.popState(),16;case 4:return 15;case 5:case 6:break;case 7:return 10;case 8:break;case 9:case 10:return 17;case 11:return this.begin("struct"),34;case 12:return"EOF_IN_STRUCT";case 13:return"OPEN_IN_STRUCT";case 14:return this.popState(),36;case 15:break;case 16:return"MEMBER";case 17:return 32;case 18:return 58;case 19:return 51;case 20:return 52;case 21:return 54;case 22:return 37;case 23:return 38;case 24:this.begin("generic");break;case 25:this.popState();break;case 26:return"GENERICTYPE";case 27:this.begin("string");break;case 28:this.popState();break;case 29:return"STR";case 30:this.begin("bqstring");break;case 31:this.popState();break;case 32:return"BQUOTE_STR";case 33:this.begin("href");break;case 34:this.popState();break;case 35:return 57;case 36:this.begin("callback_name");break;case 37:this.popState();break;case 38:this.popState(),this.begin("callback_args");break;case 39:return 55;case 40:this.popState();break;case 41:return 56;case 42:case 43:case 44:case 45:return 53;case 46:case 47:return 46;case 48:case 49:return 48;case 50:return 47;case 51:return 45;case 52:return 49;case 53:return 50;case 54:return 26;case 55:return 33;case 56:return 70;case 57:return"DOT";case 58:return"PLUS";case 59:return 67;case 60:case 61:return"EQUALS";case 62:return 74;case 63:return"PUNCTUATION";case 64:return 73;case 65:return 72;case 66:return 69;case 67:return 19}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::{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)/,/^(?:$)/],conditions:{arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callback_args:{rules:[40,41],inclusive:!1},callback_name:{rules:[37,38,39],inclusive:!1},href:{rules:[34,35],inclusive:!1},struct:{rules:[12,13,14,15,16],inclusive:!1},generic:{rules:[25,26],inclusive:!1},bqstring:{rules:[31,32],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,17,18,19,20,21,22,23,24,27,30,33,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};function D(){this.yy={}}return B.lexer=N,D.prototype=B,B.Parser=D,new D}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(76),i=n(99),a=n(179),o=n(180),s=n(181),c={format:{keyword:a.default,hex:i.default,rgb:o.default,rgba:o.default,hsl:s.default,hsla:s.default},parse:function(t){if("string"!=typeof t)return t;var e=i.default.parse(t)||o.default.parse(t)||s.default.parse(t)||a.default.parse(t);if(e)return e;throw new Error('Unsupported color format: "'+t+'"')},stringify:function(t){return!t.changed&&t.color?t.color:t.type.is(r.TYPE.HSL)||void 0===t.data.r?s.default.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?o.default.stringify(t):i.default.stringify(t)}};e.default=c},function(t,e){},function(t,e,n){(function(t){function n(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,i="/"===o.charAt(0))}return(i?"/":"")+(e=n(r(e.split("/"),(function(t){return!!t})),!i).join("/"))||"."},e.normalize=function(t){var a=e.isAbsolute(t),o="/"===i(t,-1);return(t=n(r(t.split("/"),(function(t){return!!t})),!a).join("/"))||a||(t="."),t&&o&&(t+="/"),(a?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,(function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),s=o,c=0;c=1;--a)if(47===(e=t.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":t.slice(0,r)},e.basename=function(t,e){var n=function(t){"string"!=typeof t&&(t+="");var e,n=0,r=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){n=e+1;break}}else-1===r&&(i=!1,r=e+1);return-1===r?"":t.slice(n,r)}(t);return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,n=0,r=-1,i=!0,a=0,o=t.length-1;o>=0;--o){var s=t.charCodeAt(o);if(47!==s)-1===r&&(i=!1,r=o+1),46===s?-1===e?e=o:1!==a&&(a=1):-1!==e&&(a=-1);else if(!i){n=o+1;break}}return-1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)};var i="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(this,n(11))},function(t,e,n){var r=n(110),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();t.exports=a},function(t,e,n){var r;try{r=n(3)}catch(t){}r||(r=window.graphlib),t.exports=r},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,3],r=[1,5],i=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,19],u=[1,20],l=[1,21],h=[1,22],f=[1,30],d=[1,23],p=[1,24],y=[1,25],g=[1,26],v=[1,27],m=[1,32],b=[1,33],x=[1,34],_=[1,35],k=[1,31],w=[1,38],E=[1,4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],T=[1,4,5,12,13,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],C=[1,4,5,7,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],S=[4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],A={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,idStatement:11,DESCR:12,"--\x3e":13,HIDE_EMPTY:14,scale:15,WIDTH:16,COMPOSIT_STATE:17,STRUCT_START:18,STRUCT_STOP:19,STATE_DESCR:20,AS:21,ID:22,FORK:23,JOIN:24,CHOICE:25,CONCURRENT:26,note:27,notePosition:28,NOTE_TEXT:29,direction:30,openDirective:31,typeDirective:32,closeDirective:33,":":34,argDirective:35,direction_tb:36,direction_bt:37,direction_rl:38,direction_lr:39,eol:40,";":41,EDGE_STATE:42,left_of:43,right_of:44,open_directive:45,type_directive:46,arg_directive:47,close_directive:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",12:"DESCR",13:"--\x3e",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",29:"NOTE_TEXT",34:":",36:"direction_tb",37:"direction_bt",38:"direction_rl",39:"direction_lr",41:";",42:"EDGE_STATE",43:"left_of",44:"right_of",45:"open_directive",46:"type_directive",47:"arg_directive",48:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[6,3],[6,5],[30,1],[30,1],[30,1],[30,1],[40,1],[40,1],[11,1],[11,1],[28,1],[28,1],[31,1],[32,1],[35,1],[33,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:return r.setRootDoc(a[s]),a[s];case 5:this.$=[];break;case 6:"nl"!=a[s]&&(a[s-1].push(a[s]),this.$=a[s-1]);break;case 7:case 8:this.$=a[s];break;case 9:this.$="nl";break;case 10:this.$={stmt:"state",id:a[s],type:"default",description:""};break;case 11:this.$={stmt:"state",id:a[s-1],type:"default",description:r.trimColon(a[s])};break;case 12:this.$={stmt:"relation",state1:{stmt:"state",id:a[s-2],type:"default",description:""},state2:{stmt:"state",id:a[s],type:"default",description:""}};break;case 13:this.$={stmt:"relation",state1:{stmt:"state",id:a[s-3],type:"default",description:""},state2:{stmt:"state",id:a[s-1],type:"default",description:""},description:a[s].substr(1).trim()};break;case 17:this.$={stmt:"state",id:a[s-3],type:"default",description:"",doc:a[s-1]};break;case 18:var c=a[s],u=a[s-2].trim();if(a[s].match(":")){var l=a[s].split(":");c=l[0],u=[u,l[1]]}this.$={stmt:"state",id:c,type:"default",description:u};break;case 19:this.$={stmt:"state",id:a[s-3],type:"default",description:a[s-5],doc:a[s-1]};break;case 20:this.$={stmt:"state",id:a[s],type:"fork"};break;case 21:this.$={stmt:"state",id:a[s],type:"join"};break;case 22:this.$={stmt:"state",id:a[s],type:"choice"};break;case 23:this.$={stmt:"state",id:r.getDividerId(),type:"divider"};break;case 24:this.$={stmt:"state",id:a[s-1].trim(),note:{position:a[s-2].trim(),text:a[s].trim()}};break;case 30:r.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 31:r.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 32:r.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 33:r.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 36:case 37:this.$=a[s];break;case 40:r.parseDirective("%%{","open_directive");break;case 41:r.parseDirective(a[s],"type_directive");break;case 42:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 43:r.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:e,5:n,6:4,7:r,31:6,45:i},{1:[3]},{3:8,4:e,5:n,6:4,7:r,31:6,45:i},{3:9,4:e,5:n,6:4,7:r,31:6,45:i},{3:10,4:e,5:n,6:4,7:r,31:6,45:i},t([1,4,5,14,15,17,20,22,23,24,25,26,27,36,37,38,39,42,45],a,{8:11}),{32:12,46:[1,13]},{46:[2,40]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:28,9:14,10:16,11:18,14:c,15:u,17:l,20:h,22:f,23:d,24:p,25:y,26:g,27:v,30:29,31:6,36:m,37:b,38:x,39:_,42:k,45:i},{33:36,34:[1,37],48:w},t([34,48],[2,41]),t(E,[2,6]),{6:28,10:39,11:18,14:c,15:u,17:l,20:h,22:f,23:d,24:p,25:y,26:g,27:v,30:29,31:6,36:m,37:b,38:x,39:_,42:k,45:i},t(E,[2,8]),t(E,[2,9]),t(E,[2,10],{12:[1,40],13:[1,41]}),t(E,[2,14]),{16:[1,42]},t(E,[2,16],{18:[1,43]}),{21:[1,44]},t(E,[2,20]),t(E,[2,21]),t(E,[2,22]),t(E,[2,23]),{28:45,29:[1,46],43:[1,47],44:[1,48]},t(E,[2,26]),t(E,[2,27]),t(T,[2,36]),t(T,[2,37]),t(E,[2,30]),t(E,[2,31]),t(E,[2,32]),t(E,[2,33]),t(C,[2,28]),{35:49,47:[1,50]},t(C,[2,43]),t(E,[2,7]),t(E,[2,11]),{11:51,22:f,42:k},t(E,[2,15]),t(S,a,{8:52}),{22:[1,53]},{22:[1,54]},{21:[1,55]},{22:[2,38]},{22:[2,39]},{33:56,48:w},{48:[2,42]},t(E,[2,12],{12:[1,57]}),{4:o,5:s,6:28,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,58],20:h,22:f,23:d,24:p,25:y,26:g,27:v,30:29,31:6,36:m,37:b,38:x,39:_,42:k,45:i},t(E,[2,18],{18:[1,59]}),{29:[1,60]},{22:[1,61]},t(C,[2,29]),t(E,[2,13]),t(E,[2,17]),t(S,a,{8:62}),t(E,[2,24]),t(E,[2,25]),{4:o,5:s,6:28,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,63],20:h,22:f,23:d,24:p,25:y,26:g,27:v,30:29,31:6,36:m,37:b,38:x,39:_,42:k,45:i},t(E,[2,19])],defaultActions:{7:[2,40],8:[2,1],9:[2,2],10:[2,3],47:[2,38],48:[2,39],50:[2,42]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},M={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 36;case 1:return 37;case 2:return 38;case 3:return 39;case 4:return this.begin("open_directive"),45;case 5:return this.begin("type_directive"),46;case 6:return this.popState(),this.begin("arg_directive"),34;case 7:return this.popState(),this.popState(),48;case 8:return 47;case 9:case 10:break;case 11:return 5;case 12:case 13:case 14:case 15:break;case 16:return this.pushState("SCALE"),15;case 17:return 16;case 18:this.popState();break;case 19:this.pushState("STATE");break;case 20:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 21:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 22:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),25;case 23:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 24:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 25:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),25;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:this.begin("STATE_STRING");break;case 31:return this.popState(),this.pushState("STATE_ID"),"AS";case 32:return this.popState(),"ID";case 33:this.popState();break;case 34:return"STATE_DESCR";case 35:return 17;case 36:this.popState();break;case 37:return this.popState(),this.pushState("struct"),18;case 38:return this.popState(),19;case 39:break;case 40:return this.begin("NOTE"),27;case 41:return this.popState(),this.pushState("NOTE_ID"),43;case 42:return this.popState(),this.pushState("NOTE_ID"),44;case 43:this.popState(),this.pushState("FLOATING_NOTE");break;case 44:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 45:break;case 46:return"NOTE_TEXT";case 47:return this.popState(),"ID";case 48:return this.popState(),this.pushState("NOTE_TEXT"),22;case 49:return this.popState(),e.yytext=e.yytext.substr(2).trim(),29;case 50:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),29;case 51:case 52:return 7;case 53:return 14;case 54:return 42;case 55:return 22;case 56:return e.yytext=e.yytext.trim(),12;case 57:return 13;case 58:return 26;case 59:return 5;case 60:return"INVALID"}},rules:[/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\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,/^(?: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,/^(?:\})/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],conditions:{LINE:{rules:[13,14],inclusive:!1},close_directive:{rules:[13,14],inclusive:!1},arg_directive:{rules:[7,8,13,14],inclusive:!1},type_directive:{rules:[6,7,13,14],inclusive:!1},open_directive:{rules:[5,13,14],inclusive:!1},struct:{rules:[13,14,19,26,27,28,29,38,39,40,54,55,56,57,58],inclusive:!1},FLOATING_NOTE_ID:{rules:[47],inclusive:!1},FLOATING_NOTE:{rules:[44,45,46],inclusive:!1},NOTE_TEXT:{rules:[49,50],inclusive:!1},NOTE_ID:{rules:[48],inclusive:!1},NOTE:{rules:[41,42,43],inclusive:!1},SCALE:{rules:[17,18],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[32],inclusive:!1},STATE_STRING:{rules:[33,34],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[13,14,20,21,22,23,24,25,30,31,35,36,37],inclusive:!1},ID:{rules:[13,14],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,12,14,15,16,19,37,40,51,52,53,54,55,56,57,59,60],inclusive:!0}}};function O(){this.yy={}}return A.lexer=M,O.prototype=A,A.Parser=O,new O}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){(function(t){t.exports=function(){"use strict";var e,r;function i(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function u(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function l(t,e){var n,r=[];for(n=0;n>>0,r=0;rgt(t)?(a=t+1,s-gt(t)):(a=t,s),{year:a,dayOfYear:o}}function It(t,e,n){var r,i,a=Dt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?r=o+Rt(i=t.year()-1,e,n):o>Rt(t.year(),e,n)?(r=o-Rt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function Rt(t,e,n){var r=Dt(t,e,n),i=Dt(t+1,e,n);return(gt(t)-r+i)/7}function Ft(t,e){return t.slice(e,7).concat(t.slice(0,e))}q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),P("week",5),P("isoWeek",5),lt("w",K),lt("ww",K,G),lt("W",K),lt("WW",K,G),yt(["w","ww","W","WW"],(function(t,e,n,r){e[r.substr(0,1)]=w(t)})),q("d",0,"do","day"),q("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),q("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),q("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),P("day",11),P("weekday",11),P("isoWeekday",11),lt("d",K),lt("e",K),lt("E",K),lt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),lt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),lt("dddd",(function(t,e){return e.weekdaysRegex(t)})),yt(["dd","ddd","dddd"],(function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:p(n).invalidWeekday=t})),yt(["d","e","E"],(function(t,e,n,r){e[r]=w(t)}));var Pt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),jt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Yt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),zt=ct,Ut=ct,$t=ct;function qt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],s=[],c=[],u=[];for(e=0;e<7;e++)n=d([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),s.push(i),c.push(a),u.push(r),u.push(i),u.push(a);for(o.sort(t),s.sort(t),c.sort(t),u.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),c[e]=ft(c[e]),u[e]=ft(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Wt(){return this.hours()%12||12}function Vt(t,e){q(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Ht(t,e){return e._meridiemParse}q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Wt),q("k",["kk",2],0,(function(){return this.hours()||24})),q("hmm",0,0,(function(){return""+Wt.apply(this)+j(this.minutes(),2)})),q("hmmss",0,0,(function(){return""+Wt.apply(this)+j(this.minutes(),2)+j(this.seconds(),2)})),q("Hmm",0,0,(function(){return""+this.hours()+j(this.minutes(),2)})),q("Hmmss",0,0,(function(){return""+this.hours()+j(this.minutes(),2)+j(this.seconds(),2)})),Vt("a",!0),Vt("A",!1),L("hour","h"),P("hour",13),lt("a",Ht),lt("A",Ht),lt("H",K),lt("h",K),lt("k",K),lt("HH",K,G),lt("hh",K,G),lt("kk",K,G),lt("hmm",J),lt("hmmss",tt),lt("Hmm",J),lt("Hmmss",tt),pt(["H","HH"],3),pt(["k","kk"],(function(t,e,n){var r=w(t);e[3]=24===r?0:r})),pt(["a","A"],(function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t})),pt(["h","hh"],(function(t,e,n){e[3]=w(t),p(n).bigHour=!0})),pt("hmm",(function(t,e,n){var r=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r)),p(n).bigHour=!0})),pt("hmmss",(function(t,e,n){var r=t.length-4,i=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r,2)),e[5]=w(t.substr(i)),p(n).bigHour=!0})),pt("Hmm",(function(t,e,n){var r=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r))})),pt("Hmmss",(function(t,e,n){var r=t.length-4,i=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r,2)),e[5]=w(t.substr(i))}));var Gt,Xt=xt("Hours",!0),Zt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{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"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Tt,monthsShort:Ct,week:{dow:0,doy:6},weekdays:Pt,weekdaysMin:Yt,weekdaysShort:jt,meridiemParse:/[ap]\.?m?\.?/i},Qt={},Kt={};function Jt(t){return t?t.toLowerCase().replace("_","-"):t}function te(e){var r=null;if(!Qt[e]&&void 0!==t&&t&&t.exports)try{r=Gt._abbr,n(198)("./"+e),ee(r)}catch(e){}return Qt[e]}function ee(t,e){var n;return t&&((n=s(e)?re(t):ne(t,e))?Gt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Gt._abbr}function ne(t,e){if(null===e)return delete Qt[t],null;var n,r=Zt;if(e.abbr=t,null!=Qt[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=Qt[t]._config;else if(null!=e.parentLocale)if(null!=Qt[e.parentLocale])r=Qt[e.parentLocale]._config;else{if(null==(n=te(e.parentLocale)))return Kt[e.parentLocale]||(Kt[e.parentLocale]=[]),Kt[e.parentLocale].push({name:t,config:e}),null;r=n._config}return Qt[t]=new N(B(r,e)),Kt[t]&&Kt[t].forEach((function(t){ne(t.name,t.config)})),ee(t),Qt[t]}function re(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Gt;if(!a(t)){if(e=te(t))return e;t=[t]}return function(t){for(var e,n,r,i,a=0;a=e&&E(i,n,!0)>=e-1)break;e--}a++}return Gt}(t)}function ie(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[1]<0||11wt(n[0],n[1])?2:n[3]<0||24Rt(n,a,o)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=Lt(n,r,i,a,o),t._a[0]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=ae(t._a[0],r[0]),(t._dayOfYear>gt(o)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Nt(o,0,t._dayOfYear),t._a[1]=n.getUTCMonth(),t._a[2]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=r[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Nt:function(t,e,n,r,i,a,o){var s;return t<100&&0<=t?(s=new Date(t+400,e,n,r,i,a,o),isFinite(s.getFullYear())&&s.setFullYear(t)):s=new Date(t,e,n,r,i,a,o),s}).apply(null,s),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(p(t).weekdayMismatch=!0)}}var se=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ce=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ue=/Z|[+-]\d\d(?::?\d\d)?/,le=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],he=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],fe=/^\/?Date\((\-?\d+)/i;function de(t){var e,n,r,i,a,o,s=t._i,c=se.exec(s)||ce.exec(s);if(c){for(p(t).iso=!0,e=0,n=le.length;en.valueOf():n.valueOf()this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},on.isLocal=function(){return!!this.isValid()&&!this._isUTC},on.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},on.isUtc=De,on.isUTC=De,on.zoneAbbr=function(){return this._isUTC?"UTC":""},on.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},on.dates=C("dates accessor is deprecated. Use date instead.",Je),on.months=C("months accessor is deprecated. Use month instead",At),on.years=C("years accessor is deprecated. Use year instead",bt),on.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),on.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(m(t,this),(t=me(t))._a){var e=t._isUTC?d(t._a):xe(t._a);this._isDSTShifted=this.isValid()&&0h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},v={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),33;case 1:return this.begin("type_directive"),34;case 2:return this.popState(),this.begin("arg_directive"),26;case 3:return this.popState(),this.popState(),36;case 4:return 35;case 5:case 6:case 7:break;case 8:return 11;case 9:case 10:case 11:break;case 12:this.begin("href");break;case 13:this.popState();break;case 14:return 31;case 15:this.begin("callbackname");break;case 16:this.popState();break;case 17:this.popState(),this.begin("callbackargs");break;case 18:return 29;case 19:this.popState();break;case 20:return 30;case 21:this.begin("click");break;case 22:this.popState();break;case 23:return 28;case 24:return 5;case 25:return 12;case 26:return 13;case 27:return 14;case 28:return 15;case 29:return 16;case 30:return 17;case 31:return"date";case 32:return 18;case 33:return 19;case 34:return 21;case 35:return 22;case 36:return 26;case 37:return 7;case 38:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/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,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[19,20],inclusive:!1},callbackname:{rules:[16,17,18],inclusive:!1},href:{rules:[13,14],inclusive:!1},click:{rules:[22,23],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,15,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}};function m(){this.yy={}}return g.lexer=v,m.prototype=g,g.Parser=m,new m}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){var r=n(38),i=n(81);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},function(t,e,n){var r=n(257),i=n(267),a=n(35),o=n(5),s=n(274);t.exports=function(t){return"function"==typeof t?t:null==t?a:"object"==typeof t?o(t)?i(t[0],t[1]):r(t):s(t)}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,9],n=[1,7],r=[1,6],i=[1,8],a=[1,20,21,22,23,38,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],o=[2,10],s=[1,20],c=[1,21],u=[1,22],l=[1,23],h=[1,30],f=[1,54],d=[1,32],p=[1,33],y=[1,34],g=[1,35],v=[1,36],m=[1,48],b=[1,43],x=[1,45],_=[1,40],k=[1,44],w=[1,47],E=[1,51],T=[1,52],C=[1,53],S=[1,42],A=[1,46],M=[1,49],O=[1,50],B=[1,41],N=[1,57],D=[1,62],L=[1,20,21,22,23,38,42,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],I=[1,66],R=[1,65],F=[1,67],P=[20,21,23,69,70],j=[1,88],Y=[1,93],z=[1,90],U=[1,95],$=[1,98],q=[1,96],W=[1,97],V=[1,91],H=[1,103],G=[1,102],X=[1,92],Z=[1,94],Q=[1,99],K=[1,100],J=[1,101],tt=[1,104],et=[20,21,22,23,69,70],nt=[20,21,22,23,47,69,70],rt=[20,21,22,23,40,46,47,49,51,53,55,57,59,61,62,64,69,70,80,94,95,98,99,100,102,103,109,110,111,112,113,114],it=[20,21,23],at=[20,21,23,46,69,70,80,94,95,98,99,100,102,103,109,110,111,112,113,114],ot=[1,12,20,21,22,23,24,38,42,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],st=[46,80,94,95,98,99,100,102,103,109,110,111,112,113,114],ct=[1,136],ut=[1,144],lt=[1,145],ht=[1,146],ft=[1,147],dt=[1,131],pt=[1,132],yt=[1,128],gt=[1,139],vt=[1,140],mt=[1,141],bt=[1,142],xt=[1,143],_t=[1,148],kt=[1,149],wt=[1,134],Et=[1,137],Tt=[1,133],Ct=[1,130],St=[20,21,22,23,38,42,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],At=[1,152],Mt=[20,21,22,23,26,46,80,94,95,98,99,100,102,103,109,110,111,112,113,114],Ot=[20,21,22,23,24,26,38,40,41,42,46,50,52,54,56,58,60,61,63,65,69,70,71,75,76,77,78,79,80,81,84,94,95,98,99,100,102,103,104,105,109,110,111,112,113,114],Bt=[12,21,22,24],Nt=[22,95],Dt=[1,233],Lt=[1,237],It=[1,234],Rt=[1,231],Ft=[1,228],Pt=[1,229],jt=[1,230],Yt=[1,232],zt=[1,235],Ut=[1,236],$t=[1,238],qt=[1,255],Wt=[20,21,23,95],Vt=[20,21,22,23,75,91,94,95,98,99,100,101,102,103,104],Ht={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,link:43,node:44,vertex:45,AMP:46,STYLE_SEPARATOR:47,idString:48,PS:49,PE:50,"(-":51,"-)":52,STADIUMSTART:53,STADIUMEND:54,SUBROUTINESTART:55,SUBROUTINEEND:56,CYLINDERSTART:57,CYLINDEREND:58,DIAMOND_START:59,DIAMOND_STOP:60,TAGEND:61,TRAPSTART:62,TRAPEND:63,INVTRAPSTART:64,INVTRAPEND:65,linkStatement:66,arrowText:67,TESTSTR:68,START_LINK:69,LINK:70,PIPE:71,textToken:72,STR:73,keywords:74,STYLE:75,LINKSTYLE:76,CLASSDEF:77,CLASS:78,CLICK:79,DOWN:80,UP:81,textNoTags:82,textNoTagsToken:83,DEFAULT:84,stylesOpt:85,alphaNum:86,CALLBACKNAME:87,CALLBACKARGS:88,HREF:89,LINK_TARGET:90,HEX:91,numList:92,INTERPOLATE:93,NUM:94,COMMA:95,style:96,styleComponent:97,ALPHA:98,COLON:99,MINUS:100,UNIT:101,BRKT:102,DOT:103,PCT:104,TAGSTART:105,alphaNumToken:106,idStringToken:107,alphaNumStatement:108,PUNCTUATION:109,UNICODE_TEXT:110,PLUS:111,EQUALS:112,MULT:113,UNDERSCORE:114,graphCodeTokens:115,ARROW_CROSS:116,ARROW_POINT:117,ARROW_CIRCLE:118,ARROW_OPEN:119,QUOTE:120,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",46:"AMP",47:"STYLE_SEPARATOR",49:"PS",50:"PE",51:"(-",52:"-)",53:"STADIUMSTART",54:"STADIUMEND",55:"SUBROUTINESTART",56:"SUBROUTINEEND",57:"CYLINDERSTART",58:"CYLINDEREND",59:"DIAMOND_START",60:"DIAMOND_STOP",61:"TAGEND",62:"TRAPSTART",63:"TRAPEND",64:"INVTRAPSTART",65:"INVTRAPEND",68:"TESTSTR",69:"START_LINK",70:"LINK",71:"PIPE",73:"STR",75:"STYLE",76:"LINKSTYLE",77:"CLASSDEF",78:"CLASS",79:"CLICK",80:"DOWN",81:"UP",84:"DEFAULT",87:"CALLBACKNAME",88:"CALLBACKARGS",89:"HREF",90:"LINK_TARGET",91:"HEX",93:"INTERPOLATE",94:"NUM",95:"COMMA",98:"ALPHA",99:"COLON",100:"MINUS",101:"UNIT",102:"BRKT",103:"DOT",104:"PCT",105:"TAGSTART",109:"PUNCTUATION",110:"UNICODE_TEXT",111:"PLUS",112:"EQUALS",113:"MULT",114:"UNDERSCORE",116:"ARROW_CROSS",117:"ARROW_POINT",118:"ARROW_CIRCLE",119:"ARROW_OPEN",120:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[44,1],[44,5],[44,3],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[43,2],[43,3],[43,3],[43,1],[43,3],[66,1],[67,3],[39,1],[39,2],[39,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[82,1],[82,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[92,1],[92,3],[85,1],[85,3],[96,1],[96,2],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[83,1],[83,1],[83,1],[83,1],[48,1],[48,2],[86,1],[86,2],[108,1],[108,1],[108,1],[108,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(a[s],"type_directive");break;case 7:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:a[s]!==[]&&a[s-1].push(a[s]),this.$=a[s-1];break;case 12:case 76:case 78:case 90:case 146:case 148:case 149:this.$=a[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(a[s-1]),this.$=a[s-1];break;case 35:this.$=a[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=r.addSubGraph(a[s-6],a[s-1],a[s-4]);break;case 42:this.$=r.addSubGraph(a[s-3],a[s-1],a[s-3]);break;case 43:this.$=r.addSubGraph(void 0,a[s-1],void 0);break;case 47:r.addLink(a[s-2].stmt,a[s],a[s-1]),this.$={stmt:a[s],nodes:a[s].concat(a[s-2].nodes)};break;case 48:r.addLink(a[s-3].stmt,a[s-1],a[s-2]),this.$={stmt:a[s-1],nodes:a[s-1].concat(a[s-3].nodes)};break;case 49:this.$={stmt:a[s-1],nodes:a[s-1]};break;case 50:this.$={stmt:a[s],nodes:a[s]};break;case 51:this.$=[a[s]];break;case 52:this.$=a[s-4].concat(a[s]);break;case 53:this.$=[a[s-2]],r.setClass(a[s-2],a[s]);break;case 54:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"square");break;case 55:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"circle");break;case 56:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"ellipse");break;case 57:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"stadium");break;case 58:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"subroutine");break;case 59:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"cylinder");break;case 60:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"round");break;case 61:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"diamond");break;case 62:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"hexagon");break;case 63:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"odd");break;case 64:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"trapezoid");break;case 65:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"inv_trapezoid");break;case 66:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"lean_right");break;case 67:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"lean_left");break;case 68:this.$=a[s],r.addVertex(a[s]);break;case 69:a[s-1].text=a[s],this.$=a[s-1];break;case 70:case 71:a[s-2].text=a[s-1],this.$=a[s-2];break;case 72:this.$=a[s];break;case 73:var c=r.destructLink(a[s],a[s-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:a[s-1]};break;case 74:c=r.destructLink(a[s]);this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 75:this.$=a[s-1];break;case 77:case 91:case 147:this.$=a[s-1]+""+a[s];break;case 92:case 93:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 94:this.$=a[s-4],r.setClass(a[s-2],a[s]);break;case 95:case 103:this.$=a[s-1],r.setClickEvent(a[s-1],a[s]);break;case 96:case 104:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-2]),r.setTooltip(a[s-3],a[s]);break;case 97:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 98:this.$=a[s-4],r.setClickEvent(a[s-4],a[s-3],a[s-2]),r.setTooltip(a[s-4],a[s]);break;case 99:case 105:this.$=a[s-1],r.setLink(a[s-1],a[s]);break;case 100:case 106:this.$=a[s-3],r.setLink(a[s-3],a[s-2]),r.setTooltip(a[s-3],a[s]);break;case 101:case 107:this.$=a[s-3],r.setLink(a[s-3],a[s-2],a[s]);break;case 102:case 108:this.$=a[s-5],r.setLink(a[s-5],a[s-4],a[s]),r.setTooltip(a[s-5],a[s-2]);break;case 109:this.$=a[s-4],r.addVertex(a[s-2],void 0,void 0,a[s]);break;case 110:case 112:this.$=a[s-4],r.updateLink(a[s-2],a[s]);break;case 111:this.$=a[s-4],r.updateLink([a[s-2]],a[s]);break;case 113:this.$=a[s-8],r.updateLinkInterpolate([a[s-6]],a[s-2]),r.updateLink([a[s-6]],a[s]);break;case 114:this.$=a[s-8],r.updateLinkInterpolate(a[s-6],a[s-2]),r.updateLink(a[s-6],a[s]);break;case 115:this.$=a[s-6],r.updateLinkInterpolate([a[s-4]],a[s]);break;case 116:this.$=a[s-6],r.updateLinkInterpolate(a[s-4],a[s]);break;case 117:case 119:this.$=[a[s]];break;case 118:case 120:a[s-2].push(a[s]),this.$=a[s-2];break;case 122:this.$=a[s-1]+a[s];break;case 144:this.$=a[s];break;case 145:this.$=a[s-1]+""+a[s];break;case 150:this.$="v";break;case 151:this.$="-"}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:n,22:r,24:i},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:n,22:r,24:i},t(a,o,{17:11}),{7:12,13:[1,13]},{16:14,21:n,22:r,24:i},{16:15,21:n,22:r,24:i},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,44:31,45:37,46:f,48:38,75:d,76:p,77:y,78:g,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},{8:55,10:[1,56],15:N},t([10,15],[2,6]),t(a,[2,17]),t(a,[2,18]),t(a,[2,19]),{20:[1,59],21:[1,60],22:D,27:58,30:61},t(L,[2,11]),t(L,[2,12]),t(L,[2,13]),t(L,[2,14]),t(L,[2,15]),t(L,[2,16]),{9:63,20:I,21:R,23:F,43:64,66:68,69:[1,69],70:[1,70]},{9:71,20:I,21:R,23:F},{9:72,20:I,21:R,23:F},{9:73,20:I,21:R,23:F},{9:74,20:I,21:R,23:F},{9:75,20:I,21:R,23:F},{9:77,20:I,21:R,22:[1,76],23:F},t(P,[2,50],{30:78,22:D}),{22:[1,79]},{22:[1,80]},{22:[1,81]},{22:[1,82]},{26:j,46:Y,73:[1,86],80:z,86:85,87:[1,83],89:[1,84],94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(et,[2,51],{47:[1,105]}),t(nt,[2,68],{107:116,40:[1,106],46:f,49:[1,107],51:[1,108],53:[1,109],55:[1,110],57:[1,111],59:[1,112],61:[1,113],62:[1,114],64:[1,115],80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,109:C,110:S,111:A,112:M,113:O,114:B}),t(rt,[2,144]),t(rt,[2,165]),t(rt,[2,166]),t(rt,[2,167]),t(rt,[2,168]),t(rt,[2,169]),t(rt,[2,170]),t(rt,[2,171]),t(rt,[2,172]),t(rt,[2,173]),t(rt,[2,174]),t(rt,[2,175]),t(rt,[2,176]),t(rt,[2,177]),t(rt,[2,178]),t(rt,[2,179]),{9:117,20:I,21:R,23:F},{11:118,14:[1,119]},t(it,[2,8]),t(a,[2,20]),t(a,[2,26]),t(a,[2,27]),{21:[1,120]},t(at,[2,34],{30:121,22:D}),t(L,[2,35]),{44:122,45:37,46:f,48:38,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},t(ot,[2,44]),t(ot,[2,45]),t(ot,[2,46]),t(st,[2,72],{67:123,68:[1,124],71:[1,125]}),{22:ct,24:ut,26:lt,38:ht,39:126,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t([46,68,71,80,94,95,98,99,100,102,103,109,110,111,112,113,114],[2,74]),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,40]),{22:ct,24:ut,26:lt,38:ht,39:150,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(St,o,{17:151}),t(P,[2,49],{46:At}),{26:j,46:Y,80:z,86:153,91:[1,154],94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},{84:[1,155],92:156,94:[1,157]},{26:j,46:Y,80:z,84:[1,158],86:159,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},{26:j,46:Y,80:z,86:160,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(it,[2,95],{22:[1,161],88:[1,162]}),t(it,[2,99],{22:[1,163]}),t(it,[2,103],{106:89,108:165,22:[1,164],26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,109:X,110:Z,111:Q,112:K,113:J,114:tt}),t(it,[2,105],{22:[1,166]}),t(Mt,[2,146]),t(Mt,[2,148]),t(Mt,[2,149]),t(Mt,[2,150]),t(Mt,[2,151]),t(Ot,[2,152]),t(Ot,[2,153]),t(Ot,[2,154]),t(Ot,[2,155]),t(Ot,[2,156]),t(Ot,[2,157]),t(Ot,[2,158]),t(Ot,[2,159]),t(Ot,[2,160]),t(Ot,[2,161]),t(Ot,[2,162]),t(Ot,[2,163]),t(Ot,[2,164]),{46:f,48:167,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},{22:ct,24:ut,26:lt,38:ht,39:168,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:170,42:ft,46:Y,49:[1,169],61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:171,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:172,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:173,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:174,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:175,42:ft,46:Y,59:[1,176],61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:177,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:178,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:179,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(rt,[2,145]),t(Bt,[2,3]),{8:180,15:N},{15:[2,7]},t(a,[2,28]),t(at,[2,33]),t(P,[2,47],{30:181,22:D}),t(st,[2,69],{22:[1,182]}),{22:[1,183]},{22:ct,24:ut,26:lt,38:ht,39:184,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,69:pt,70:[1,185],72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(Ot,[2,76]),t(Ot,[2,78]),t(Ot,[2,134]),t(Ot,[2,135]),t(Ot,[2,136]),t(Ot,[2,137]),t(Ot,[2,138]),t(Ot,[2,139]),t(Ot,[2,140]),t(Ot,[2,141]),t(Ot,[2,142]),t(Ot,[2,143]),t(Ot,[2,79]),t(Ot,[2,80]),t(Ot,[2,81]),t(Ot,[2,82]),t(Ot,[2,83]),t(Ot,[2,84]),t(Ot,[2,85]),t(Ot,[2,86]),t(Ot,[2,87]),t(Ot,[2,88]),t(Ot,[2,89]),{9:188,20:I,21:R,22:ct,23:F,24:ut,26:lt,38:ht,40:[1,187],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,189],44:31,45:37,46:f,48:38,75:d,76:p,77:y,78:g,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},{22:D,30:190},{22:[1,191],26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:165,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:[1,192]},{22:[1,193]},{22:[1,194],95:[1,195]},t(Nt,[2,117]),{22:[1,196]},{22:[1,197],26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:165,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:[1,198],26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:165,109:X,110:Z,111:Q,112:K,113:J,114:tt},{73:[1,199]},t(it,[2,97],{22:[1,200]}),{73:[1,201],90:[1,202]},{73:[1,203]},t(Mt,[2,147]),{73:[1,204],90:[1,205]},t(et,[2,53],{107:116,46:f,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,109:C,110:S,111:A,112:M,113:O,114:B}),{22:ct,24:ut,26:lt,38:ht,41:[1,206],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:207,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,50:[1,208],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,52:[1,209],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,54:[1,210],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,56:[1,211],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,58:[1,212],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,60:[1,213],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,39:214,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,41:[1,215],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,63:[1,216],65:[1,217],69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,63:[1,219],65:[1,218],69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{9:220,20:I,21:R,23:F},t(P,[2,48],{46:At}),t(st,[2,71]),t(st,[2,70]),{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,69:pt,71:[1,221],72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(st,[2,73]),t(Ot,[2,77]),{22:ct,24:ut,26:lt,38:ht,39:222,42:ft,46:Y,61:dt,69:pt,72:127,73:yt,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(St,o,{17:223}),t(L,[2,43]),{45:224,46:f,48:38,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},{22:Dt,75:Lt,85:225,91:It,94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{22:Dt,75:Lt,85:239,91:It,94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{22:Dt,75:Lt,85:240,91:It,93:[1,241],94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{22:Dt,75:Lt,85:242,91:It,93:[1,243],94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{94:[1,244]},{22:Dt,75:Lt,85:245,91:It,94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{22:Dt,75:Lt,85:246,91:It,94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{26:j,46:Y,80:z,86:247,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(it,[2,96]),{73:[1,248]},t(it,[2,100],{22:[1,249]}),t(it,[2,101]),t(it,[2,104]),t(it,[2,106],{22:[1,250]}),t(it,[2,107]),t(nt,[2,54]),{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,50:[1,251],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(nt,[2,60]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),t(nt,[2,59]),t(nt,[2,61]),{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,60:[1,252],61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(nt,[2,63]),t(nt,[2,64]),t(nt,[2,66]),t(nt,[2,65]),t(nt,[2,67]),t(Bt,[2,4]),t([22,46,80,94,95,98,99,100,102,103,109,110,111,112,113,114],[2,75]),{22:ct,24:ut,26:lt,38:ht,41:[1,253],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:gt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:q,99:W,100:Et,102:H,103:G,104:Tt,105:Ct,106:135,109:X,110:Z,111:Q,112:K,113:J,114:tt},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,254],44:31,45:37,46:f,48:38,75:d,76:p,77:y,78:g,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},t(et,[2,52]),t(it,[2,109],{95:qt}),t(Wt,[2,119],{97:256,22:Dt,75:Lt,91:It,94:Rt,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t}),t(Vt,[2,121]),t(Vt,[2,123]),t(Vt,[2,124]),t(Vt,[2,125]),t(Vt,[2,126]),t(Vt,[2,127]),t(Vt,[2,128]),t(Vt,[2,129]),t(Vt,[2,130]),t(Vt,[2,131]),t(Vt,[2,132]),t(Vt,[2,133]),t(it,[2,110],{95:qt}),t(it,[2,111],{95:qt}),{22:[1,257]},t(it,[2,112],{95:qt}),{22:[1,258]},t(Nt,[2,118]),t(it,[2,92],{95:qt}),t(it,[2,93],{95:qt}),t(it,[2,94],{106:89,108:165,26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,109:X,110:Z,111:Q,112:K,113:J,114:tt}),t(it,[2,98]),{90:[1,259]},{90:[1,260]},{50:[1,261]},{60:[1,262]},{9:263,20:I,21:R,23:F},t(L,[2,42]),{22:Dt,75:Lt,91:It,94:Rt,96:264,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},t(Vt,[2,122]),{26:j,46:Y,80:z,86:265,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},{26:j,46:Y,80:z,86:266,94:U,95:$,98:q,99:W,100:V,102:H,103:G,106:89,108:87,109:X,110:Z,111:Q,112:K,113:J,114:tt},t(it,[2,102]),t(it,[2,108]),t(nt,[2,55]),t(nt,[2,62]),t(St,o,{17:267}),t(Wt,[2,120],{97:256,22:Dt,75:Lt,91:It,94:Rt,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t}),t(it,[2,115],{106:89,108:165,22:[1,268],26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,109:X,110:Z,111:Q,112:K,113:J,114:tt}),t(it,[2,116],{106:89,108:165,22:[1,269],26:j,46:Y,80:z,94:U,95:$,98:q,99:W,100:V,102:H,103:G,109:X,110:Z,111:Q,112:K,113:J,114:tt}),{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,270],44:31,45:37,46:f,48:38,75:d,76:p,77:y,78:g,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:S,111:A,112:M,113:O,114:B},{22:Dt,75:Lt,85:271,91:It,94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},{22:Dt,75:Lt,85:272,91:It,94:Rt,96:226,97:227,98:Ft,99:Pt,100:jt,101:Yt,102:zt,103:Ut,104:$t},t(L,[2,41]),t(it,[2,113],{95:qt}),t(it,[2,114],{95:qt})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],119:[2,7]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},Gt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:this.begin("string");break;case 8:this.popState();break;case 9:return"STR";case 10:return 75;case 11:return 84;case 12:return 76;case 13:return 93;case 14:return 77;case 15:return 78;case 16:this.begin("href");break;case 17:this.popState();break;case 18:return 89;case 19:this.begin("callbackname");break;case 20:this.popState();break;case 21:this.popState(),this.begin("callbackargs");break;case 22:return 87;case 23:this.popState();break;case 24:return 88;case 25:this.begin("click");break;case 26:this.popState();break;case 27:return 79;case 28:case 29:return t.lex.firstGraph()&&this.begin("dir"),24;case 30:return 38;case 31:return 42;case 32:case 33:case 34:case 35:return 90;case 36:return this.popState(),25;case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:return this.popState(),26;case 47:return 94;case 48:return 102;case 49:return 47;case 50:return 99;case 51:return 46;case 52:return 20;case 53:return 95;case 54:return 113;case 55:case 56:case 57:return 70;case 58:case 59:case 60:return 69;case 61:return 51;case 62:return 52;case 63:return 53;case 64:return 54;case 65:return 55;case 66:return 56;case 67:return 57;case 68:return 58;case 69:return 100;case 70:return 103;case 71:return 114;case 72:return 111;case 73:return 104;case 74:case 75:return 112;case 76:return 105;case 77:return 61;case 78:return 81;case 79:return"SEP";case 80:return 80;case 81:return 98;case 82:return 63;case 83:return 62;case 84:return 65;case 85:return 64;case 86:return 109;case 87:return 110;case 88:return 71;case 89:return 49;case 90:return 50;case 91:return 40;case 92:return 41;case 93:return 59;case 94:return 60;case 95:return 120;case 96:return 21;case 97:return 22;case 98:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?: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)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\()/,/^(?:\)\])/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\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:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[23,24],inclusive:!1},callbackname:{rules:[20,21,22],inclusive:!1},href:{rules:[17,18],inclusive:!1},click:{rules:[26,27],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[36,37,38,39,40,41,42,43,44,45,46],inclusive:!1},string:{rules:[8,9],inclusive:!1},INITIAL:{rules:[0,5,6,7,10,11,12,13,14,15,16,19,25,28,29,30,31,32,33,34,35,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}};function Xt(){this.yy={}}return Ht.lexer=Gt,Xt.prototype=Ht,Ht.Parser=Xt,new Xt}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,5],r=[6,9,11,17,18,19,21],i=[1,15],a=[1,16],o=[1,17],s=[1,21],c=[4,6,9,11,17,18,19,21],u={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,section:18,taskName:19,taskData:20,open_directive:21,type_directive:22,arg_directive:23,close_directive:24,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"section",19:"taskName",20:"taskData",21:"open_directive",22:"type_directive",23:"arg_directive",24:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 3:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 7:case 8:this.$=[];break;case 11:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 12:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:r.addTask(a[s-1],a[s]),this.$="task";break;case 15:r.parseDirective("%%{","open_directive");break;case 16:r.parseDirective(a[s],"type_directive");break;case 17:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 18:r.parseDirective("}%%","close_directive","journey")}},table:[{3:1,4:e,7:3,12:4,21:n},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,21:n},{13:8,22:[1,9]},{22:[2,15]},{6:[1,10],7:18,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:a,19:o,21:n},{1:[2,2]},{14:19,15:[1,20],24:s},t([15,24],[2,16]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:18,10:22,12:4,17:i,18:a,19:o,21:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,12]),{20:[1,23]},t(r,[2,14]),{11:[1,24]},{16:25,23:[1,26]},{11:[2,18]},t(r,[2,5]),t(r,[2,13]),t(c,[2,9]),{14:27,24:s},{24:[2,17]},{11:[1,28]},t(c,[2,10])],defaultActions:{5:[2,15],7:[2,2],21:[2,18],26:[2,17]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},l={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),21;case 1:return this.begin("type_directive"),22;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),24;case 4:return 23;case 5:case 6:break;case 7:return 11;case 8:case 9:break;case 10:return 4;case 11:return 17;case 12:return 18;case 13:return 19;case 14:return 20;case 15:return 15;case 16:return 6;case 17:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};function h(){this.yy={}}return u.lexer=l,h.prototype=u,u.Parser=h,new h}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(16);e.default=function(t,e){return r.default.lang.round(i.default.parse(t)[e])}},function(t,e,n){var r=n(113),i=n(83),a=n(25);t.exports=function(t){return a(t)?r(t):i(t)}},function(t,e,n){var r;if(!r)try{r=n(0)}catch(t){}r||(r=window.d3),t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(16);e.default=function(t,e,n){var a=i.default.parse(t),o=a[e],s=r.default.channel.clamp[e](o+n);return o!==s&&(a[e]=s),i.default.stringify(a)}},function(t,e,n){var r=n(211),i=n(217);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},function(t,e,n){var r=n(39),i=n(213),a=n(214),o=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?i(t):a(t)}},function(t,e){t.exports=function(t){return t}},function(t){t.exports=JSON.parse('{"name":"mermaid","version":"8.10.1","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build:development":"webpack --progress --colors","build:production":"yarn build:development -p --config webpack.config.prod.babel.js","build":"yarn build:development && yarn build:production","postbuild":"documentation build src/mermaidAPI.js src/config.js src/defaultConfig.js --shallow -f md --markdown-toc false > docs/Setup.md","build:watch":"yarn build --watch","minify":"minify ./dist/mermaid.js > ./dist/mermaid.min.js","release":"yarn build","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","d3":"^5.7.0","dagre":"^0.8.4","dagre-d3":"^0.6.4","entity-decode":"^2.0.2","graphlib":"^2.1.7","he":"^1.2.0","khroma":"^1.1.0","minify":"^4.1.1","moment-mini":"^2.22.1","stylis":"^3.5.2"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.8.4","@babel/register":"^7.0.0","@percy/cypress":"*","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^24.9.0","babel-loader":"^8.0.4","coveralls":"^3.0.2","css-loader":"^2.0.1","css-to-string-loader":"^0.1.3","cypress":"4.0.1","documentation":"^12.0.1","eslint":"^6.3.0","eslint-config-prettier":"^6.3.0","eslint-plugin-prettier":"^3.1.0","husky":"^1.2.1","identity-obj-proxy":"^3.0.0","jest":"^24.9.0","jison":"^0.4.18","moment":"^2.23.0","node-sass":"^5.0.0","prettier":"^1.18.2","puppeteer":"^1.17.0","sass-loader":"^7.1.0","start-server-and-test":"^1.10.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2","yarn-upgrade-all":"^0.5.0"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]},"sideEffects":["**/*.css","**/*.scss"],"husky":{"hooks":{"pre-push":"yarn test"}}}')},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e,n){var r=n(34),i=n(13);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},function(t,e,n){var r=n(19).Symbol;t.exports=r},function(t,e,n){(function(t){var r=n(19),i=n(233),a=e&&!e.nodeType&&e,o=a&&"object"==typeof t&&t&&!t.nodeType&&t,s=o&&o.exports===a?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(this,n(6)(t))},function(t,e,n){var r=n(113),i=n(237),a=n(25);t.exports=function(t){return a(t)?r(t,!0):i(t)}},function(t,e,n){var r=n(242),i=n(78),a=n(243),o=n(122),s=n(244),c=n(34),u=n(111),l=u(r),h=u(i),f=u(a),d=u(o),p=u(s),y=c;(r&&"[object DataView]"!=y(new r(new ArrayBuffer(1)))||i&&"[object Map]"!=y(new i)||a&&"[object Promise]"!=y(a.resolve())||o&&"[object Set]"!=y(new o)||s&&"[object WeakMap]"!=y(new s))&&(y=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case l:return"[object DataView]";case h:return"[object Map]";case f:return"[object Promise]";case d:return"[object Set]";case p:return"[object WeakMap]"}return e}),t.exports=y},function(t,e,n){var r=n(34),i=n(21);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},function(t,e,n){var r;try{r={defaults:n(155),each:n(88),isFunction:n(38),isPlainObject:n(159),pick:n(162),has:n(94),range:n(163),uniqueId:n(164)}}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,3],n=[1,5],r=[1,17],i=[2,10],a=[1,21],o=[1,22],s=[1,23],c=[1,24],u=[1,25],l=[1,26],h=[1,19],f=[1,27],d=[1,28],p=[1,31],y=[66,67],g=[5,8,14,35,36,37,38,39,40,48,55,57,66,67],v=[5,6,8,14,35,36,37,38,39,40,48,66,67],m=[1,51],b=[1,52],x=[1,53],_=[1,54],k=[1,55],w=[1,56],E=[1,57],T=[57,58],C=[1,69],S=[1,65],A=[1,66],M=[1,67],O=[1,68],B=[1,70],N=[1,74],D=[1,75],L=[1,72],I=[1,73],R=[5,8,14,35,36,37,38,39,40,48,66,67],F={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,open_directive:14,type_directive:15,arg_directive:16,close_directive:17,requirementDef:18,elementDef:19,relationshipDef:20,requirementType:21,requirementName:22,STRUCT_START:23,requirementBody:24,ID:25,COLONSEP:26,id:27,TEXT:28,text:29,RISK:30,riskLevel:31,VERIFYMTHD:32,verifyType:33,STRUCT_STOP:34,REQUIREMENT:35,FUNCTIONAL_REQUIREMENT:36,INTERFACE_REQUIREMENT:37,PERFORMANCE_REQUIREMENT:38,PHYSICAL_REQUIREMENT:39,DESIGN_CONSTRAINT:40,LOW_RISK:41,MED_RISK:42,HIGH_RISK:43,VERIFY_ANALYSIS:44,VERIFY_DEMONSTRATION:45,VERIFY_INSPECTION:46,VERIFY_TEST:47,ELEMENT:48,elementName:49,elementBody:50,TYPE:51,type:52,DOCREF:53,ref:54,END_ARROW_L:55,relationship:56,LINE:57,END_ARROW_R:58,CONTAINS:59,COPIES:60,DERIVES:61,SATISFIES:62,VERIFIES:63,REFINES:64,TRACES:65,unqString:66,qString:67,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"open_directive",15:"type_directive",16:"arg_directive",17:"close_directive",23:"STRUCT_START",25:"ID",26:"COLONSEP",28:"TEXT",30:"RISK",32:"VERIFYMTHD",34:"STRUCT_STOP",35:"REQUIREMENT",36:"FUNCTIONAL_REQUIREMENT",37:"INTERFACE_REQUIREMENT",38:"PERFORMANCE_REQUIREMENT",39:"PHYSICAL_REQUIREMENT",40:"DESIGN_CONSTRAINT",41:"LOW_RISK",42:"MED_RISK",43:"HIGH_RISK",44:"VERIFY_ANALYSIS",45:"VERIFY_DEMONSTRATION",46:"VERIFY_INSPECTION",47:"VERIFY_TEST",48:"ELEMENT",51:"TYPE",53:"DOCREF",55:"END_ARROW_L",57:"LINE",58:"END_ARROW_R",59:"CONTAINS",60:"COPIES",61:"DERIVES",62:"SATISFIES",63:"VERIFIES",64:"REFINES",65:"TRACES",66:"unqString",67:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[18,5],[24,5],[24,5],[24,5],[24,5],[24,2],[24,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[31,1],[31,1],[31,1],[33,1],[33,1],[33,1],[33,1],[19,5],[50,5],[50,5],[50,2],[50,1],[20,5],[20,5],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[22,1],[22,1],[27,1],[27,1],[29,1],[29,1],[49,1],[49,1],[52,1],[52,1],[54,1],[54,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 6:r.parseDirective("%%{","open_directive");break;case 7:r.parseDirective(a[s],"type_directive");break;case 8:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 9:r.parseDirective("}%%","close_directive","pie");break;case 10:this.$=[];break;case 16:r.addRequirement(a[s-3],a[s-4]);break;case 17:r.setNewReqId(a[s-2]);break;case 18:r.setNewReqText(a[s-2]);break;case 19:r.setNewReqRisk(a[s-2]);break;case 20:r.setNewReqVerifyMethod(a[s-2]);break;case 23:this.$=r.RequirementType.REQUIREMENT;break;case 24:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 26:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 27:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 28:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 29:this.$=r.RiskLevel.LOW_RISK;break;case 30:this.$=r.RiskLevel.MED_RISK;break;case 31:this.$=r.RiskLevel.HIGH_RISK;break;case 32:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 33:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 34:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 35:this.$=r.VerifyType.VERIFY_TEST;break;case 36:r.addElement(a[s-3]);break;case 37:r.setNewElementType(a[s-2]);break;case 38:r.setNewElementDocRef(a[s-2]);break;case 41:r.addRelationship(a[s-2],a[s],a[s-4]);break;case 42:r.addRelationship(a[s-2],a[s-4],a[s]);break;case 43:this.$=r.Relationships.CONTAINS;break;case 44:this.$=r.Relationships.COPIES;break;case 45:this.$=r.Relationships.DERIVES;break;case 46:this.$=r.Relationships.SATISFIES;break;case 47:this.$=r.Relationships.VERIFIES;break;case 48:this.$=r.Relationships.REFINES;break;case 49:this.$=r.Relationships.TRACES}},table:[{3:1,4:2,6:e,9:4,14:n},{1:[3]},{3:7,4:2,5:[1,6],6:e,9:4,14:n},{5:[1,8]},{10:9,15:[1,10]},{15:[2,6]},{3:11,4:2,6:e,9:4,14:n},{1:[2,2]},{4:16,5:r,7:12,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{11:29,12:[1,30],17:p},t([12,17],[2,7]),{1:[2,1]},{8:[1,32]},{4:16,5:r,7:33,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:34,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:35,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:36,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:37,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{22:38,66:[1,39],67:[1,40]},{49:41,66:[1,42],67:[1,43]},{55:[1,44],57:[1,45]},t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(g,[2,52]),t(g,[2,53]),t(v,[2,4]),{13:46,16:[1,47]},t(v,[2,9]),{1:[2,3]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{23:[1,48]},{23:[2,50]},{23:[2,51]},{23:[1,49]},{23:[2,56]},{23:[2,57]},{56:50,59:m,60:b,61:x,62:_,63:k,64:w,65:E},{56:58,59:m,60:b,61:x,62:_,63:k,64:w,65:E},{11:59,17:p},{17:[2,8]},{5:[1,60]},{5:[1,61]},{57:[1,62]},t(T,[2,43]),t(T,[2,44]),t(T,[2,45]),t(T,[2,46]),t(T,[2,47]),t(T,[2,48]),t(T,[2,49]),{58:[1,63]},t(v,[2,5]),{5:C,24:64,25:S,28:A,30:M,32:O,34:B},{5:N,34:D,50:71,51:L,53:I},{27:76,66:f,67:d},{27:77,66:f,67:d},t(R,[2,16]),{26:[1,78]},{26:[1,79]},{26:[1,80]},{26:[1,81]},{5:C,24:82,25:S,28:A,30:M,32:O,34:B},t(R,[2,22]),t(R,[2,36]),{26:[1,83]},{26:[1,84]},{5:N,34:D,50:85,51:L,53:I},t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),{27:86,66:f,67:d},{29:87,66:[1,88],67:[1,89]},{31:90,41:[1,91],42:[1,92],43:[1,93]},{33:94,44:[1,95],45:[1,96],46:[1,97],47:[1,98]},t(R,[2,21]),{52:99,66:[1,100],67:[1,101]},{54:102,66:[1,103],67:[1,104]},t(R,[2,39]),{5:[1,105]},{5:[1,106]},{5:[2,54]},{5:[2,55]},{5:[1,107]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[1,108]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[2,35]},{5:[1,109]},{5:[2,58]},{5:[2,59]},{5:[1,110]},{5:[2,60]},{5:[2,61]},{5:C,24:111,25:S,28:A,30:M,32:O,34:B},{5:C,24:112,25:S,28:A,30:M,32:O,34:B},{5:C,24:113,25:S,28:A,30:M,32:O,34:B},{5:C,24:114,25:S,28:A,30:M,32:O,34:B},{5:N,34:D,50:115,51:L,53:I},{5:N,34:D,50:116,51:L,53:I},t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,37]),t(R,[2,38])],defaultActions:{5:[2,6],7:[2,2],11:[2,1],32:[2,3],33:[2,11],34:[2,12],35:[2,13],36:[2,14],37:[2,15],39:[2,50],40:[2,51],42:[2,56],43:[2,57],47:[2,8],88:[2,54],89:[2,55],91:[2,29],92:[2,30],93:[2,31],95:[2,32],96:[2,33],97:[2,34],98:[2,35],100:[2,58],101:[2,59],103:[2,60],104:[2,61]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},P={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),14;case 1:return this.begin("type_directive"),15;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),17;case 4:return 16;case 5:return 5;case 6:case 7:case 8:break;case 9:return 8;case 10:return 6;case 11:return 23;case 12:return 34;case 13:return 26;case 14:return 25;case 15:return 28;case 16:return 30;case 17:return 32;case 18:return 35;case 19:return 36;case 20:return 37;case 21:return 38;case 22:return 39;case 23:return 40;case 24:return 41;case 25:return 42;case 26:return 43;case 27:return 44;case 28:return 45;case 29:return 46;case 30:return 47;case 31:return 48;case 32:return 59;case 33:return 60;case 34:return 61;case 35:return 62;case 36:return 63;case 37:return 64;case 38:return 65;case 39:return 51;case 40:return 53;case 41:return 55;case 42:return 58;case 43:return 57;case 44:this.begin("string");break;case 45:this.popState();break;case 46:return"qString";case 47:return e.yytext=e.yytext.trim(),66}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/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:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[45,46],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,47],inclusive:!0}}};function j(){this.yy={}}return F.lexer=P,j.prototype=F,F.Parser=j,new j}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=new(n(176).default)({r:0,g:0,b:0,a:0},"transparent");e.default=r},function(t,e,n){var r=n(59),i=n(60);t.exports=function(t,e,n,a){var o=!n;n||(n={});for(var s=-1,c=e.length;++s-1&&t%1==0&&t-1}(s)?s:(n=s.match(a))?(e=n[0],r.test(e)?"about:blank":s):"about:blank"}}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[2,3],n=[1,7],r=[7,12,15,17,19,20,21],i=[7,11,12,15,17,19,20,21],a=[2,20],o=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:return r.setDirection(a[s-3]),a[s-1];case 4:r.setOptions(a[s-1]),this.$=a[s];break;case 5:a[s-1]+=a[s],this.$=a[s-1];break;case 7:this.$=[];break;case 8:a[s-1].push(a[s]),this.$=a[s-1];break;case 9:this.$=a[s-1];break;case 11:r.commit(a[s]);break;case 12:r.branch(a[s]);break;case 13:r.checkout(a[s]);break;case 14:r.merge(a[s]);break;case 15:r.reset(a[s]);break;case 16:this.$="";break;case 17:this.$=a[s];break;case 18:this.$=a[s-1]+":"+a[s];break;case 19:this.$=a[s-1]+":"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:e,9:6,12:n},{5:[1,8]},{7:[1,9]},t(r,[2,7],{10:10,11:[1,11]}),t(i,[2,6]),{6:12,7:e,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},t(i,[2,5]),{7:[1,21]},t(r,[2,8]),{12:[1,22]},t(r,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},t(r,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:a,25:31,26:o},{12:a,25:33,26:o},{12:[2,18]},{12:a,25:34,26:o},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},c={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};function u(){this.yy={}}return s.lexer=c,u.prototype=s,s.Parser=u,new u}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[6,9,10],n={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(t,e,n,r,i,a,o){a.length;switch(i){case 1:return r;case 4:break;case 6:r.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},r={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){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}}};function i(){this.yy={}}return n.lexer=r,i.prototype=n,n.Parser=i,new i}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,4],n=[1,5],r=[1,6],i=[1,7],a=[1,9],o=[1,11,13,20,21,22,23],s=[2,5],c=[1,6,11,13,20,21,22,23],u=[20,21,22],l=[2,8],h=[1,18],f=[1,19],d=[1,24],p=[6,20,21,22,23],y={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,openDirective:15,typeDirective:16,closeDirective:17,":":18,argDirective:19,NEWLINE:20,";":21,EOF:22,open_directive:23,type_directive:24,arg_directive:25,close_directive:26,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",18:":",20:"NEWLINE",21:";",22:"EOF",23:"open_directive",24:"type_directive",25:"arg_directive",26:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[15,1],[16,1],[19,1],[17,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:r.setShowData(!0);break;case 7:this.$=a[s-1];break;case 9:r.addSection(a[s-1],r.cleanupValue(a[s]));break;case 10:this.$=a[s].trim(),r.setTitle(this.$);break;case 17:r.parseDirective("%%{","open_directive");break;case 18:r.parseDirective(a[s],"type_directive");break;case 19:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 20:r.parseDirective("}%%","close_directive","pie")}},table:[{3:1,4:2,5:3,6:e,15:8,20:n,21:r,22:i,23:a},{1:[3]},{3:10,4:2,5:3,6:e,15:8,20:n,21:r,22:i,23:a},{3:11,4:2,5:3,6:e,15:8,20:n,21:r,22:i,23:a},t(o,s,{7:12,8:[1,13]}),t(c,[2,14]),t(c,[2,15]),t(c,[2,16]),{16:14,24:[1,15]},{24:[2,17]},{1:[2,1]},{1:[2,2]},t(u,l,{15:8,9:16,10:17,5:20,1:[2,3],11:h,13:f,23:a}),t(o,s,{7:21}),{17:22,18:[1,23],26:d},t([18,26],[2,18]),t(o,[2,6]),{4:25,20:n,21:r,22:i},{12:[1,26]},{14:[1,27]},t(u,[2,11]),t(u,l,{15:8,9:16,10:17,5:20,1:[2,4],11:h,13:f,23:a}),t(p,[2,12]),{19:28,25:[1,29]},t(p,[2,20]),t(o,[2,7]),t(u,[2,9]),t(u,[2,10]),{17:30,26:d},{26:[2,19]},t(p,[2,13])],defaultActions:{9:[2,17],10:[2,1],11:[2,2],29:[2,19]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},g={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),23;case 1:return this.begin("type_directive"),24;case 2:return this.popState(),this.begin("arg_directive"),18;case 3:return this.popState(),this.popState(),26;case 4:return 25;case 5:case 6:break;case 7:return 20;case 8:case 9:break;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:this.begin("string");break;case 13:this.popState();break;case 14:return"txt";case 15:return 6;case 16:return 8;case 17:return"value";case 18:return 22}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[13,14],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,15,16,17,18],inclusive:!0}}};function v(){this.yy={}}return y.lexer=g,v.prototype=y,y.Parser=v,new v}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,5],r=[6,9,11,23,37],i=[1,17],a=[1,20],o=[1,25],s=[1,26],c=[1,27],u=[1,28],l=[1,37],h=[23,34,35],f=[4,6,9,11,23,37],d=[30,31,32,33],p=[22,27],y={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,ALPHANUM:23,attribute:24,attributeType:25,attributeName:26,ATTRIBUTE_WORD:27,cardinality:28,relType:29,ZERO_OR_ONE:30,ZERO_OR_MORE:31,ONE_OR_MORE:32,ONLY_ONE:33,NON_IDENTIFYING:34,IDENTIFYING:35,WORD:36,open_directive:37,type_directive:38,arg_directive:39,close_directive:40,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"ALPHANUM",27:"ATTRIBUTE_WORD",30:"ZERO_OR_ONE",31:"ZERO_OR_MORE",32:"ONE_OR_MORE",33:"ONLY_ONE",34:"NON_IDENTIFYING",35:"IDENTIFYING",36:"WORD",37:"open_directive",38:"type_directive",39:"arg_directive",40:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[17,1],[21,1],[21,2],[24,2],[25,1],[26,1],[18,3],[28,1],[28,1],[28,1],[28,1],[29,1],[29,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:break;case 3:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 7:case 8:this.$=[];break;case 12:r.addEntity(a[s-4]),r.addEntity(a[s-2]),r.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 13:r.addEntity(a[s-3]),r.addAttributes(a[s-3],a[s-1]);break;case 14:r.addEntity(a[s-2]);break;case 15:r.addEntity(a[s]);break;case 16:this.$=a[s];break;case 17:this.$=[a[s]];break;case 18:a[s].push(a[s-1]),this.$=a[s];break;case 19:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 20:case 21:this.$=a[s];break;case 22:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 23:this.$=r.Cardinality.ZERO_OR_ONE;break;case 24:this.$=r.Cardinality.ZERO_OR_MORE;break;case 25:this.$=r.Cardinality.ONE_OR_MORE;break;case 26:this.$=r.Cardinality.ONLY_ONE;break;case 27:this.$=r.Identification.NON_IDENTIFYING;break;case 28:this.$=r.Identification.IDENTIFYING;break;case 29:this.$=a[s].replace(/"/g,"");break;case 30:this.$=a[s];break;case 31:r.parseDirective("%%{","open_directive");break;case 32:r.parseDirective(a[s],"type_directive");break;case 33:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 34:r.parseDirective("}%%","close_directive","er")}},table:[{3:1,4:e,7:3,12:4,37:n},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,37:n},{13:8,38:[1,9]},{38:[2,31]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:i,37:n},{1:[2,2]},{14:18,15:[1,19],40:a},t([15,40],[2,32]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:15,10:21,12:4,17:16,23:i,37:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,15],{18:22,28:24,20:[1,23],30:o,31:s,32:c,33:u}),t([6,9,11,15,20,23,30,31,32,33,37],[2,16]),{11:[1,29]},{16:30,39:[1,31]},{11:[2,34]},t(r,[2,5]),{17:32,23:i},{21:33,22:[1,34],24:35,25:36,27:l},{29:38,34:[1,39],35:[1,40]},t(h,[2,23]),t(h,[2,24]),t(h,[2,25]),t(h,[2,26]),t(f,[2,9]),{14:41,40:a},{40:[2,33]},{15:[1,42]},{22:[1,43]},t(r,[2,14]),{21:44,22:[2,17],24:35,25:36,27:l},{26:45,27:[1,46]},{27:[2,20]},{28:47,30:o,31:s,32:c,33:u},t(d,[2,27]),t(d,[2,28]),{11:[1,48]},{19:49,23:[1,51],36:[1,50]},t(r,[2,13]),{22:[2,18]},t(p,[2,19]),t(p,[2,21]),{23:[2,22]},t(f,[2,10]),t(r,[2,12]),t(r,[2,29]),t(r,[2,30])],defaultActions:{5:[2,31],7:[2,2],20:[2,34],31:[2,33],37:[2,20],44:[2,18],47:[2,22]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,y.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},g={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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 t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=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),n.length-1&&(this.yylineno-=n.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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[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(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,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))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+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(){return this.conditionStack.length-1>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))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),37;case 1:return this.begin("type_directive"),38;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),40;case 4:return 39;case 5:case 6:break;case 7:return 11;case 8:break;case 9:return 9;case 10:return 36;case 11:return 4;case 12:return this.begin("block"),20;case 13:break;case 14:return 27;case 15:break;case 16:return this.popState(),22;case 17:return e.yytext[0];case 18:return 30;case 19:return 31;case 20:return 32;case 21:return 33;case 22:return 30;case 23:return 31;case 24:return 32;case 25:return 34;case 26:return 35;case 27:case 28:return 34;case 29:return 23;case 30:return e.yytext[0];case 31:return 6}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\|o\b)/i,/^(?:\}o\b)/i,/^(?:\}\|)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},block:{rules:[13,14,15,16,17],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,18,19,20,21,22,23,24,25,26,27,28,29,30,31],inclusive:!0}}};function v(){this.yy={}}return y.lexer=g,v.prototype=y,y.Parser=v,new v}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(17).readFileSync(n(18).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(11),n(6)(t))},function(t,e,n){"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),function(t){t[t.ALL=0]="ALL",t[t.RGB=1]="RGB",t[t.HSL=2]="HSL"}(r||(r={})),e.TYPE=r},function(t,e,n){"use strict";var r=n(12);t.exports=i;function i(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function a(t,e){t[e]?t[e]++:t[e]=1}function o(t,e){--t[e]||delete t[e]}function s(t,e,n,i){var a=""+e,o=""+n;if(!t&&a>o){var s=a;a=o,o=s}return a+""+o+""+(r.isUndefined(i)?"\0":i)}function c(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return r&&(s.name=r),s}function u(t,e){return s(t,e.v,e.w,e.name)}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(t){return this._label=t,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return r.keys(this._nodes)},i.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},i.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},i.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},i.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},i.prototype.node=function(t){return this._nodes[t]},i.prototype.hasNode=function(t){return r.has(this._nodes,t)},i.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},i.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e="\0";else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},i.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},i.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if("\0"!==e)return e}},i.prototype.children=function(t){if(r.isUndefined(t)&&(t="\0"),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if("\0"===t)return this.nodes();if(this.hasNode(t))return[]}},i.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},i.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},i.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},i.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},i.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,function t(r){var a=n.parent(r);return void 0===a||e.hasNode(a)?(i[r]=a,a):a in i?i[a]:t(a)}(t))})),e},i.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return r.values(this._edgeObjs)},i.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},i.prototype.setEdge=function(){var t,e,n,i,o=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,n=u.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=u,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var l=s(this._isDirected,t,e,n);if(r.has(this._edgeLabels,l))return o&&(this._edgeLabels[l]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=o?i:this._defaultEdgeLabelFn(t,e,n);var h=c(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,a(this._preds[e],t),a(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},i.prototype.edge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n);return this._edgeLabels[r]},i.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},i.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],o(this._preds[e],t),o(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},i.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},i.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},i.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){var r=n(33)(n(19),"Map");t.exports=r},function(t,e,n){var r=n(218),i=n(225),a=n(227),o=n(228),s=n(229);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991}},function(t,e,n){(function(t){var r=n(110),i=e&&!e.nodeType&&e,a=i&&"object"==typeof t&&t&&!t.nodeType&&t,o=a&&a.exports===i&&r.process,s=function(){try{var t=a&&a.require&&a.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(t){}}();t.exports=s}).call(this,n(6)(t))},function(t,e,n){var r=n(63),i=n(235),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}},function(t,e,n){var r=n(117),i=n(118),a=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,s=o?function(t){return null==t?[]:(t=Object(t),r(o(t),(function(e){return a.call(t,e)})))}:i;t.exports=s},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n0&&a(l)?n>1?t(l,n-1,a,o,s):r(s,l):o||(s[s.length]=l)}return s}},function(t,e,n){var r=n(43);t.exports=function(t,e,n){for(var i=-1,a=t.length;++i4,u=c?1:17,l=c?8:4,h=s?0:-1,f=c?255:15;return i.default.set({r:(r>>l*(h+3)&f)*u,g:(r>>l*(h+2)&f)*u,b:(r>>l*(h+1)&f)*u,a:s?(r&f)*u/255:1},t)}}},stringify:function(t){return t.a<1?"#"+a.DEC2HEX[Math.round(t.r)]+a.DEC2HEX[Math.round(t.g)]+a.DEC2HEX[Math.round(t.b)]+r.default.unit.frac2hex(t.a):"#"+a.DEC2HEX[Math.round(t.r)]+a.DEC2HEX[Math.round(t.g)]+a.DEC2HEX[Math.round(t.b)]}};e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(46),a=n(16);e.default=function(t,e,n,o){void 0===o&&(o=1);var s=i.default.set({h:r.default.channel.clamp.h(t),s:r.default.channel.clamp.s(e),l:r.default.channel.clamp.l(n),a:r.default.channel.clamp.a(o)});return a.default.stringify(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"a")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(16);e.default=function(t){var e=i.default.parse(t),n=e.r,a=e.g,o=e.b,s=.2126*r.default.channel.toLinear(n)+.7152*r.default.channel.toLinear(a)+.0722*r.default.channel.toLinear(o);return r.default.lang.round(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(102);e.default=function(t){return r.default(t)>=.5}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"a",e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"a",-e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(16),i=n(53);e.default=function(t,e){var n=r.default.parse(t),a={};for(var o in e)e[o]&&(a[o]=n[o]+e[o]);return i.default(t,a)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(16),i=n(52);e.default=function(t,e,n){void 0===n&&(n=50);var a=r.default.parse(t),o=a.r,s=a.g,c=a.b,u=a.a,l=r.default.parse(e),h=l.r,f=l.g,d=l.b,p=l.a,y=n/100,g=2*y-1,v=u-p,m=((g*v==-1?g:(g+v)/(1+g*v))+1)/2,b=1-m,x=o*m+h*b,_=s*m+f*b,k=c*m+d*b,w=u*y+p*(1-y);return i.default(x,_,k,w)}},function(t,e){},function(t,e,n){var r=n(54),i=n(80),a=n(59),o=n(230),s=n(236),c=n(115),u=n(116),l=n(239),h=n(240),f=n(120),d=n(241),p=n(42),y=n(245),g=n(246),v=n(125),m=n(5),b=n(40),x=n(250),_=n(13),k=n(252),w=n(30),E={};E["[object Arguments]"]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E["[object Object]"]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E["[object Function]"]=E["[object WeakMap]"]=!1,t.exports=function t(e,n,T,C,S,A){var M,O=1&n,B=2&n,N=4&n;if(T&&(M=S?T(e,C,S,A):T(e)),void 0!==M)return M;if(!_(e))return e;var D=m(e);if(D){if(M=y(e),!O)return u(e,M)}else{var L=p(e),I="[object Function]"==L||"[object GeneratorFunction]"==L;if(b(e))return c(e,O);if("[object Object]"==L||"[object Arguments]"==L||I&&!S){if(M=B||I?{}:v(e),!O)return B?h(e,s(M,e)):l(e,o(M,e))}else{if(!E[L])return S?e:{};M=g(e,L,O)}}A||(A=new r);var R=A.get(e);if(R)return R;A.set(e,M),k(e)?e.forEach((function(r){M.add(t(r,n,T,r,e,A))})):x(e)&&e.forEach((function(r,i){M.set(i,t(r,n,T,i,e,A))}));var F=N?B?d:f:B?keysIn:w,P=D?void 0:F(e);return i(P||e,(function(r,i){P&&(r=e[i=r]),a(M,i,t(r,n,T,i,e,A))})),M}},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(212))},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e,n){var r=n(33),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},function(t,e,n){var r=n(231),i=n(48),a=n(5),o=n(40),s=n(61),c=n(49),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=a(t),l=!n&&i(t),h=!n&&!l&&o(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],y=p.length;for(var g in t)!e&&!u.call(t,g)||d&&("length"==g||h&&("offset"==g||"parent"==g)||f&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||s(g,y))||p.push(g);return p}},function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},function(t,e,n){(function(t){var r=n(19),i=e&&!e.nodeType&&e,a=i&&"object"==typeof t&&t&&!t.nodeType&&t,o=a&&a.exports===i?r.Buffer:void 0,s=o?o.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}}).call(this,n(6)(t))},function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++nl))return!1;var f=c.get(t);if(f&&c.get(e))return f==e;var d=-1,p=!0,y=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++d0&&(a=c.removeMin(),(o=s[a]).distance!==Number.POSITIVE_INFINITY);)r(a).forEach(u);return s}(t,String(e),n||a,r||function(e){return t.outEdges(e)})};var a=r.constant(1)},function(t,e,n){var r=n(12);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,a=i.length;return n[t]=a,i.push({key:t,priority:e}),this._decrease(a),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priority2?e[2]:void 0;for(u&&a(e[0],e[1],u)&&(r=1);++n1&&o.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return aMath.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,r=u):(o<0&&(c=-c),n=c,r=0===o?0:c*s/o);return{x:i+n,y:a+r}}},function(t,e,n){t.exports=function t(e){"use strict";var n=/^\0+/g,r=/[\0\r\f]/g,i=/: */g,a=/zoo|gra/,o=/([,: ])(transform)/g,s=/,+\s*(?![^(]*[)])/g,c=/ +\s*(?![^(]*[)])/g,u=/ *[\0] */g,l=/,\r+?/g,h=/([\t\r\n ])*\f?&/g,f=/:global\(((?:[^\(\)\[\]]*|\[.*\]|\([^\(\)]*\))*)\)/g,d=/\W+/g,p=/@(k\w+)\s*(\S*)\s*/,y=/::(place)/g,g=/:(read-only)/g,v=/\s+(?=[{\];=:>])/g,m=/([[}=:>])\s+/g,b=/(\{[^{]+?);(?=\})/g,x=/\s{2,}/g,_=/([^\(])(:+) */g,k=/[svh]\w+-[tblr]{2}/,w=/\(\s*(.*)\s*\)/g,E=/([\s\S]*?);/g,T=/-self|flex-/g,C=/[^]*?(:[rp][el]a[\w-]+)[^]*/,S=/stretch|:\s*\w+\-(?:conte|avail)/,A=/([^-])(image-set\()/,M="-webkit-",O="-moz-",B="-ms-",N=1,D=1,L=0,I=1,R=1,F=1,P=0,j=0,Y=0,z=[],U=[],$=0,q=null,W=0,V=1,H="",G="",X="";function Z(t,e,i,a,o){for(var s,c,l=0,h=0,f=0,d=0,v=0,m=0,b=0,x=0,k=0,E=0,T=0,C=0,S=0,A=0,O=0,B=0,P=0,U=0,q=0,K=i.length,it=K-1,at="",ot="",st="",ct="",ut="",lt="";O0&&(ot=ot.replace(r,"")),ot.trim().length>0)){switch(b){case 32:case 9:case 59:case 13:case 10:break;default:ot+=i.charAt(O)}b=59}if(1===P)switch(b){case 123:case 125:case 59:case 34:case 39:case 40:case 41:case 44:P=0;case 9:case 13:case 10:case 32:break;default:for(P=0,q=O,v=b,O--,b=59;q0&&(++O,b=v);case 123:q=K}}switch(b){case 123:for(v=(ot=ot.trim()).charCodeAt(0),T=1,q=++O;O0&&(ot=ot.replace(r,"")),m=ot.charCodeAt(1)){case 100:case 109:case 115:case 45:s=e;break;default:s=z}if(q=(st=Z(e,s,st,m,o+1)).length,Y>0&&0===q&&(q=ot.length),$>0&&(c=nt(3,st,s=Q(z,ot,U),e,D,N,q,m,o,a),ot=s.join(""),void 0!==c&&0===(q=(st=c.trim()).length)&&(m=0,st="")),q>0)switch(m){case 115:ot=ot.replace(w,et);case 100:case 109:case 45:st=ot+"{"+st+"}";break;case 107:st=(ot=ot.replace(p,"$1 $2"+(V>0?H:"")))+"{"+st+"}",st=1===R||2===R&&tt("@"+st,3)?"@"+M+st+"@"+st:"@"+st;break;default:st=ot+st,112===a&&(ct+=st,st="")}else st="";break;default:st=Z(e,Q(e,ot,U),st,a,o+1)}ut+=st,C=0,P=0,A=0,B=0,U=0,S=0,ot="",st="",b=i.charCodeAt(++O);break;case 125:case 59:if((q=(ot=(B>0?ot.replace(r,""):ot).trim()).length)>1)switch(0===A&&(45===(v=ot.charCodeAt(0))||v>96&&v<123)&&(q=(ot=ot.replace(" ",":")).length),$>0&&void 0!==(c=nt(1,ot,e,t,D,N,ct.length,a,o,a))&&0===(q=(ot=c.trim()).length)&&(ot="\0\0"),v=ot.charCodeAt(0),m=ot.charCodeAt(1),v){case 0:break;case 64:if(105===m||99===m){lt+=ot+i.charAt(O);break}default:if(58===ot.charCodeAt(q-1))break;ct+=J(ot,v,m,ot.charCodeAt(2))}C=0,P=0,A=0,B=0,U=0,ot="",b=i.charCodeAt(++O)}}switch(b){case 13:case 10:if(h+d+f+l+j===0)switch(E){case 41:case 39:case 34:case 64:case 126:case 62:case 42:case 43:case 47:case 45:case 58:case 44:case 59:case 123:case 125:break;default:A>0&&(P=1)}47===h?h=0:I+C===0&&107!==a&&ot.length>0&&(B=1,ot+="\0"),$*W>0&&nt(0,ot,e,t,D,N,ct.length,a,o,a),N=1,D++;break;case 59:case 125:if(h+d+f+l===0){N++;break}default:switch(N++,at=i.charAt(O),b){case 9:case 32:if(d+l+h===0)switch(x){case 44:case 58:case 9:case 32:at="";break;default:32!==b&&(at=" ")}break;case 0:at="\\0";break;case 12:at="\\f";break;case 11:at="\\v";break;case 38:d+h+l===0&&I>0&&(U=1,B=1,at="\f"+at);break;case 108:if(d+h+l+L===0&&A>0)switch(O-A){case 2:112===x&&58===i.charCodeAt(O-3)&&(L=x);case 8:111===k&&(L=k)}break;case 58:d+h+l===0&&(A=O);break;case 44:h+f+d+l===0&&(B=1,at+="\r");break;case 34:case 39:0===h&&(d=d===b?0:0===d?b:d);break;case 91:d+h+f===0&&l++;break;case 93:d+h+f===0&&l--;break;case 41:d+h+l===0&&f--;break;case 40:if(d+h+l===0){if(0===C)switch(2*x+3*k){case 533:break;default:T=0,C=1}f++}break;case 64:h+f+d+l+A+S===0&&(S=1);break;case 42:case 47:if(d+l+f>0)break;switch(h){case 0:switch(2*b+3*i.charCodeAt(O+1)){case 235:h=47;break;case 220:q=O,h=42}break;case 42:47===b&&42===x&&q+2!==O&&(33===i.charCodeAt(q+2)&&(ct+=i.substring(q,O+1)),at="",h=0)}}if(0===h){if(I+d+l+S===0&&107!==a&&59!==b)switch(b){case 44:case 126:case 62:case 43:case 41:case 40:if(0===C){switch(x){case 9:case 32:case 10:case 13:at+="\0";break;default:at="\0"+at+(44===b?"":"\0")}B=1}else switch(b){case 40:A+7===O&&108===x&&(A=0),C=++T;break;case 41:0==(C=--T)&&(B=1,at+="\0")}break;case 9:case 32:switch(x){case 0:case 123:case 125:case 59:case 44:case 12:case 9:case 32:case 10:case 13:break;default:0===C&&(B=1,at+="\0")}}ot+=at,32!==b&&9!==b&&(E=b)}}k=x,x=b,O++}if(q=ct.length,Y>0&&0===q&&0===ut.length&&0===e[0].length==0&&(109!==a||1===e.length&&(I>0?G:X)===e[0])&&(q=e.join(",").length+2),q>0){if(s=0===I&&107!==a?function(t){for(var e,n,i=0,a=t.length,o=Array(a);i1)){if(f=c.charCodeAt(c.length-1),d=n.charCodeAt(0),e="",0!==l)switch(f){case 42:case 126:case 62:case 43:case 32:case 40:break;default:e=" "}switch(d){case 38:n=e+G;case 126:case 62:case 43:case 32:case 41:case 40:break;case 91:n=e+n+G;break;case 58:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(F>0){n=e+n.substring(8,h-1);break}default:(l<1||s[l-1].length<1)&&(n=e+G+n)}break;case 44:e="";default:n=h>1&&n.indexOf(":")>0?e+n.replace(_,"$1"+G+"$2"):e+n+G}c+=n}o[i]=c.replace(r,"").trim()}return o}(e):e,$>0&&void 0!==(c=nt(2,ct,s,t,D,N,q,a,o,a))&&0===(ct=c).length)return lt+ct+ut;if(ct=s.join(",")+"{"+ct+"}",R*L!=0){switch(2!==R||tt(ct,2)||(L=0),L){case 111:ct=ct.replace(g,":-moz-$1")+ct;break;case 112:ct=ct.replace(y,"::-webkit-input-$1")+ct.replace(y,"::-moz-$1")+ct.replace(y,":-ms-input-$1")+ct}L=0}}return lt+ct+ut}function Q(t,e,n){var r=e.trim().split(l),i=r,a=r.length,o=t.length;switch(o){case 0:case 1:for(var s=0,c=0===o?"":t[0]+" ";s0&&I>0)return i.replace(f,"$1").replace(h,"$1"+X);break;default:return t.trim()+i.replace(h,"$1"+t.trim())}default:if(n*I>0&&i.indexOf("\f")>0)return i.replace(h,(58===t.charCodeAt(0)?"":"$1")+t.trim())}return t+i}function J(t,e,n,r){var u,l=0,h=t+";",f=2*e+3*n+4*r;if(944===f)return function(t){var e=t.length,n=t.indexOf(":",9)+1,r=t.substring(0,n).trim(),i=t.substring(n,e-1).trim();switch(t.charCodeAt(9)*V){case 0:break;case 45:if(110!==t.charCodeAt(10))break;default:var a=i.split((i="",s)),o=0;for(n=0,e=a.length;o64&&h<90||h>96&&h<123||95===h||45===h&&45!==u.charCodeAt(1)))switch(isNaN(parseFloat(u))+(-1!==u.indexOf("("))){case 1:switch(u){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:u+=H}}l[n++]=u}i+=(0===o?"":",")+l.join(" ")}}return i=r+i+";",1===R||2===R&&tt(i,1)?M+i+i:i}(h);if(0===R||2===R&&!tt(h,1))return h;switch(f){case 1015:return 97===h.charCodeAt(10)?M+h+h:h;case 951:return 116===h.charCodeAt(3)?M+h+h:h;case 963:return 110===h.charCodeAt(5)?M+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return M+h+h;case 978:return M+h+O+h+h;case 1019:case 983:return M+h+O+h+B+h+h;case 883:return 45===h.charCodeAt(8)?M+h+h:h.indexOf("image-set(",11)>0?h.replace(A,"$1-webkit-$2")+h:h;case 932:if(45===h.charCodeAt(4))switch(h.charCodeAt(5)){case 103:return M+"box-"+h.replace("-grow","")+M+h+B+h.replace("grow","positive")+h;case 115:return M+h+B+h.replace("shrink","negative")+h;case 98:return M+h+B+h.replace("basis","preferred-size")+h}return M+h+B+h+h;case 964:return M+h+B+"flex-"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return u=h.substring(h.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),M+"box-pack"+u+M+h+B+"flex-pack"+u+h;case 1005:return a.test(h)?h.replace(i,":"+M)+h.replace(i,":"+O)+h:h;case 1e3:switch(l=(u=h.substring(13).trim()).indexOf("-")+1,u.charCodeAt(0)+u.charCodeAt(l)){case 226:u=h.replace(k,"tb");break;case 232:u=h.replace(k,"tb-rl");break;case 220:u=h.replace(k,"lr");break;default:return h}return M+h+B+u+h;case 1017:if(-1===h.indexOf("sticky",9))return h;case 975:switch(l=(h=t).length-10,f=(u=(33===h.charCodeAt(l)?h.substring(0,l):h).substring(t.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|u.charCodeAt(7))){case 203:if(u.charCodeAt(8)<111)break;case 115:h=h.replace(u,M+u)+";"+h;break;case 207:case 102:h=h.replace(u,M+(f>102?"inline-":"")+"box")+";"+h.replace(u,M+u)+";"+h.replace(u,B+u+"box")+";"+h}return h+";";case 938:if(45===h.charCodeAt(5))switch(h.charCodeAt(6)){case 105:return u=h.replace("-items",""),M+h+M+"box-"+u+B+"flex-"+u+h;case 115:return M+h+B+"flex-item-"+h.replace(T,"")+h;default:return M+h+B+"flex-line-pack"+h.replace("align-content","").replace(T,"")+h}break;case 973:case 989:if(45!==h.charCodeAt(3)||122===h.charCodeAt(4))break;case 931:case 953:if(!0===S.test(t))return 115===(u=t.substring(t.indexOf(":")+1)).charCodeAt(0)?J(t.replace("stretch","fill-available"),e,n,r).replace(":fill-available",":stretch"):h.replace(u,M+u)+h.replace(u,O+u.replace("fill-",""))+h;break;case 962:if(h=M+h+(102===h.charCodeAt(5)?B+h:"")+h,n+r===211&&105===h.charCodeAt(13)&&h.indexOf("transform",10)>0)return h.substring(0,h.indexOf(";",27)+1).replace(o,"$1-webkit-$2")+h}return h}function tt(t,e){var n=t.indexOf(1===e?":":"{"),r=t.substring(0,3!==e?n:10),i=t.substring(n+1,t.length-1);return q(2!==e?r:r.replace(C,"$1"),i,e)}function et(t,e){var n=J(e,e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2));return n!==e+";"?n.replace(E," or ($1)").substring(4):"("+e+")"}function nt(t,e,n,r,i,a,o,s,c,u){for(var l,h=0,f=e;h<$;++h)switch(l=U[h].call(at,t,f,n,r,i,a,o,s,c,u)){case void 0:case!1:case!0:case null:break;default:f=l}if(f!==e)return f}function rt(t,e,n,r){for(var i=e+1;i0&&(H=i.replace(d,91===a?"":"-")),a=1,1===I?X=i:G=i;var o,s=[X];$>0&&void 0!==(o=nt(-1,n,s,s,D,N,0,0,0,0))&&"string"==typeof o&&(n=o);var c=Z(z,s,n,0,0);return $>0&&void 0!==(o=nt(-2,c,s,s,D,N,c.length,0,0,0))&&"string"!=typeof(c=o)&&(a=0),H="",X="",G="",L=0,D=1,N=1,P*a==0?c:function(t){return t.replace(r,"").replace(v,"").replace(m,"$1").replace(b,"$1").replace(x," ")}(c)}return at.use=function t(e){switch(e){case void 0:case null:$=U.length=0;break;default:if("function"==typeof e)U[$++]=e;else if("object"==typeof e)for(var n=0,r=e.length;n=255?255:t<0?0:t},g:function(t){return t>=255?255:t<0?0:t},b:function(t){return t>=255?255:t<0?0:t},h:function(t){return t%360},s:function(t){return t>=100?100:t<0?0:t},l:function(t){return t>=100?100:t<0?0:t},a:function(t){return t>=1?1:t<0?0:t}},toLinear:function(t){var e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:function(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t},hsl2rgb:function(t,e){var n=t.h,i=t.s,a=t.l;if(100===i)return 2.55*a;n/=360,i/=100;var o=(a/=100)<.5?a*(1+i):a+i-a*i,s=2*a-o;switch(e){case"r":return 255*r.hue2rgb(s,o,n+1/3);case"g":return 255*r.hue2rgb(s,o,n);case"b":return 255*r.hue2rgb(s,o,n-1/3)}},rgb2hsl:function(t,e){var n=t.r,r=t.g,i=t.b;n/=255,r/=255,i/=255;var a=Math.max(n,r,i),o=Math.min(n,r,i),s=(a+o)/2;if("l"===e)return 100*s;if(a===o)return 0;var c=a-o;if("s"===e)return 100*(s>.5?c/(2-a-o):c/(a+o));switch(a){case n:return 60*((r-i)/c+(r1?e:"0"+e},dec2hex:function(t){var e=Math.round(t).toString(16);return e.length>1?e:"0"+e}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(76),a=n(177),o=function(){function t(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new a.default}return t.prototype.set=function(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.TYPE.ALL,this},t.prototype._ensureHSL=function(){void 0===this.data.h&&(this.data.h=r.default.channel.rgb2hsl(this.data,"h")),void 0===this.data.s&&(this.data.s=r.default.channel.rgb2hsl(this.data,"s")),void 0===this.data.l&&(this.data.l=r.default.channel.rgb2hsl(this.data,"l"))},t.prototype._ensureRGB=function(){void 0===this.data.r&&(this.data.r=r.default.channel.hsl2rgb(this.data,"r")),void 0===this.data.g&&(this.data.g=r.default.channel.hsl2rgb(this.data,"g")),void 0===this.data.b&&(this.data.b=r.default.channel.hsl2rgb(this.data,"b"))},Object.defineProperty(t.prototype,"r",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.r?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,"r")):this.data.r},set:function(t){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.r=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"g",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.g?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,"g")):this.data.g},set:function(t){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.g=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"b",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.b?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,"b")):this.data.b},set:function(t){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.b=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"h",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.h?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,"h")):this.data.h},set:function(t){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.h=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"s",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.s?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,"s")):this.data.s},set:function(t){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.s=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"l",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.l?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,"l")):this.data.l},set:function(t){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.l=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"a",{get:function(){return this.data.a},set:function(t){this.changed=!0,this.data.a=t},enumerable:!0,configurable:!0}),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(76),i=function(){function t(){this.type=r.TYPE.ALL}return t.prototype.get=function(){return this.type},t.prototype.set=function(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t},t.prototype.reset=function(){this.type=r.TYPE.ALL},t.prototype.is=function(t){return this.type===t},t}();e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i={};e.DEC2HEX=i;for(var a=0;a<=255;a++)i[a]=r.default.unit.dec2hex(a)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(99),i={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:function(t){t=t.toLowerCase();var e=i.colors[t];if(e)return r.default.parse(e)},stringify:function(t){var e=r.default.stringify(t);for(var n in i.colors)if(i.colors[n]===e)return n}};e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(46),a={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:function(t){var e=t.charCodeAt(0);if(114===e||82===e){var n=t.match(a.re);if(n){var o=n[1],s=n[2],c=n[3],u=n[4],l=n[5],h=n[6],f=n[7],d=n[8];return i.default.set({r:r.default.channel.clamp.r(s?2.55*parseFloat(o):parseFloat(o)),g:r.default.channel.clamp.g(u?2.55*parseFloat(c):parseFloat(c)),b:r.default.channel.clamp.b(h?2.55*parseFloat(l):parseFloat(l)),a:f?r.default.channel.clamp.a(d?parseFloat(f)/100:parseFloat(f)):1},t)}}},stringify:function(t){return t.a<1?"rgba("+r.default.lang.round(t.r)+", "+r.default.lang.round(t.g)+", "+r.default.lang.round(t.b)+", "+r.default.lang.round(t.a)+")":"rgb("+r.default.lang.round(t.r)+", "+r.default.lang.round(t.g)+", "+r.default.lang.round(t.b)+")"}};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(46),a={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:function(t){var e=t.match(a.hueRe);if(e){var n=e[1];switch(e[2]){case"grad":return r.default.channel.clamp.h(.9*parseFloat(n));case"rad":return r.default.channel.clamp.h(180*parseFloat(n)/Math.PI);case"turn":return r.default.channel.clamp.h(360*parseFloat(n))}}return r.default.channel.clamp.h(parseFloat(t))},parse:function(t){var e=t.charCodeAt(0);if(104===e||72===e){var n=t.match(a.re);if(n){var o=n[1],s=n[2],c=n[3],u=n[4],l=n[5];return i.default.set({h:a._hue2deg(o),s:r.default.channel.clamp.s(parseFloat(s)),l:r.default.channel.clamp.l(parseFloat(c)),a:u?r.default.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},t)}}},stringify:function(t){return t.a<1?"hsla("+r.default.lang.round(t.h)+", "+r.default.lang.round(t.s)+"%, "+r.default.lang.round(t.l)+"%, "+t.a+")":"hsl("+r.default.lang.round(t.h)+", "+r.default.lang.round(t.s)+"%, "+r.default.lang.round(t.l)+"%)"}};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"r")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"g")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"b")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"h")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"s")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"l")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(103);e.default=function(t){return!r.default(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(16);e.default=function(t){try{return r.default.parse(t),!0}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"s",e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"s",-e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"l",e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"l",-e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t){return r.default(t,"h",180)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(53);e.default=function(t){return r.default(t,{s:0})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(16),i=n(107);e.default=function(t,e){void 0===e&&(e=100);var n=r.default.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,i.default(n,t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(10),i=n(16),a=n(106);e.default=function(t,e){var n,o,s,c=i.default.parse(t),u={};for(var l in e)u[l]=(n=c[l],o=e[l],s=r.default.channel.max[l],o>0?(s-n)*o/100:n*o/100);return a.default(t,u)}},function(t,e,n){var r={"./locale":108,"./locale.js":108};function i(t){var e=a(t);return n(e)}function a(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}i.keys=function(){return Object.keys(r)},i.resolve=a,t.exports=i,i.id=198},function(t,e,n){t.exports={Graph:n(77),version:n(301)}},function(t,e,n){var r=n(109);t.exports=function(t){return r(t,4)}},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(56),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():i.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(56);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(56);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(56);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(55);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(55),i=n(78),a=n(79);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var o=n.__data__;if(!i||o.length<199)return o.push([t,e]),this.size=++n.size,this;n=this.__data__=new a(o)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(38),i=n(215),a=n(13),o=n(111),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||i(t))&&(r(t)?f:s).test(o(t))}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(39),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=a.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=o.call(t);return r&&(e?t[s]=n:delete t[s]),i}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,i=n(216),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!a&&a in t}},function(t,e,n){var r=n(19)["__core-js_shared__"];t.exports=r},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(219),i=n(55),a=n(78);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},function(t,e,n){var r=n(220),i=n(221),a=n(222),o=n(223),s=n(224);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(132),i=n(293),a=n(297),o=n(133),s=n(298),c=n(91);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=a;else if(h>=200){var y=e?null:s(t);if(y)return c(y);f=!1,l=o,p=new r}else p=e?[]:d;t:for(;++u-1}},function(t,e,n){var r=n(146),i=n(295),a=n(296);t.exports=function(t,e,n){return e==e?a(t,e,n):r(t,i,n)}},function(t,e){t.exports=function(t){return t!=t}},function(t,e){t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r1||1===e.length&&t.hasEdge(e[0],e[0])}))}},function(t,e,n){var r=n(12);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var a=r[n];i.forEach((function(n){var r=a[t],i=e[n],o=a[n],s=r.distance+i.distance;s0;){if(n=c.removeMin(),r.has(s,n))o.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return o}},function(t,e,n){var r;try{r=n(3)}catch(t){}r||(r=window.graphlib),t.exports=r},function(t,e,n){"use strict";var r=n(4),i=n(346),a=n(349),o=n(350),s=n(8).normalizeRanks,c=n(352),u=n(8).removeEmptyRanks,l=n(353),h=n(354),f=n(355),d=n(356),p=n(365),y=n(8),g=n(20).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?y.time:y.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new g({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},m,T(n,v),r.pick(n,b))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,x),_)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},w,T(i,k),r.pick(i,E)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){o(y.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};y.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){a.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=y.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var a=t.node(e);a.order=i+n,r.forEach(a.selfEdges,(function(e){y.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:a.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete a.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),a=t.node(n.borderBottom),o=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-o.x),n.height=Math.abs(a.y-i.y),n.x=o.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){a.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),s=o.marginx||0,c=o.marginy||0;function u(t){var r=t.x,o=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,o-c/2),a=Math.max(a,o+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var a=t.edge(n);r.forEach(a.points,(function(t){t.x-=e,t.y-=i})),r.has(a,"x")&&(a.x-=e),r.has(a,"y")&&(a.y-=i)})),o.width=n-e+s,o.height=a-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=o,r=a),i.points.unshift(y.intersectRect(a,n)),i.points.push(y.intersectRect(o,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),a=e.edge(n);i.points=a.points,r.has(a,"x")&&(i.x=a.x,i.y=a.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var v=["nodesep","edgesep","ranksep","marginx","marginy"],m={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],x=["width","height"],_={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],w={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},function(t,e,n){var r=n(109);t.exports=function(t){return r(t,5)}},function(t,e,n){var r=n(316)(n(317));t.exports=r},function(t,e,n){var r=n(26),i=n(25),a=n(30);t.exports=function(t){return function(e,n,o){var s=Object(e);if(!i(e)){var c=r(n,3);e=a(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,o);return u>-1?s[c?e[u]:u]:void 0}}},function(t,e,n){var r=n(146),i=n(26),a=n(318),o=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:a(n);return c<0&&(c=o(s+c,0)),r(t,i(e,3),c)}},function(t,e,n){var r=n(156);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},function(t,e,n){var r=n(13),i=n(43),a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):o.test(t)?NaN:+t}},function(t,e,n){var r=n(90),i=n(128),a=n(41);t.exports=function(t,e){return null==t?t:r(t,i(e),a)}},function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(t,e,n){var r=n(60),i=n(89),a=n(26);t.exports=function(t,e){var n={};return e=a(e,3),i(t,(function(t,i,a){r(n,i,e(t,i,a))})),n}},function(t,e,n){var r=n(96),i=n(324),a=n(35);t.exports=function(t){return t&&t.length?r(t,a,i):void 0}},function(t,e){t.exports=function(t,e){return t>e}},function(t,e,n){var r=n(326),i=n(329)((function(t,e,n){r(t,e,n)}));t.exports=i},function(t,e,n){var r=n(54),i=n(158),a=n(90),o=n(327),s=n(13),c=n(41),u=n(160);t.exports=function t(e,n,l,h,f){e!==n&&a(n,(function(a,c){if(f||(f=new r),s(a))o(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),a,c+"",e,n,f):void 0;void 0===d&&(d=a),i(e,c,d)}}),c)}},function(t,e,n){var r=n(158),i=n(115),a=n(124),o=n(116),s=n(125),c=n(48),u=n(5),l=n(147),h=n(40),f=n(38),d=n(13),p=n(159),y=n(49),g=n(160),v=n(328);t.exports=function(t,e,n,m,b,x,_){var k=g(t,n),w=g(e,n),E=_.get(w);if(E)r(t,n,E);else{var T=x?x(k,w,n+"",t,e,_):void 0,C=void 0===T;if(C){var S=u(w),A=!S&&h(w),M=!S&&!A&&y(w);T=w,S||A||M?u(k)?T=k:l(k)?T=o(k):A?(C=!1,T=i(w,!0)):M?(C=!1,T=a(w,!0)):T=[]:p(w)||c(w)?(T=k,c(k)?T=v(k):d(k)&&!f(k)||(T=s(w))):C=!1}C&&(_.set(w,T),b(T,w,m,x,_),_.delete(w)),r(t,n,T)}}},function(t,e,n){var r=n(47),i=n(41);t.exports=function(t){return r(t,i(t))}},function(t,e,n){var r=n(68),i=n(69);t.exports=function(t){return r((function(e,n){var r=-1,a=n.length,o=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(a--,o):void 0,s&&i(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),e=Object(e);++r1&&o(t,e[0],e[1])?e=[]:n>2&&o(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},function(t,e,n){var r=n(67),i=n(26),a=n(142),o=n(341),s=n(62),c=n(342),u=n(35);t.exports=function(t,e,n){var l=-1;e=r(e.length?e:[u],s(i));var h=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++l,value:t}}));return o(h,(function(t,e){return c(t,e,n)}))}},function(t,e){t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},function(t,e,n){var r=n(343);t.exports=function(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,s=a.length,c=n.length;++i=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},function(t,e,n){var r=n(43);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,a=t==t,o=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!o&&t>e||o&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!a)return 1;if(!i&&!o&&!l&&t0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var o=r.constant(1);function s(t,e,n,i,a){var o=a?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);a&&o.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),a=r.w,o=t.node(a);o.in-=i,c(e,n,o)})),t.removeNode(i.v),o}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},function(t,e){function n(){var t={};t._next=t._prev=t,this._sentinel=t}function r(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return r(e),e},n.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&r(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},n.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,i)),n=n._prev;return"["+t.join(", ")+"]"}},function(t,e,n){"use strict";var r=n(4),i=n(8);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,a,o=e.v,s=t.node(o).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u===s+1)return;for(t.removeEdge(e),a=0,++s;sc.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===m(t,t.node(e.v),u)&&l!==m(t,t.node(e.w),u)}));return r.minBy(h,(function(t){return a(e,t)}))}function v(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)}))}(t,e)}function m(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=y,l.enterEdge=g,l.exchangeEdges=v},function(t,e,n){var r=n(4);t.exports=function(t){var e=function(t){var e={},n=0;function i(a){var o=n;r.forEach(t.children(a),i),e[a]={low:o,lim:n++}}return r.forEach(t.children(),i),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,a=function(t,e,n,r){var i,a,o=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),o.push(i)}while(i&&(e[i].low>c||u>e[i].lim));a=i,i=r;for(;(i=t.parent(i))!==a;)s.push(i);return{path:o.concat(s.reverse()),lca:a}}(t,e,i.v,i.w),o=a.path,s=a.lca,c=0,u=o[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=o[c])!==s&&t.node(u).maxRank=2),s=l.buildLayerMatrix(t);var g=a(t,s);g0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r=t.barycenter)&&function(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}(t,e)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var a=t.pop();e.push(a),r.forEach(a.in.reverse(),n(a)),r.forEach(a.out,i(a))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},function(t,e,n){var r=n(4),i=n(8);function a(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n=i.partition(t,(function(t){return r.has(t,"barycenter")})),o=n.lhs,s=r.sortBy(n.rhs,(function(t){return-t.i})),c=[],u=0,l=0,h=0;o.sort((f=!!e,function(t,e){return t.barycentere.barycenter?1:f?e.i-t.i:t.i-e.i})),h=a(c,s,h),r.forEach(o,(function(t){h+=t.vs.length,c.push(t.vs),u+=t.barycenter*t.weight,l+=t.weight,h=a(c,s,h)}));var f;var d={vs:r.flatten(c,!0)};l&&(d.barycenter=u/l,d.weight=l);return d}},function(t,e,n){var r=n(4),i=n(20).Graph;t.exports=function(t,e,n){var a=function(t){var e;for(;t.hasNode(e=r.uniqueId("_root")););return e}(t),o=new i({compound:!0}).setGraph({root:a}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(i),o.setParent(i,c||a),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,a=o.edge(n,i),s=r.isUndefined(a)?0:a.weight;o.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&o.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),o}},function(t,e,n){var r=n(4);t.exports=function(t,e,n){var i,a={};r.forEach(n,(function(n){for(var r,o,s=t.parent(n);s;){if((r=t.parent(s))?(o=a[r],a[r]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=r}}))}},function(t,e,n){"use strict";var r=n(4),i=n(8),a=n(366).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,a=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=a+i/2})),a+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(a(t),(function(e,n){t.node(n).x=e}))}},function(t,e,n){"use strict";var r=n(4),i=n(20).Graph,a=n(8);function o(t,e){var n={};return r.reduce(e,(function(e,i){var a=0,o=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(o,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),o=i.order;!(os)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var a,o=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(a=t.node(u[0]).order,i(n,s,c,o,a),s=c,o=a)}i(n,s,n.length,a,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var a={},o={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){a[t]=t,o[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length)for(var l=((c=r.sortBy(c,(function(t){return s[t]}))).length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];o[t]===t&&e0}t.exports=function(t,e,r,i){var a,o,s,c,u,l,h,f,d,p,y,g,v;if(a=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,d=a*r.x+s*r.y+u,p=a*i.x+s*i.y+u,0!==d&&0!==p&&n(d,p))return;if(o=i.y-r.y,c=r.x-i.x,l=i.x*r.y-r.x*i.y,h=o*t.x+c*t.y+l,f=o*e.x+c*e.y+l,0!==h&&0!==f&&n(h,f))return;if(0===(y=a*c-o*s))return;return g=Math.abs(y/2),{x:(v=s*l-c*u)<0?(v-g)/y:(v+g)/y,y:(v=o*u-a*l)<0?(v-g)/y:(v+g)/y}}},function(t,e,n){var r=n(44),i=n(31),a=n(154).layout;t.exports=function(){var t=n(372),e=n(375),i=n(376),u=n(377),l=n(378),h=n(379),f=n(380),d=n(381),p=n(382),y=function(n,y){!function(t){t.nodes().forEach((function(e){var n=t.node(e);r.has(n,"label")||t.children(e).length||(n.label=e),r.has(n,"paddingX")&&r.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),r.has(n,"paddingY")&&r.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),r.has(n,"padding")&&r.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),r.defaults(n,o),r.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],(function(t){n[t]=Number(n[t])})),r.has(n,"width")&&(n._prevWidth=n.width),r.has(n,"height")&&(n._prevHeight=n.height)})),t.edges().forEach((function(e){var n=t.edge(e);r.has(n,"label")||(n.label=""),r.defaults(n,s)}))}(y);var g=c(n,"output"),v=c(g,"clusters"),m=c(g,"edgePaths"),b=i(c(g,"edgeLabels"),y),x=t(c(g,"nodes"),y,d);a(y),l(x,y),h(b,y),u(m,y,p);var _=e(v,y);f(_,y),function(t){r.each(t.nodes(),(function(e){var n=t.node(e);r.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,r.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight}))}(y)};return y.createNodes=function(e){return arguments.length?(t=e,y):t},y.createClusters=function(t){return arguments.length?(e=t,y):e},y.createEdgeLabels=function(t){return arguments.length?(i=t,y):i},y.createEdgePaths=function(t){return arguments.length?(u=t,y):u},y.shapes=function(t){return arguments.length?(d=t,y):d},y.arrows=function(t){return arguments.length?(p=t,y):p},y};var o={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},s={arrowhead:"normal",curve:i.curveLinear};function c(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}},function(t,e,n){"use strict";var r=n(44),i=n(98),a=n(14),o=n(31);t.exports=function(t,e,n){var s,c=e.nodes().filter((function(t){return!a.isSubgraph(e,t)})),u=t.selectAll("g.node").data(c,(function(t){return t})).classed("update",!0);u.exit().remove(),u.enter().append("g").attr("class","node").style("opacity",0),(u=t.selectAll("g.node")).each((function(t){var s=e.node(t),c=o.select(this);a.applyClass(c,s.class,(c.classed("update")?"update ":"")+"node"),c.select("g.label").remove();var u=c.append("g").attr("class","label"),l=i(u,s),h=n[s.shape],f=r.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&c.attr("id",s.id),s.labelId&&u.attr("id",s.labelId),r.has(s,"width")&&(f.width=s.width),r.has(s,"height")&&(f.height=s.height),f.width+=s.paddingLeft+s.paddingRight,f.height+=s.paddingTop+s.paddingBottom,u.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var d=o.select(this);d.select(".label-container").remove();var p=h(d,f,s).classed("label-container",!0);a.applyStyle(p,s.style);var y=p.node().getBBox();s.width=y.width,s.height=y.height})),s=u.exit?u.exit():u.selectAll(null);return a.applyTransition(s,e).style("opacity",0).remove(),u}},function(t,e,n){var r=n(14);t.exports=function(t,e){for(var n=t.append("text"),i=function(t){for(var e,n="",r=!1,i=0;i0&&void 0!==arguments[0]?arguments[0]:"fatal";isNaN(t)&&(t=t.toLowerCase(),void 0!==s[t]&&(t=s[t])),c.trace=function(){},c.debug=function(){},c.info=function(){},c.warn=function(){},c.error=function(){},c.fatal=function(){},t<=s.fatal&&(c.fatal=console.error?console.error.bind(console,l("FATAL"),"color: orange"):console.log.bind(console,"",l("FATAL"))),t<=s.error&&(c.error=console.error?console.error.bind(console,l("ERROR"),"color: orange"):console.log.bind(console,"",l("ERROR"))),t<=s.warn&&(c.warn=console.warn?console.warn.bind(console,l("WARN"),"color: orange"):console.log.bind(console,"",l("WARN"))),t<=s.info&&(c.info=console.info?console.info.bind(console,l("INFO"),"color: lightblue"):console.log.bind(console,"",l("INFO"))),t<=s.debug&&(c.debug=console.debug?console.debug.bind(console,l("DEBUG"),"color: lightgreen"):console.log.bind(console,"",l("DEBUG")))},l=function(t){var e=o()().format("ss.SSS");return"%c".concat(e," : ").concat(t," : ")},h=n(0),f=n(170),d=n.n(f),p=n(36),y=n(71),g=function(t){for(var e="",n=0;n>=0;){if(!((n=t.indexOf("=0)){e+=t,n=-1;break}e+=t.substr(0,n),(n=(t=t.substr(n+1)).indexOf("<\/script>"))>=0&&(n+=9,t=t.substr(n))}return e},v=//gi,m=function(t){return t.replace(v,"#br#")},b=function(t){return t.replace(/#br#/g,"
")},x={getRows:function(t){if(!t)return 1;var e=m(t);return(e=e.replace(/\\n/g,"#br#")).split("#br#")},sanitizeText:function(t,e){var n=t,r=!0;if(!e.flowchart||!1!==e.flowchart.htmlLabels&&"false"!==e.flowchart.htmlLabels||(r=!1),r){var i=e.securityLevel;"antiscript"===i?n=g(n):"loose"!==i&&(n=(n=(n=m(n)).replace(//g,">")).replace(/=/g,"="),n=b(n))}return n},hasBreaks:function(t){return//gi.test(t)},splitBreaks:function(t){return t.split(//gi)},lineBreakRegex:v,removeScript:g,getUrl:function(t){var e="";return t&&(e=(e=(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e}};function _(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null;try{var n=new RegExp("[%]{2}(?![{]".concat(C.source,")(?=[}][%]{2}).*\n"),"ig");t=t.trim().replace(n,"").replace(/'/gm,'"'),c.debug("Detecting diagram directive".concat(null!==e?" type:"+e:""," based on the text:").concat(t));for(var r,i=[];null!==(r=T.exec(t));)if(r.index===T.lastIndex&&T.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){var a=r[1]?r[1]:r[2],o=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:a,args:o})}return 0===i.length&&i.push({type:t,args:null}),1===i.length?i[0]:i}catch(n){return c.error("ERROR: ".concat(n.message," - Unable to parse directive\n ").concat(null!==e?" type:"+e:""," based on the text:").concat(t)),{type:null,args:null}}},M=function(t,e){return t=t.replace(T,"").replace(S,"\n"),c.debug("Detecting diagram type based on the text "+t),t.match(/^\s*sequenceDiagram/)?"sequence":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram-v2/)?"classDiagram":t.match(/^\s*classDiagram/)?e&&e.class&&"dagre-wrapper"===e.class.defaultRenderer?"classDiagram":"class":t.match(/^\s*stateDiagram-v2/)?"stateDiagram":t.match(/^\s*stateDiagram/)?e&&e.class&&"dagre-wrapper"===e.state.defaultRenderer?"stateDiagram":"state":t.match(/^\s*gitGraph/)?"git":t.match(/^\s*flowchart/)?"flowchart-v2":t.match(/^\s*info/)?"info":t.match(/^\s*pie/)?"pie":t.match(/^\s*erDiagram/)?"er":t.match(/^\s*journey/)?"journey":t.match(/^\s*requirement/)||t.match(/^\s*requirementDiagram/)?"requirement":e&&e.flowchart&&"dagre-wrapper"===e.flowchart.defaultRenderer?"flowchart-v2":"flowchart"},O=function(t,e){var n={};return function(){for(var r=arguments.length,i=new Array(r),a=0;a"},n),x.lineBreakRegex.test(t))return t;var r=t.split(" "),i=[],a="";return r.forEach((function(t,o){var s=z("".concat(t," "),n),c=z(a,n);if(s>e){var u=Y(t,e,"-",n),l=u.hyphenatedStrings,h=u.remainingWord;i.push.apply(i,[a].concat(w(l))),a=h}else c+s>=e?(i.push(a),a=t):a=[a,t].filter(Boolean).join(" ");o+1===r.length&&i.push(a)})),i.filter((function(t){return""!==t})).join(n.joinWith)}),(function(t,e,n){return"".concat(t,"-").concat(e,"-").concat(n.fontSize,"-").concat(n.fontWeight,"-").concat(n.fontFamily,"-").concat(n.joinWith)})),Y=O((function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0;r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);var i=t.split(""),a=[],o="";return i.forEach((function(t,s){var c="".concat(o).concat(t);if(z(c,r)>=e){var u=s+1,l=i.length===u,h="".concat(c).concat(n);a.push(l?c:h),o=""}else o=c})),{hyphenatedStrings:a,remainingWord:o}}),(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0;return"".concat(t,"-").concat(e,"-").concat(n,"-").concat(r.fontSize,"-").concat(r.fontWeight,"-").concat(r.fontFamily)})),z=function(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),U(t,e).width},U=O((function(t,e){var n=e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),r=n.fontSize,i=n.fontFamily,a=n.fontWeight;if(!t)return{width:0,height:0};var o=["sans-serif",i],s=t.split(x.lineBreakRegex),c=[],u=Object(h.select)("body");if(!u.remove)return{width:0,height:0,lineHeight:0};for(var l=u.append("svg"),f=0,d=o;fc[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]}),(function(t,e){return"".concat(t,"-").concat(e.fontSize,"-").concat(e.fontWeight,"-").concat(e.fontFamily)})),$=function(t,e,n){var r=new Map;return r.set("height",t),n?(r.set("width","100%"),r.set("style","max-width: ".concat(e,"px;"))):r.set("width",e),r},q=function(t,e,n,r){!function(t,e){var n=!0,r=!1,i=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;t.attr(s[0],s[1])}}catch(t){r=!0,i=t}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}(t,$(e,n,r))},W={assignWithDepth:F,wrapLabel:j,calculateTextHeight:function(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),U(t,e).height},calculateTextWidth:z,calculateTextDimensions:U,calculateSvgSizeAttrs:$,configureSvgSize:q,detectInit:function(t,e){var n=A(t,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(n)){var i=n.map((function(t){return t.args}));r=F(r,w(i))}else r=n.args;if(r){var a=M(t,e);["config"].forEach((function(t){void 0!==r[t]&&("flowchart-v2"===a&&(a="flowchart"),r[a]=r[t],delete r[t])}))}return r},detectDirective:A,detectType:M,isSubstringInArray:function(t,e){for(var n=0;n=1&&(i={x:t.x,y:t.y}),a>0&&a<1&&(i={x:(1-a)*e.x+a*t.x,y:(1-a)*e.y+a*t.y})}}e=t})),i}(t)},calcCardinalityPosition:function(t,e,n){var r;c.info("our points",e),e[0]!==n&&(e=e.reverse()),e.forEach((function(t){N(t,r),r=t}));var i,a=25;r=void 0,e.forEach((function(t){if(r&&!i){var e=N(t,r);if(e=1&&(i={x:t.x,y:t.y}),n>0&&n<1&&(i={x:(1-n)*r.x+n*t.x,y:(1-n)*r.y+n*t.y})}}r=t}));var o=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),u={x:0,y:0};return u.x=Math.sin(s)*o+(e[0].x+i.x)/2,u.y=-Math.cos(s)*o+(e[0].y+i.y)/2,u},calcTerminalLabelPosition:function(t,e,n){var r,i=JSON.parse(JSON.stringify(n));c.info("our points",i),"start_left"!==e&&"start_right"!==e&&(i=i.reverse()),i.forEach((function(t){N(t,r),r=t}));var a,o=25;r=void 0,i.forEach((function(t){if(r&&!a){var e=N(t,r);if(e=1&&(a={x:t.x,y:t.y}),n>0&&n<1&&(a={x:(1-n)*r.x+n*t.x,y:(1-n)*r.y+n*t.y})}}r=t}));var s=10,u=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return l.x=Math.sin(u)*s+(i[0].x+a.x)/2,l.y=-Math.cos(u)*s+(i[0].y+a.y)/2,"start_left"===e&&(l.x=Math.sin(u+Math.PI)*s+(i[0].x+a.x)/2,l.y=-Math.cos(u+Math.PI)*s+(i[0].y+a.y)/2),"end_right"===e&&(l.x=Math.sin(u-Math.PI)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(u-Math.PI)*s+(i[0].y+a.y)/2-5),"end_left"===e&&(l.x=Math.sin(u)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(u)*s+(i[0].y+a.y)/2-5),l},formatUrl:function(t,e){var n=t.trim();if(n)return"loose"!==e.securityLevel?Object(y.sanitizeUrl)(n):n},getStylesFromArray:D,generateId:I,random:R,memoize:O,runFunc:function(t){for(var e,n=t.split("."),r=n.length-1,i=n[r],a=window,o=0;o1?s-1:0),u=1;u-1||e[n].indexOf(">")>-1||e[n].indexOf("url(data:")>-1)&&delete e[n],"object"===ft(e[n])&&t(e[n])}))},kt=function(t){t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),gt.push(t),mt(yt,gt)},wt=function(){mt(yt,gt=[])};function Et(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0){var r=t.split("~");n=r[0],e=r[1]}return{className:n,type:e}},Ot=function(t){var e=Mt(t);void 0===Ct[e.className]&&(Ct[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:"classid-"+e.className+"-"+St},St++)},Bt=function(t){for(var e=Object.keys(Ct),n=0;n>")?r.annotations.push(i.substring(2,i.length-2)):i.indexOf(")")>0?r.methods.push(i):i&&r.members.push(i)}},Dt=function(t,e){t.split(",").forEach((function(t){var n=t;t[0].match(/\d/)&&(n="classid-"+n),void 0!==Ct[n]&&Ct[n].cssClasses.push(e)}))},Lt=function(t,e,n){var r=xt(),i=t,a=Bt(i);if("loose"===r.securityLevel&&void 0!==e&&void 0!==Ct[i]){var o=[];if("string"==typeof n){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var s=0;s1&&a>i&&a<=t.length){var o="",s="",c=t.substring(0,1);c.match(/\w/)?s=t.substring(0,i).trim():(c.match(/\+|-|~|#/)&&(o=c),s=t.substring(1,i).trim());var u=t.substring(i+1,a),l=t.substring(a+1,1);n=Qt(l),e=o+s+"("+Zt(u.trim())+")",a<"".length&&""!==(r=t.substring(a+2).trim())&&(r=" : "+Zt(r))}else e=Zt(t);return{displayText:e,cssStyle:n}},Xt=function(t,e,n,r){var i=Wt(e),a=t.append("tspan").attr("x",r.padding).text(i.displayText);""!==i.cssStyle&&a.attr("style",i.cssStyle),n||a.attr("dy",r.textHeight)},Zt=function t(e){var n=e;return-1!=e.indexOf("~")?t(n=(n=n.replace("~","<")).replace("~",">")):n},Qt=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},Kt=function(t,e,n){c.info("Rendering class "+e);var r,i=e.id,a={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",Bt(i)).attr("class","classGroup");r=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",n.textHeight+n.padding).attr("x",0):o.append("text").attr("y",n.textHeight+n.padding).attr("x",0);var s=!0;e.annotations.forEach((function(t){var e=r.append("tspan").text("«"+t+"»");s||e.attr("dy",n.textHeight),s=!1}));var u=e.id;void 0!==e.type&&""!==e.type&&(u+="<"+e.type+">");var l=r.append("tspan").text(u).attr("class","title");s||l.attr("dy",n.textHeight);var h=r.node().getBBox().height,f=o.append("line").attr("x1",0).attr("y1",n.padding+h+n.dividerMargin/2).attr("y2",n.padding+h+n.dividerMargin/2),d=o.append("text").attr("x",n.padding).attr("y",h+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach((function(t){Xt(d,t,s,n),s=!1}));var p=d.node().getBBox(),y=o.append("line").attr("x1",0).attr("y1",n.padding+h+n.dividerMargin+p.height).attr("y2",n.padding+h+n.dividerMargin+p.height),g=o.append("text").attr("x",n.padding).attr("y",h+2*n.dividerMargin+p.height+n.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach((function(t){Xt(g,t,s,n),s=!1}));var v=o.node().getBBox(),m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));var b=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",v.width+2*n.padding).attr("height",v.height+n.padding+.5*n.dividerMargin).attr("class",m).node().getBBox().width;return r.node().childNodes.forEach((function(t){t.setAttribute("x",(b-t.getBBox().width)/2)})),e.tooltip&&r.insert("title").text(e.tooltip),f.attr("x2",b),y.attr("x2",b),a.width=b,a.height=v.height+n.padding+.5*n.dividerMargin,a},Jt=function(t,e,n,r){var i=function(t){switch(t){case It.AGGREGATION:return"aggregation";case It.EXTENSION:return"extension";case It.COMPOSITION:return"composition";case It.DEPENDENCY:return"dependency"}};e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var a,o,s=e.points,u=Object(h.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(h.curveBasis),l=t.append("path").attr("d",u(s)).attr("id","edge"+qt).attr("class","relation"),f="";r.arrowMarkerAbsolute&&(f=(f=(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==n.relation.lineType&&l.attr("class","relation dashed-line"),"none"!==n.relation.type1&&l.attr("marker-start","url("+f+"#"+i(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&l.attr("marker-end","url("+f+"#"+i(n.relation.type2)+"End)");var d,p,y,g,v=e.points.length,m=W.calcLabelPosition(e.points);if(a=m.x,o=m.y,v%2!=0&&v>1){var b=W.calcCardinalityPosition("none"!==n.relation.type1,e.points,e.points[0]),x=W.calcCardinalityPosition("none"!==n.relation.type2,e.points,e.points[v-1]);c.debug("cardinality_1_point "+JSON.stringify(b)),c.debug("cardinality_2_point "+JSON.stringify(x)),d=b.x,p=b.y,y=x.x,g=x.y}if(void 0!==n.title){var _=t.append("g").attr("class","classLabel"),k=_.append("text").attr("class","label").attr("x",a).attr("y",o).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=k;var w=k.node().getBBox();_.insert("rect",":first-child").attr("class","box").attr("x",w.x-r.padding/2).attr("y",w.y-r.padding/2).attr("width",w.width+r.padding).attr("height",w.height+r.padding)}(c.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1)&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",d).attr("y",p).attr("fill","black").attr("font-size","6").text(n.relationTitle1);void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",y).attr("y",g).attr("fill","black").attr("font-size","6").text(n.relationTitle2);qt++};Ut.parser.yy=Ft;var te={},ee={dividerMargin:10,padding:5,textHeight:10},ne=function(t){for(var e=Object.keys(te),n=0;n "+t.w+": "+JSON.stringify(i.edge(t))),Jt(r,i.edge(t),i.edge(t).relation,ee))}));var f=r.node().getBBox(),d=f.width+40,p=f.height+40;q(r,p,d,ee.useMaxWidth);var y="".concat(f.x-20," ").concat(f.y-20," ").concat(d," ").concat(p);c.debug("viewBox ".concat(y)),r.attr("viewBox",y)},ae={extension:function(t,e,n){c.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).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"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).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")},composition:function(t,e){t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).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"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).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")},aggregation:function(t,e){t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).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"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).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")},dependency:function(t,e){t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).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"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).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")},point:function(t,e){t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").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").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).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:function(t,e){t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).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:function(t,e){t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).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"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).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:function(t,e){t.append("defs").append("marker").attr("id",e+"-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")}},oe=function(t,e,n,r){e.forEach((function(e){ae[e](t,n,r)}))};function se(t){return(se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ce=function(t,e,n,r){var i=t||"";if("object"===se(i)&&(i=i[0]),xt().flowchart.htmlLabels)return i=i.replace(/\\n|\n/g,"
"),c.info("vertexText"+i),function(t){var e,n,r=Object(h.select)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=r.append("xhtml:div"),a=t.label,o=t.isNode?"nodeLabel":"edgeLabel";return i.html('"+a+""),e=i,(n=t.labelStyle)&&e.attr("style",n),i.style("display","inline-block"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}({isNode:r,label:i.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")})),labelStyle:e.replace("fill:","color:")});var a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));var o=[];o="string"==typeof i?i.split(/\\n|\n|/gi):Array.isArray(i)?i:[];for(var s=0;s0)t(a,n,r,i);else{var o=n.node(a);c.info("cp ",a," to ",i," with parent ",e),r.setNode(a,o),i!==n.parent(a)&&(c.warn("Setting parent",a,n.parent(a)),r.setParent(a,n.parent(a))),e!==i&&a!==e?(c.debug("Setting parent",a,e),r.setParent(a,e)):(c.info("In copy ",e,"root",i,"data",n.node(e),i),c.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==i,"node!==clusterId",a!==e));var s=n.edges(a);c.debug("Copying Edges",s),s.forEach((function(t){c.info("Edge",t);var a=n.edge(t.v,t.w,t.name);c.info("Edge data",a,i);try{!function(t,e){return c.info("Decendants of ",e," is ",de[e]),c.info("Edge is ",t),t.v!==e&&(t.w!==e&&(de[e]?(c.info("Here "),de[e].indexOf(t.v)>=0||(!!ye(t.v,e)||(!!ye(t.w,e)||de[e].indexOf(t.w)>=0))):(c.debug("Tilt, ",e,",not in decendants"),!1)))}(t,i)?c.info("Skipping copy of edge ",t.v,"--\x3e",t.w," rootId: ",i," clusterId:",e):(c.info("Copying as ",t.v,t.w,a,t.name),r.setEdge(t.v,t.w,a,t.name),c.info("newGraph edges ",r.edges(),r.edge(r.edges()[0])))}catch(t){c.error(t)}}))}c.debug("Removing node",a),n.removeNode(a)}))},ve=function t(e,n){c.trace("Searching",e);var r=n.children(e);if(c.trace("Searching children of id ",e,r),r.length<1)return c.trace("This is a valid node",e),e;for(var i=0;i ",a),a}},me=function(t){return fe[t]&&fe[t].externalConnections&&fe[t]?fe[t].id:t},be=function(t,e){!t||e>10?c.debug("Opting out, no graph "):(c.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(c.warn("Cluster identified",e," Replacement id in edges: ",ve(e,t)),de[e]=function t(e,n){for(var r=n.children(e),i=[].concat(r),a=0;a0?(c.debug("Cluster identified",e,de),r.forEach((function(t){t.v!==e&&t.w!==e&&(ye(t.v,e)^ye(t.w,e)&&(c.warn("Edge: ",t," leaves cluster ",e),c.warn("Decendants of XXX ",e,": ",de[e]),fe[e].externalConnections=!0))}))):c.debug("Not a cluster ",e,de)})),t.edges().forEach((function(e){var n=t.edge(e);c.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),c.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));var r=e.v,i=e.w;c.warn("Fix XXX",fe,"ids:",e.v,e.w,"Translateing: ",fe[e.v]," --- ",fe[e.w]),(fe[e.v]||fe[e.w])&&(c.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),r=me(e.v),i=me(e.w),t.removeEdge(e.v,e.w,e.name),r!==e.v&&(n.fromCluster=e.v),i!==e.w&&(n.toCluster=e.w),c.warn("Fix Replacing with XXX",r,i,e.name),t.setEdge(r,i,n,e.name))})),c.warn("Adjusted Graph",zt.a.json.write(t)),xe(t,0),c.trace(fe))},xe=function t(e,n){if(c.warn("extractor - ",n,zt.a.json.write(e),e.children("D")),n>10)c.error("Bailing out");else{for(var r=e.nodes(),i=!1,a=0;a0}if(i){c.debug("Nodes = ",r,n);for(var u=0;u0){c.warn("Cluster without external connections, without a parent and with children",l,n);var h="TB"===e.graph().rankdir?"LR":"TB";fe[l]&&fe[l].clusterData&&fe[l].clusterData.dir&&(h=fe[l].clusterData.dir,c.warn("Fixing dir",fe[l].clusterData.dir,h));var f=new zt.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:h,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));c.warn("Old graph before copy",zt.a.json.write(e)),ge(l,e,f,l),e.setNode(l,{clusterNode:!0,id:l,clusterData:fe[l].clusterData,labelText:fe[l].labelText,graph:f}),c.warn("New graph after copy node: (",l,")",zt.a.json.write(f)),c.debug("Old graph after copy",zt.a.json.write(e))}else c.warn("Cluster ** ",l," **not meeting the criteria !externalConnections:",!fe[l].externalConnections," no parent: ",!e.parent(l)," children ",e.children(l)&&e.children(l).length>0,e.children("D"),n),c.debug(fe);else c.debug("Not a cluster",l,n)}r=e.nodes(),c.warn("New list of nodes",r);for(var d=0;d0}var Ce=function(t,e,n,r){var i,a,o,s,c,u,l,h,f,d,p,y,g;if(i=e.y-t.y,o=t.x-e.x,c=e.x*t.y-t.x*e.y,f=i*n.x+o*n.y+c,d=i*r.x+o*r.y+c,!(0!==f&&0!==d&&Te(f,d)||(a=r.y-n.y,s=n.x-r.x,u=r.x*n.y-n.x*r.y,l=a*t.x+s*t.y+u,h=a*e.x+s*e.y+u,0!==l&&0!==h&&Te(l,h)||0==(p=i*s-a*o))))return y=Math.abs(p/2),{x:(g=o*u-s*c)<0?(g-y)/p:(g+y)/p,y:(g=a*c-i*u)<0?(g-y)/p:(g+y)/p}},Se=function(t,e,n){var r=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)})):(o=Math.min(o,e.x),s=Math.min(s,e.y));for(var c=r-t.width/2-o,u=i-t.height/2-s,l=0;l1&&a.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return aMath.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,r=u):(o<0&&(c=-c),n=c,r=0===o?0:c*s/o),{x:i+n,y:a+r}},Me={node:n.n(ke).a,circle:Ee,ellipse:we,polygon:Se,rect:Ae};function Oe(t){return(Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Be=function(t,e,n){var r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;"LR"===n&&(i=10,a=70);var o=r.append("rect").style("stroke","black").style("fill","black").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return le(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return Me.rect(e,t)},r},Ne={question:function(t,e){var n=ue(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding+(i.height+e.padding),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];c.info("Question main (Circle)");var s=he(r,a,a,o);return s.attr("style",e.style),le(e,s),e.intersect=function(t){return c.warn("Intersect called"),Me.polygon(e,o,t)},r},rect:function(t,e){var n=ue(t,e,"node "+e.classes,!0),r=n.shapeSvg,i=n.bbox,a=n.halfPadding;c.trace("Classes = ",e.classes);var o=r.insert("rect",":first-child");return o.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),le(e,o),e.intersect=function(t){return Me.rect(e,t)},r},rectWithTitle:function(t,e){var n;n=e.classes?"node "+e.classes:"node default";var r=t.insert("g").attr("class",n).attr("id",e.domId||e.id),i=r.insert("rect",":first-child"),a=r.insert("line"),o=r.insert("g").attr("class","label"),s=e.labelText.flat?e.labelText.flat():e.labelText,u="";u="object"===Oe(s)?s[0]:s,c.info("Label text abc79",u,s,"object"===Oe(s));var l,f=o.node().appendChild(ce(u,e.labelStyle,!0,!0));if(xt().flowchart.htmlLabels){var d=f.children[0],p=Object(h.select)(f);l=d.getBoundingClientRect(),p.attr("width",l.width),p.attr("height",l.height)}c.info("Text 2",s);var y=s.slice(1,s.length),g=f.getBBox(),v=o.node().appendChild(ce(y.join?y.join("
"):y,e.labelStyle,!0,!0));if(xt().flowchart.htmlLabels){var m=v.children[0],b=Object(h.select)(v);l=m.getBoundingClientRect(),b.attr("width",l.width),b.attr("height",l.height)}var x=e.padding/2;return Object(h.select)(v).attr("transform","translate( "+(l.width>g.width?0:(g.width-l.width)/2)+", "+(g.height+x+5)+")"),Object(h.select)(f).attr("transform","translate( "+(l.widthe.height/2-s)){var i=s*s*(1-r*r/(o*o));0!=i&&(i=Math.sqrt(i)),i=s-i,t.y-e.y>0&&(i=-i),n.y+=i}return n},r},start:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),le(e,r),e.intersect=function(t){return Me.circle(e,7,t)},n},end:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child"),i=n.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),le(e,i),e.intersect=function(t){return Me.circle(e,7,t)},n},note:function(t,e){var n=ue(t,e,"node "+e.classes,!0),r=n.shapeSvg,i=n.bbox,a=n.halfPadding;c.info("Classes = ",e.classes);var o=r.insert("rect",":first-child");return o.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),le(e,o),e.intersect=function(t){return Me.rect(e,t)},r},subroutine:function(t,e){var n=ue(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=[{x:0,y:0},{x:a,y:0},{x:a,y:-o},{x:0,y:-o},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-o},{x:-8,y:-o},{x:-8,y:0}],c=he(r,a,o,s);return c.attr("style",e.style),le(e,c),e.intersect=function(t){return Me.polygon(e,s,t)},r},fork:Be,join:Be,class_box:function(t,e){var n,r=e.padding/2;n=e.classes?"node "+e.classes:"node default";var i=t.insert("g").attr("class",n).attr("id",e.domId||e.id),a=i.insert("rect",":first-child"),o=i.insert("line"),s=i.insert("line"),c=0,u=4,l=i.insert("g").attr("class","label"),f=0,d=e.classData.annotations&&e.classData.annotations[0],p=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",y=l.node().appendChild(ce(p,e.labelStyle,!0,!0)),g=y.getBBox();if(xt().flowchart.htmlLabels){var v=y.children[0],m=Object(h.select)(y);g=v.getBoundingClientRect(),m.attr("width",g.width),m.attr("height",g.height)}e.classData.annotations[0]&&(u+=g.height+4,c+=g.width);var b=e.classData.id;void 0!==e.classData.type&&""!==e.classData.type&&(b+="<"+e.classData.type+">");var x=l.node().appendChild(ce(b,e.labelStyle,!0,!0));Object(h.select)(x).attr("class","classTitle");var _=x.getBBox();if(xt().flowchart.htmlLabels){var k=x.children[0],w=Object(h.select)(x);_=k.getBoundingClientRect(),w.attr("width",_.width),w.attr("height",_.height)}u+=_.height+4,_.width>c&&(c=_.width);var E=[];e.classData.members.forEach((function(t){var n=Wt(t).displayText,r=l.node().appendChild(ce(n,e.labelStyle,!0,!0)),i=r.getBBox();if(xt().flowchart.htmlLabels){var a=r.children[0],o=Object(h.select)(r);i=a.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}i.width>c&&(c=i.width),u+=i.height+4,E.push(r)})),u+=8;var T=[];if(e.classData.methods.forEach((function(t){var n=Wt(t).displayText,r=l.node().appendChild(ce(n,e.labelStyle,!0,!0)),i=r.getBBox();if(xt().flowchart.htmlLabels){var a=r.children[0],o=Object(h.select)(r);i=a.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}i.width>c&&(c=i.width),u+=i.height+4,T.push(r)})),u+=8,d){var C=(c-g.width)/2;Object(h.select)(y).attr("transform","translate( "+(-1*c/2+C)+", "+-1*u/2+")"),f=g.height+4}var S=(c-_.width)/2;return Object(h.select)(x).attr("transform","translate( "+(-1*c/2+S)+", "+(-1*u/2+f)+")"),f+=_.height+4,o.attr("class","divider").attr("x1",-c/2-r).attr("x2",c/2+r).attr("y1",-u/2-r+8+f).attr("y2",-u/2-r+8+f),f+=8,E.forEach((function(t){Object(h.select)(t).attr("transform","translate( "+-c/2+", "+(-1*u/2+f+4)+")"),f+=_.height+4})),f+=8,s.attr("class","divider").attr("x1",-c/2-r).attr("x2",c/2+r).attr("y1",-u/2-r+8+f).attr("y2",-u/2-r+8+f),f+=8,T.forEach((function(t){Object(h.select)(t).attr("transform","translate( "+-c/2+", "+(-1*u/2+f)+")"),f+=_.height+4})),a.attr("class","outer title-state").attr("x",-c/2-r).attr("y",-u/2-r).attr("width",c+e.padding).attr("height",u+e.padding),le(e,a),e.intersect=function(t){return Me.rect(e,t)},i}},De={},Le=function(t){var e=De[t.id];c.trace("Transforming node",t,"translate("+(t.x-t.width/2-5)+", "+(t.y-t.height/2-5)+")");t.clusterNode?e.attr("transform","translate("+(t.x-t.width/2-8)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")")},Ie={rect:function(t,e){c.trace("Creating subgraph rect for ",e.id,e);var n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),r=n.insert("rect",":first-child"),i=n.insert("g").attr("class","cluster-label"),a=i.node().appendChild(ce(e.labelText,e.labelStyle,void 0,!0)),o=a.getBBox();if(xt().flowchart.htmlLabels){var s=a.children[0],u=Object(h.select)(a);o=s.getBoundingClientRect(),u.attr("width",o.width),u.attr("height",o.height)}var l=0*e.padding,f=l/2;c.trace("Data ",e,JSON.stringify(e)),r.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-f).attr("y",e.y-e.height/2-f).attr("width",e.width+l).attr("height",e.height+l),i.attr("transform","translate("+(e.x-o.width/2)+", "+(e.y-e.height/2+e.padding/3)+")");var d=r.node().getBBox();return e.width=d.width,e.height=d.height,e.intersect=function(t){return Ae(e,t)},n},roundedWithTitle:function(t,e){var n=t.insert("g").attr("class",e.classes).attr("id",e.id),r=n.insert("rect",":first-child"),i=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),o=i.node().appendChild(ce(e.labelText,e.labelStyle,void 0,!0)),s=o.getBBox();if(xt().flowchart.htmlLabels){var c=o.children[0],u=Object(h.select)(o);s=c.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}s=o.getBBox();var l=0*e.padding,f=l/2,d=e.width>s.width?e.width:s.width+e.padding;r.attr("class","outer").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f).attr("width",d+l).attr("height",e.height+l),a.attr("class","inner").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f+s.height-1).attr("width",d+l).attr("height",e.height+l-s.height-3),i.attr("transform","translate("+(e.x-s.width/2)+", "+(e.y-e.height/2-e.padding/3+(xt().flowchart.htmlLabels?5:3))+")");var p=r.node().getBBox();return e.width=p.width,e.height=p.height,e.intersect=function(t){return Ae(e,t)},n},noteGroup:function(t,e){var n=t.insert("g").attr("class","note-cluster").attr("id",e.id),r=n.insert("rect",":first-child"),i=0*e.padding,a=i/2;r.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");var o=r.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return Ae(e,t)},n},divider:function(t,e){var n=t.insert("g").attr("class",e.classes).attr("id",e.id),r=n.insert("rect",":first-child"),i=0*e.padding,a=i/2;r.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+i).attr("height",e.height+i);var o=r.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return Ae(e,t)},n}},Re={},Fe={},Pe={},je=function(t,e){c.warn("abc88 cutPathAtIntersect",t,e);var n=[],r=t[0],i=!1;return t.forEach((function(t){if(c.info("abc88 checking point",t,e),function(t,e){var n=t.x,r=t.y,i=Math.abs(e.x-n),a=Math.abs(e.y-r),o=t.width/2,s=t.height/2;return i>=o||a>=s}(e,t)||i)c.warn("abc88 outside",t,r),r=t,i||n.push(t);else{var a=function(t,e,n){c.warn("intersection calc abc89:\n outsidePoint: ".concat(JSON.stringify(e),"\n insidePoint : ").concat(JSON.stringify(n),"\n node : x:").concat(t.x," y:").concat(t.y," w:").concat(t.width," h:").concat(t.height));var r=t.x,i=t.y,a=Math.abs(r-n.x),o=t.width/2,s=n.xMath.abs(r-e.x)*u){var f=n.y0&&c.trace("Recursive edges",n.edge(n.edges()[0]));var s=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),l=o.insert("g").attr("class","edgeLabels"),f=o.insert("g").attr("class","nodes");return n.nodes().forEach((function(e){var o=n.node(e);if(void 0!==i){var s=JSON.parse(JSON.stringify(i.clusterData));c.info("Setting data for cluster XXX (",e,") ",s,i),n.setNode(i.id,s),n.parent(e)||(c.trace("Setting parent",e,i.id),n.setParent(e,i.id,s))}if(c.info("(Insert) Node XXX"+e+": "+JSON.stringify(n.node(e))),o&&o.clusterNode){c.info("Cluster identified",e,o,n.node(e));var u=t(f,o.graph,r,n.node(e));le(o,u),function(t,e){De[e.id]=t}(u,o),c.warn("Recursive render complete",u,o)}else n.children(e).length>0?(c.info("Cluster - the non recursive path XXX",e,o.id,o,n),c.info(ve(o.id,n)),fe[o.id]={id:ve(o.id,n),node:o}):(c.info("Node - the non recursive path",e,o.id,o),function(t,e,n){var r,i;e.link?(r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget||"_blank"),i=Ne[e.shape](r,e,n)):r=i=Ne[e.shape](t,e,n),e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),De[e.id]=r,e.haveCallback&&De[e.id].attr("class",De[e.id].attr("class")+" clickable")}(f,n.node(e),a))})),n.edges().forEach((function(t){var e=n.edge(t.v,t.w,t.name);c.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),c.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(n.edge(t))),c.info("Fix",fe,"ids:",t.v,t.w,"Translateing: ",fe[t.v],fe[t.w]),function(t,e){var n=ce(e.label,e.labelStyle),r=t.insert("g").attr("class","edgeLabel"),i=r.insert("g").attr("class","label");i.node().appendChild(n);var a=n.getBBox();if(xt().flowchart.htmlLabels){var o=n.children[0],s=Object(h.select)(n);a=o.getBoundingClientRect(),s.attr("width",a.width),s.attr("height",a.height)}if(i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),Fe[e.id]=r,e.width=a.width,e.height=a.height,e.startLabelLeft){var c=ce(e.startLabelLeft,e.labelStyle),u=t.insert("g").attr("class","edgeTerminals"),l=u.insert("g").attr("class","inner");l.node().appendChild(c);var f=c.getBBox();l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),Pe[e.id]||(Pe[e.id]={}),Pe[e.id].startLeft=u}if(e.startLabelRight){var d=ce(e.startLabelRight,e.labelStyle),p=t.insert("g").attr("class","edgeTerminals"),y=p.insert("g").attr("class","inner");p.node().appendChild(d),y.node().appendChild(d);var g=d.getBBox();y.attr("transform","translate("+-g.width/2+", "+-g.height/2+")"),Pe[e.id]||(Pe[e.id]={}),Pe[e.id].startRight=p}if(e.endLabelLeft){var v=ce(e.endLabelLeft,e.labelStyle),m=t.insert("g").attr("class","edgeTerminals"),b=m.insert("g").attr("class","inner");b.node().appendChild(v);var x=v.getBBox();b.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),m.node().appendChild(v),Pe[e.id]||(Pe[e.id]={}),Pe[e.id].endLeft=m}if(e.endLabelRight){var _=ce(e.endLabelRight,e.labelStyle),k=t.insert("g").attr("class","edgeTerminals"),w=k.insert("g").attr("class","inner");w.node().appendChild(_);var E=_.getBBox();w.attr("transform","translate("+-E.width/2+", "+-E.height/2+")"),k.node().appendChild(_),Pe[e.id]||(Pe[e.id]={}),Pe[e.id].endRight=k}}(l,e)})),n.edges().forEach((function(t){c.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),c.info("#############################################"),c.info("### Layout ###"),c.info("#############################################"),c.info(n),jt.a.layout(n),c.info("Graph after layout:",zt.a.json.write(n)),_e(n).forEach((function(t){var e=n.node(t);c.info("Position "+t+": "+JSON.stringify(n.node(t))),c.info("Position "+t+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e&&e.clusterNode?Le(e):n.children(t).length>0?(!function(t,e){c.trace("Inserting cluster");var n=e.shape||"rect";Re[e.id]=Ie[n](t,e)}(s,e),fe[e.id].node=e):Le(e)})),n.edges().forEach((function(t){var e=n.edge(t);c.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e),e),function(t,e){c.info("Moving label abc78 ",t.id,t.label,Fe[t.id]);var n=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){var r=Fe[t.id],i=t.x,a=t.y;if(n){var o=W.calcLabelPosition(n);c.info("Moving label from (",i,",",a,") to (",o.x,",",o.y,") abc78")}r.attr("transform","translate("+i+", "+a+")")}if(t.startLabelLeft){var s=Pe[t.id].startLeft,u=t.x,l=t.y;if(n){var h=W.calcTerminalLabelPosition(0,"start_left",n);u=h.x,l=h.y}s.attr("transform","translate("+u+", "+l+")")}if(t.startLabelRight){var f=Pe[t.id].startRight,d=t.x,p=t.y;if(n){var y=W.calcTerminalLabelPosition(0,"start_right",n);d=y.x,p=y.y}f.attr("transform","translate("+d+", "+p+")")}if(t.endLabelLeft){var g=Pe[t.id].endLeft,v=t.x,m=t.y;if(n){var b=W.calcTerminalLabelPosition(0,"end_left",n);v=b.x,m=b.y}g.attr("transform","translate("+v+", "+m+")")}if(t.endLabelRight){var x=Pe[t.id].endRight,_=t.x,k=t.y;if(n){var w=W.calcTerminalLabelPosition(0,"end_right",n);_=w.x,k=w.y}x.attr("transform","translate("+_+", "+k+")")}}(e,function(t,e,n,r,i,a){var o=n.points,s=!1,u=a.node(e.v),l=a.node(e.w);c.info("abc88 InsertEdge: ",n),l.intersect&&u.intersect&&((o=o.slice(1,n.points.length-1)).unshift(u.intersect(o[0])),c.info("Last point",o[o.length-1],l,l.intersect(o[o.length-1])),o.push(l.intersect(o[o.length-1]))),n.toCluster&&(c.info("to cluster abc88",r[n.toCluster]),o=je(n.points,r[n.toCluster].node),s=!0),n.fromCluster&&(c.info("from cluster abc88",r[n.fromCluster]),o=je(o.reverse(),r[n.fromCluster].node).reverse(),s=!0);var f,d=o.filter((function(t){return!Number.isNaN(t.y)}));f=("graph"===i||"flowchart"===i)&&n.curve||h.curveBasis;var p,y=Object(h.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(f);switch(n.thickness){case"normal":p="edge-thickness-normal";break;case"thick":p="edge-thickness-thick";break;default:p=""}switch(n.pattern){case"solid":p+=" edge-pattern-solid";break;case"dotted":p+=" edge-pattern-dotted";break;case"dashed":p+=" edge-pattern-dashed"}var g=t.append("path").attr("d",y(d)).attr("id",n.id).attr("class"," "+p+(n.classes?" "+n.classes:"")).attr("style",n.style),v="";switch(xt().state.arrowMarkerAbsolute&&(v=(v=(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),c.info("arrowTypeStart",n.arrowTypeStart),c.info("arrowTypeEnd",n.arrowTypeEnd),n.arrowTypeStart){case"arrow_cross":g.attr("marker-start","url("+v+"#"+i+"-crossStart)");break;case"arrow_point":g.attr("marker-start","url("+v+"#"+i+"-pointStart)");break;case"arrow_barb":g.attr("marker-start","url("+v+"#"+i+"-barbStart)");break;case"arrow_circle":g.attr("marker-start","url("+v+"#"+i+"-circleStart)");break;case"aggregation":g.attr("marker-start","url("+v+"#"+i+"-aggregationStart)");break;case"extension":g.attr("marker-start","url("+v+"#"+i+"-extensionStart)");break;case"composition":g.attr("marker-start","url("+v+"#"+i+"-compositionStart)");break;case"dependency":g.attr("marker-start","url("+v+"#"+i+"-dependencyStart)")}switch(n.arrowTypeEnd){case"arrow_cross":g.attr("marker-end","url("+v+"#"+i+"-crossEnd)");break;case"arrow_point":g.attr("marker-end","url("+v+"#"+i+"-pointEnd)");break;case"arrow_barb":g.attr("marker-end","url("+v+"#"+i+"-barbEnd)");break;case"arrow_circle":g.attr("marker-end","url("+v+"#"+i+"-circleEnd)");break;case"aggregation":g.attr("marker-end","url("+v+"#"+i+"-aggregationEnd)");break;case"extension":g.attr("marker-end","url("+v+"#"+i+"-extensionEnd)");break;case"composition":g.attr("marker-end","url("+v+"#"+i+"-compositionEnd)");break;case"dependency":g.attr("marker-end","url("+v+"#"+i+"-dependencyEnd)")}var m={};return s&&(m.updatedPath=o),m.originalPath=n.points,m}(u,t,e,fe,r,n))})),o},ze=function(t,e,n,r,i){oe(t,n,r,i),De={},Fe={},Pe={},Re={},de={},pe={},fe={},c.warn("Graph at first:",zt.a.json.write(e)),be(e),c.warn("Graph after:",zt.a.json.write(e)),Ye(t,e,r)};Ut.parser.yy=Ft;var Ue={dividerMargin:10,padding:5,textHeight:10},$e=function(t){Object.keys(t).forEach((function(e){Ue[e]=t[e]}))},qe=function(t,e){c.info("Drawing class"),Ft.clear(),Ut.parser.parse(t);var n=xt().flowchart;c.info("config:",n);var r=n.nodeSpacing||50,i=n.rankSpacing||50,a=new zt.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:"TD",nodesep:r,ranksep:i,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),o=Ft.getClasses(),s=Ft.getRelations();c.info(s),function(t,e){var n=Object.keys(t);c.info("keys:",n),c.info(t),n.forEach((function(n){var r=t[n],i="";r.cssClasses.length>0&&(i=i+" "+r.cssClasses.join(" "));var a={labelStyle:""},o=void 0!==r.text?r.text:r.id,s="";switch(r.type){case"class":s="class_box";break;default:s="class_box"}e.setNode(r.id,{labelStyle:a.labelStyle,shape:s,labelText:o,classData:r,rx:0,ry:0,class:i,style:a.style,id:r.id,domId:r.domId,haveCallback:r.haveCallback,link:r.link,width:"group"===r.type?500:void 0,type:r.type,padding:xt().flowchart.padding}),c.info("setNode",{labelStyle:a.labelStyle,shape:s,labelText:o,rx:0,ry:0,class:i,style:a.style,id:r.id,width:"group"===r.type?500:void 0,type:r.type,padding:xt().flowchart.padding})}))}(o,a),function(t,e){var n=0;t.forEach((function(r){n++;var i={classes:"relation"};i.pattern=1==r.relation.lineType?"dashed":"solid",i.id="id"+n,"arrow_open"===r.type?i.arrowhead="none":i.arrowhead="normal",c.info(i,r),i.startLabelRight="none"===r.relationTitle1?"":r.relationTitle1,i.endLabelLeft="none"===r.relationTitle2?"":r.relationTitle2,i.arrowTypeStart=We(r.relation.type1),i.arrowTypeEnd=We(r.relation.type2);var a="",o="";if(void 0!==r.style){var s=D(r.style);a=s.style,o=s.labelStyle}else a="fill:none";i.style=a,i.labelStyle=o,void 0!==r.interpolate?i.curve=B(r.interpolate,h.curveLinear):void 0!==t.defaultInterpolate?i.curve=B(t.defaultInterpolate,h.curveLinear):i.curve=B(Ue.curve,h.curveLinear),r.text=r.title,void 0===r.text?void 0!==r.style&&(i.arrowheadStyle="fill: #333"):(i.arrowheadStyle="fill: #333",i.labelpos="c",xt().flowchart.htmlLabels,i.labelType="text",i.label=r.text.replace(x.lineBreakRegex,"\n"),void 0===r.style&&(i.style=i.style||"stroke: #333; stroke-width: 1.5px;fill:none"),i.labelStyle=i.labelStyle.replace("color:","fill:")),e.setEdge(r.id1,r.id2,i,n)}))}(s,a);var u=Object(h.select)('[id="'.concat(e,'"]'));u.attr("xmlns:xlink","http://www.w3.org/1999/xlink");var l=Object(h.select)("#"+e+" g");ze(l,a,["aggregation","extension","composition","dependency"],"classDiagram",e);var f=u.node().getBBox(),d=f.width+16,p=f.height+16;if(c.debug("new ViewBox 0 0 ".concat(d," ").concat(p),"translate(".concat(8-a._label.marginx,", ").concat(8-a._label.marginy,")")),q(u,p,d,n.useMaxWidth),u.attr("viewBox","0 0 ".concat(d," ").concat(p)),u.select("g").attr("transform","translate(".concat(8-a._label.marginx,", ").concat(8-f.y,")")),!n.htmlLabels)for(var y=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),g=0;g=0;n--)r.attributes.push(e[n]),c.debug("Added attribute ",e[n].attributeName)},getEntities:function(){return Ve},addRelationship:function(t,e,n,r){var i={entityA:t,roleA:e,entityB:n,relSpec:r};He.push(i),c.debug("Added new relationship :",i)},getRelationships:function(){return He},clear:function(){Ve={},He=[],Ge=""},setTitle:function(t){Ge=t},getTitle:function(){return Ge}},Qe=n(75),Ke=n.n(Qe),Je={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"},tn=Je,en=function(t,e){var n;t.append("defs").append("marker").attr("id",Je.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",Je.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(n=t.append("defs").append("marker").attr("id",Je.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(n=t.append("defs").append("marker").attr("id",Je.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",Je.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",Je.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(n=t.append("defs").append("marker").attr("id",Je.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(n=t.append("defs").append("marker").attr("id",Je.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},nn={},rn=function(t,e,n){var r;return Object.keys(e).forEach((function(i){var a=t.append("g").attr("id",i);r=void 0===r?i:r;var o="entity-"+i,s=a.append("text").attr("class","er entityLabel").attr("id",o).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("style","font-family: "+xt().fontFamily+"; font-size: "+nn.fontSize+"px").text(i),c=function(t,e,n){var r=nn.entityPadding/3,i=nn.entityPadding/3,a=.85*nn.fontSize,o=e.node().getBBox(),s=[],c=0,u=0,l=o.height+2*r,h=1;n.forEach((function(n){var i="".concat(e.node().id,"-attr-").concat(h),o=t.append("text").attr("class","er entityLabel").attr("id","".concat(i,"-type")).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","left").attr("style","font-family: "+xt().fontFamily+"; font-size: "+a+"px").text(n.attributeType),f=t.append("text").attr("class","er entityLabel").attr("id","".concat(i,"-name")).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","left").attr("style","font-family: "+xt().fontFamily+"; font-size: "+a+"px").text(n.attributeName);s.push({tn:o,nn:f});var d=o.node().getBBox(),p=f.node().getBBox();c=Math.max(c,d.width),u=Math.max(u,p.width),l+=Math.max(d.height,p.height)+2*r,h+=1}));var f={width:Math.max(nn.minEntityWidth,Math.max(o.width+2*nn.entityPadding,c+u+4*i)),height:n.length>0?l:Math.max(nn.minEntityHeight,o.height+2*nn.entityPadding)},d=Math.max(0,f.width-(c+u)-4*i);if(n.length>0){e.attr("transform","translate("+f.width/2+","+(r+o.height/2)+")");var p=o.height+2*r,y="attributeBoxOdd";s.forEach((function(e){var n=p+r+Math.max(e.tn.node().getBBox().height,e.nn.node().getBBox().height)/2;e.tn.attr("transform","translate("+i+","+n+")");var a=t.insert("rect","#"+e.tn.node().id).attr("class","er ".concat(y)).attr("fill",nn.fill).attr("fill-opacity","100%").attr("stroke",nn.stroke).attr("x",0).attr("y",p).attr("width",c+2*i+d/2).attr("height",e.tn.node().getBBox().height+2*r);e.nn.attr("transform","translate("+(parseFloat(a.attr("width"))+i)+","+n+")"),t.insert("rect","#"+e.nn.node().id).attr("class","er ".concat(y)).attr("fill",nn.fill).attr("fill-opacity","100%").attr("stroke",nn.stroke).attr("x","".concat(a.attr("x")+a.attr("width"))).attr("y",p).attr("width",u+2*i+d/2).attr("height",e.nn.node().getBBox().height+2*r),p+=Math.max(e.tn.node().getBBox().height,e.nn.node().getBBox().height)+2*r,y="attributeBoxOdd"==y?"attributeBoxEven":"attributeBoxOdd"}))}else f.height=Math.max(nn.minEntityHeight,l),e.attr("transform","translate("+f.width/2+","+f.height/2+")");return f}(a,s,e[i].attributes),u=c.width,l=c.height,h=a.insert("rect","#"+o).attr("class","er entityBox").attr("fill",nn.fill).attr("fill-opacity","100%").attr("stroke",nn.stroke).attr("x",0).attr("y",0).attr("width",u).attr("height",l).node().getBBox();n.setNode(i,{width:h.width,height:h.height,shape:"rect",id:i})})),r},an=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},on=0,sn=function(t){for(var e=Object.keys(t),n=0;n=0&&(n=!0)})),n},Nn=function(t,e){var n=[];return t.nodes.forEach((function(r,i){Bn(e,r)||n.push(t.nodes[i])})),{nodes:n}},Dn={parseDirective:function(t,e,n){gs.parseDirective(this,t,e,n)},defaultConfig:function(){return pt.flowchart},addVertex:function(t,e,n,r,i){var a,o=t;void 0!==o&&0!==o.trim().length&&(void 0===yn[o]&&(yn[o]={id:o,domId:"flowchart-"+o+"-"+dn,styles:[],classes:[]}),dn++,void 0!==e?(pn=xt(),'"'===(a=x.sanitizeText(e.trim(),pn))[0]&&'"'===a[a.length-1]&&(a=a.substring(1,a.length-1)),yn[o].text=a):void 0===yn[o].text&&(yn[o].text=t),void 0!==n&&(yn[o].type=n),null!=r&&r.forEach((function(t){yn[o].styles.push(t)})),null!=i&&i.forEach((function(t){yn[o].classes.push(t)})))},lookUpDomId:En,addLink:function(t,e,n,r){var i,a;for(i=0;i/)&&(hn="LR"),hn.match(/.*v/)&&(hn="TB")},setClass:Cn,setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(xn["gen-1"===fn?En(t):t]=x.sanitizeText(e,pn))}))},getTooltip:function(t){return xn[t]},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){var r=En(t);if("loose"===xt().securityLevel&&void 0!==e){var i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var a=0;a=0)&&s.push(t))})),"gen-1"===fn){c.warn("LOOKING UP");for(var l=0;l0&&function t(e,n){var r=mn[n].nodes;if(!((Mn+=1)>2e3)){if(On[Mn]=n,mn[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i=0){var s=t(e,o);if(s.result)return{result:!0,count:a+s.count};a+=s.count}i+=1}return{result:!1,count:a}}}("none",mn.length-1)},getSubGraphs:function(){return mn},destructLink:function(t,e){var n,r=function(t){var e=t.trim(),n=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross","x"===e[0]&&(r="double_"+r,n=n.slice(1));break;case">":r="arrow_point","<"===e[0]&&(r="double_"+r,n=n.slice(1));break;case"o":r="arrow_circle","o"===e[0]&&(r="double_"+r,n=n.slice(1))}var i="normal",a=n.length-1;"="===n[0]&&(i="thick");var o=function(t,e){for(var n=e.length,r=0,i=0;in.height/2-a)){var o=a*a*(1-r*r/(i*i));0!=o&&(o=Math.sqrt(o)),o=a-o,t.y-n.y>0&&(o=-o),e.y+=o}return e},c}function Qn(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+-e/2+","+n/2+")")}var Kn={addToRender:function(t){t.shapes().question=Yn,t.shapes().hexagon=zn,t.shapes().stadium=Gn,t.shapes().subroutine=Xn,t.shapes().cylinder=Zn,t.shapes().rect_left_inv_arrow=Un,t.shapes().lean_right=$n,t.shapes().lean_left=qn,t.shapes().trapezoid=Wn,t.shapes().inv_trapezoid=Vn,t.shapes().rect_right_inv_arrow=Hn},addToRenderV2:function(t){t({question:Yn}),t({hexagon:zn}),t({stadium:Gn}),t({subroutine:Xn}),t({cylinder:Zn}),t({rect_left_inv_arrow:Un}),t({lean_right:$n}),t({lean_left:qn}),t({trapezoid:Wn}),t({inv_trapezoid:Vn}),t({rect_right_inv_arrow:Hn})}},Jn={},tr=function(t,e,n){var r=Object(h.select)('[id="'.concat(n,'"]'));Object.keys(t).forEach((function(n){var i=t[n],a="default";i.classes.length>0&&(a=i.classes.join(" "));var o,s=D(i.styles),u=void 0!==i.text?i.text:i.id;if(xt().flowchart.htmlLabels){var l={label:u.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")}))};(o=jn()(r,l).node()).parentNode.removeChild(o)}else{var h=document.createElementNS("http://www.w3.org/2000/svg","text");h.setAttribute("style",s.labelStyle.replace("color:","fill:"));for(var f=u.split(x.lineBreakRegex),d=0;d').concat(a.text.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")})),"")):(u.labelType="text",u.label=a.text.replace(x.lineBreakRegex,"\n"),void 0===a.style&&(u.style=u.style||"stroke: #333; stroke-width: 1.5px;fill:none"),u.labelStyle=u.labelStyle.replace("color:","fill:"))),u.id=o,u.class=s+" "+c,u.minlen=a.length||1,e.setEdge(Dn.lookUpDomId(a.start),Dn.lookUpDomId(a.end),u,i)}))},nr=function(t){for(var e=Object.keys(t),n=0;n=0;f--)i=l[f],Dn.addVertex(i.id,i.title,"group",void 0,i.classes);var d=Dn.getVertices();c.warn("Get vertices",d);var p=Dn.getEdges(),y=0;for(y=l.length-1;y>=0;y--){i=l[y],Object(h.selectAll)("cluster").append("text");for(var g=0;g0&&(a=i.classes.join(" "));var o,s=D(i.styles),u=void 0!==i.text?i.text:i.id;if(xt().flowchart.htmlLabels){var l={label:u.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"")}))};(o=jn()(r,l).node()).parentNode.removeChild(o)}else{var h=document.createElementNS("http://www.w3.org/2000/svg","text");h.setAttribute("style",s.labelStyle.replace("color:","fill:"));for(var f=u.split(x.lineBreakRegex),d=0;d=0;f--)i=l[f],c.info("Subgraph - ",i),Dn.addVertex(i.id,i.title,"group",void 0,i.classes);var d=Dn.getVertices(),p=Dn.getEdges();c.info(p);var y=0;for(y=l.length-1;y>=0;y--){i=l[y],Object(h.selectAll)("cluster").append("text");for(var g=0;g=6&&n.indexOf("weekends")>=0||(n.indexOf(t.format("dddd").toLowerCase())>=0||n.indexOf(t.format(e.trim()))>=0)},Sr=function(t,e,n){if(n.length&&!t.manualEndTime){var r=o()(t.startTime,e,!0);r.add(1,"d");var i=o()(t.endTime,e,!0),a=Ar(r,i,e,n);t.endTime=i.toDate(),t.renderEndTime=a}},Ar=function(t,e,n,r){for(var i=!1,a=null;t<=e;)i||(a=e.toDate()),(i=Cr(t,n,r))&&e.add(1,"d"),t.add(1,"d");return a},Mr=function(t,e,n){n=n.trim();var r=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==r){var i=null;if(r[1].split(" ").forEach((function(t){var e=Rr(t);void 0!==e&&(i?e.endTime>i.endTime&&(i=e):i=e)})),i)return i.endTime;var a=new Date;return a.setHours(0,0,0,0),a}var s=o()(n,e.trim(),!0);return s.isValid()?s.toDate():(c.debug("Invalid date:"+n),c.debug("With date format:"+e.trim()),new Date)},Or=function(t,e){if(null!==t)switch(t[2]){case"s":e.add(t[1],"seconds");break;case"m":e.add(t[1],"minutes");break;case"h":e.add(t[1],"hours");break;case"d":e.add(t[1],"days");break;case"w":e.add(t[1],"weeks")}return e.toDate()},Br=function(t,e,n,r){r=r||!1,n=n.trim();var i=o()(n,e.trim(),!0);return i.isValid()?(r&&i.add(1,"d"),i.toDate()):Or(/^([\d]+)([wdhms])/.exec(n.trim()),o()(t))},Nr=0,Dr=function(t){return void 0===t?"task"+(Nr+=1):t},Lr=[],Ir={},Rr=function(t){var e=Ir[t];return Lr[e]},Fr=function(){for(var t=function(t){var e=Lr[t],n="";switch(Lr[t].raw.startTime.type){case"prevTaskEnd":var r=Rr(e.prevTaskId);e.startTime=r.endTime;break;case"getStartDate":(n=Mr(0,dr,Lr[t].raw.startTime.startData))&&(Lr[t].startTime=n)}return Lr[t].startTime&&(Lr[t].endTime=Br(Lr[t].startTime,dr,Lr[t].raw.endTime.data,wr),Lr[t].endTime&&(Lr[t].processed=!0,Lr[t].manualEndTime=o()(Lr[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Sr(Lr[t],dr,gr))),Lr[t].processed},e=!0,n=0;nr?i=1:n0&&(e=t.classes.join(" "));for(var r=0,i=0;ir-e?r+o+1.5*n.leftPadding>l?e+i-5:r+i+5:(r-e)/2+e+i})).attr("y",(function(t,i){return t.order*e+n.barHeight/2+(n.fontSize/2-2)+r})).attr("text-height",a).attr("class",(function(t){var e=s(t.startTime),r=s(t.endTime);t.milestone&&(r=e+a);var i=this.getBBox().width,o="";t.classes.length>0&&(o=t.classes.join(" "));for(var u=0,h=0;hr-e?r+i+1.5*n.leftPadding>l?o+" taskTextOutsideLeft taskTextOutside"+u+" "+f:o+" taskTextOutsideRight taskTextOutside"+u+" "+f+" width-"+i:o+" taskText taskText"+u+" "+f+" width-"+i}))}(t,a,u,d,i,0,e),function(t,e){for(var r=[],i=0,a=0;a0&&a.setAttribute("dy","1em"),a.textContent=e[i],r.appendChild(a)}return r})).attr("x",10).attr("y",(function(n,a){if(!(a>0))return n[1]*t/2+e;for(var o=0;oe.seq?t:e}),t[0]),n="";t.forEach((function(t){n+=t===e?"\t*":"\t|"}));var r,i,a,o=[n,e.id,e.seq];for(var s in Xr)Xr[s]===e.id&&o.push(s);if(c.debug(o.join(" ")),Array.isArray(e.parent)){var u=Hr[e.parent[0]];ni(t,e,u),t.push(Hr[e.parent[1]])}else{if(null==e.parent)return;var l=Hr[e.parent];ni(t,e,l)}r=t,i=function(t){return t.id},a=Object.create(null),ri(t=r.reduce((function(t,e){var n=i(e);return a[n]||(a[n]=!0,t.push(e)),t}),[]))}var ii,ai=function(){var t=Object.keys(Hr).map((function(t){return Hr[t]}));return t.forEach((function(t){c.debug(t.id)})),t.sort((function(t,e){return e.seq-t.seq})),t},oi={setDirection:function(t){Qr=t},setOptions:function(t){c.debug("options str",t),t=(t=t&&t.trim())||"{}";try{ei=JSON.parse(t)}catch(t){c.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return ei},commit:function(t){var e={id:Jr(),message:t,seq:Kr++,parent:null==Gr?null:Gr.id};Gr=e,Hr[e.id]=e,Xr[Zr]=e.id,c.debug("in pushCommit "+e.id)},branch:function(t){Xr[t]=null!=Gr?Gr.id:null,c.debug("in createBranch")},merge:function(t){var e=Hr[Xr[Zr]],n=Hr[Xr[t]];if(function(t,e){return t.seq>e.seq&&ti(e,t)}(e,n))c.debug("Already merged");else{if(ti(e,n))Xr[Zr]=Xr[t],Gr=Hr[Xr[Zr]];else{var r={id:Jr(),message:"merged branch "+t+" into "+Zr,seq:Kr++,parent:[null==Gr?null:Gr.id,Xr[t]]};Gr=r,Hr[r.id]=r,Xr[Zr]=r.id}c.debug(Xr),c.debug("in mergeBranch")}},checkout:function(t){c.debug("in checkout");var e=Xr[Zr=t];Gr=Hr[e]},reset:function(t){c.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"===e?Gr:Hr[Xr[e]];for(c.debug(r,n);n>0;)if(n--,!(r=Hr[r.parent])){var i="Critical error - unique parent commit not found during reset";throw c.error(i),i}Gr=r,Xr[Zr]=r.id},prettyPrint:function(){c.debug(Hr),ri([ai()[0]])},clear:function(){Hr={},Xr={master:Gr=null},Zr="master",Kr=0},getBranchesAsObjArray:function(){var t=[];for(var e in Xr)t.push({name:e,commit:Hr[Xr[e]]});return t},getBranches:function(){return Xr},getCommits:function(){return Hr},getCommitsArray:ai,getCurrentBranch:function(){return Zr},getDirection:function(){return Qr},getHead:function(){return Gr}},si=n(72),ci=n.n(si),ui={},li={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},hi={};function fi(t,e,n,r){var i=B(r,h.curveBasis),a=li.branchColors[n%li.branchColors.length],o=Object(h.line)().x((function(t){return Math.round(t.x)})).y((function(t){return Math.round(t.y)})).curve(i);t.append("svg:path").attr("d",o(e)).style("stroke",a).style("stroke-width",li.lineStrokeWidth).style("fill","none")}function di(t,e){e=e||t.node().getBBox();var n=t.node().getCTM();return{left:n.e+e.x*n.a,top:n.f+e.y*n.d,width:e.width,height:e.height}}function pi(t,e,n,r,i){c.debug("svgDrawLineForCommits: ",e,n);var a=di(t.select("#node-"+e+" circle")),o=di(t.select("#node-"+n+" circle"));switch(r){case"LR":if(a.left-o.left>li.nodeSpacing){var s={x:a.left-li.nodeSpacing,y:o.top+o.height/2};fi(t,[s,{x:o.left+o.width,y:o.top+o.height/2}],i,"linear"),fi(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-li.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-li.nodeSpacing/2,y:s.y},s],i)}else fi(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-li.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-li.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],i);break;case"BT":if(o.top-a.top>li.nodeSpacing){var u={x:o.left+o.width/2,y:a.top+a.height+li.nodeSpacing};fi(t,[u,{x:o.left+o.width/2,y:o.top}],i,"linear"),fi(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+a.height+li.nodeSpacing/2},{x:o.left+o.width/2,y:u.y-li.nodeSpacing/2},u],i)}else fi(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+li.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-li.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],i)}}function yi(t,e){return t.select(e).node().cloneNode(!0)}function gi(t,e,n,r){var i,a=Object.keys(ui).length;if("string"==typeof e)do{if(i=ui[e],c.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append((function(){return yi(t,"#def-commit")})).attr("class","commit").attr("id",(function(){return"node-"+i.id})).attr("transform",(function(){switch(r){case"LR":return"translate("+(i.seq*li.nodeSpacing+li.leftMargin)+", "+ii*li.branchOffset+")";case"BT":return"translate("+(ii*li.branchOffset+li.leftMargin)+", "+(a-i.seq)*li.nodeSpacing+")"}})).attr("fill",li.nodeFillColor).attr("stroke",li.nodeStrokeColor).attr("stroke-width",li.nodeStrokeWidth);var o=void 0;for(var s in n)if(n[s].commit===i){o=n[s];break}o&&(c.debug("found branch ",o.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(o.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===r&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&ui[e]);Array.isArray(e)&&(c.debug("found merge commmit",e),gi(t,e[0],n,r),ii++,gi(t,e[1],n,r),ii--)}function vi(t,e,n,r){for(r=r||0;e.seq>0&&!e.lineDrawn;)"string"==typeof e.parent?(pi(t,e.id,e.parent,n,r),e.lineDrawn=!0,e=ui[e.parent]):Array.isArray(e.parent)&&(pi(t,e.id,e.parent[0],n,r),pi(t,e.id,e.parent[1],n,r+1),vi(t,ui[e.parent[1]],n,r+1),e.lineDrawn=!0,e=ui[e.parent[0]])}var mi,bi=function(t){hi=t},xi=function(t,e,n){try{var r=ci.a.parser;r.yy=oi,r.yy.clear(),c.debug("in gitgraph renderer",t+"\n","id:",e,n),r.parse(t+"\n"),li=Object.assign(li,hi,oi.getOptions()),c.debug("effective options",li);var i=oi.getDirection();ui=oi.getCommits();var a=oi.getBranchesAsObjArray();"BT"===i&&(li.nodeLabel.x=a.length*li.branchOffset,li.nodeLabel.width="100%",li.nodeLabel.y=-2*li.nodeRadius);var o=Object(h.select)('[id="'.concat(e,'"]'));for(var s in function(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",li.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",li.nodeLabel.width).attr("height",li.nodeLabel.height).attr("x",li.nodeLabel.x).attr("y",li.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("")}(o),ii=1,a){var u=a[s];gi(o,u.commit.id,a,i),vi(o,u.commit,i),ii++}o.attr("height",(function(){return"BT"===i?Object.keys(ui).length*li.nodeSpacing:(a.length+1)*li.branchOffset}))}catch(t){c.error("Error while rendering gitgraph"),c.error(t.message)}},_i="",ki=!1,wi={setMessage:function(t){c.debug("Setting message to: "+t),_i=t},getMessage:function(){return _i},setInfo:function(t){ki=t},getInfo:function(){return ki}},Ei=n(73),Ti=n.n(Ei),Ci={},Si=function(t){Object.keys(t).forEach((function(e){Ci[e]=t[e]}))},Ai=function(t,e,n){try{var r=Ti.a.parser;r.yy=wi,c.debug("Renering info diagram\n"+t),r.parse(t),c.debug("Parsed info diagram");var i=Object(h.select)("#"+e);i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+n),i.attr("height",100),i.attr("width",400)}catch(t){c.error("Error while rendering info diagram"),c.error(t.message)}},Mi=n(74),Oi=n.n(Mi),Bi={},Ni="",Di=!1,Li={parseDirective:function(t,e,n){gs.parseDirective(this,t,e,n)},getConfig:function(){return xt().pie},addSection:function(t,e){void 0===Bi[t]&&(Bi[t]=e,c.debug("Added new section :",t))},getSections:function(){return Bi},cleanupValue:function(t){return":"===t.substring(0,1)?(t=t.substring(1).trim(),Number(t.trim())):Number(t.trim())},clear:function(){Bi={},Ni="",Di=!1},setTitle:function(t){Ni=t},getTitle:function(){return Ni},setShowData:function(t){Di=t},getShowData:function(){return Di}},Ii=xt(),Ri=function(t,e){try{Ii=xt();var n=Oi.a.parser;n.yy=Li,c.debug("Rendering info diagram\n"+t),n.yy.clear(),n.parse(t),c.debug("Parsed info diagram");var r=document.getElementById(e);void 0===(mi=r.parentElement.offsetWidth)&&(mi=1200),void 0!==Ii.useWidth&&(mi=Ii.useWidth),void 0!==Ii.pie.useWidth&&(mi=Ii.pie.useWidth);var i=Object(h.select)("#"+e);q(i,450,mi,Ii.pie.useMaxWidth),r.setAttribute("viewBox","0 0 "+mi+" 450");var a=Math.min(mi,450)/2-40,o=i.append("g").attr("transform","translate("+mi/2+",225)"),s=Li.getSections(),u=0;Object.keys(s).forEach((function(t){u+=s[t]}));var l=Ii.themeVariables,f=[l.pie1,l.pie2,l.pie3,l.pie4,l.pie5,l.pie6,l.pie7,l.pie8,l.pie9,l.pie10,l.pie11,l.pie12],d=Object(h.scaleOrdinal)().domain(s).range(f),p=Object(h.pie)().value((function(t){return t.value}))(Object(h.entries)(s)),y=Object(h.arc)().innerRadius(0).outerRadius(a);o.selectAll("mySlices").data(p).enter().append("path").attr("d",y).attr("fill",(function(t){return d(t.data.key)})).attr("class","pieCircle"),o.selectAll("mySlices").data(p.filter((function(t){return 0!==t.data.value}))).enter().append("text").text((function(t){return(t.data.value/u*100).toFixed(0)+"%"})).attr("transform",(function(t){return"translate("+y.centroid(t)+")"})).style("text-anchor","middle").attr("class","slice"),o.append("text").text(n.yy.getTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");var g=o.selectAll(".legend").data(d.domain()).enter().append("g").attr("class","legend").attr("transform",(function(t,e){return"translate(216,"+(22*e-22*d.domain().length/2)+")"}));g.append("rect").attr("width",18).attr("height",18).style("fill",d).style("stroke",d),g.data(p.filter((function(t){return 0!==t.data.value}))).append("text").attr("x",22).attr("y",14).text((function(t){return n.yy.getShowData()||Ii.showData||Ii.pie.showData?t.data.key+" ["+t.data.value+"]":t.data.key}))}catch(t){c.error("Error while rendering info diagram"),c.error(t)}},Fi=n(45),Pi=n.n(Fi),ji=[],Yi={},zi={},Ui={},$i={},qi={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"},parseDirective:function(t,e,n){gs.parseDirective(this,t,e,n)},getConfig:function(){return xt().req},addRequirement:function(t,e){return void 0===zi[t]&&(zi[t]={name:t,type:e,id:Yi.id,text:Yi.text,risk:Yi.risk,verifyMethod:Yi.verifyMethod}),Yi={},zi[t]},getRequirements:function(){return zi},setNewReqId:function(t){void 0!==Yi&&(Yi.id=t)},setNewReqText:function(t){void 0!==Yi&&(Yi.text=t)},setNewReqRisk:function(t){void 0!==Yi&&(Yi.risk=t)},setNewReqVerifyMethod:function(t){void 0!==Yi&&(Yi.verifyMethod=t)},addElement:function(t){return void 0===$i[t]&&($i[t]={name:t,type:Ui.type,docRef:Ui.docRef},c.info("Added new requirement: ",t)),Ui={},$i[t]},getElements:function(){return $i},setNewElementType:function(t){void 0!==Ui&&(Ui.type=t)},setNewElementDocRef:function(t){void 0!==Ui&&(Ui.docRef=t)},addRelationship:function(t,e,n){ji.push({type:t,src:e,dst:n})},getRelationships:function(){return ji},clear:function(){ji=[],Yi={},zi={},Ui={},$i={}}},Wi={CONTAINS:"contains",ARROW:"arrow"},Vi=Wi,Hi=function(t,e){var n=t.append("defs").append("marker").attr("id",Wi.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");n.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),n.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),n.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",Wi.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d","M0,0\n L".concat(e.line_height,",").concat(e.line_height/2,"\n M").concat(e.line_height,",").concat(e.line_height/2,"\n L0,").concat(e.line_height)).attr("stroke-width",1)},Gi={},Xi=0,Zi=function(t,e){return t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Gi.rect_min_width+"px").attr("height",Gi.rect_min_height+"px")},Qi=function(t,e,n){var r=Gi.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",r).attr("y",Gi.rect_padding).attr("dominant-baseline","hanging"),a=0;n.forEach((function(t){0==a?i.append("tspan").attr("text-anchor","middle").attr("x",Gi.rect_min_width/2).attr("dy",0).text(t):i.append("tspan").attr("text-anchor","middle").attr("x",Gi.rect_min_width/2).attr("dy",.75*Gi.line_height).text(t),a++}));var o=1.5*Gi.rect_padding+a*Gi.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Gi.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:i,y:o}},Ki=function(t,e,n,r){var i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",Gi.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),a=0,o=[];return n.forEach((function(t){for(var e=t.length;e>30&&a<3;){var n=t.substring(0,30);e=(t=t.substring(30,t.length)).length,o[o.length]=n,a++}if(3==a){var r=o[o.length-1];o[o.length-1]=r.substring(0,r.length-4)+"..."}else o[o.length]=t;a=0})),o.forEach((function(t){i.append("tspan").attr("x",Gi.rect_padding).attr("dy",Gi.line_height).text(t)})),i},Ji=function(t,e,n,r){var i=n.edge(ta(e.src),ta(e.dst)),a=Object(h.line)().x((function(t){return t.x})).y((function(t){return t.y})),o=t.insert("path","#"+r).attr("class","er relationshipLine").attr("d",a(i.points)).attr("fill","none");e.type==qi.Relationships.CONTAINS?o.attr("marker-start","url("+x.getUrl(Gi.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(o.attr("stroke-dasharray","10,7"),o.attr("marker-end","url("+x.getUrl(Gi.arrowMarkerAbsolute)+"#"+Vi.ARROW+"_line_ending)")),function(t,e,n,r){var i=e.node().getTotalLength(),a=e.node().getPointAtLength(.5*i),o="rel"+Xi;Xi++;var s=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-s.width/2).attr("y",a.y-s.height/2).attr("width",s.width).attr("height",s.height).attr("fill","white").attr("fill-opacity","85%")}(t,o,0,"<<".concat(e.type,">>"))},ta=function(t){return t.replace(/\s/g,"").replace(/\./g,"_")},ea=function(t){if(void 0!==t)for(var e=Object.keys(t),n=0;n>"),"".concat(e.name)]);s.push(u.titleNode);var l=Ki(n,t+"_body",["Id: ".concat(e.id),"Text: ".concat(e.text),"Risk: ".concat(e.risk),"Verification: ".concat(e.verifyMethod)],u.y);s.push(l);var h=o.node().getBBox();i.setNode(t,{width:h.width,height:h.height,shape:"rect",id:t})})),function(t,e,n){Object.keys(t).forEach((function(r){var i=t[r],a=ta(r),o=n.append("g").attr("id",a),s="element-"+a,c=Zi(o,s),u=[],l=Qi(o,s+"_title",["<>","".concat(r)]);u.push(l.titleNode);var h=Ki(o,s+"_body",["Type: ".concat(i.type||"Not Specified"),"Doc Ref: ".concat(i.docRef||"None")],l.y);u.push(h);var f=c.node().getBBox();e.setNode(a,{width:f.width,height:f.height,shape:"rect",id:a})}))}(u,o,n),function(t,e){t.forEach((function(t){var n=ta(t.src),r=ta(t.dst);e.setEdge(n,r,{relationship:t})}))}(l,o),jt.a.layout(o),function(t,e){e.nodes().forEach((function(n){void 0!==n&&void 0!==e.node(n)&&(t.select("#"+n),t.select("#"+n).attr("transform","translate("+(e.node(n).x-e.node(n).width/2)+","+(e.node(n).y-e.node(n).height/2)+" )"))}))}(n,o),l.forEach((function(t){Ji(n,t,o,e)}));var f=Gi.rect_padding,d=n.node().getBBox(),p=d.width+2*f,y=d.height+2*f;q(n,y,p,Gi.useMaxWidth),n.attr("viewBox","".concat(d.x-f," ").concat(d.y-f," ").concat(p," ").concat(y))},ra=n(2),ia=n.n(ra),aa=void 0,oa={},sa=[],ca=[],ua="",la=!1,ha=!1,fa=!1,da=function(t,e,n){var r=oa[t];r&&e===r.name&&null==n||(null!=n&&null!=n.text||(n={text:e,wrap:null}),oa[t]={name:e,description:n.text,wrap:void 0===n.wrap&&ga()||!!n.wrap,prevActor:aa},aa&&oa[aa]&&(oa[aa].nextActor=t),aa=t)},pa=function(t){var e,n=0;for(e=0;e2&&void 0!==arguments[2]?arguments[2]:{text:void 0,wrap:void 0},r=arguments.length>3?arguments[3]:void 0;if(r===va.ACTIVE_END){var i=pa(t.actor);if(i<1){var a=new Error("Trying to inactivate an inactive participant ("+t.actor+")");throw a.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},a}}return sa.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&ga()||!!n.wrap,type:r}),!0},ga=function(){return fa},va={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},ma=function(t,e,n){var r={actor:t,placement:e,message:n.text,wrap:void 0===n.wrap&&ga()||!!n.wrap},i=[].concat(t,t);ca.push(r),sa.push({from:i[0],to:i[1],message:n.text,wrap:void 0===n.wrap&&ga()||!!n.wrap,type:va.NOTE,placement:e})},ba=function(t){ua=t.text,la=void 0===t.wrap&&ga()||!!t.wrap},xa={addActor:da,addMessage:function(t,e,n,r){sa.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&ga()||!!n.wrap,answer:r})},addSignal:ya,autoWrap:ga,setWrap:function(t){fa=t},enableSequenceNumbers:function(){ha=!0},showSequenceNumbers:function(){return ha},getMessages:function(){return sa},getActors:function(){return oa},getActor:function(t){return oa[t]},getActorKeys:function(){return Object.keys(oa)},getTitle:function(){return ua},parseDirective:function(t,e,n){gs.parseDirective(this,t,e,n)},getConfig:function(){return xt().sequence},getTitleWrapped:function(){return la},clear:function(){oa={},sa=[]},parseMessage:function(t){var e=t.trim(),n={text:e.replace(/^[:]?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^[:]?wrap:/)||null===e.match(/^[:]?nowrap:/)&&void 0};return c.debug("parseMessage:",n),n},LINETYPE:va,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:ma,setTitle:ba,apply:function t(e){if(e instanceof Array)e.forEach((function(e){t(e)}));else switch(e.type){case"addActor":da(e.actor,e.actor,e.description);break;case"activeStart":case"activeEnd":ya(e.actor,void 0,void 0,e.signalType);break;case"addNote":ma(e.actor,e.placement,e.text);break;case"addMessage":ya(e.from,e.to,e.msg,e.signalType);break;case"loopStart":ya(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":ya(void 0,void 0,void 0,e.signalType);break;case"rectStart":ya(void 0,void 0,e.color,e.signalType);break;case"rectEnd":ya(void 0,void 0,void 0,e.signalType);break;case"optStart":ya(void 0,void 0,e.optText,e.signalType);break;case"optEnd":ya(void 0,void 0,void 0,e.signalType);break;case"altStart":case"else":ya(void 0,void 0,e.altText,e.signalType);break;case"altEnd":ya(void 0,void 0,void 0,e.signalType);break;case"setTitle":ba(e.text);break;case"parStart":case"and":ya(void 0,void 0,e.parText,e.signalType);break;case"parEnd":ya(void 0,void 0,void 0,e.signalType)}}},_a=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},ka=function(t,e){var n=0,r=0,i=e.text.split(x.lineBreakRegex),a=[],o=0,s=function(){return e.y};if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":s=function(){return Math.round(e.y+e.textMargin)};break;case"middle":case"center":s=function(){return Math.round(e.y+(n+r+e.textMargin)/2)};break;case"bottom":case"end":s=function(){return Math.round(e.y+(n+r+2*e.textMargin)-e.textMargin)}}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="text-after-edge",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="text-before-edge",e.alignmentBaseline="middle"}for(var c=0;c0&&(r+=(l._groups||l)[0][0].getBBox().height,n=r),a.push(l)}return a},wa=function(t,e){var n,r,i,a,o,s=t.append("polygon");return s.attr("points",(n=e.x,r=e.y,i=e.width,a=e.height,n+","+r+" "+(n+i)+","+r+" "+(n+i)+","+(r+a-(o=7))+" "+(n+i-1.2*o)+","+(r+a)+" "+n+","+(r+a))),s.attr("class","labelBox"),e.y=e.y+e.height/2,ka(t,e),s},Ea=-1,Ta=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}},Ca=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Sa=function(){function t(t,e,n,i,a,o,s){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s,c){for(var u=c.actorFontSize,l=c.actorFontFamily,h=c.actorFontWeight,f=t.split(x.lineBreakRegex),d=0;d0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},e=arguments.length>1?arguments[1]:void 0;return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},e=arguments.length>1?arguments[1]:void 0;this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Oa.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},Ba=function(t){return{fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}},Na=function(t){return{fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}},Da=function(t){return{fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}},La=function(t,e,n,r){for(var i=0,a=0,o=0;o0&&o.forEach((function(r){if(n=r,i.startx===i.stopx){var a=e[t.from],o=e[t.to];n.from=Math.min(a.x-i.width/2,a.x-a.width/2,n.from),n.to=Math.max(o.x+i.width/2,o.x+a.width/2,n.to),n.width=Math.max(n.width,Math.abs(n.to-n.from))-Ma.labelBoxWidth}else n.from=Math.min(i.startx,n.from),n.to=Math.max(i.stopx,n.to),n.width=Math.max(n.width,i.width)-Ma.labelBoxWidth})))})),Oa.activations=[],c.debug("Loop type widths:",a),a},Ua={bounds:Oa,drawActors:La,setConf:Ia,draw:function(t,e){Ma=xt().sequence,ra.parser.yy.clear(),ra.parser.yy.setWrap(Ma.wrap),ra.parser.parse(t+"\n"),Oa.init(),c.debug("C:".concat(JSON.stringify(Ma,null,2)));var n=Object(h.select)('[id="'.concat(e,'"]')),r=ra.parser.yy.getActors(),i=ra.parser.yy.getActorKeys(),a=ra.parser.yy.getMessages(),o=ra.parser.yy.getTitle(),s=ja(r,a);Ma.height=Ya(r,s),La(n,r,i,0);var u=za(a,r,s);Aa.insertArrowHead(n),Aa.insertArrowCrossHead(n),Aa.insertArrowFilledHead(n),Aa.insertSequenceNumber(n);var l=1;a.forEach((function(t){var e,i,a;switch(t.type){case ra.parser.yy.LINETYPE.NOTE:i=t.noteModel,function(t,e){Oa.bumpVerticalPos(Ma.boxMargin),e.height=Ma.boxMargin,e.starty=Oa.getVerticalPos();var n=Aa.getNoteRect();n.x=e.startx,n.y=e.starty,n.width=e.width||Ma.width,n.class="note";var r=t.append("g"),i=Aa.drawRect(r,n),a=Aa.getTextObj();a.x=e.startx,a.y=e.starty,a.width=n.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ma.noteFontFamily,a.fontSize=Ma.noteFontSize,a.fontWeight=Ma.noteFontWeight,a.anchor=Ma.noteAlign,a.textMargin=Ma.noteMargin,a.valign=Ma.noteAlign;var o=ka(r,a),s=Math.round(o.map((function(t){return(t._groups||t)[0][0].getBBox().height})).reduce((function(t,e){return t+e})));i.attr("height",s+2*Ma.noteMargin),e.height+=s+2*Ma.noteMargin,Oa.bumpVerticalPos(s+2*Ma.noteMargin),e.stopy=e.starty+s+2*Ma.noteMargin,e.stopx=e.startx+n.width,Oa.insert(e.startx,e.starty,e.stopx,e.stopy),Oa.models.addNote(e)}(n,i);break;case ra.parser.yy.LINETYPE.ACTIVE_START:Oa.newActivation(t,n,r);break;case ra.parser.yy.LINETYPE.ACTIVE_END:!function(t,e){var r=Oa.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),Aa.drawActivation(n,r,e,Ma,Ra(t.from.actor).length),Oa.insert(r.startx,e-10,r.stopx,e)}(t,Oa.getVerticalPos());break;case ra.parser.yy.LINETYPE.LOOP_START:Pa(u,t,Ma.boxMargin,Ma.boxMargin+Ma.boxTextMargin,(function(t){return Oa.newLoop(t)}));break;case ra.parser.yy.LINETYPE.LOOP_END:e=Oa.endLoop(),Aa.drawLoop(n,e,"loop",Ma),Oa.bumpVerticalPos(e.stopy-Oa.getVerticalPos()),Oa.models.addLoop(e);break;case ra.parser.yy.LINETYPE.RECT_START:Pa(u,t,Ma.boxMargin,Ma.boxMargin,(function(t){return Oa.newLoop(void 0,t.message)}));break;case ra.parser.yy.LINETYPE.RECT_END:e=Oa.endLoop(),Aa.drawBackgroundRect(n,e),Oa.models.addLoop(e),Oa.bumpVerticalPos(e.stopy-Oa.getVerticalPos());break;case ra.parser.yy.LINETYPE.OPT_START:Pa(u,t,Ma.boxMargin,Ma.boxMargin+Ma.boxTextMargin,(function(t){return Oa.newLoop(t)}));break;case ra.parser.yy.LINETYPE.OPT_END:e=Oa.endLoop(),Aa.drawLoop(n,e,"opt",Ma),Oa.bumpVerticalPos(e.stopy-Oa.getVerticalPos()),Oa.models.addLoop(e);break;case ra.parser.yy.LINETYPE.ALT_START:Pa(u,t,Ma.boxMargin,Ma.boxMargin+Ma.boxTextMargin,(function(t){return Oa.newLoop(t)}));break;case ra.parser.yy.LINETYPE.ALT_ELSE:Pa(u,t,Ma.boxMargin+Ma.boxTextMargin,Ma.boxMargin,(function(t){return Oa.addSectionToLoop(t)}));break;case ra.parser.yy.LINETYPE.ALT_END:e=Oa.endLoop(),Aa.drawLoop(n,e,"alt",Ma),Oa.bumpVerticalPos(e.stopy-Oa.getVerticalPos()),Oa.models.addLoop(e);break;case ra.parser.yy.LINETYPE.PAR_START:Pa(u,t,Ma.boxMargin,Ma.boxMargin+Ma.boxTextMargin,(function(t){return Oa.newLoop(t)}));break;case ra.parser.yy.LINETYPE.PAR_AND:Pa(u,t,Ma.boxMargin+Ma.boxTextMargin,Ma.boxMargin,(function(t){return Oa.addSectionToLoop(t)}));break;case ra.parser.yy.LINETYPE.PAR_END:e=Oa.endLoop(),Aa.drawLoop(n,e,"par",Ma),Oa.bumpVerticalPos(e.stopy-Oa.getVerticalPos()),Oa.models.addLoop(e);break;default:try{(a=t.msgModel).starty=Oa.getVerticalPos(),a.sequenceIndex=l,function(t,e){Oa.bumpVerticalPos(10);var n=e.startx,r=e.stopx,i=e.starty,a=e.message,o=e.type,s=e.sequenceIndex,c=x.splitBreaks(a).length,u=W.calculateTextDimensions(a,Ba(Ma)),l=u.height/c;e.height+=l,Oa.bumpVerticalPos(l);var h=Aa.getTextObj();h.x=n,h.y=i+10,h.width=r-n,h.class="messageText",h.dy="1em",h.text=a,h.fontFamily=Ma.messageFontFamily,h.fontSize=Ma.messageFontSize,h.fontWeight=Ma.messageFontWeight,h.anchor=Ma.messageAlign,h.valign=Ma.messageAlign,h.textMargin=Ma.wrapPadding,h.tspan=!1,ka(t,h);var f,d,p=u.height-10,y=u.width;if(n===r){d=Oa.getVerticalPos()+p,Ma.rightAngles?f=t.append("path").attr("d","M ".concat(n,",").concat(d," H ").concat(n+Math.max(Ma.width/2,y/2)," V ").concat(d+25," H ").concat(n)):(p+=Ma.boxMargin,d=Oa.getVerticalPos()+p,f=t.append("path").attr("d","M "+n+","+d+" C "+(n+60)+","+(d-10)+" "+(n+60)+","+(d+30)+" "+n+","+(d+20))),p+=30;var g=Math.max(y/2,Ma.width/2);Oa.insert(n-g,Oa.getVerticalPos()-10+p,r+g,Oa.getVerticalPos()+30+p)}else p+=Ma.boxMargin,d=Oa.getVerticalPos()+p,(f=t.append("line")).attr("x1",n),f.attr("y1",d),f.attr("x2",r),f.attr("y2",d),Oa.insert(n,d-10,r,d);o===ra.parser.yy.LINETYPE.DOTTED||o===ra.parser.yy.LINETYPE.DOTTED_CROSS||o===ra.parser.yy.LINETYPE.DOTTED_POINT||o===ra.parser.yy.LINETYPE.DOTTED_OPEN?(f.style("stroke-dasharray","3, 3"),f.attr("class","messageLine1")):f.attr("class","messageLine0");var v="";Ma.arrowMarkerAbsolute&&(v=(v=(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),f.attr("stroke-width",2),f.attr("stroke","none"),f.style("fill","none"),o!==ra.parser.yy.LINETYPE.SOLID&&o!==ra.parser.yy.LINETYPE.DOTTED||f.attr("marker-end","url("+v+"#arrowhead)"),o!==ra.parser.yy.LINETYPE.SOLID_POINT&&o!==ra.parser.yy.LINETYPE.DOTTED_POINT||f.attr("marker-end","url("+v+"#filled-head)"),o!==ra.parser.yy.LINETYPE.SOLID_CROSS&&o!==ra.parser.yy.LINETYPE.DOTTED_CROSS||f.attr("marker-end","url("+v+"#crosshead)"),(xa.showSequenceNumbers()||Ma.showSequenceNumbers)&&(f.attr("marker-start","url("+v+"#sequencenumber)"),t.append("text").attr("x",n).attr("y",d+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("textLength","16px").attr("class","sequenceNumber").text(s)),Oa.bumpVerticalPos(p),e.height+=p,e.stopy=e.starty+e.height,Oa.insert(e.fromBounds,e.starty,e.toBounds,e.stopy)}(n,a),Oa.models.addMessage(a)}catch(t){c.error("error while drawing message",t)}}[ra.parser.yy.LINETYPE.SOLID_OPEN,ra.parser.yy.LINETYPE.DOTTED_OPEN,ra.parser.yy.LINETYPE.SOLID,ra.parser.yy.LINETYPE.DOTTED,ra.parser.yy.LINETYPE.SOLID_CROSS,ra.parser.yy.LINETYPE.DOTTED_CROSS,ra.parser.yy.LINETYPE.SOLID_POINT,ra.parser.yy.LINETYPE.DOTTED_POINT].includes(t.type)&&l++})),Ma.mirrorActors&&(Oa.bumpVerticalPos(2*Ma.boxMargin),La(n,r,i,Oa.getVerticalPos()));var f=Oa.getBounds().bounds;c.debug("For line height fix Querying: #"+e+" .actor-line"),Object(h.selectAll)("#"+e+" .actor-line").attr("y2",f.stopy);var d=f.stopy-f.starty+2*Ma.diagramMarginY;Ma.mirrorActors&&(d=d-Ma.boxMargin+Ma.bottomMarginAdj);var p=f.stopx-f.startx+2*Ma.diagramMarginX;o&&n.append("text").text(o).attr("x",(f.stopx-f.startx)/2-2*Ma.diagramMarginX).attr("y",-25),q(n,d,p,Ma.useMaxWidth);var y=o?40:0;n.attr("viewBox",f.startx-Ma.diagramMarginX+" -"+(Ma.diagramMarginY+y)+" "+p+" "+(d+y)),c.debug("models:",Oa.models)}},$a=n(22),qa=n.n($a);function Wa(t){return(Wa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Va,Ha=function(t){return JSON.parse(JSON.stringify(t))},Ga=[],Xa={root:{relations:[],states:{},documents:{}}},Za=Xa.root,Qa=0,Ka=function(t,e,n,r,i){void 0===Za.states[t]?Za.states[t]={id:t,descriptions:[],type:e,doc:n,note:i}:(Za.states[t].doc||(Za.states[t].doc=n),Za.states[t].type||(Za.states[t].type=e)),r&&(c.info("Adding state ",t,r),"string"==typeof r&&eo(t,r.trim()),"object"===Wa(r)&&r.forEach((function(e){return eo(t,e.trim())}))),i&&(Za.states[t].note=i)},Ja=function(){Za=(Xa={root:{relations:[],states:{},documents:{}}}).root,Za=Xa.root,Qa=0,0,ro=[]},to=function(t,e,n){var r=t,i=e,a="default",o="default";"[*]"===t&&(r="start"+ ++Qa,a="start"),"[*]"===e&&(i="end"+Qa,o="end"),Ka(r,a),Ka(i,o),Za.relations.push({id1:r,id2:i,title:n})},eo=function(t,e){var n=Za.states[t],r=e;":"===r[0]&&(r=r.substr(1).trim()),n.descriptions.push(r)},no=0,ro=[],io="TB",ao={parseDirective:function(t,e,n){gs.parseDirective(this,t,e,n)},getConfig:function(){return xt().state},addState:Ka,clear:Ja,getState:function(t){return Za.states[t]},getStates:function(){return Za.states},getRelations:function(){return Za.relations},getClasses:function(){return ro},getDirection:function(){return io},addRelation:to,getDividerId:function(){return"divider-id-"+ ++no},setDirection:function(t){io=t},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){c.info("Documents = ",Xa)},getRootDoc:function(){return Ga},setRootDoc:function(t){c.info("Setting root doc",t),Ga=t},getRootDocV2:function(){return function t(e,n,r){if("relation"===n.stmt)t(e,n.state1,!0),t(e,n.state2,!1);else if("state"===n.stmt&&"[*]"===n.id&&(n.id=r?e.id+"_start":e.id+"_end",n.start=r),n.doc){var i=[],a=0,o=[];for(a=0;a0&&o.length>0){var c={stmt:"state",id:I(),type:"divider",doc:Ha(o)};i.push(Ha(c)),n.doc=i}n.doc.forEach((function(e){return t(n,e,!0)}))}}({id:"root"},{id:"root",doc:Ga},!0),{id:"root",doc:Ga}},extract:function(t){var e;e=t.doc?t.doc:t,c.info(e),Ja(),c.info("Extract",e),e.forEach((function(t){"state"===t.stmt&&Ka(t.id,t.type,t.doc,t.description,t.note),"relation"===t.stmt&&to(t.state1.id,t.state2.id,t.description)}))},trimColon:function(t){return t&&":"===t[0]?t.substr(1).trim():t.trim()}},oo={},so=function(t,e){oo[t]=e},co=function(t,e){var n=t.append("text").attr("x",2*xt().state.padding).attr("y",xt().state.textHeight+1.3*xt().state.padding).attr("font-size",xt().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=n.height,i=t.append("text").attr("x",xt().state.padding).attr("y",r+.4*xt().state.padding+xt().state.dividerMargin+xt().state.textHeight).attr("class","state-description"),a=!0,o=!0;e.descriptions.forEach((function(t){a||(!function(t,e,n){var r=t.append("tspan").attr("x",2*xt().state.padding).text(e);n||r.attr("dy",xt().state.textHeight)}(i,t,o),o=!1),a=!1}));var s=t.append("line").attr("x1",xt().state.padding).attr("y1",xt().state.padding+r+xt().state.dividerMargin/2).attr("y2",xt().state.padding+r+xt().state.dividerMargin/2).attr("class","descr-divider"),c=i.node().getBBox(),u=Math.max(c.width,n.width);return s.attr("x2",u+3*xt().state.padding),t.insert("rect",":first-child").attr("x",xt().state.padding).attr("y",xt().state.padding).attr("width",u+2*xt().state.padding).attr("height",c.height+r+2*xt().state.padding).attr("rx",xt().state.radius),t},uo=function(t,e,n){var r,i=xt().state.padding,a=2*xt().state.padding,o=t.node().getBBox(),s=o.width,c=o.x,u=t.append("text").attr("x",0).attr("y",xt().state.titleShift).attr("font-size",xt().state.fontSize).attr("class","state-title").text(e.id),l=u.node().getBBox().width+a,h=Math.max(l,s);h===s&&(h+=a);var f=t.node().getBBox();e.doc,r=c-i,l>s&&(r=(s-h)/2+i),Math.abs(c-f.x)s&&(r=c-(l-s)/2);var d=1-xt().state.textHeight;return t.insert("rect",":first-child").attr("x",r).attr("y",d).attr("class",n?"alt-composit":"composit").attr("width",h).attr("height",f.height+xt().state.textHeight+xt().state.titleShift+1).attr("rx","0"),u.attr("x",r+i),l<=s&&u.attr("x",c+(h-a)/2-l/2+i),t.insert("rect",":first-child").attr("x",r).attr("y",xt().state.titleShift-xt().state.textHeight-xt().state.padding).attr("width",h).attr("height",3*xt().state.textHeight).attr("rx",xt().state.radius),t.insert("rect",":first-child").attr("x",r).attr("y",xt().state.titleShift-xt().state.textHeight-xt().state.padding).attr("width",h).attr("height",f.height+3+2*xt().state.textHeight).attr("rx",xt().state.radius),t},lo=function(t,e){e.attr("class","state-note");var n=e.append("rect").attr("x",0).attr("y",xt().state.padding),r=function(t,e,n,r){var i=0,a=r.append("text");a.style("text-anchor","start"),a.attr("class","noteText");var o=t.replace(/\r\n/g,"
"),s=(o=o.replace(/\n/g,"
")).split(x.lineBreakRegex),c=1.25*xt().state.noteMargin,u=!0,l=!1,h=void 0;try{for(var f,d=s[Symbol.iterator]();!(u=(f=d.next()).done);u=!0){var p=f.value.trim();if(p.length>0){var y=a.append("tspan");if(y.text(p),0===c)c+=y.node().getBBox().height;i+=c,y.attr("x",e+xt().state.noteMargin),y.attr("y",n+i+1.25*xt().state.noteMargin)}}}catch(t){l=!0,h=t}finally{try{u||null==d.return||d.return()}finally{if(l)throw h}}return{textWidth:a.node().getBBox().width,textHeight:i}}(t,0,0,e.append("g")),i=r.textWidth,a=r.textHeight;return n.attr("height",a+2*xt().state.noteMargin),n.attr("width",i+2*xt().state.noteMargin),n},ho=function(t,e){var n=e.id,r={id:n,label:e.id,width:0,height:0},i=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&function(t){t.append("circle").attr("class","start-state").attr("r",xt().state.sizeUnit).attr("cx",xt().state.padding+xt().state.sizeUnit).attr("cy",xt().state.padding+xt().state.sizeUnit)}(i),"end"===e.type&&function(t){t.append("circle").attr("class","end-state-outer").attr("r",xt().state.sizeUnit+xt().state.miniPadding).attr("cx",xt().state.padding+xt().state.sizeUnit+xt().state.miniPadding).attr("cy",xt().state.padding+xt().state.sizeUnit+xt().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",xt().state.sizeUnit).attr("cx",xt().state.padding+xt().state.sizeUnit+2).attr("cy",xt().state.padding+xt().state.sizeUnit+2)}(i),"fork"!==e.type&&"join"!==e.type||function(t,e){var n=xt().state.forkWidth,r=xt().state.forkHeight;if(e.parentId){var i=n;n=r,r=i}t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",r).attr("x",xt().state.padding).attr("y",xt().state.padding)}(i,e),"note"===e.type&&lo(e.note.text,i),"divider"===e.type&&function(t){t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",xt().state.textHeight).attr("class","divider").attr("x2",2*xt().state.textHeight).attr("y1",0).attr("y2",0)}(i),"default"===e.type&&0===e.descriptions.length&&function(t,e){var n=t.append("text").attr("x",2*xt().state.padding).attr("y",xt().state.textHeight+2*xt().state.padding).attr("font-size",xt().state.fontSize).attr("class","state-title").text(e.id),r=n.node().getBBox();t.insert("rect",":first-child").attr("x",xt().state.padding).attr("y",xt().state.padding).attr("width",r.width+2*xt().state.padding).attr("height",r.height+2*xt().state.padding).attr("rx",xt().state.radius)}(i,e),"default"===e.type&&e.descriptions.length>0&&co(i,e);var a=i.node().getBBox();return r.width=a.width+2*xt().state.padding,r.height=a.height+2*xt().state.padding,so(n,r),r},fo=0;$a.parser.yy=ao;var po={},yo=function t(e,n,r,i){var a,o=new zt.a.Graph({compound:!0,multigraph:!0}),s=!0;for(a=0;a "+t.w+": "+JSON.stringify(o.edge(t))),function(t,e,n){e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var r=e.points,i=Object(h.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(h.curveBasis),a=t.append("path").attr("d",i(r)).attr("id","edge"+fo).attr("class","transition"),o="";if(xt().state.arrowMarkerAbsolute&&(o=(o=(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),a.attr("marker-end","url("+o+"#"+function(t){switch(t){case ao.relationType.AGGREGATION:return"aggregation";case ao.relationType.EXTENSION:return"extension";case ao.relationType.COMPOSITION:return"composition";case ao.relationType.DEPENDENCY:return"dependency"}}(ao.relationType.DEPENDENCY)+"End)"),void 0!==n.title){for(var s=t.append("g").attr("class","stateLabel"),u=W.calcLabelPosition(e.points),l=u.x,f=u.y,d=x.getRows(n.title),p=0,y=[],g=0,v=0,m=0;m<=d.length;m++){var b=s.append("text").attr("text-anchor","middle").text(d[m]).attr("x",l).attr("y",f+p),_=b.node().getBBox();if(g=Math.max(g,_.width),v=Math.min(v,_.x),c.info(_.x,l,f+p),0===p){var k=b.node().getBBox();p=k.height,c.info("Title height",p,f)}y.push(b)}var w=p*d.length;if(d.length>1){var E=(d.length-1)*p*.5;y.forEach((function(t,e){return t.attr("y",f+e*p-E)})),w=p*d.length}var T=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",l-g/2-xt().state.padding/2).attr("y",f-w/2-xt().state.padding/2-3.5).attr("width",g+xt().state.padding).attr("height",w+xt().state.padding),c.info(T)}fo++}(n,o.edge(t),o.edge(t).relation))})),w=k.getBBox();var E={id:r||"root",label:r||"root",width:0,height:0};return E.width=w.width+2*Va.padding,E.height=w.height+2*Va.padding,c.debug("Doc rendered",E,o),E},go=function(){},vo=function(t,e){Va=xt().state,$a.parser.yy.clear(),$a.parser.parse(t),c.debug("Rendering diagram "+t);var n=Object(h.select)("[id='".concat(e,"']"));n.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"),new zt.a.Graph({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));var r=ao.getRootDoc();yo(r,n,void 0,!1);var i=Va.padding,a=n.node().getBBox(),o=a.width+2*i,s=a.height+2*i;q(n,s,1.75*o,Va.useMaxWidth),n.attr("viewBox","".concat(a.x-Va.padding," ").concat(a.y-Va.padding," ")+o+" "+s)},mo={},bo={},xo=function(t,e,n,r){if("root"!==n.id){var i="rect";!0===n.start&&(i="start"),!1===n.start&&(i="end"),"default"!==n.type&&(i=n.type),bo[n.id]||(bo[n.id]={id:n.id,shape:i,description:n.id,classes:"statediagram-state"}),n.description&&(Array.isArray(bo[n.id].description)?(bo[n.id].shape="rectWithTitle",bo[n.id].description.push(n.description)):bo[n.id].description.length>0?(bo[n.id].shape="rectWithTitle",bo[n.id].description===n.id?bo[n.id].description=[n.description]:bo[n.id].description=[bo[n.id].description,n.description]):(bo[n.id].shape="rect",bo[n.id].description=n.description)),!bo[n.id].type&&n.doc&&(c.info("Setting cluster for ",n.id,wo(n)),bo[n.id].type="group",bo[n.id].dir=wo(n),bo[n.id].shape="divider"===n.type?"divider":"roundedWithTitle",bo[n.id].classes=bo[n.id].classes+" "+(r?"statediagram-cluster statediagram-cluster-alt":"statediagram-cluster"));var a={labelStyle:"",shape:bo[n.id].shape,labelText:bo[n.id].description,classes:bo[n.id].classes,style:"",id:n.id,dir:bo[n.id].dir,domId:"state-"+n.id+"-"+_o,type:bo[n.id].type,padding:15};if(n.note){var o={labelStyle:"",shape:"note",labelText:n.note.text,classes:"statediagram-note",style:"",id:n.id+"----note-"+_o,domId:"state-"+n.id+"----note-"+_o,type:bo[n.id].type,padding:15},s={labelStyle:"",shape:"noteGroup",labelText:n.note.text,classes:bo[n.id].classes,style:"",id:n.id+"----parent",domId:"state-"+n.id+"----parent-"+_o,type:"group",padding:0};_o++,t.setNode(n.id+"----parent",s),t.setNode(o.id,o),t.setNode(n.id,a),t.setParent(n.id,n.id+"----parent"),t.setParent(o.id,n.id+"----parent");var u=n.id,l=o.id;"left of"===n.note.position&&(u=o.id,l=n.id),t.setEdge(u,l,{arrowhead:"none",arrowType:"",style:"fill:none",labelStyle:"",classes:"transition note-edge",arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text",thickness:"normal"})}else t.setNode(n.id,a)}e&&"root"!==e.id&&(c.trace("Setting node ",n.id," to be child of its parent ",e.id),t.setParent(n.id,e.id)),n.doc&&(c.trace("Adding nodes children "),ko(t,n,n.doc,!r))},_o=0,ko=function(t,e,n,r){c.trace("items",n),n.forEach((function(n){if("state"===n.stmt||"default"===n.stmt)xo(t,e,n,r);else if("relation"===n.stmt){xo(t,e,n.state1,r),xo(t,e,n.state2,r);var i={id:"edge"+_o,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:"fill:none",labelStyle:"",label:n.description,arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text",thickness:"normal",classes:"transition"},a=n.state1.id,o=n.state2.id;t.setEdge(a,o,i,_o),_o++}}))},wo=function(t,e){var n=e||"TB";if(t.doc)for(var r=0;r/gi," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);var i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r},jo=-1,Yo=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},zo=function(){function t(t,e,n,i,a,o,s,c){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s,c,u){for(var l=c.taskFontSize,h=c.taskFontFamily,f=t.split(//gi),d=0;d3?function(t){var e=Object(h.arc)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",e).attr("transform","translate("+o.cx+","+(o.cy+2)+")")}(s):o.score<3?function(t){var e=Object(h.arc)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",e).attr("transform","translate("+o.cx+","+(o.cy+7)+")")}(s):function(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",o.cx-5).attr("y1",o.cy+7).attr("x2",o.cx+5).attr("y2",o.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}(s);var c=Yo();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=n.width,c.height=n.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,Ro(i,c);var u=e.x+14;e.people.forEach((function(t){var n=e.actors[t],r={cx:u,cy:e.y,r:7,fill:n,stroke:"#000",title:t};Fo(i,r),u+=10})),zo(n)(e.task,i,c.x,c.y,c.width,c.height,{class:"task"},n,e.colour)},Vo=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};Lo.parser.yy=Do;var Ho={};var Go=xt().journey,Xo=xt().journey.leftMargin,Zo={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(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,e,n,r){var i,a=xt().journey,o=this,s=0;this.sequenceItems.forEach((function(c){s++;var u=o.sequenceItems.length-s+1;o.updateVal(c,"starty",e-u*a.boxMargin,Math.min),o.updateVal(c,"stopy",r+u*a.boxMargin,Math.max),o.updateVal(Zo.data,"startx",t-u*a.boxMargin,Math.min),o.updateVal(Zo.data,"stopx",n+u*a.boxMargin,Math.max),"activation"!==i&&(o.updateVal(c,"startx",t-u*a.boxMargin,Math.min),o.updateVal(c,"stopx",n+u*a.boxMargin,Math.max),o.updateVal(Zo.data,"starty",e-u*a.boxMargin,Math.min),o.updateVal(Zo.data,"stopy",r+u*a.boxMargin,Math.max))}))},insert:function(t,e,n,r){var i=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,r),s=Math.max(e,r);this.updateVal(Zo.data,"startx",i,Math.min),this.updateVal(Zo.data,"starty",o,Math.min),this.updateVal(Zo.data,"stopx",a,Math.max),this.updateVal(Zo.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Qo=Go.sectionFills,Ko=Go.sectionColours,Jo=function(t,e,n){for(var r=xt().journey,i="",a=n+(2*r.height+r.diagramMarginY),o=0,s="#CCC",c="black",u=0,l=0;l tspan {\n fill: ").concat(t.actorTextColor,";\n stroke: none;\n }\n\n .actor-line {\n stroke: ").concat(t.actorLineColor,";\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ").concat(t.signalColor,";\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ").concat(t.signalColor,";\n }\n\n #arrowhead path {\n fill: ").concat(t.signalColor,";\n stroke: ").concat(t.signalColor,";\n }\n\n .sequenceNumber {\n fill: ").concat(t.sequenceNumberColor,";\n }\n\n #sequencenumber {\n fill: ").concat(t.signalColor,";\n }\n\n #crosshead path {\n fill: ").concat(t.signalColor,";\n stroke: ").concat(t.signalColor,";\n }\n\n .messageText {\n fill: ").concat(t.signalTextColor,";\n stroke: ").concat(t.signalTextColor,";\n }\n\n .labelBox {\n stroke: ").concat(t.labelBoxBorderColor,";\n fill: ").concat(t.labelBoxBkgColor,";\n }\n\n .labelText, .labelText > tspan {\n fill: ").concat(t.labelTextColor,";\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ").concat(t.loopTextColor,";\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ").concat(t.labelBoxBorderColor,";\n fill: ").concat(t.labelBoxBorderColor,";\n }\n\n .note {\n //stroke: #decc93;\n stroke: ").concat(t.noteBorderColor,";\n fill: ").concat(t.noteBkgColor,";\n }\n\n .noteText, .noteText > tspan {\n fill: ").concat(t.noteTextColor,";\n stroke: none;\n }\n\n .activation0 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n\n .activation1 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n\n .activation2 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n")},gantt:function(t){return'\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: '.concat(t.sectionBkgColor,";\n }\n\n .section2 {\n fill: ").concat(t.sectionBkgColor2,";\n }\n\n .section1,\n .section3 {\n fill: ").concat(t.altSectionBkgColor,";\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle1 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle2 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle3 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ").concat(t.ganttFontSize,";\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ").concat(t.gridColor,";\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.textColor,";\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ").concat(t.todayLineColor,";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: ").concat(t.ganttFontSize,";\n // }\n\n .taskTextOutsideRight {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: start;\n // font-size: ").concat(t.ganttFontSize,";\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: end;\n // font-size: ").concat(t.ganttFontSize,";\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ").concat(t.taskTextColor,";\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ").concat(t.taskBkgColor,";\n stroke: ").concat(t.taskBorderColor,";\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ").concat(t.activeTaskBkgColor,";\n stroke: ").concat(t.activeTaskBorderColor,";\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ").concat(t.doneTaskBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.critBkgColor,";\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.activeTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(t.textColor," ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n")},classDiagram:as,"classDiagram-v2":as,class:as,stateDiagram:ss,state:ss,git:function(){return"\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"},info:function(){return""},pie:function(t){return"\n .pieCircle{\n stroke: ".concat(t.pieStrokeColor,";\n stroke-width : ").concat(t.pieStrokeWidth,";\n opacity : ").concat(t.pieOpacity,";\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ").concat(t.pieTitleTextSize,";\n fill: ").concat(t.pieTitleTextColor,";\n font-family: ").concat(t.fontFamily,";\n }\n .slice {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.pieSectionTextColor,";\n font-size:").concat(t.pieSectionTextSize,";\n // fill: white;\n }\n .legend text {\n fill: ").concat(t.pieLegendTextColor,";\n font-family: ").concat(t.fontFamily,";\n font-size: ").concat(t.pieLegendTextSize,";\n }\n")},er:function(t){return"\n .entityBox {\n fill: ".concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n }\n\n .attributeBoxOdd {\n fill: #ffffff;\n stroke: ").concat(t.nodeBorder,";\n }\n\n .attributeBoxEven {\n fill: #f2f2f2;\n stroke: ").concat(t.nodeBorder,";\n }\n\n .relationshipLabelBox {\n fill: ").concat(t.tertiaryColor,";\n opacity: 0.7;\n background-color: ").concat(t.tertiaryColor,";\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ").concat(t.lineColor,";\n }\n")},journey:function(t){return".label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ".concat(t.textColor,";\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ").concat(t.textColor,"\n }\n\n .legend {\n fill: ").concat(t.textColor,";\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ").concat(t.textColor,"\n }\n\n .face {\n fill: #FFF8DC;\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType0):"",";\n }\n .task-type-1, .section-type-1 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType1):"",";\n }\n .task-type-2, .section-type-2 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType2):"",";\n }\n .task-type-3, .section-type-3 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType3):"",";\n }\n .task-type-4, .section-type-4 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType4):"",";\n }\n .task-type-5, .section-type-5 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType5):"",";\n }\n .task-type-6, .section-type-6 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType6):"",";\n }\n .task-type-7, .section-type-7 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType7):"",";\n }\n")},requirement:function(t){return"\n\n marker {\n fill: ".concat(t.relationColor,";\n stroke: ").concat(t.relationColor,";\n }\n\n marker.cross {\n stroke: ").concat(t.lineColor,";\n }\n\n svg {\n font-family: ").concat(t.fontFamily,";\n font-size: ").concat(t.fontSize,";\n }\n\n .reqBox {\n fill: ").concat(t.requirementBackground,";\n fill-opacity: 100%;\n stroke: ").concat(t.requirementBorderColor,";\n stroke-width: ").concat(t.requirementBorderSize,";\n }\n \n .reqTitle, .reqLabel{\n fill: ").concat(t.requirementTextColor,";\n }\n .reqLabelBox {\n fill: ").concat(t.relationLabelBackground,";\n fill-opacity: 100%;\n }\n\n .req-title-line {\n stroke: ").concat(t.requirementBorderColor,";\n stroke-width: ").concat(t.requirementBorderSize,";\n }\n .relationshipLine {\n stroke: ").concat(t.relationColor,";\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ").concat(t.relationLabelColor,";\n }\n\n")}},us=function(t,e,n){return" {\n font-family: ".concat(n.fontFamily,";\n font-size: ").concat(n.fontSize,";\n fill: ").concat(n.textColor,"\n }\n\n /* Classes common for multiple diagrams */\n\n .error-icon {\n fill: ").concat(n.errorBkgColor,";\n }\n .error-text {\n fill: ").concat(n.errorTextColor,";\n stroke: ").concat(n.errorTextColor,";\n }\n\n .edge-thickness-normal {\n stroke-width: 2px;\n }\n .edge-thickness-thick {\n stroke-width: 3.5px\n }\n .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n .marker {\n fill: ").concat(n.lineColor,";\n stroke: ").concat(n.lineColor,";\n }\n .marker.cross {\n stroke: ").concat(n.lineColor,";\n }\n\n svg {\n font-family: ").concat(n.fontFamily,";\n font-size: ").concat(n.fontSize,";\n }\n\n ").concat(cs[t](n),"\n\n ").concat(e,"\n")};function ls(t){return(ls="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var hs={},fs=function(t,e,n){switch(c.debug("Directive type=".concat(e.type," with args:"),e.args),e.type){case"init":case"initialize":["config"].forEach((function(t){void 0!==e.args[t]&&("flowchart-v2"===n&&(n="flowchart"),e.args[n]=e.args[t],delete e.args[t])})),e.args,kt(e.args);break;case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap("wrap"===e.type);break;default:c.warn("Unhandled directive: source: '%%{".concat(e.type,": ").concat(JSON.stringify(e.args?e.args:{}),"}%%"),e)}};function ds(t){bi(t.git),nr(t.flowchart),cr(t.flowchart),void 0!==t.sequenceDiagram&&Ua.setConf(F(t.sequence,t.sequenceDiagram)),Ua.setConf(t.sequence),Wr(t.gantt),re(t.class),go(t.state),Eo(t.state),Si(t.class),sn(t.er),ts(t.journey),ea(t.requirement),rs(t.class)}function ps(){}var ys=Object.freeze({render:function(t,e,n,r){wt();var i=e,a=W.detectInit(i);a&&kt(a);var o=xt();if(e.length>o.maxTextSize&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa"),void 0!==r)r.innerHTML="",Object(h.select)(r).append("div").attr("id","d"+t).attr("style","font-family: "+o.fontFamily).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var s=document.getElementById(t);s&&s.remove();var u=document.querySelector("#d"+t);u&&u.remove(),Object(h.select)("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=i,i=function(t){var e=t;return e=(e=(e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/#\w+;/g,(function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"}))}(i);var l=Object(h.select)("#d"+t).node(),f=W.detectType(i,o),y=l.firstChild,g=y.firstChild,v="";if(void 0!==o.themeCSS&&(v+="\n".concat(o.themeCSS)),void 0!==o.fontFamily&&(v+="\n:root { --mermaid-font-family: ".concat(o.fontFamily,"}")),void 0!==o.altFontFamily&&(v+="\n:root { --mermaid-alt-font-family: ".concat(o.altFontFamily,"}")),"flowchart"===f||"flowchart-v2"===f||"graph"===f){var m=rr(i);for(var b in m)o.htmlLabels||o.flowchart.htmlLabels?(v+="\n.".concat(b," > * { ").concat(m[b].styles.join(" !important; ")," !important; }"),v+="\n.".concat(b," span { ").concat(m[b].styles.join(" !important; ")," !important; }")):(v+="\n.".concat(b," path { ").concat(m[b].styles.join(" !important; ")," !important; }"),v+="\n.".concat(b," rect { ").concat(m[b].styles.join(" !important; ")," !important; }"),v+="\n.".concat(b," polygon { ").concat(m[b].styles.join(" !important; ")," !important; }"),v+="\n.".concat(b," ellipse { ").concat(m[b].styles.join(" !important; ")," !important; }"),v+="\n.".concat(b," circle { ").concat(m[b].styles.join(" !important; ")," !important; }"),m[b].textStyles&&(v+="\n.".concat(b," tspan { ").concat(m[b].textStyles.join(" !important; ")," !important; }")))}var x=(new d.a)("#".concat(t),us(f,v,o.themeVariables)),_=document.createElement("style");_.innerHTML=x,y.insertBefore(_,g);try{switch(f){case"git":o.flowchart.arrowMarkerAbsolute=o.arrowMarkerAbsolute,bi(o.git),xi(i,t,!1);break;case"flowchart":o.flowchart.arrowMarkerAbsolute=o.arrowMarkerAbsolute,nr(o.flowchart),ir(i,t,!1);break;case"flowchart-v2":o.flowchart.arrowMarkerAbsolute=o.arrowMarkerAbsolute,cr(o.flowchart),ur(i,t,!1);break;case"sequence":o.sequence.arrowMarkerAbsolute=o.arrowMarkerAbsolute,o.sequenceDiagram?(Ua.setConf(Object.assign(o.sequence,o.sequenceDiagram)),console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")):Ua.setConf(o.sequence),Ua.draw(i,t);break;case"gantt":o.gantt.arrowMarkerAbsolute=o.arrowMarkerAbsolute,Wr(o.gantt),Vr(i,t);break;case"class":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,re(o.class),ie(i,t);break;case"classDiagram":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,$e(o.class),qe(i,t);break;case"state":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,go(o.state),vo(i,t);break;case"stateDiagram":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,Eo(o.state),To(i,t);break;case"info":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,Si(o.class),Ai(i,t,p.version);break;case"pie":Ri(i,t,p.version);break;case"er":sn(o.er),cn(i,t,p.version);break;case"journey":ts(o.journey),es(i,t,p.version);break;case"requirement":ea(o.requirement),na(i,t,p.version)}}catch(e){throw is(t,p.version),e}Object(h.select)('[id="'.concat(t,'"]')).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");var k=Object(h.select)("#d"+t).node().innerHTML;if(c.debug("cnf.arrowMarkerAbsolute",o.arrowMarkerAbsolute),o.arrowMarkerAbsolute&&"false"!==o.arrowMarkerAbsolute||(k=k.replace(/marker-end="url\(.*?#/g,'marker-end="url(#',"g")),k=(k=function(t){var e=t;return e=(e=(e=e.replace(/fl°°/g,(function(){return"&#"}))).replace(/fl°/g,(function(){return"&"}))).replace(/¶ß/g,(function(){return";"}))}(k)).replace(/
/g,"
"),void 0!==n)switch(f){case"flowchart":case"flowchart-v2":n(k,Dn.bindFunctions);break;case"gantt":n(k,Yr.bindFunctions);break;case"class":case"classDiagram":n(k,Ft.bindFunctions);break;default:n(k)}else c.debug("CB = undefined!");var w=Object(h.select)("#d"+t).node();return null!==w&&"function"==typeof w.remove&&Object(h.select)("#d"+t).node().remove(),k},parse:function(t){var e=xt(),n=W.detectInit(t,e);n&&c.debug("reinit ",n);var r,i=W.detectType(t,e);switch(c.debug("Type "+i),i){case"git":(r=ci.a).parser.yy=oi;break;case"flowchart":case"flowchart-v2":Dn.clear(),(r=In.a).parser.yy=Dn;break;case"sequence":(r=ia.a).parser.yy=xa;break;case"gantt":(r=$r.a).parser.yy=Yr;break;case"class":case"classDiagram":(r=$t.a).parser.yy=Ft;break;case"state":case"stateDiagram":(r=qa.a).parser.yy=ao;break;case"info":c.debug("info info info"),(r=Ti.a).parser.yy=wi;break;case"pie":c.debug("pie"),(r=Oi.a).parser.yy=Li;break;case"er":c.debug("er"),(r=Ke.a).parser.yy=Ze;break;case"journey":c.debug("Journey"),(r=Io.a).parser.yy=Do;break;case"requirement":case"requirementDiagram":c.debug("RequirementDiagram"),(r=Pi.a).parser.yy=qi}return r.parser.yy.graphType=i,r.parser.yy.parseError=function(t,e){throw{str:t,hash:e}},r.parse(t),r},parseDirective:function(t,e,n,r){try{if(void 0!==e)switch(e=e.trim(),n){case"open_directive":hs={};break;case"type_directive":hs.type=e.toLowerCase();break;case"arg_directive":hs.args=JSON.parse(e);break;case"close_directive":fs(t,hs,r),hs=null}}catch(t){c.error("Error while rendering sequenceDiagram directive: ".concat(e," jison context: ").concat(n)),c.error(t.message)}},initialize:function(t){t&&t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),dt=F({},t),t&&t.theme&&ut[t.theme]?t.themeVariables=ut[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=ut.default.getThemeVariables(t.themeVariables));var e="object"===ls(t)?function(t){return yt=F({},pt),yt=F(yt,t),t.theme&&(yt.themeVariables=ut[t.theme].getThemeVariables(t.themeVariables)),vt=mt(yt,gt),yt}(t):bt();ds(e),u(e.logLevel)},reinitialize:ps,getConfig:xt,setConfig:function(t){return F(vt,t),xt()},getSiteConfig:bt,updateSiteConfig:function(t){return yt=F(yt,t),mt(yt,gt),yt},reset:function(){wt()},globalReset:function(){wt(),ds(xt())},defaultConfig:pt});u(xt().logLevel),wt(xt());var gs=ys,vs=function(){ms.startOnLoad?gs.getConfig().startOnLoad&&ms.init():void 0===ms.startOnLoad&&(c.debug("In start, no config"),gs.getConfig().startOnLoad&&ms.init())};"undefined"!=typeof document&& +/*! + * Wait for document loaded before starting the execution + */ +window.addEventListener("load",(function(){vs()}),!1);var ms={startOnLoad:!0,htmlLabels:!0,mermaidAPI:gs,parse:gs.parse,render:gs.render,init:function(){var t,e,n=this,r=gs.getConfig();arguments.length>=2?( +/*! sequence config was passed as #1 */ +void 0!==arguments[0]&&(ms.sequenceConfig=arguments[0]),t=arguments[1]):t=arguments[0],"function"==typeof arguments[arguments.length-1]?(e=arguments[arguments.length-1],c.debug("Callback function found")):void 0!==r.mermaid&&("function"==typeof r.mermaid.callback?(e=r.mermaid.callback,c.debug("Callback function found")):c.debug("No Callback function found")),t=void 0===t?document.querySelectorAll(".mermaid"):"string"==typeof t?document.querySelectorAll(t):t instanceof window.Node?[t]:t,c.debug("Start On Load before: "+ms.startOnLoad),void 0!==ms.startOnLoad&&(c.debug("Start On Load inner: "+ms.startOnLoad),gs.updateSiteConfig({startOnLoad:ms.startOnLoad})),void 0!==ms.ganttConfig&&gs.updateSiteConfig({gantt:ms.ganttConfig});for(var a,o=new W.initIdGeneratior(r.deterministicIds,r.deterministicIDSeed),s=function(r){var s=t[r]; +/*! Check if previously processed */if(s.getAttribute("data-processed"))return"continue";s.setAttribute("data-processed",!0);var u="mermaid-".concat(o.next());a=i(a=s.innerHTML).trim().replace(//gi,"
");var l=W.detectInit(a);l&&c.debug("Detected early reinit: ",l);try{gs.render(u,a,(function(t,n){s.innerHTML=t,void 0!==e&&e(u),n&&n(s)}),s)}catch(t){c.warn("Syntax Error rendering"),c.warn(t),n.parseError&&n.parseError(t)}},u=0;ucode,h2>code,h3>code,h4>code,h5>code,h6>code{border-top:3px solid #dee2e6;font-size:.75em!important}h4,h5,h6{font-size:1rem!important}a{text-decoration:underline;color:#0a539a}a:hover{background:#0a539a;color:#fff!important;text-decoration:none}a:visited{color:#0a539a}img{vertical-align:middle}.fake-link{background-image:linear-gradient(#0a539a,#0a539a);background-position:0 100%;background-size:100% 1px;background-repeat:no-repeat;text-decoration:none}.wrapper{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:60rem;margin:0 auto;padding:1rem}.icon{display:inline-block;width:1.3em;height:1.3em;vertical-align:middle;stroke-width:0;stroke:currentColor;fill:currentColor;position:relative}.gblog-header{background:#4186c9;color:#fff;padding:1rem 0}.gblog-header__link,.gblog-header__link:visited{color:inherit;text-decoration:none}.gblog-header__link:hover{background:0 0}.gblog-brand{font-size:3rem}.gblog-brand__subtitle{margin-top:1rem;font-size:1.2rem;font-weight:bolder}.gblog-brand__img{margin-right:1rem;width:180px;height:96px}.gblog-nav{background:#2f333e;color:#e9ecef;min-height:.25rem}.gblog-nav .container{padding-top:.5rem;padding-bottom:.5rem}.gblog-nav li{display:inline-block}.gblog-nav__entry{color:#f8f9fa;text-decoration:none;padding:.25rem .5rem;border:1px solid;border-radius:.15rem;display:inline-block;margin:.25rem}.gblog-nav__entry.is-active,.gblog-nav__entry:hover{background:#454b5b}.gblog-nav__entry:visited{color:inherit}.gblog-nav__control{display:none}.gblog-nav__control label:hover{cursor:pointer}.gblog-nav__control .icon{margin-right:.25rem}.gblog-nav__control .icon.gblog_menu{display:inline-block}.gblog-nav__control .icon.gblog_clear{display:none}.gblog-page{min-width:20rem;flex-grow:1}.gblog-post{word-wrap:break-word;border-top:1px dashed #868e96;padding:2rem 0}.gblog-post__header h1{margin-top:0}.gblog-post__header a,.gblog-post__header a:visited{color:inherit;text-decoration:none}.gblog-post__header a:hover{background:0 0;text-decoration:underline;color:#343a40!important}.gblog-post:first-child{border-top:0}.gblog-post__readmore{margin:1.5rem 0 2rem 0}.gblog-post__readmore a:after{font-family:GeekblogIcons;content:""}.gblog-post__tag{margin:.25rem 0!important}.gblog-post__tag .gblog-button__link{padding:.25rem .5rem}.gblog-post__tag .gblog-button__link:hover{background:0 0}.gblog-post__anchorwrap:hover .gblog-post__anchor{background:0 0;color:#adb5bd!important}.gblog-post__anchor{min-width:30px;color:transparent}.gblog-post__anchor--left{position:absolute;margin-left:-25px;text-align:left}.gblog-post__anchor--right{text-align:right}.gblog-post__anchor .icon{font-size:1.3rem}.gblog-post__feature{position:relative;margin-bottom:2rem}.gblog-post__feature img{width:100%;min-height:180px;-o-object-fit:cover;object-fit:cover;overflow:hidden;border-radius:.15rem}.gblog-post__feature span{background:rgba(33,37,41,.8);position:absolute;bottom:0;right:0;padding:.25rem;font-size:.8em;color:#e9ecef;border-radius:.15rem 0}.gblog-post__feature a:hover,.gblog-post__feature a:visited{color:#e9ecef!important}.gblog-post__meta{padding-bottom:1rem}.gblog-post__meta .icon{font-size:1.2em}.gblog-post__figure{padding:.25rem;margin:1rem 0;background-color:#dee2e6;display:table;border-top-left-radius:.15rem;border-top-right-radius:.15rem}.gblog-post__figure figcaption{display:table-caption;caption-side:bottom;background-color:#dee2e6;padding:0 .25rem .25rem;text-align:center;border-bottom-left-radius:.15rem;border-bottom-right-radius:.15rem}.gblog-post__figure img{max-width:100%;height:auto}.gblog-post__footer :not(:first-child).no-wrap{margin-left:.5rem}.gblog-post__footer .icon{font-size:1.2em}.gblog-footer{background:#2f333e;color:#f8f9fa}.gblog-footer__item{margin:.5rem .5rem .5rem 0}.gblog-footer__link{color:#ffa31e}.gblog-footer__link:hover{background:#ffa31e;color:#343a40!important}.gblog-footer__link:visited{color:#ffa31e}.gblog-paging{padding:1rem 0}.gblog-paging__item{flex:1 1 0}.gblog-paging__item--next{text-align:right}.gblog-paging__item--next a:after{font-family:GeekblogIcons;content:"";margin-top:-.125em}.gblog-paging__item--prev{text-align:left}.gblog-paging__item--prev a::before{font-family:GeekblogIcons;content:"";margin-top:-.125em}.gblog-error{padding:6rem 1rem;margin:0 auto;max-width:45em}.gblog-error .icon{font-size:8rem;color:#495057}.gblog-error__link,.gblog-error__link:visited{color:#0a539a}.gblog-error__message{padding-left:4rem}.gblog-error__line{padding:.5rem 0}.gblog-error__title{font-size:4rem}.gblog-error__code{font-weight:bolder}.gblog-toc__level--1 ul ul,.gblog-toc__level--2 ul ul ul,.gblog-toc__level--3 ul ul ul ul,.gblog-toc__level--4 ul ul ul ul ul,.gblog-toc__level--5 ul ul ul ul ul ul,.gblog-toc__level--6 ul ul ul ul ul ul ul{display:none}.gblog-toc a,.gblog-toc a:visited{color:#0a539a;text-decoration:none}.gblog-markdown{line-height:1.6em}.gblog-markdown>:first-child{margin-top:0}.gblog-markdown--nested :first-child{margin-top:0}.gblog-markdown--nested>:last-child{margin-bottom:0}.gblog-markdown b,.gblog-markdown optgroup,.gblog-markdown strong{font-weight:bolder}.gblog-markdown img{max-width:100%;border-radius:.15rem}.gblog-markdown__link--raw{text-decoration:none!important;color:#343a40!important}.gblog-markdown__link--raw:hover{background:0 0!important;color:#343a40!important;text-decoration:none!important}.gblog-markdown__link--raw:visited{color:#343a40!important}.gblog-markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:4px solid #e9ecef;border-radius:.15rem}.gblog-markdown blockquote :first-child{margin-top:0}.gblog-markdown blockquote :last-child{margin-bottom:0}.gblog-markdown table{overflow:auto;display:table;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem;width:100%;text-align:left}.gblog-markdown table thead{border-bottom:2px solid #e9ecef}.gblog-markdown table tr td,.gblog-markdown table tr th{padding:.5rem 1rem}.gblog-markdown table tr{border-bottom:1px solid #e9ecef}.gblog-markdown table tr:nth-child(2n){background:#f8f9fa}.gblog-markdown hr{height:.125rem;border:none;background:#e9ecef}.gblog-markdown ol,.gblog-markdown ul{padding-left:2rem}.gblog-markdown dl dt{font-weight:bolder;margin-top:1rem}.gblog-markdown dl dd{margin-left:2rem}.gblog-markdown pre{margin:1rem 0}.gblog-markdown code{background-color:rgba(233,236,239,.5);font-size:.85em;line-height:1.45;padding:.2em .4em}.gblog-markdown pre code{display:block;padding:1rem;width:100%;overflow:auto}.gblog-markdown mark{background-color:#fd6}.gblog-markdown section.footnotes{margin-top:3rem;color:#868e96;font-size:.9em}.chroma{background-color:#fff;color:#555;margin:1rem 0}.chroma code{background-color:rgba(233,236,239,.5);display:block;line-height:1.45;font-size:.85em;border-radius:.15rem}.chroma .lntable td:first-child code{border-radius:0;border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}.chroma .lntable td:nth-child(2) code{border-radius:0;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;padding-left:.5em}.chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-.5em;padding:0 .5em}.highlight pre.chroma{margin:0}.highlight>pre.chroma code{padding:1rem;width:100%;overflow:auto}.chroma .err{color:#a61717;background-color:#e3d2d2}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;overflow:auto;display:block}.chroma .lntable td:first-child code{background-color:#e9ecef;border-right:1px solid #dcdfe3;padding:.5em 0}.chroma .lntable td code{padding:.5em 0}.chroma .lntable td:nth-child(2){width:100%;margin-left:2em}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{padding:0 .8em}.chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em}.chroma .k{color:#000;font-weight:700}.chroma .kc{color:#000;font-weight:700}.chroma .kd{color:#000;font-weight:700}.chroma .kn{color:#000;font-weight:700}.chroma .kp{color:#000;font-weight:700}.chroma .kr{color:#000;font-weight:700}.chroma .kt{color:#458;font-weight:700}.chroma .na{color:teal}.chroma .nb{color:#0086b3}.chroma .bp{color:#999}.chroma .nc{color:#458;font-weight:700}.chroma .no{color:teal}.chroma .nd{color:#3c5d5d;font-weight:700}.chroma .ni{color:purple}.chroma .ne{color:#900;font-weight:700}.chroma .nf{color:#900;font-weight:700}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#555}.chroma .nt{color:navy}.chroma .nv{color:teal}.chroma .vc{color:teal}.chroma .vg{color:teal}.chroma .vi{color:teal}.chroma .s{color:#d14}.chroma .sa{color:#d14}.chroma .sb{color:#d14}.chroma .sc{color:#d14}.chroma .dl{color:#d14}.chroma .sd{color:#d14}.chroma .s2{color:#d14}.chroma .se{color:#d14}.chroma .sh{color:#d14}.chroma .si{color:#d14}.chroma .sx{color:#d14}.chroma .sr{color:#009926}.chroma .s1{color:#d14}.chroma .ss{color:#990073}.chroma .m{color:#099}.chroma .mb{color:#099}.chroma .mf{color:#099}.chroma .mh{color:#099}.chroma .mi{color:#099}.chroma .il{color:#099}.chroma .mo{color:#099}.chroma .o{color:#000;font-weight:700}.chroma .ow{color:#000;font-weight:700}.chroma .c{color:#998;font-style:italic}.chroma .ch{color:#998;font-style:italic}.chroma .cm{color:#998;font-style:italic}.chroma .c1{color:#998;font-style:italic}.chroma .cs{color:#999;font-weight:700;font-style:italic}.chroma .cp{color:#999;font-weight:700;font-style:italic}.chroma .cpf{color:#999;font-weight:700;font-style:italic}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000;font-style:italic}.chroma .gr{color:#a00}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gs{font-weight:700}.chroma .gu{color:#aaa}.chroma .gt{color:#a00}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbb}.gblog-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden}.gblog-expand__head{background:#f8f9fa;padding:.5rem 1rem;cursor:pointer}.gblog-expand__content{display:none;padding:1rem}.gblog-expand__control:checked+.gblog-expand__content{display:block}.gblog-expand .gblog-page__anchor{display:none}.gblog-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.gblog-tabs__label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.gblog-tabs__content{order:999;width:100%;border-top:1px solid #f8f9fa;padding:1rem;display:none}.gblog-tabs__control:checked+.gblog-tabs__label{border-bottom:1px solid #0a539a}.gblog-tabs__control:checked+.gblog-tabs__label+.gblog-tabs__content{display:block}.gblog-columns{margin-left:-1rem;margin-right:-1rem}.gblog-columns__content{margin:1rem 0;min-width:13.2rem;padding:0 1rem}.gblog-columns .gblog-page__anchor{display:none}.gblog-button{display:inline-block;color:#495057;border:1px solid #adb5bd;border-radius:.15rem;margin:.5rem 0;cursor:pointer}.gblog-button__link{display:inline-block;color:inherit!important;text-decoration:none!important}.gblog-button__link:hover{background:0 0}.gblog-button:hover{background:#498bcb;border-color:#4186c9;color:#f8f9fa}.gblog-button--regular{font-size:16px}.gblog-button--regular .gblog-button__link{padding:.25rem .5rem}.gblog-button--large{font-size:1.25rem}.gblog-button--large .gblog-button__link{padding:.5rem 1rem}.gblog-hint.info{border-left-color:#6bf;background-color:rgba(102,187,255,.1)}.gblog-hint.ok{border-left-color:#66ff8c;background-color:rgba(102,255,140,.1)}.gblog-hint.warning{border-left-color:#fd6;background-color:rgba(255,221,102,.1)}.gblog-hint.danger{border-left-color:#f66;background-color:rgba(255,102,102,.1)}.gblog-mermaid{font-family:"Liberation Sans",sans-serif} diff --git a/public/mobile-690f027f40.min.css b/public/mobile-690f027f40.min.css new file mode 100644 index 0000000..3b7f93a --- /dev/null +++ b/public/mobile-690f027f40.min.css @@ -0,0 +1 @@ +@media screen and (max-width:45rem){.gblog-brand{font-size:2.2rem}.gblog-nav .container{padding:0}.gblog-nav__list{background:#454b5b;flex-direction:column;justify-content:center;max-height:0;overflow:hidden}.gblog-nav__entry{padding:1rem 0;border:0;border-radius:0;display:block;margin:0;text-align:center}.gblog-nav__entry.is-active,.gblog-nav__entry:hover{background:#3a3f4d}.gblog-nav__control{display:block;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gblog-nav__control label{padding:1rem 0}.gblog-error{padding:6rem 1rem}.gblog-error .icon{font-size:6rem}.gblog-error__message{padding-left:2rem}.gblog-error__line{padding:.25rem 0}.gblog-error__title{font-size:2rem}.gblog-footer__item{width:100%}}#menu-control:checked~.gblog-nav__list{max-height:100%}#menu-control:checked~.gblog-nav__control .icon.gblog_menu{display:none}#menu-control:checked~.gblog-nav__control .icon.gblog_clear{display:inline-block} \ No newline at end of file diff --git a/public/penguin-crossing-FLUGS.jpg b/public/penguin-crossing-FLUGS.jpg new file mode 100644 index 0000000..e0525d3 Binary files /dev/null and b/public/penguin-crossing-FLUGS.jpg differ diff --git a/public/print-86167e859a.min.css b/public/print-86167e859a.min.css new file mode 100644 index 0000000..0ddf00e --- /dev/null +++ b/public/print-86167e859a.min.css @@ -0,0 +1 @@ +@media print{.gblog-footer .container div:not(:last-child),.gblog-nav,.gblog-paging,.gblog-post__anchor,.gblog-post__readmore{display:none}.gblog-header{border-bottom:1px solid #dee2e6}.gblog-footer{border-top:1px solid #dee2e6}.gblog-markdown pre{white-space:pre-wrap;overflow-wrap:break-word}.chroma code{border:1px solid #dee2e6;padding:.5rem!important;font-weight:400!important}.gblog-markdown code{font-weight:700}a,a:visited{color:inherit!important;text-decoration:none!important}} \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..f16256f --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,69 @@ + + + + https://test.lugfrankfurt.de/ + 2021-04-04T10:04:53+01:00 + + https://test.lugfrankfurt.de/de/ + 2021-02-04T10:10:53+01:00 + + https://test.lugfrankfurt.de/de/Impressum/ + 2021-02-04T10:10:53+01:00 + + https://test.lugfrankfurt.de/de/Verein/ + 2021-02-04T10:10:48+01:00 + + https://test.lugfrankfurt.de/de/Mailingliste/ + 2021-02-04T10:10:41+01:00 + + https://test.lugfrankfurt.de/en/Contact/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/en/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/de/Kontakt/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/de/Distriliste/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/de/Regeln/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/de/Vorschlaege/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/de/Workshops/ + 2021-02-04T10:10:31+01:00 + + https://test.lugfrankfurt.de/de/LPD/ + 2021-02-04T10:06:20+01:00 + + https://test.lugfrankfurt.de/en/LPD/ + 2021-02-04T10:06:20+01:00 + + https://test.lugfrankfurt.de/de/Vortraege/ + 2021-02-04T10:06:02+01:00 + + https://test.lugfrankfurt.de/de/Treffen/ + 2021-02-04T10:05:56+01:00 + + https://test.lugfrankfurt.de/en/Imprint/ + 2021-02-04T10:04:53+01:00 + + https://test.lugfrankfurt.de/en/Meetup/ + 2021-02-04T10:04:53+01:00 + + https://test.lugfrankfurt.de/en/Home/ + 2021-02-04T10:04:53+01:00 + + https://test.lugfrankfurt.de/de/FortunesDB/ + 2021-02-02T13:06:02+01:00 + + https://test.lugfrankfurt.de/authors/ + + https://test.lugfrankfurt.de/tags/ + + diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..202e489 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Tags | LUG Frankfurt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + + + + + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..a3f1dbd --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,10 @@ + + + + Tags on LUG Frankfurt + https://test.lugfrankfurt.de/tags/ + Recent content in Tags on LUG Frankfurt + Hugo -- gohugo.io + de + + diff --git a/public/tags/page/1/index.html b/public/tags/page/1/index.html new file mode 100644 index 0000000..0f61651 --- /dev/null +++ b/public/tags/page/1/index.html @@ -0,0 +1 @@ +https://test.lugfrankfurt.de/tags/ \ No newline at end of file diff --git a/public/talks/200801014_Vortrag_Datensicherung.pdf b/public/talks/200801014_Vortrag_Datensicherung.pdf new file mode 100644 index 0000000..c15cd76 Binary files /dev/null and b/public/talks/200801014_Vortrag_Datensicherung.pdf differ diff --git a/public/talks/20161106_MausTOETLPD.pdf b/public/talks/20161106_MausTOETLPD.pdf new file mode 100644 index 0000000..a6644c2 Binary files /dev/null and b/public/talks/20161106_MausTOETLPD.pdf differ diff --git a/public/talks/2017_Flyer.pdf b/public/talks/2017_Flyer.pdf new file mode 100644 index 0000000..84606d9 Binary files /dev/null and b/public/talks/2017_Flyer.pdf differ diff --git a/public/talks/Arch_Chromebook.pdf b/public/talks/Arch_Chromebook.pdf new file mode 100644 index 0000000..bca18f2 Binary files /dev/null and b/public/talks/Arch_Chromebook.pdf differ diff --git a/public/talks/Bionic.pdf b/public/talks/Bionic.pdf new file mode 100644 index 0000000..8ec6ddb Binary files /dev/null and b/public/talks/Bionic.pdf differ diff --git a/public/talks/Bluetooth_Folien.pdf b/public/talks/Bluetooth_Folien.pdf new file mode 100644 index 0000000..f581396 Binary files /dev/null and b/public/talks/Bluetooth_Folien.pdf differ diff --git a/public/talks/Borg_Folien.pdf b/public/talks/Borg_Folien.pdf new file mode 100644 index 0000000..c70c528 Binary files /dev/null and b/public/talks/Borg_Folien.pdf differ diff --git a/public/talks/Commandline_FraLUG.pdf b/public/talks/Commandline_FraLUG.pdf new file mode 100644 index 0000000..4651b0f Binary files /dev/null and b/public/talks/Commandline_FraLUG.pdf differ diff --git a/public/talks/DVDAuthoring_LuG.pdf b/public/talks/DVDAuthoring_LuG.pdf new file mode 100644 index 0000000..7ef9e16 Binary files /dev/null and b/public/talks/DVDAuthoring_LuG.pdf differ diff --git a/public/talks/DevOps_CI_Vor.pdf b/public/talks/DevOps_CI_Vor.pdf new file mode 100644 index 0000000..4246069 Binary files /dev/null and b/public/talks/DevOps_CI_Vor.pdf differ diff --git a/public/talks/Digitalphotographie_FraLUG.pdf b/public/talks/Digitalphotographie_FraLUG.pdf new file mode 100644 index 0000000..f7f66dc Binary files /dev/null and b/public/talks/Digitalphotographie_FraLUG.pdf differ diff --git a/public/talks/Docker_Vortrag_FLUG_September_2016.pdf b/public/talks/Docker_Vortrag_FLUG_September_2016.pdf new file mode 100644 index 0000000..ab11536 Binary files /dev/null and b/public/talks/Docker_Vortrag_FLUG_September_2016.pdf differ diff --git a/public/talks/FLUG_2016_arch.pdf b/public/talks/FLUG_2016_arch.pdf new file mode 100644 index 0000000..3a9c863 Binary files /dev/null and b/public/talks/FLUG_2016_arch.pdf differ diff --git a/public/talks/FLUG_LO_Dev.pdf b/public/talks/FLUG_LO_Dev.pdf new file mode 100644 index 0000000..cf8bf3b Binary files /dev/null and b/public/talks/FLUG_LO_Dev.pdf differ diff --git a/public/talks/FLUG_anon_2017.pdf b/public/talks/FLUG_anon_2017.pdf new file mode 100644 index 0000000..2e605fb Binary files /dev/null and b/public/talks/FLUG_anon_2017.pdf differ diff --git a/public/talks/FRALUG_htpc.pdf b/public/talks/FRALUG_htpc.pdf new file mode 100644 index 0000000..3c626f1 Binary files /dev/null and b/public/talks/FRALUG_htpc.pdf differ diff --git a/public/talks/Filesystem.pdf b/public/talks/Filesystem.pdf new file mode 100644 index 0000000..51670d6 Binary files /dev/null and b/public/talks/Filesystem.pdf differ diff --git a/public/talks/Fluxbox.pdf b/public/talks/Fluxbox.pdf new file mode 100644 index 0000000..5956495 Binary files /dev/null and b/public/talks/Fluxbox.pdf differ diff --git a/public/talks/Folien_Deep_Learning_FraLUG.pdf b/public/talks/Folien_Deep_Learning_FraLUG.pdf new file mode 100644 index 0000000..cf37780 Binary files /dev/null and b/public/talks/Folien_Deep_Learning_FraLUG.pdf differ diff --git a/public/talks/FreeDroid.pdf b/public/talks/FreeDroid.pdf new file mode 100644 index 0000000..77091db Binary files /dev/null and b/public/talks/FreeDroid.pdf differ diff --git a/public/talks/GAN_Fralug.pdf b/public/talks/GAN_Fralug.pdf new file mode 100644 index 0000000..a90ac8f Binary files /dev/null and b/public/talks/GAN_Fralug.pdf differ diff --git a/public/talks/HTPC_Teil_1.pdf b/public/talks/HTPC_Teil_1.pdf new file mode 100644 index 0000000..0850685 Binary files /dev/null and b/public/talks/HTPC_Teil_1.pdf differ diff --git a/public/talks/HTPC_Teil_2.pdf b/public/talks/HTPC_Teil_2.pdf new file mode 100644 index 0000000..26baa09 Binary files /dev/null and b/public/talks/HTPC_Teil_2.pdf differ diff --git a/public/talks/Linux_Filesystem_FraLUG.pdf b/public/talks/Linux_Filesystem_FraLUG.pdf new file mode 100644 index 0000000..7c12548 Binary files /dev/null and b/public/talks/Linux_Filesystem_FraLUG.pdf differ diff --git a/public/talks/Linux_fralug_handout.pdf b/public/talks/Linux_fralug_handout.pdf new file mode 100644 index 0000000..f2cc8e0 Binary files /dev/null and b/public/talks/Linux_fralug_handout.pdf differ diff --git a/public/talks/Mail_und_SMTP.pdf b/public/talks/Mail_und_SMTP.pdf new file mode 100644 index 0000000..ea7d1bf Binary files /dev/null and b/public/talks/Mail_und_SMTP.pdf differ diff --git a/public/talks/NoSQL.pdf b/public/talks/NoSQL.pdf new file mode 100644 index 0000000..a5945ad Binary files /dev/null and b/public/talks/NoSQL.pdf differ diff --git a/public/talks/Notebook_Custom_Classifier.pdf b/public/talks/Notebook_Custom_Classifier.pdf new file mode 100644 index 0000000..c624a91 Binary files /dev/null and b/public/talks/Notebook_Custom_Classifier.pdf differ diff --git a/public/talks/Notebook_Feature_Extraction.pdf b/public/talks/Notebook_Feature_Extraction.pdf new file mode 100644 index 0000000..1667f25 Binary files /dev/null and b/public/talks/Notebook_Feature_Extraction.pdf differ diff --git a/public/talks/Notebook_General_Classifier.pdf b/public/talks/Notebook_General_Classifier.pdf new file mode 100644 index 0000000..df8f945 Binary files /dev/null and b/public/talks/Notebook_General_Classifier.pdf differ diff --git a/public/talks/Open-Source_Software_unter_Windows.pdf b/public/talks/Open-Source_Software_unter_Windows.pdf new file mode 100644 index 0000000..9ec6710 Binary files /dev/null and b/public/talks/Open-Source_Software_unter_Windows.pdf differ diff --git a/public/talks/Open-Source_Software_unter_Windows.zip b/public/talks/Open-Source_Software_unter_Windows.zip new file mode 100644 index 0000000..697b8eb Binary files /dev/null and b/public/talks/Open-Source_Software_unter_Windows.zip differ diff --git a/public/talks/Openstreetmap_technical_documentation.pdf b/public/talks/Openstreetmap_technical_documentation.pdf new file mode 100644 index 0000000..037a3a0 Binary files /dev/null and b/public/talks/Openstreetmap_technical_documentation.pdf differ diff --git a/public/talks/Packete_bauen.pdf b/public/talks/Packete_bauen.pdf new file mode 100644 index 0000000..1cda404 Binary files /dev/null and b/public/talks/Packete_bauen.pdf differ diff --git a/public/talks/Programmieren_mit_Gambas.pdf b/public/talks/Programmieren_mit_Gambas.pdf new file mode 100644 index 0000000..9006470 Binary files /dev/null and b/public/talks/Programmieren_mit_Gambas.pdf differ diff --git a/public/talks/Python_Workshop_1.pdf b/public/talks/Python_Workshop_1.pdf new file mode 100644 index 0000000..f0dd1b2 Binary files /dev/null and b/public/talks/Python_Workshop_1.pdf differ diff --git a/public/talks/RedisJSON.pdf b/public/talks/RedisJSON.pdf new file mode 100644 index 0000000..7939032 Binary files /dev/null and b/public/talks/RedisJSON.pdf differ diff --git a/public/talks/Redis_multi_modal.pdf b/public/talks/Redis_multi_modal.pdf new file mode 100644 index 0000000..f4ad3e5 Binary files /dev/null and b/public/talks/Redis_multi_modal.pdf differ diff --git a/public/talks/Reinforcement_Learning_FraLUG.pdf b/public/talks/Reinforcement_Learning_FraLUG.pdf new file mode 100644 index 0000000..9fe73ee Binary files /dev/null and b/public/talks/Reinforcement_Learning_FraLUG.pdf differ diff --git a/public/talks/SGTPuzzles_FraLug.pdf b/public/talks/SGTPuzzles_FraLug.pdf new file mode 100644 index 0000000..2f56101 Binary files /dev/null and b/public/talks/SGTPuzzles_FraLug.pdf differ diff --git a/public/talks/SSD_unter_Linux_FraLUG.pdf b/public/talks/SSD_unter_Linux_FraLUG.pdf new file mode 100644 index 0000000..289310e Binary files /dev/null and b/public/talks/SSD_unter_Linux_FraLUG.pdf differ diff --git a/public/talks/Skript_und_Compilersprachen.pdf b/public/talks/Skript_und_Compilersprachen.pdf new file mode 100644 index 0000000..10d8f54 Binary files /dev/null and b/public/talks/Skript_und_Compilersprachen.pdf differ diff --git a/public/talks/Skript_und_Compilersprachen.tgz b/public/talks/Skript_und_Compilersprachen.tgz new file mode 100644 index 0000000..6248002 Binary files /dev/null and b/public/talks/Skript_und_Compilersprachen.tgz differ diff --git a/public/talks/SocEng.pdf b/public/talks/SocEng.pdf new file mode 100644 index 0000000..243fcab Binary files /dev/null and b/public/talks/SocEng.pdf differ diff --git a/public/talks/Stromsparen_LUGWeb.pdf b/public/talks/Stromsparen_LUGWeb.pdf new file mode 100644 index 0000000..97d609b Binary files /dev/null and b/public/talks/Stromsparen_LUGWeb.pdf differ diff --git a/public/talks/TOR_beginner.pdf b/public/talks/TOR_beginner.pdf new file mode 100644 index 0000000..bbd56ea Binary files /dev/null and b/public/talks/TOR_beginner.pdf differ diff --git a/public/talks/Videoencoding_with_OSS.pdf b/public/talks/Videoencoding_with_OSS.pdf new file mode 100644 index 0000000..8413ffe Binary files /dev/null and b/public/talks/Videoencoding_with_OSS.pdf differ diff --git a/public/talks/Vortrag_KonfigDateienBash.pdf b/public/talks/Vortrag_KonfigDateienBash.pdf new file mode 100644 index 0000000..3506038 Binary files /dev/null and b/public/talks/Vortrag_KonfigDateienBash.pdf differ diff --git a/public/talks/booting.pdf b/public/talks/booting.pdf new file mode 100644 index 0000000..a98e65c Binary files /dev/null and b/public/talks/booting.pdf differ diff --git a/public/talks/borg_skript.tar.bz2 b/public/talks/borg_skript.tar.bz2 new file mode 100644 index 0000000..fd2a9c6 Binary files /dev/null and b/public/talks/borg_skript.tar.bz2 differ diff --git a/public/talks/fralug_b-trees_web.pdf b/public/talks/fralug_b-trees_web.pdf new file mode 100644 index 0000000..0b4a355 Binary files /dev/null and b/public/talks/fralug_b-trees_web.pdf differ diff --git a/public/talks/fralug_btrfs_live.pdf b/public/talks/fralug_btrfs_live.pdf new file mode 100644 index 0000000..e57745e Binary files /dev/null and b/public/talks/fralug_btrfs_live.pdf differ diff --git a/public/talks/fralug_btrfs_web.pdf b/public/talks/fralug_btrfs_web.pdf new file mode 100644 index 0000000..d5e53d8 Binary files /dev/null and b/public/talks/fralug_btrfs_web.pdf differ diff --git a/public/talks/fsfe_fralug.pdf b/public/talks/fsfe_fralug.pdf new file mode 100644 index 0000000..a721a36 Binary files /dev/null and b/public/talks/fsfe_fralug.pdf differ diff --git a/public/talks/praesentation.pdf b/public/talks/praesentation.pdf new file mode 100644 index 0000000..0857246 Binary files /dev/null and b/public/talks/praesentation.pdf differ diff --git a/public/talks/programm.tgz b/public/talks/programm.tgz new file mode 100644 index 0000000..1827be8 Binary files /dev/null and b/public/talks/programm.tgz differ diff --git a/public/talks/redisGr.py b/public/talks/redisGr.py new file mode 100644 index 0000000..d46dad6 --- /dev/null +++ b/public/talks/redisGr.py @@ -0,0 +1,54 @@ +import redis +from redisgraph import Node, Edge, Graph + + +def print_res(result): + # Iterate through resultset, skip header row at position 0 + for record in result.result_set: + person_name = record[0] + person_age = record[1] + person_gender = record[2] + person_status = record[3] + country_name = record[4] + print('Name: {:>12}\tAge: {:>4}\tGender: {:>6}\tStatus: {:>10}\t Country: {}'.format(person_name, person_age, + person_gender, + person_status, + country_name)) + + +def main(): + r = redis.Redis(decode_responses=True, host='localhost', port=6379) + r.delete('travel') + redis_graph = Graph('travel', r) + + john = Node(label='person', properties={'name': 'John Doe', 'age': 33, 'gender': 'male', 'status': 'single'}) + redis_graph.add_node(john) + + japan = Node(label='country', properties={'name': 'Japan'}) + redis_graph.add_node(japan) + + edge_john = Edge(john, 'visited', japan, properties={'purpose': 'pleasure'}) + redis_graph.add_edge(edge_john) + + pearl = Node(label='person', properties={'name': 'Pearl White', 'age': 25, 'gender': 'female', 'status': 'married'}) + redis_graph.add_node(pearl) + + australia = Node(label='country', properties={'name': 'Australia'}) + redis_graph.add_node(australia) + + edge_pearl = Edge(pearl, 'visited', australia, properties={'purpose': 'business'}) + redis_graph.add_edge(edge_pearl) + + redis_graph.commit() + + print('') + for i in ['pleasure', 'business']: + print('==== Purpose: {} ===='.format(i)) + query = f'''MATCH (p:person)-[v:visited {{purpose:"{i}"}}]->(c:country) + RETURN p.name, p.age, p.gender, p.status, c.name''' + result = redis_graph.query(query) + print_res(result) + print('') + +if __name__ == '__main__': + exit(main()) diff --git a/public/talks/regexp.pdf b/public/talks/regexp.pdf new file mode 100644 index 0000000..31afbf9 Binary files /dev/null and b/public/talks/regexp.pdf differ diff --git a/public/talks/revolutionos.pdf b/public/talks/revolutionos.pdf new file mode 100644 index 0000000..ac69b3c Binary files /dev/null and b/public/talks/revolutionos.pdf differ diff --git a/public/talks/rust.pdf b/public/talks/rust.pdf new file mode 100644 index 0000000..b944948 Binary files /dev/null and b/public/talks/rust.pdf differ diff --git a/public/talks/seafile.pdf b/public/talks/seafile.pdf new file mode 100644 index 0000000..6096fc2 Binary files /dev/null and b/public/talks/seafile.pdf differ diff --git a/public/talks/stallmanflyerlug.pdf b/public/talks/stallmanflyerlug.pdf new file mode 100644 index 0000000..c5b1a71 Binary files /dev/null and b/public/talks/stallmanflyerlug.pdf differ diff --git a/public/talks/systemd.pdf b/public/talks/systemd.pdf new file mode 100644 index 0000000..2f6f907 Binary files /dev/null and b/public/talks/systemd.pdf differ diff --git a/public/talks/tor.pdf b/public/talks/tor.pdf new file mode 100644 index 0000000..13ab8ce Binary files /dev/null and b/public/talks/tor.pdf differ diff --git a/public/talks/typo3.pdf b/public/talks/typo3.pdf new file mode 100644 index 0000000..595fc70 Binary files /dev/null and b/public/talks/typo3.pdf differ diff --git a/public/talks/video.pdf b/public/talks/video.pdf new file mode 100644 index 0000000..a9433a8 Binary files /dev/null and b/public/talks/video.pdf differ diff --git a/public/talks/virtualisierung.pdf b/public/talks/virtualisierung.pdf new file mode 100644 index 0000000..c31f257 Binary files /dev/null and b/public/talks/virtualisierung.pdf differ diff --git a/public/talks/vortrag_conky.tar.xz b/public/talks/vortrag_conky.tar.xz new file mode 100644 index 0000000..1b179d9 Binary files /dev/null and b/public/talks/vortrag_conky.tar.xz differ diff --git a/public/talks/webserver.rs b/public/talks/webserver.rs new file mode 100644 index 0000000..7afc908 --- /dev/null +++ b/public/talks/webserver.rs @@ -0,0 +1,53 @@ +// Updated example from gist.github.com/mjohnsullivan/e5182707caf0a9dbdf2d +// now invoking external program for content generation + +use std::net::{TcpStream, TcpListener}; +use std::io::{Read, Write}; +use std::thread; +use std::process::Command; + +fn main() { + let listener = TcpListener::bind("0.0.0.0:8080").unwrap(); + println!("Listening for connections on port {}", 8080); + + for stream in listener.incoming() { + match stream { + Ok(stream) => { + thread::spawn(|| { + handle_client(stream) + }); + } + Err(e) => { + println!("Unable to connect: {}", e); + } + } + } +} + +fn handle_client(stream: TcpStream) { + handle_read(&stream); + handle_write(stream); +} + +fn handle_read(mut stream: &TcpStream) { + let mut buf = [0u8; 4096]; + match stream.read(&mut buf) { + Ok(_) => { + let req_str = String::from_utf8_lossy(&buf); + println!("{}", req_str); + }, + Err(e) => println!("Unable to read stream: {}", e), + } +} + +fn handle_write(mut stream: TcpStream) { + let outp = Command::new("/usr/games/fortune").output().unwrap(); + let out = String::from_utf8_lossy(&outp.stdout); + let resp = format!("HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n\ + {}\r\n", out); + let response = resp.as_bytes(); + match stream.write(response) { + Ok(_) => println!("Response sent"), + Err(e) => println!("Failed sending response: {}", e), + } +} diff --git a/public/talks/wifiLinux.pdf b/public/talks/wifiLinux.pdf new file mode 100644 index 0000000..98cf7a4 Binary files /dev/null and b/public/talks/wifiLinux.pdf differ diff --git a/public/talks/wiki-intro.pdf b/public/talks/wiki-intro.pdf new file mode 100644 index 0000000..c45a1de Binary files /dev/null and b/public/talks/wiki-intro.pdf differ diff --git a/public/talks/x11-1-history.pdf b/public/talks/x11-1-history.pdf new file mode 100644 index 0000000..7778ec9 Binary files /dev/null and b/public/talks/x11-1-history.pdf differ diff --git a/public/talks/x11-1.pdf b/public/talks/x11-1.pdf new file mode 100644 index 0000000..d68d7fa Binary files /dev/null and b/public/talks/x11-1.pdf differ diff --git a/public/talks/x11-2.pdf b/public/talks/x11-2.pdf new file mode 100644 index 0000000..3a20280 Binary files /dev/null and b/public/talks/x11-2.pdf differ diff --git a/public/tux.png b/public/tux.png new file mode 100644 index 0000000..fd5d86f Binary files /dev/null and b/public/tux.png differ diff --git a/public/verein/Satzung_V6.pdf b/public/verein/Satzung_V6.pdf new file mode 100644 index 0000000..295d041 Binary files /dev/null and b/public/verein/Satzung_V6.pdf differ diff --git a/public/verein/SatzungsänderungEhrenmitgliedschaft.pdf b/public/verein/SatzungsänderungEhrenmitgliedschaft.pdf new file mode 100644 index 0000000..af6c3a4 Binary files /dev/null and b/public/verein/SatzungsänderungEhrenmitgliedschaft.pdf differ diff --git a/public/verein/mvgo_v0-3.pdf b/public/verein/mvgo_v0-3.pdf new file mode 100644 index 0000000..70a327d Binary files /dev/null and b/public/verein/mvgo_v0-3.pdf differ diff --git a/public/verein/satzung_v0_5.pdf b/public/verein/satzung_v0_5.pdf new file mode 100644 index 0000000..44f823b Binary files /dev/null and b/public/verein/satzung_v0_5.pdf differ diff --git a/public/workshops/C++.pdf b/public/workshops/C++.pdf new file mode 100644 index 0000000..de85c67 Binary files /dev/null and b/public/workshops/C++.pdf differ diff --git a/public/workshops/C.pdf b/public/workshops/C.pdf new file mode 100644 index 0000000..7dd991b Binary files /dev/null and b/public/workshops/C.pdf differ diff --git a/public/workshops/Cursesexamples.tgz b/public/workshops/Cursesexamples.tgz new file mode 100644 index 0000000..00a4805 Binary files /dev/null and b/public/workshops/Cursesexamples.tgz differ diff --git a/public/workshops/GTK-II.pdf b/public/workshops/GTK-II.pdf new file mode 100644 index 0000000..6b4b1a4 Binary files /dev/null and b/public/workshops/GTK-II.pdf differ diff --git a/public/workshops/GTK.pdf b/public/workshops/GTK.pdf new file mode 100644 index 0000000..418a785 Binary files /dev/null and b/public/workshops/GTK.pdf differ diff --git a/public/workshops/Python Workshop 1.pdf b/public/workshops/Python Workshop 1.pdf new file mode 100644 index 0000000..f0dd1b2 Binary files /dev/null and b/public/workshops/Python Workshop 1.pdf differ diff --git a/public/workshops/Python Workshop 2.pdf b/public/workshops/Python Workshop 2.pdf new file mode 100644 index 0000000..9e39f15 Binary files /dev/null and b/public/workshops/Python Workshop 2.pdf differ diff --git a/public/workshops/Python Workshop 3 FraLUG.pdf b/public/workshops/Python Workshop 3 FraLUG.pdf new file mode 100644 index 0000000..dbcfeeb Binary files /dev/null and b/public/workshops/Python Workshop 3 FraLUG.pdf differ diff --git a/public/workshops/Python Workshop 4.pdf b/public/workshops/Python Workshop 4.pdf new file mode 100644 index 0000000..c592e88 Binary files /dev/null and b/public/workshops/Python Workshop 4.pdf differ diff --git a/public/workshops/Uebungen Python 1.pdf b/public/workshops/Uebungen Python 1.pdf new file mode 100644 index 0000000..0756598 Binary files /dev/null and b/public/workshops/Uebungen Python 1.pdf differ diff --git a/public/workshops/Uebungen Python 2.pdf b/public/workshops/Uebungen Python 2.pdf new file mode 100644 index 0000000..99b839a Binary files /dev/null and b/public/workshops/Uebungen Python 2.pdf differ diff --git a/public/workshops/Uebungen Python 3 FraLUG.pdf b/public/workshops/Uebungen Python 3 FraLUG.pdf new file mode 100644 index 0000000..da10988 Binary files /dev/null and b/public/workshops/Uebungen Python 3 FraLUG.pdf differ diff --git a/public/workshops/c-aufgaben.pdf b/public/workshops/c-aufgaben.pdf new file mode 100644 index 0000000..348c850 Binary files /dev/null and b/public/workshops/c-aufgaben.pdf differ diff --git a/public/workshops/c-src.tgz b/public/workshops/c-src.tgz new file mode 100644 index 0000000..4f0646f Binary files /dev/null and b/public/workshops/c-src.tgz differ diff --git a/public/workshops/gobject.pdf b/public/workshops/gobject.pdf new file mode 100644 index 0000000..75f4a97 Binary files /dev/null and b/public/workshops/gobject.pdf differ diff --git a/public/workshops/gtk-src.tgz b/public/workshops/gtk-src.tgz new file mode 100644 index 0000000..cb84a93 Binary files /dev/null and b/public/workshops/gtk-src.tgz differ diff --git a/public/workshops/io.tar.gz b/public/workshops/io.tar.gz new file mode 100644 index 0000000..3e78d95 Binary files /dev/null and b/public/workshops/io.tar.gz differ diff --git a/public/workshops/java-workshop-#1.pdf b/public/workshops/java-workshop-#1.pdf new file mode 100644 index 0000000..2381afc Binary files /dev/null and b/public/workshops/java-workshop-#1.pdf differ diff --git a/public/workshops/java-workshop-phase1.tar.bz2 b/public/workshops/java-workshop-phase1.tar.bz2 new file mode 100644 index 0000000..f18e89c Binary files /dev/null and b/public/workshops/java-workshop-phase1.tar.bz2 differ diff --git a/public/workshops/jugs.tgz b/public/workshops/jugs.tgz new file mode 100644 index 0000000..5752840 Binary files /dev/null and b/public/workshops/jugs.tgz differ diff --git a/public/workshops/lsg.tar.gz b/public/workshops/lsg.tar.gz new file mode 100644 index 0000000..cd710b6 Binary files /dev/null and b/public/workshops/lsg.tar.gz differ diff --git a/public/workshops/main-2.c.tar.gz b/public/workshops/main-2.c.tar.gz new file mode 100644 index 0000000..e638268 Binary files /dev/null and b/public/workshops/main-2.c.tar.gz differ diff --git a/public/workshops/main.c.tar.gz b/public/workshops/main.c.tar.gz new file mode 100644 index 0000000..082596b Binary files /dev/null and b/public/workshops/main.c.tar.gz differ diff --git a/public/workshops/mongo.pdf b/public/workshops/mongo.pdf new file mode 100644 index 0000000..4d1e879 Binary files /dev/null and b/public/workshops/mongo.pdf differ diff --git a/public/workshops/properties.vala b/public/workshops/properties.vala new file mode 100644 index 0000000..65884a5 --- /dev/null +++ b/public/workshops/properties.vala @@ -0,0 +1,12 @@ +using Gtk; + +int main (string[] args) { + + init (ref args); + var w = new Window (); + + foreach (ParamSpec p in w.get_class().list_properties()) + stdout.printf ("\"%s\": %s\n", p.name, p.get_blurb()); + + return 0; +} diff --git a/public/workshops/qt-src.tgz b/public/workshops/qt-src.tgz new file mode 100644 index 0000000..c850b34 Binary files /dev/null and b/public/workshops/qt-src.tgz differ diff --git a/public/workshops/shoestring.tar.gz b/public/workshops/shoestring.tar.gz new file mode 100644 index 0000000..9006e5a Binary files /dev/null and b/public/workshops/shoestring.tar.gz differ diff --git a/public/workshops/text.tar.gz b/public/workshops/text.tar.gz new file mode 100644 index 0000000..b9be472 Binary files /dev/null and b/public/workshops/text.tar.gz differ diff --git a/public/workshops/vala.pdf b/public/workshops/vala.pdf new file mode 100644 index 0000000..8c8b912 Binary files /dev/null and b/public/workshops/vala.pdf differ diff --git a/public/workshops/vala.tar.gz b/public/workshops/vala.tar.gz new file mode 100644 index 0000000..e310c4b Binary files /dev/null and b/public/workshops/vala.tar.gz differ diff --git a/static/talks/fralug-k8s-servicemeshes.pdf b/static/talks/fralug-k8s-servicemeshes.pdf new file mode 100755 index 0000000..aba16bb Binary files /dev/null and b/static/talks/fralug-k8s-servicemeshes.pdf differ