summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Mermaid
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
committerYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
commitfc7369835258467bf97eb64f184b93691f9a9fd5 (patch)
treedaabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/extensions/Mermaid
first commit
Diffstat (limited to 'www/wiki/extensions/Mermaid')
-rw-r--r--www/wiki/extensions/Mermaid/.gitignore11
-rw-r--r--www/wiki/extensions/Mermaid/.scrutinizer.yml28
-rw-r--r--www/wiki/extensions/Mermaid/.travis.yml33
-rw-r--r--www/wiki/extensions/Mermaid/COPYING103
-rw-r--r--www/wiki/extensions/Mermaid/DefaultSettings.php20
-rw-r--r--www/wiki/extensions/Mermaid/Mermaid.php194
-rw-r--r--www/wiki/extensions/Mermaid/README.md52
-rw-r--r--www/wiki/extensions/Mermaid/composer.json43
-rw-r--r--www/wiki/extensions/Mermaid/docs/INSTALL.md71
-rw-r--r--www/wiki/extensions/Mermaid/docs/ISSUE_TEMPLATE.md15
-rw-r--r--www/wiki/extensions/Mermaid/docs/PULL_REQUEST_TEMPLATE.md12
-rw-r--r--www/wiki/extensions/Mermaid/docs/RELEASE-NOTES.md42
-rw-r--r--www/wiki/extensions/Mermaid/docs/USAGE.md27
-rw-r--r--www/wiki/extensions/Mermaid/extension.json25
-rw-r--r--www/wiki/extensions/Mermaid/i18n/Mermaid.magic.php13
-rw-r--r--www/wiki/extensions/Mermaid/i18n/ar.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/ast.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/be-tarask.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/de.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/en.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/es.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/eu.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/fr.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/gl.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/ia.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/ko.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/li.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/mk.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/nb.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/pl.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/pt-br.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/pt.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/qqq.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/roa-tara.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/ru.json9
-rw-r--r--www/wiki/extensions/Mermaid/i18n/sv.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/tr.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/uk.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/zh-hans.json8
-rw-r--r--www/wiki/extensions/Mermaid/i18n/zh-hant.json8
-rw-r--r--www/wiki/extensions/Mermaid/phpunit.xml.dist28
-rw-r--r--www/wiki/extensions/Mermaid/res/d3/d3.min.js8
-rw-r--r--www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js8113
-rw-r--r--www/wiki/extensions/Mermaid/res/ext.mermaid.css12
-rw-r--r--www/wiki/extensions/Mermaid/res/ext.mermaid.js38
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js28
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js9
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css1
-rw-r--r--www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js1
-rw-r--r--www/wiki/extensions/Mermaid/src/HookRegistry.php116
-rw-r--r--www/wiki/extensions/Mermaid/src/MermaidParserFunction.php139
-rw-r--r--www/wiki/extensions/Mermaid/tests/bootstrap.php31
-rw-r--r--www/wiki/extensions/Mermaid/tests/phpunit/Integration/I18nJsonFileIntegrityTest.php77
-rw-r--r--www/wiki/extensions/Mermaid/tests/phpunit/Unit/HookRegistryTest.php119
-rw-r--r--www/wiki/extensions/Mermaid/tests/phpunit/Unit/MermaidParserFunctionTest.php109
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh43
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh72
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/run-tests.sh14
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh10
67 files changed, 9866 insertions, 0 deletions
diff --git a/www/wiki/extensions/Mermaid/.gitignore b/www/wiki/extensions/Mermaid/.gitignore
new file mode 100644
index 00000000..0745b001
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/.gitignore
@@ -0,0 +1,11 @@
+*~
+*.kate-swp
+
+vendor/
+extensions/
+
+composer.phar
+composer.lock
+
+!.*
+.idea/ \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/.scrutinizer.yml b/www/wiki/extensions/Mermaid/.scrutinizer.yml
new file mode 100644
index 00000000..6f59b5cb
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/.scrutinizer.yml
@@ -0,0 +1,28 @@
+filter:
+ excluded_paths:
+ - 'vendor/*'
+
+tools:
+ php_mess_detector:
+ config:
+ controversial_rules: { superglobals: false }
+ php_cpd: true
+ php_pdepend: true
+ php_code_coverage: false
+ php_code_sniffer: true
+ php_cs_fixer: true
+ php_loc: true
+ php_analyzer: true
+ sensiolabs_security_checker: true
+ external_code_coverage:
+ timeout: '900'
+
+checks:
+ php:
+ psr2_class_declaration: false
+ psr2_switch_declaration: false
+ sql_injection_vulnerabilities: true
+ security_vulnerabilities: true
+ no_eval: true
+ code_rating: true
+ duplication: true
diff --git a/www/wiki/extensions/Mermaid/.travis.yml b/www/wiki/extensions/Mermaid/.travis.yml
new file mode 100644
index 00000000..72d3574a
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/.travis.yml
@@ -0,0 +1,33 @@
+# http://docs.travis-ci.com/user/workers/container-based-infrastructure/
+sudo: false
+
+language: php
+
+matrix:
+ fast_finish: true
+ include:
+ - env: DB=mysql; MW=REL1_31; TYPE=coverage; PHPUNIT=4.8.*
+ php: 5.6
+ - env: DB=sqlite; MW=REL1_32; PHPUNIT=5.7.*
+ php: 7.1
+ - env: DB=mysql; MW=master; PHPUNIT=6.5.*
+ php: 7.2
+
+install:
+ - bash ./tests/travis/install-mediawiki.sh
+ - bash ./tests/travis/install-mermaid.sh
+
+script:
+ - bash ./tests/travis/run-tests.sh
+
+after_success:
+ - bash ./tests/travis/upload-coverage-report.sh
+
+notifications:
+ email:
+ on_success: change
+ on_failure: always
+
+cache:
+ directories:
+ - $HOME/.composer/cache
diff --git a/www/wiki/extensions/Mermaid/COPYING b/www/wiki/extensions/Mermaid/COPYING
new file mode 100644
index 00000000..68606fba
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/COPYING
@@ -0,0 +1,103 @@
+'''[https://github.com/SemanticMediaWiki/Mermaid Mermaid]''' is a free, open-source MediaWiki extension that adds a parser function to help generate diagrams and flowcharts using the mermaid script language.
+
+Copyright (C) 2017
+
+
+The license text below "====" applies to all files within this distribution, other than those that are in a directory which contains files named "LICENSE" or "COPYING", or a subdirectory thereof. For those files, the license text contained in said file overrides any license information contained in directories of smaller depth. Alternative licenses are typically used for software that is provided by external parties, and merely packaged with this extension for convenience.
+----
+----
+
+== GNU GENERAL PUBLIC LICENSE ==
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.,<br />
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies<br />
+of this license document, but changing it is not allowed.
+
+=== Preamble ===
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software - to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+=== TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ===
+
+'''0.''' This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+'''1.''' You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+'''2.''' You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+: '''a)''' You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+: '''b)''' You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+: '''c)''' If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+'''3.''' You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+: '''a)''' Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+: '''b)''' Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+: '''c)''' Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+'''4.''' You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+'''5.''' You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+'''6.''' Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+'''7.''' If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+'''8.''' If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+'''9.''' The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+'''10.''' If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+'''<big>NO WARRANTY</big>'''
+
+'''11.''' BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+'''12.''' IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+'''<big>END OF TERMS AND CONDITIONS</big>'''
diff --git a/www/wiki/extensions/Mermaid/DefaultSettings.php b/www/wiki/extensions/Mermaid/DefaultSettings.php
new file mode 100644
index 00000000..9349bf4b
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/DefaultSettings.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * DO NOT EDIT!
+ *
+ * The following default settings are to be used by the extension itself,
+ * please modify settings in the LocalSettings file.
+ *
+ * @codeCoverageIgnore
+ */
+if ( !defined( 'MEDIAWIKI' ) ) {
+ die( 'This file is part of the Mermaid extension, it is not a valid entry point.' );
+}
+
+/**
+ * Default theme
+ */
+return [
+ 'mermaidgDefaultTheme' => 'forest'
+];
diff --git a/www/wiki/extensions/Mermaid/Mermaid.php b/www/wiki/extensions/Mermaid/Mermaid.php
new file mode 100644
index 00000000..8e631ff3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/Mermaid.php
@@ -0,0 +1,194 @@
+<?php
+
+use Mermaid\HookRegistry;
+
+/**
+ * @see https://github.com/SemanticMediaWiki/Mermaid/
+ *
+ * @defgroup mermaid Mermaid
+ */
+if ( !defined( 'MEDIAWIKI' ) ) {
+ die( 'This file is part of the Mermaid extension, it is not a valid entry point.' );
+}
+
+/**
+ * @codeCoverageIgnore
+ */
+class Mermaid {
+
+ /**
+ * @since 1.0
+ */
+ public static function initExtension( $credits = [] ) {
+
+ // If the function is called more than once then this will fail on
+ // purpose
+ foreach ( include __DIR__ . '/DefaultSettings.php' as $key => $value ) {
+ if ( !isset( $GLOBALS[$key] ) ) {
+ $GLOBALS[$key] = $value;
+ }
+ }
+
+ define( 'MERMAID_VERSION', $credits['version'] );
+
+ // Register message files
+ $GLOBALS['wgMessagesDirs']['Mermaid'] = __DIR__ . '/i18n';
+ $GLOBALS['wgExtensionMessagesFiles']['MermaidMagic'] = __DIR__ . '/i18n/Mermaid.magic.php';
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.styles'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'styles' => [
+ 'res/ext.mermaid.css'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'scripts' => [
+ 'res/ext.mermaid.js'
+ ],
+ 'dependencies' => [
+ 'mediawiki.api',
+ 'ext.mermaid.styles',
+ 'ext.mermaid.theme.default',
+ 'ext.mermaid.core'
+ ],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.theme.default'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'styles' => [
+ 'res/mermaid/8.0.0/mermaid.min.css'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.theme.forest'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'styles' => [
+ 'res/mermaid/8.0.0/mermaid.forest.min.css'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.theme.dark'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'styles' => [
+ 'res/mermaid/8.0.0/mermaid.dark.min.css'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.theme.neutral'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'styles' => [
+ 'res/mermaid/8.0.0/mermaid.neutral.min.css'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.d3'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'scripts' => [
+ 'res/d3/d3.min.js',
+ 'res/d3/dagre-d3.min.js'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.core'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'scripts' => [
+ 'res/mermaid/8.0.0/mermaid.min.js'
+ ],
+ 'dependencies' => [
+ 'ext.mermaid.d3'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+
+ $GLOBALS['wgResourceModules']['ext.mermaid.api'] = [
+ 'localBasePath' => __DIR__ ,
+ 'remoteExtPath' => 'Mermaid',
+ 'position' => 'top',
+ 'scripts' => [
+ 'res/mermaid/8.0.0/mermaidAPI.min.js'
+ ],
+ 'dependencies' => [
+ 'ext.mermaid.d3'
+ ],
+ 'messages' => [],
+ 'targets' => [
+ 'mobile',
+ 'desktop'
+ ]
+ ];
+ }
+
+ /**
+ * @since 1.0
+ */
+ public static function onExtensionFunction() {
+ $hookRegistry = new HookRegistry();
+ $hookRegistry->register();
+ }
+
+ /**
+ * @since 1.0
+ *
+ * @return string|null
+ */
+ public static function getVersion() {
+ return MERMAID_VERSION;
+ }
+
+}
diff --git a/www/wiki/extensions/Mermaid/README.md b/www/wiki/extensions/Mermaid/README.md
new file mode 100644
index 00000000..1031f5b5
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/README.md
@@ -0,0 +1,52 @@
+# Mermaid
+
+[![Build Status](https://secure.travis-ci.org/SemanticMediaWiki/Mermaid.svg?branch=master)](http://travis-ci.org/SemanticMediaWiki/Mermaid)
+[![Latest Stable Version](https://poser.pugx.org/mediawiki/mermaid/version.png)](https://packagist.org/packages/mediawiki/mermaid)
+[![Packagist download count](https://poser.pugx.org/mediawiki/mermaid/d/total.png)](https://packagist.org/packages/mediawiki/mermaid)
+
+This extension provides the `#mermaid` parser function to support the generation of diagrams and flowcharts with the help of the [mermaid][mermaid] script language. Supported diagram forms include:
+
+- Flowchart
+- Sequence diagram
+- Gantt diagram
+
+## Requirements
+
+- PHP 5.6 or later
+- MediaWiki 1.31 or later
+
+## Installation and configuration
+
+See the information on [installing and configuring] this extension.
+
+## Usage
+
+See the information on [using] this extension.
+
+## Contribution and support
+
+If you want to contribute work to the project please subscribe to the developers mailing list and
+have a look at the contribution guideline.
+
+* [File an issue](https://github.com/SemanticMediaWiki/Mermaid/issues)
+* [Submit a pull request](https://github.com/SemanticMediaWiki/Mermaid/pulls)
+* Ask a question on [the mailing list](https://www.semantic-mediawiki.org/wiki/Mailing_list)
+* Ask a question on the #semantic-mediawiki IRC channel on Freenode.
+
+## Tests
+
+This extension provides unit and integration tests that are run by a [continues integration platform][travis]
+but can also be executed using `composer phpunit` from the extension base directory.
+
+## License
+
+[GNU General Public License, version 2 or later][gpl-licence].
+
+[gpl-licence]: https://www.gnu.org/copyleft/gpl.html
+[travis]: https://travis-ci.org/SemanticMediaWiki/Mermaid
+[smw]: https://github.com/SemanticMediaWiki/SemanticMediaWiki
+[composer]: https://getcomposer.org/
+[mermaid]: https://github.com/knsv/mermaid
+[installing and configuring]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/docs/INSTALL.md
+[using]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/docs/USAGE.md
+
diff --git a/www/wiki/extensions/Mermaid/composer.json b/www/wiki/extensions/Mermaid/composer.json
new file mode 100644
index 00000000..b4f3972f
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/composer.json
@@ -0,0 +1,43 @@
+{
+ "name": "mediawiki/mermaid",
+ "type": "mediawiki-extension",
+ "description": "Provides a parser function to generate diagrams and flowcharts with the help of the mermaid script language",
+ "keywords": [
+ "mediawiki",
+ "mermaid",
+ "parser function"
+ ],
+ "homepage": "https://github.com/SemanticMediaWiki/Mermaid",
+ "license": "GPL-2.0-or-later",
+ "authors": [
+ {
+ "name": "James Hong Kong",
+ "role": "Developer"
+ }
+ ],
+ "require": {
+ "php": ">=5.6.0",
+ "composer/installers": "1.*,>=1.0.1"
+ },
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "files" : [
+ "Mermaid.php"
+ ],
+ "psr-4": {
+ "Mermaid\\": "src/"
+ }
+ },
+ "config": {
+ "process-timeout": 0
+ },
+ "scripts":{
+ "phpunit": "php ../../tests/phpunit/phpunit.php -c phpunit.xml.dist",
+ "phpdbg": "phpdbg -qrr ../../tests/phpunit/phpunit.php -c phpunit.xml.dist",
+ "test": "php ../../tests/phpunit/phpunit.php -c phpunit.xml.dist"
+ }
+}
diff --git a/www/wiki/extensions/Mermaid/docs/INSTALL.md b/www/wiki/extensions/Mermaid/docs/INSTALL.md
new file mode 100644
index 00000000..9d65af40
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/docs/INSTALL.md
@@ -0,0 +1,71 @@
+This file contains the *installation and configuration instructions* for the **Mermaid** extension. See also the
+[readme], the [release notes] and [usage examples].
+
+## Installation
+
+The recommended way to install this extension is using [Composer](http://getcomposer.org) with
+[MediaWiki's built-in support for Composer](https://www.mediawiki.org/wiki/Composer).
+
+### Step 1
+
+Change to the base directory of your MediaWiki installation. This is where the "LocalSettings.php"
+file is located. If you have not yet installed Composer do it now by running the following command
+in your shell:
+
+ wget https://getcomposer.org/composer.phar
+
+### Step 2
+
+If you do not have a "composer.local.json" file yet, create one and add the following content to it:
+
+```
+{
+ "require": {
+ "mediawiki/mermaid": "~2.1"
+ }
+}
+```
+
+If you already have a "composer.local.json" file add the following line to the end of the "require"
+section in your file:
+
+ "mediawiki/mermaid": "~2.1"
+
+Remember to add a comma to the end of the preceding line in this section.
+
+### Step 3
+
+Run the following command in your shell:
+
+ php composer.phar update --no-dev
+
+Note if you have Git installed on your system add the `--prefer-source` flag to the above command. Also
+note that it may be necessary to run this command twice. If unsure do it twice right away.
+
+### Step 4
+
+Add the following line to the end of your "LocalSettings.php" file:
+
+ wfLoadExtension( 'Mermaid' );
+
+### Verify installation success
+
+As final step, you can verify Mermaid got installed by looking at the "Special:Version" page on your wiki and
+check that it is listed.
+
+### Configuration
+
+One configuration parameter is provided allowing to choose the basic theme for rendereing the graphs, diagrams
+and charts. By default the rendering is set to use the `forest` theme:
+
+ $mermaidgDefaultTheme = 'forest';
+
+If one would like to use one of the other themes provided (`default`, `neutral` or `dark`) the configuration
+parameter can be set to it after invoking the extension, e.g.:
+
+ wfLoadExtension( 'Mermaid' );
+ $mermaidgDefaultTheme = 'neutral';
+
+[readme]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/README.md
+[release notes]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/docs/RELEASE-NOTES.md
+[usage examples]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/docs/USAGE.md
diff --git a/www/wiki/extensions/Mermaid/docs/ISSUE_TEMPLATE.md b/www/wiki/extensions/Mermaid/docs/ISSUE_TEMPLATE.md
new file mode 100644
index 00000000..2ef2a952
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/docs/ISSUE_TEMPLATE.md
@@ -0,0 +1,15 @@
+### Setup and configuration
+
+- Mermaid version:
+- MediaWiki version:
+- PHP version:
+- Database system (MySQL, PostgresQL, etc.) and version:
+
+### Issue
+
+Produces a [stack trace](https://www.semantic-mediawiki.org/wiki/Help:Identifying_bugs) and outputs:
+
+```
+```
+
+Steps to reproduce the observation (recommendation is to use the [sandbox](http://www.sandbox.semantic-mediawiki.org)):
diff --git a/www/wiki/extensions/Mermaid/docs/PULL_REQUEST_TEMPLATE.md b/www/wiki/extensions/Mermaid/docs/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 00000000..baa76247
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/docs/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,12 @@
+This PR is made in reference to: #
+
+This PR addresses or contains:
+- ...
+- ...
+- ...
+
+This PR includes:
+- [ ] Tests (unit/integration)
+- [ ] CI build passed
+
+Fixes #
diff --git a/www/wiki/extensions/Mermaid/docs/RELEASE-NOTES.md b/www/wiki/extensions/Mermaid/docs/RELEASE-NOTES.md
new file mode 100644
index 00000000..3b9e81d1
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/docs/RELEASE-NOTES.md
@@ -0,0 +1,42 @@
+This file contains the *release notes* of the **Mermaid** extension. See also the
+[readme], the [installation and configuration information] and [usage examples].
+
+
+### 2.1.1
+
+Released on May 20, 2019.
+
+* Fixes loading of configuration settings
+
+### 2.1.0
+
+Released on March 5, 2019.
+
+* Drops support for MediaWiki 1.30 and earlier
+* Removes deprecated `mediawiki.api.parse` alias
+
+### 2.0.0
+
+Released on February 18, 2019.
+
+* Updates to using version 8.0.0 of the mermaid script language.
+* Translation updates from https://translatewiki.net
+
+### 1.0.1
+
+Released on February 13, 2018.
+
+* Improves ID entropy for generated diagrams and charts
+* Translation updates from https://translatewiki.net
+
+### 1.0.0
+
+Released on January 16, 2018.
+
+* Initial release using version 7.0.5 of the mermaid script language.
+* Added an `MERMAID` parser to easily generate diagrams and flowcharts with the help of the mermaid script language
+* Localizations from https://translatewiki.net
+
+[readme]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/README.md
+[installation and configuration information]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/docs/INSTALL.md
+[usage examples]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/docs/USAGE.md
diff --git a/www/wiki/extensions/Mermaid/docs/USAGE.md b/www/wiki/extensions/Mermaid/docs/USAGE.md
new file mode 100644
index 00000000..b84ed126
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/docs/USAGE.md
@@ -0,0 +1,27 @@
+This file contains basic *usage information* for the **Mermaid** extension. See also the [readme].
+
+The `#mermaid` parser function allows to add [mermaid][mermaid] typed content to a wiki article. Copying,
+[example syntax][examplemjs] is as easy as:
+
+```
+{{#mermaid:sequenceDiagram
+participant Alice
+participant Bob
+ Alice->John: Hello John, how are you?
+ loop Healthcheck
+ John->John: Fight against hypochondria
+ end
+ Note right of John: Rational thoughts <br/>prevail...
+ John-->Alice: Great!
+ John->Bob: How about you?
+ Bob-->John: Jolly good!
+}}
+```
+![image](https://user-images.githubusercontent.com/1245473/34535703-14a32100-f106-11e7-9201-ea90a6286c58.png)
+
+Further [examples][examplesmw] have been created on wiki.
+
+[readme]: https://github.com/SemanticMediaWiki/Mermaid/blob/master/README.md
+[mermaid]: https://github.com/knsv/mermaid
+[examplemjs]: https://mermaidjs.github.io/
+[examplesmw]: https://sandbox.semantic-mediawiki.org/wiki/Mermaid
diff --git a/www/wiki/extensions/Mermaid/extension.json b/www/wiki/extensions/Mermaid/extension.json
new file mode 100644
index 00000000..9a0a3909
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/extension.json
@@ -0,0 +1,25 @@
+{
+ "name": "Mermaid",
+ "version": "2.1.1",
+ "author": [
+ "James Hong Kong"
+ ],
+ "url": "https://github.com/SemanticMediaWiki/Mermaid/",
+ "descriptionmsg": "mermaid-desc",
+ "license-name": "GPL-2.0-or-later",
+ "type": "parserhook",
+ "requires": {
+ "MediaWiki": ">= 1.31"
+ },
+ "MessagesDirs": {
+ "Mermaid": [
+ "i18n"
+ ]
+ },
+ "callback": "Mermaid::initExtension",
+ "ExtensionFunctions": [
+ "Mermaid::onExtensionFunction"
+ ],
+ "load_composer_autoloader": true,
+ "manifest_version": 2
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/Mermaid.magic.php b/www/wiki/extensions/Mermaid/i18n/Mermaid.magic.php
new file mode 100644
index 00000000..31e79252
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/Mermaid.magic.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * Magic words
+ */
+$magicWords = array();
+
+/**
+ * English (English)
+ */
+$magicWords['en'] = array(
+ 'mermaid' => array( 0, 'mermaid' )
+);
diff --git a/www/wiki/extensions/Mermaid/i18n/ar.json b/www/wiki/extensions/Mermaid/i18n/ar.json
new file mode 100644
index 00000000..d722f805
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/ar.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "ديفيد"
+ ]
+ },
+ "mermaid-desc": "توفر وظيفة محلل للمساعدة في توليد الرسوم البيانية ومخططات الانسيابية باستخدام لغة البرنامج النصي [https://mermaidjs.github.io/ الحورية]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/ast.json b/www/wiki/extensions/Mermaid/i18n/ast.json
new file mode 100644
index 00000000..3c018525
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/ast.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Xuacu"
+ ]
+ },
+ "mermaid-desc": "Ufre una función del analizador sintácticu p'ayudar a xenerar diagrames y organigrames usando'l llinguaxe de script [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/be-tarask.json b/www/wiki/extensions/Mermaid/i18n/be-tarask.json
new file mode 100644
index 00000000..d0d12e3a
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/be-tarask.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Red Winged Duck"
+ ]
+ },
+ "mermaid-desc": "Забясьпечвае функцыю парсэру для дапамогі ў стварэньні дыяграмаў і блёк-схемаў з выкарыстаньнем скрыптавай мовы [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/de.json b/www/wiki/extensions/Mermaid/i18n/de.json
new file mode 100644
index 00000000..60223223
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/de.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kghbln"
+ ]
+ },
+ "mermaid-desc": "Stellt eine Parserfunktion zur Erstellung von (Fluss-)Diagrammen mithilfe der Skriptsprache „[https://mermaidjs.github.io/ mermaid]“ bereit"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/en.json b/www/wiki/extensions/Mermaid/i18n/en.json
new file mode 100644
index 00000000..96d8a14e
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/en.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "mwjames"
+ ]
+ },
+ "mermaid-desc": "Provides a parser function to help generate diagrams and flowcharts using the [https://mermaidjs.github.io/ mermaid] script language"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/es.json b/www/wiki/extensions/Mermaid/i18n/es.json
new file mode 100644
index 00000000..8e6c350c
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/es.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Fitoschido"
+ ]
+ },
+ "mermaid-desc": "Proporciona una función del analizador sintáctico para ayudar a generar diagramas y organigramas mediante el lenguaje de programación [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/eu.json b/www/wiki/extensions/Mermaid/i18n/eu.json
new file mode 100644
index 00000000..eab5fd26
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/eu.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amaia"
+ ]
+ },
+ "mermaid-desc": "Eman funtzio aztertzaile sintaktiko bat, diagramak eta organigramak sortzen laguntzeko, [https://mermaidjs.github.io/ mermaid] programazio hizkuntza erabiliz"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/fr.json b/www/wiki/extensions/Mermaid/i18n/fr.json
new file mode 100644
index 00000000..37402ce1
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/fr.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Wladek92"
+ ]
+ },
+ "mermaid-desc": "Fournit une fonction d'analyse pour aider à la génération des diagrammes et des organigrammes en utilisant le langage de script [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/gl.json b/www/wiki/extensions/Mermaid/i18n/gl.json
new file mode 100644
index 00000000..0af41c0a
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/gl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Elisardojm"
+ ]
+ },
+ "mermaid-desc": "Proporciona unha función do analizador sintáctico para axudar a xerar diagramas e organigramas mediante a linguaxe de comandos [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/ia.json b/www/wiki/extensions/Mermaid/i18n/ia.json
new file mode 100644
index 00000000..eff3c94e
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/ia.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie"
+ ]
+ },
+ "mermaid-desc": "Forni un function analysator pro adjutar a generar diagrammas e fluxogrammas usante le linguage de script [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/ko.json b/www/wiki/extensions/Mermaid/i18n/ko.json
new file mode 100644
index 00000000..3a99ee87
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/ko.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jay94ks"
+ ]
+ },
+ "mermaid-desc": "[https://mermaidjs.github.io/mermaid] 스크립트 언어를 사용하여 다이어그램 및 흐름도를 생성하기 위해 사용할 구문 분석기 함수를 제공하세요."
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/li.json b/www/wiki/extensions/Mermaid/i18n/li.json
new file mode 100644
index 00000000..b0d98925
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/li.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ooswesthoesbes"
+ ]
+ },
+ "mermaid-desc": "Bèdj 'n parserfunctie veur diagramme en vleujkaarte te make mit gebroek van 't [https://mermaidjs.github.io/ mermaid-sjrif]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/mk.json b/www/wiki/extensions/Mermaid/i18n/mk.json
new file mode 100644
index 00000000..8ae60a08
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/mk.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bjankuloski06"
+ ]
+ },
+ "mermaid-desc": "Дава расчленувачка функција за создавање на дијаграми и блок-шеми користејќи го скриптниот јазик [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/nb.json b/www/wiki/extensions/Mermaid/i18n/nb.json
new file mode 100644
index 00000000..53acff28
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/nb.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Jon Harald Søby"
+ ]
+ },
+ "mermaid-desc": "Gir en parserfunksjon for å generere diagrammer og flytkart med skriptspråket [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/pl.json b/www/wiki/extensions/Mermaid/i18n/pl.json
new file mode 100644
index 00000000..afc5541f
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/pl.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Railfail536"
+ ]
+ },
+ "mermaid-desc": "Dostarcza funkcję parsera pomagającą w generowaniu diagramów i schematów blokowych przy wykorzystaniu języka skryptowego [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/pt-br.json b/www/wiki/extensions/Mermaid/i18n/pt-br.json
new file mode 100644
index 00000000..7eea36f7
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/pt-br.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Eduardo Addad de Oliveira"
+ ]
+ },
+ "mermaid-desc": "Fornece uma função do analisador sintático para ajudar a gerar diagramas e fluxogramas, utilizando a linguagem de comandos [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/pt.json b/www/wiki/extensions/Mermaid/i18n/pt.json
new file mode 100644
index 00000000..e4a6b2a6
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/pt.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hamilton Abreu"
+ ]
+ },
+ "mermaid-desc": "Fornece uma função do analisador sintático para ajudar a gerar diagramas e fluxogramas, utilizando a linguagem de comandos [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/qqq.json b/www/wiki/extensions/Mermaid/i18n/qqq.json
new file mode 100644
index 00000000..b90ab4f4
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/qqq.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kghbln"
+ ]
+ },
+ "mermaid-desc": "{{desc|name=Mermaid|url=https://www.mediawiki.org/wiki/Extension:Mermaid}}"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/roa-tara.json b/www/wiki/extensions/Mermaid/i18n/roa-tara.json
new file mode 100644
index 00000000..a1a1f91e
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/roa-tara.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joetaras"
+ ]
+ },
+ "mermaid-desc": "Dèje 'na funzione ca analizze pe aijutà a generà le diagramme e le flusse ausanne 'u lenguagge de script [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/ru.json b/www/wiki/extensions/Mermaid/i18n/ru.json
new file mode 100644
index 00000000..552759b4
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/ru.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Staspotanin2",
+ "Kaganer"
+ ]
+ },
+ "mermaid-desc": "Предоставляет функции парсера, для помощи в генерации диаграмм и блок-схем, с использованием скриптового языка [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/sv.json b/www/wiki/extensions/Mermaid/i18n/sv.json
new file mode 100644
index 00000000..4049c386
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/sv.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Psl85"
+ ]
+ },
+ "mermaid-desc": "Begär en parserfunksjon för att generera diagram och flödekort med skriptspråket [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/tr.json b/www/wiki/extensions/Mermaid/i18n/tr.json
new file mode 100644
index 00000000..b313390c
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/tr.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hedda"
+ ]
+ },
+ "mermaid-desc": "[https://mermaidjs.github.io/ Deniz kızı] script dilini kullanarak diyagram ve akış şemaları oluşturmaya yardımcı olacak ayrıştırıcı bir işlev sağlar."
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/uk.json b/www/wiki/extensions/Mermaid/i18n/uk.json
new file mode 100644
index 00000000..7f24f5d3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/uk.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Vlad5250"
+ ]
+ },
+ "mermaid-desc": "Надає функції парсера для допомоги у генерації діаграм і блок-схем, з використанням скриптової мови [https://mermaidjs.github.io/ mermaid]"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/zh-hans.json b/www/wiki/extensions/Mermaid/i18n/zh-hans.json
new file mode 100644
index 00000000..7a98ffca
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/zh-hans.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Liuxinyu970226"
+ ]
+ },
+ "mermaid-desc": "提供解析器函数以帮助生成使用[https://mermaidjs.github.io/ mermaid] 脚本语言的图表和流程图"
+}
diff --git a/www/wiki/extensions/Mermaid/i18n/zh-hant.json b/www/wiki/extensions/Mermaid/i18n/zh-hant.json
new file mode 100644
index 00000000..128cdc94
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/i18n/zh-hant.json
@@ -0,0 +1,8 @@
+{
+ "@metadata": {
+ "authors": [
+ "Kly"
+ ]
+ },
+ "mermaid-desc": "提供解析函式以協助產生使用 [https://mermaidjs.github.io/ mermaid] 腳本語言的圖表與流程圖"
+}
diff --git a/www/wiki/extensions/Mermaid/phpunit.xml.dist b/www/wiki/extensions/Mermaid/phpunit.xml.dist
new file mode 100644
index 00000000..8a48edb8
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/phpunit.xml.dist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit backupGlobals="false"
+ backupStaticAttributes="false"
+ bootstrap="tests/bootstrap.php"
+ cacheTokens="false"
+ colors="true"
+ convertErrorsToExceptions="true"
+ convertNoticesToExceptions="true"
+ convertWarningsToExceptions="true"
+ stopOnError="false"
+ stopOnFailure="false"
+ stopOnIncomplete="false"
+ stopOnSkipped="false"
+ verbose="true">
+ <testsuites>
+ <testsuite name="mermaid-unit">
+ <directory>tests/phpunit/Unit</directory>
+ </testsuite>
+ <testsuite name="mermaid-integration">
+ <directory>tests/phpunit/Integration</directory>
+ </testsuite>
+ </testsuites>
+ <filter>
+ <whitelist addUncoveredFilesFromWhitelist="true">
+ <directory suffix=".php">src</directory>
+ </whitelist>
+ </filter>
+</phpunit>
diff --git a/www/wiki/extensions/Mermaid/res/d3/d3.min.js b/www/wiki/extensions/Mermaid/res/d3/d3.min.js
new file mode 100644
index 00000000..4f9d80b7
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/d3/d3.min.js
@@ -0,0 +1,8 @@
+// https://d3js.org Version 4.0.0. Copyright 2016 Mike Bostock.
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})}(this,function(t){"use strict";function n(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function e(t){return 1===t.length&&(t=r(t)),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}}function r(t){return function(e,r){return n(t(e),r)}}function i(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function o(t){return null===t?NaN:+t}function u(t,n){var e,r,i=t.length,u=0,a=0,c=-1,s=0;if(null==n)for(;++c<i;)isNaN(e=o(t[c]))||(r=e-u,u+=r/++s,a+=r*(e-u));else for(;++c<i;)isNaN(e=o(n(t[c],c,t)))||(r=e-u,u+=r/++s,a+=r*(e-u));if(s>1)return a/(s-1)}function a(t,n){var e=u(t,n);return e?Math.sqrt(e):e}function c(t,n){var e,r,i,o=-1,u=t.length;if(null==n){for(;++o<u;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(;++o<u;)null!=(r=t[o])&&(e>r&&(e=r),i<r&&(i=r))}else{for(;++o<u;)if(null!=(r=n(t[o],o,t))&&r>=r){e=i=r;break}for(;++o<u;)null!=(r=n(t[o],o,t))&&(e>r&&(e=r),i<r&&(i=r))}return[e,i]}function s(t){return function(){return t}}function f(t){return t}function l(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o}function h(t,n,e){var r=p(t,n,e);return l(Math.ceil(t/r)*r,Math.floor(n/r)*r+r/2,r)}function p(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=wd?i*=10:o>=Md?i*=5:o>=Td&&(i*=2),n<t?-i:i}function d(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function v(){function t(t){var i,o,u=t.length,a=new Array(u);for(i=0;i<u;++i)a[i]=n(t[i],i,t);var c=e(a),s=c[0],f=c[1],l=r(a,s,f);Array.isArray(l)||(l=h(s,f,l));for(var p=l.length;l[0]<=s;)l.shift(),--p;for(;l[p-1]>=f;)l.pop(),--p;var d,v=new Array(p+1);for(i=0;i<=p;++i)d=v[i]=[],d.x0=i>0?l[i-1]:s,d.x1=i<p?l[i]:f;for(i=0;i<u;++i)o=a[i],s<=o&&o<=f&&v[yd(l,o,0,p)].push(t[i]);return v}var n=f,e=c,r=d;return t.value=function(e){return arguments.length?(n="function"==typeof e?e:s(e),t):n},t.domain=function(n){return arguments.length?(e="function"==typeof n?n:s([n[0],n[1]]),t):e},t.thresholds=function(n){return arguments.length?(r="function"==typeof n?n:s(Array.isArray(n)?xd.call(n):n),t):r},t}function _(t,n,e){if(null==e&&(e=o),r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,u=Math.floor(i),a=+e(t[u],u,t),c=+e(t[u+1],u+1,t);return a+(c-a)*(i-u)}}function y(t,e,r){return t=bd.call(t,o).sort(n),Math.ceil((r-e)/(2*(_(t,.75)-_(t,.25))*Math.pow(t.length,-1/3)))}function g(t,n,e){return Math.ceil((e-n)/(3.5*a(t)*Math.pow(t.length,-1/3)))}function m(t,n){var e,r,i=-1,o=t.length;if(null==n){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&r>e&&(e=r)}else{for(;++i<o;)if(null!=(r=n(t[i],i,t))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n(t[i],i,t))&&r>e&&(e=r)}return e}function x(t,n){var e,r=0,i=t.length,u=-1,a=i;if(null==n)for(;++u<i;)isNaN(e=o(t[u]))?--a:r+=e;else for(;++u<i;)isNaN(e=o(n(t[u],u,t)))?--a:r+=e;if(a)return r/a}function b(t,e){var r,i=[],u=t.length,a=-1;if(null==e)for(;++a<u;)isNaN(r=o(t[a]))||i.push(r);else for(;++a<u;)isNaN(r=o(e(t[a],a,t)))||i.push(r);return _(i.sort(n),.5)}function w(t){for(var n,e,r,i=t.length,o=-1,u=0;++o<i;)u+=t[o].length;for(e=new Array(u);--i>=0;)for(r=t[i],n=r.length;--n>=0;)e[--u]=r[n];return e}function M(t,n){var e,r,i=-1,o=t.length;if(null==n){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&e>r&&(e=r)}else{for(;++i<o;)if(null!=(r=n(t[i],i,t))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n(t[i],i,t))&&e>r&&(e=r)}return e}function T(t){for(var n=0,e=t.length-1,r=t[0],i=new Array(e<0?0:e);n<e;)i[n]=[r,r=t[++n]];return i}function k(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r}function N(t,e){if(r=t.length){var r,i,o=0,u=0,a=t[u];for(e||(e=n);++o<r;)(e(i=t[o],a)<0||0!==e(a,a))&&(a=i,u=o);return 0===e(a,a)?u:void 0}}function S(t,n,e){for(var r,i,o=(null==e?t.length:e)-(n=null==n?0:+n);o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t}function E(t,n){var e,r=0,i=t.length,o=-1;if(null==n)for(;++o<i;)(e=+t[o])&&(r+=e);else for(;++o<i;)(e=+n(t[o],o,t))&&(r+=e);return r}function A(t){if(!(i=t.length))return[];for(var n=-1,e=M(t,C),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r}function C(t){return t.length}function z(){return A(arguments)}function P(){}function L(t,n){var e=new P;if(t instanceof P)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n(r=t[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}function q(){function t(n,i,u,a){if(i>=o.length)return null!=r?r(n):null!=e?n.sort(e):n;for(var c,s,f,l=-1,h=n.length,p=o[i++],d=L(),v=u();++l<h;)(f=d.get(c=p(s=n[l])+""))?f.push(s):d.set(c,[s]);return d.each(function(n,e){a(v,e,t(n,i,u,a))}),v}function n(t,e){if(++e>o.length)return t;var i,a=u[e-1];return null!=r&&e>=o.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=a?i.sort(function(t,n){return a(t.key,n.key)}):i}var e,r,i,o=[],u=[];return i={object:function(n){return t(n,0,U,R)},map:function(n){return t(n,0,D,O)},entries:function(e){return n(t(e,0,D,O),0)},key:function(t){return o.push(t),i},sortKeys:function(t){return u[o.length-1]=t,i},sortValues:function(t){return e=t,i},rollup:function(t){return r=t,i}}}function U(){return{}}function R(t,n,e){t[n]=e}function D(){return L()}function O(t,n,e){t.set(n,e)}function F(){}function I(t,n){var e=new F;if(t instanceof F)t.each(function(t){e.add(t)});else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}function Y(t){var n=[];for(var e in t)n.push(e);return n}function B(t){var n=[];for(var e in t)n.push(t[e]);return n}function j(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n}function H(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return Math.random()*n+t}}function X(t,n){var e,r;return t=null==t?0:+t,n=null==n?1:+n,function(){var i;if(null!=e)i=e,e=null;else do e=2*Math.random()-1,i=2*Math.random()-1,r=e*e+i*i;while(!r||r>1);return t+n*i*Math.sqrt(-2*Math.log(r)/r)}}function V(){var t=X.apply(this,arguments);return function(){return Math.exp(t())}}function W(t){return function(){for(var n=0,e=0;e<t;++e)n+=Math.random();return n}}function $(t){var n=W(t);return function(){return n()/t}}function Z(t){return function(){return-Math.log(1-Math.random())/t}}function G(t){return+t}function J(t){return t*t}function Q(t){return t*(2-t)}function K(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function tt(t){return t*t*t}function nt(t){return--t*t*t+1}function et(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}function rt(t){return 1-Math.cos(t*Pd)}function it(t){return Math.sin(t*Pd)}function ot(t){return(1-Math.cos(zd*t))/2}function ut(t){return Math.pow(2,10*t-10)}function at(t){return 1-Math.pow(2,-10*t)}function ct(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function st(t){return 1-Math.sqrt(1-t*t)}function ft(t){return Math.sqrt(1- --t*t)}function lt(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function ht(t){return 1-pt(1-t)}function pt(t){return(t=+t)<Ld?Bd*t*t:t<Ud?Bd*(t-=qd)*t+Rd:t<Od?Bd*(t-=Dd)*t+Fd:Bd*(t-=Id)*t+Yd}function dt(t){return((t*=2)<=1?1-pt(1-t):pt(t-1)+1)/2}function vt(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e<r;)n=i,i=t[e],o+=n[1]*i[0]-n[0]*i[1];return o/2}function _t(t){for(var n,e,r=-1,i=t.length,o=0,u=0,a=t[i-1],c=0;++r<i;)n=a,a=t[r],c+=e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return c*=3,[o/c,u/c]}function yt(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function gt(t,n){return t[0]-n[0]||t[1]-n[1]}function mt(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;++i){for(;r>1&&yt(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function xt(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n<e;++n)r[n]=[+t[n][0],+t[n][1],n];for(r.sort(gt),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=mt(r),u=mt(i),a=u[0]===o[0],c=u[u.length-1]===o[o.length-1],s=[];for(n=o.length-1;n>=0;--n)s.push(t[r[o[n]][2]]);for(n=+a;n<u.length-c;++n)s.push(t[r[u[n]][2]]);return s}function bt(t,n){for(var e,r,i=t.length,o=t[i-1],u=n[0],a=n[1],c=o[0],s=o[1],f=!1,l=0;l<i;++l)o=t[l],e=o[0],r=o[1],r>a!=s>a&&u<(c-e)*(a-r)/(s-r)+e&&(f=!f),c=e,s=r;return f}function wt(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++r<i;)n=u,e=a,o=t[r],u=o[0],a=o[1],n-=u,e-=a,c+=Math.sqrt(n*n+e*e);return c}function Mt(){this._x0=this._y0=this._x1=this._y1=null,this._=[]}function Tt(){return new Mt}function kt(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Nt(this.cover(n,e),n,e,t)}function Nt(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,u,a,c,s,f,l,h,p=t._root,d={data:r},v=t._x0,_=t._y0,y=t._x1,g=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=n>=(o=(v+y)/2))?v=o:y=o,(f=e>=(u=(_+g)/2))?_=u:g=u,i=p,!(p=p[l=f<<1|s]))return i[l]=d,t;if(a=+t._x.call(null,p.data),c=+t._y.call(null,p.data),n===a&&e===c)return d.next=p,i?i[l]=d:t._root=d,t;do i=i?i[l]=new Array(4):t._root=new Array(4),(s=n>=(o=(v+y)/2))?v=o:y=o,(f=e>=(u=(_+g)/2))?_=u:g=u;while((l=f<<1|s)===(h=(c>=u)<<1|a>=o));return i[h]=p,i[l]=d,t}function St(t){var n,e,r,i,o=t.length,u=new Array(o),a=new Array(o),c=1/0,s=1/0,f=-(1/0),l=-(1/0);for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,a[e]=i,r<c&&(c=r),r>f&&(f=r),i<s&&(s=i),i>l&&(l=i));for(f<c&&(c=this._x0,f=this._x1),l<s&&(s=this._y0,l=this._y1),this.cover(c,s).cover(f,l),e=0;e<o;++e)Nt(this,u[e],a[e],t[e]);return this}function Et(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,s=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do u=new Array(4),u[a]=s,s=u;while(c*=2,i=e+c,o=r+c,t>i||n>o);break;case 1:do u=new Array(4),u[a]=s,s=u;while(c*=2,e=i-c,o=r+c,e>t||n>o);break;case 2:do u=new Array(4),u[a]=s,s=u;while(c*=2,i=e+c,r=o-c,t>i||r>n);break;case 3:do u=new Array(4),u[a]=s,s=u;while(c*=2,e=i-c,r=o-c,e>t||r>n)}this._root&&this._root.length&&(this._root=s)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this}function At(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t}function Ct(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function zt(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function Pt(t,n,e){var r,i,o,u,a,c,s,f=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new zt(v,f,l,h,p)),null==e?e=1/0:(f=t-e,l=n-e,h=t+e,p=n+e,e*=e);c=d.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>p||(u=c.x1)<f||(a=c.y1)<l))if(v.length){var _=(i+u)/2,y=(o+a)/2;d.push(new zt(v[3],_,y,u,a),new zt(v[2],i,y,_,a),new zt(v[1],_,o,u,y),new zt(v[0],i,o,_,y)),(s=(n>=y)<<1|t>=_)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=c)}else{var g=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=g*g+m*m;if(x<e){var b=Math.sqrt(e=x);f=t-b,l=n-b,h=t+b,p=n+b,r=v.data}}return r}function Lt(t){if(isNaN(o=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,o,u,a,c,s,f,l,h,p=this._root,d=this._x0,v=this._y0,_=this._x1,y=this._y1;if(!p)return this;if(p.length)for(;;){if((s=o>=(a=(d+_)/2))?d=a:_=a,(f=u>=(c=(v+y)/2))?v=c:y=c,n=p,!(p=p[l=f<<1|s]))return this;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p),this):(this._root=i,this)}function qt(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this}function Ut(){return this._root}function Rt(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t}function Dt(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new zt(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var s=(r+o)/2,f=(i+u)/2;(e=c[3])&&a.push(new zt(e,s,f,o,u)),(e=c[2])&&a.push(new zt(e,r,f,s,u)),(e=c[1])&&a.push(new zt(e,s,i,o,f)),(e=c[0])&&a.push(new zt(e,r,i,s,f))}return this}function Ot(t){var n,e=[],r=[];for(this._root&&e.push(new zt(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,s=n.y1,f=(u+c)/2,l=(a+s)/2;(o=i[0])&&e.push(new zt(o,u,a,f,l)),(o=i[1])&&e.push(new zt(o,f,a,c,l)),(o=i[2])&&e.push(new zt(o,u,l,f,s)),(o=i[3])&&e.push(new zt(o,f,l,c,s))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this}function Ft(t){return t[0]}function It(t){return arguments.length?(this._x=t,this):this._x}function Yt(t){return t[1]}function Bt(t){return arguments.length?(this._y=t,this):this._y}function jt(t,n,e){var r=new Ht(null==n?Ft:n,null==e?Yt:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ht(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Xt(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}function Vt(t){if(!(t>=1))throw new Error;this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Wt(t){if(!t._start)try{$t(t)}catch(n){t._tasks[t._ended+t._active-1]&&Gt(t,n)}}function $t(t){for(;t._start=t._waiting&&t._active<t._size;){var n=t._ended+t._active,e=t._tasks[n],r=e.length-1,i=e[r];e[r]=Zt(t,n),--t._waiting,++t._active,e=i.apply(null,e),t._tasks[n]&&(t._tasks[n]=e||ov)}}function Zt(t,n){return function(e,r){t._tasks[n]&&(--t._active,++t._ended,t._tasks[n]=null,null==t._error&&(null!=e?Gt(t,e):(t._data[n]=r,t._waiting?Wt(t):Jt(t))))}}function Gt(t,n){var e,r=t._tasks.length;for(t._error=n,t._data=void 0,t._waiting=NaN;--r>=0;)if((e=t._tasks[r])&&(t._tasks[r]=null,e.abort))try{e.abort()}catch(n){}t._active=NaN,Jt(t)}function Jt(t){!t._active&&t._call&&t._call(t._error,t._data)}function Qt(t){return new Vt(arguments.length?+t:1/0)}function Kt(t){return function(){return t}}function tn(t){return t.innerRadius}function nn(t){return t.outerRadius}function en(t){return t.startAngle}function rn(t){return t.endAngle}function on(t){return t&&t.padAngle}function un(t){return t>=1?cv:t<=-1?-cv:Math.asin(t)}function an(t,n,e,r,i,o,u,a){var c=e-t,s=r-n,f=u-i,l=a-o,h=(f*(n-o)-l*(t-i))/(l*c-f*s);return[t+h*c,n+h*s]}function cn(t,n,e,r,i,o,u){var a=t-e,c=n-r,s=(u?o:-o)/Math.sqrt(a*a+c*c),f=s*c,l=-s*a,h=t+f,p=n+l,d=e+f,v=r+l,_=(h+d)/2,y=(p+v)/2,g=d-h,m=v-p,x=g*g+m*m,b=i-o,w=h*v-d*p,M=(m<0?-1:1)*Math.sqrt(Math.max(0,b*b*x-w*w)),T=(w*m-g*M)/x,k=(-w*g-m*M)/x,N=(w*m+g*M)/x,S=(-w*g+m*M)/x,E=T-_,A=k-y,C=N-_,z=S-y;return E*E+A*A>C*C+z*z&&(T=N,k=S),{cx:T,cy:k,x01:-f,y01:-l,x11:T*(i/b-1),y11:k*(i/b-1)}}function sn(){function t(){var t,s,f=+n.apply(this,arguments),l=+e.apply(this,arguments),h=o.apply(this,arguments)-cv,p=u.apply(this,arguments)-cv,d=Math.abs(p-h),v=p>h;if(c||(c=t=Tt()),l<f&&(s=l,l=f,f=s),l>uv)if(d>sv-uv)c.moveTo(l*Math.cos(h),l*Math.sin(h)),c.arc(0,0,l,h,p,!v),f>uv&&(c.moveTo(f*Math.cos(p),f*Math.sin(p)),c.arc(0,0,f,p,h,v));else{var _,y,g=h,m=p,x=h,b=p,w=d,M=d,T=a.apply(this,arguments)/2,k=T>uv&&(i?+i.apply(this,arguments):Math.sqrt(f*f+l*l)),N=Math.min(Math.abs(l-f)/2,+r.apply(this,arguments)),S=N,E=N;if(k>uv){var A=un(k/f*Math.sin(T)),C=un(k/l*Math.sin(T));(w-=2*A)>uv?(A*=v?1:-1,x+=A,b-=A):(w=0,x=b=(h+p)/2),(M-=2*C)>uv?(C*=v?1:-1,g+=C,m-=C):(M=0,g=m=(h+p)/2)}var z=l*Math.cos(g),P=l*Math.sin(g),L=f*Math.cos(b),q=f*Math.sin(b);if(N>uv){var U=l*Math.cos(m),R=l*Math.sin(m),D=f*Math.cos(x),O=f*Math.sin(x);if(d<av){var F=w>uv?an(z,P,D,O,U,R,L,q):[L,q],I=z-F[0],Y=P-F[1],B=U-F[0],j=R-F[1],H=1/Math.sin(Math.acos((I*B+Y*j)/(Math.sqrt(I*I+Y*Y)*Math.sqrt(B*B+j*j)))/2),X=Math.sqrt(F[0]*F[0]+F[1]*F[1]);S=Math.min(N,(f-X)/(H-1)),E=Math.min(N,(l-X)/(H+1))}}M>uv?E>uv?(_=cn(D,O,z,P,l,E,v),y=cn(U,R,L,q,l,E,v),c.moveTo(_.cx+_.x01,_.cy+_.y01),E<N?c.arc(_.cx,_.cy,E,Math.atan2(_.y01,_.x01),Math.atan2(y.y01,y.x01),!v):(c.arc(_.cx,_.cy,E,Math.atan2(_.y01,_.x01),Math.atan2(_.y11,_.x11),!v),c.arc(0,0,l,Math.atan2(_.cy+_.y11,_.cx+_.x11),Math.atan2(y.cy+y.y11,y.cx+y.x11),!v),c.arc(y.cx,y.cy,E,Math.atan2(y.y11,y.x11),Math.atan2(y.y01,y.x01),!v))):(c.moveTo(z,P),c.arc(0,0,l,g,m,!v)):c.moveTo(z,P),f>uv&&w>uv?S>uv?(_=cn(L,q,U,R,f,-S,v),y=cn(z,P,D,O,f,-S,v),c.lineTo(_.cx+_.x01,_.cy+_.y01),S<N?c.arc(_.cx,_.cy,S,Math.atan2(_.y01,_.x01),Math.atan2(y.y01,y.x01),!v):(c.arc(_.cx,_.cy,S,Math.atan2(_.y01,_.x01),Math.atan2(_.y11,_.x11),!v),c.arc(0,0,f,Math.atan2(_.cy+_.y11,_.cx+_.x11),Math.atan2(y.cy+y.y11,y.cx+y.x11),v),c.arc(y.cx,y.cy,S,Math.atan2(y.y11,y.x11),Math.atan2(y.y01,y.x01),!v))):c.arc(0,0,f,b,x,v):c.lineTo(L,q)}else c.moveTo(0,0);if(c.closePath(),t)return c=null,t+""||null}var n=tn,e=nn,r=Kt(0),i=null,o=en,u=rn,a=on,c=null;return t.centroid=function(){var t=(+n.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-av/2;return[Math.cos(r)*t,Math.sin(r)*t]},t.innerRadius=function(e){return arguments.length?(n="function"==typeof e?e:Kt(+e),t):n},t.outerRadius=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.cornerRadius=function(n){return arguments.length?(r="function"==typeof n?n:Kt(+n),t):r},t.padRadius=function(n){return arguments.length?(i=null==n?null:"function"==typeof n?n:Kt(+n),t):i},t.startAngle=function(n){return arguments.length?(o="function"==typeof n?n:Kt(+n),t):o},t.endAngle=function(n){return arguments.length?(u="function"==typeof n?n:Kt(+n),t):u},t.padAngle=function(n){return arguments.length?(a="function"==typeof n?n:Kt(+n),t):a},t.context=function(n){return arguments.length?(c=null==n?null:n,t):c},t}function fn(t){this._context=t}function ln(t){return new fn(t)}function hn(t){return t[0]}function pn(t){return t[1]}function dn(){function t(t){var a,c,s,f=t.length,l=!1;for(null==i&&(u=o(s=Tt())),a=0;a<=f;++a)!(a<f&&r(c=t[a],a,t))===l&&((l=!l)?u.lineStart():u.lineEnd()),l&&u.point(+n(c,a,t),+e(c,a,t));if(s)return u=null,s+""||null}var n=hn,e=pn,r=Kt(!0),i=null,o=ln,u=null;return t.x=function(e){return arguments.length?(n="function"==typeof e?e:Kt(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.defined=function(n){return arguments.length?(r="function"==typeof n?n:Kt(!!n),t):r},t.curve=function(n){return arguments.length?(o=n,null!=i&&(u=o(i)),t):o},t.context=function(n){return arguments.length?(null==n?i=u=null:u=o(i=n),t):i},t}function vn(){function t(t){var n,f,l,h,p,d=t.length,v=!1,_=new Array(d),y=new Array(d);for(null==a&&(s=c(p=Tt())),n=0;n<=d;++n){if(!(n<d&&u(h=t[n],n,t))===v)if(v=!v)f=n,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),l=n-1;l>=f;--l)s.point(_[l],y[l]);s.lineEnd(),s.areaEnd()}v&&(_[n]=+e(h,n,t),y[n]=+i(h,n,t),s.point(r?+r(h,n,t):_[n],o?+o(h,n,t):y[n]))}if(p)return s=null,p+""||null}function n(){return dn().defined(u).curve(c).context(a)}var e=hn,r=null,i=Kt(0),o=pn,u=Kt(!0),a=null,c=ln,s=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),r=null,t):e},t.x0=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.x1=function(n){return arguments.length?(r=null==n?null:"function"==typeof n?n:Kt(+n),t):r},t.y=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),o=null,t):i},t.y0=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),t):i},t.y1=function(n){return arguments.length?(o=null==n?null:"function"==typeof n?n:Kt(+n),t):o},t.lineX0=t.lineY0=function(){return n().x(e).y(i)},t.lineY1=function(){return n().x(e).y(o)},t.lineX1=function(){return n().x(r).y(i)},t.defined=function(n){return arguments.length?(u="function"==typeof n?n:Kt(!!n),t):u},t.curve=function(n){return arguments.length?(c=n,null!=a&&(s=c(a)),t):c},t.context=function(n){return arguments.length?(null==n?a=s=null:s=c(a=n),t):a},t}function _n(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function yn(t){return t}function gn(){function t(t){var a,c,s,f,l,h=t.length,p=0,d=new Array(h),v=new Array(h),_=+i.apply(this,arguments),y=Math.min(sv,Math.max(-sv,o.apply(this,arguments)-_)),g=Math.min(Math.abs(y)/h,u.apply(this,arguments)),m=g*(y<0?-1:1);for(a=0;a<h;++a)(l=v[d[a]=a]=+n(t[a],a,t))>0&&(p+=l);for(null!=e?d.sort(function(t,n){return e(v[t],v[n])}):null!=r&&d.sort(function(n,e){return r(t[n],t[e])}),a=0,s=p?(y-h*m)/p:0;a<h;++a,_=f)c=d[a],l=v[c],f=_+(l>0?l*s:0)+m,v[c]={data:t[c],index:a,value:l,startAngle:_,endAngle:f,padAngle:g};return v}var n=yn,e=_n,r=null,i=Kt(0),o=Kt(sv),u=Kt(0);return t.value=function(e){return arguments.length?(n="function"==typeof e?e:Kt(+e),t):n},t.sortValues=function(n){return arguments.length?(e=n,r=null,t):e},t.sort=function(n){return arguments.length?(r=n,e=null,t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:Kt(+n),t):o},t.padAngle=function(n){return arguments.length?(u="function"==typeof n?n:Kt(+n),t):u},t}function mn(t){this._curve=t}function xn(t){function n(n){return new mn(t(n))}return n._curve=t,n}function bn(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(xn(t)):n()._curve},t}function wn(){return bn(dn().curve(fv))}function Mn(){var t=vn().curve(fv),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=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 bn(e())},delete t.lineX0,t.lineEndAngle=function(){return bn(r())},delete t.lineX1,t.lineInnerRadius=function(){return bn(i())},delete t.lineY0,t.lineOuterRadius=function(){return bn(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(xn(t)):n()._curve},t}function Tn(){function t(){var t;if(r||(r=t=Tt()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)return r=null,t+""||null}var n=Kt(lv),e=Kt(64),r=null;return t.type=function(e){return arguments.length?(n="function"==typeof e?e:Kt(e),t):n},t.size=function(n){return arguments.length?(e="function"==typeof n?n:Kt(+n),t):e},t.context=function(n){return arguments.length?(r=null==n?null:n,t):r},t}function kn(){}function Nn(t,n,e){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+n)/6,(t._y0+4*t._y1+e)/6)}function Sn(t){this._context=t}function En(t){return new Sn(t)}function An(t){this._context=t}function Cn(t){return new An(t)}function zn(t){this._context=t}function Pn(t){return new zn(t)}function Ln(t,n){this._basis=new Sn(t),this._beta=n}function qn(t,n,e){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-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function Un(t,n){this._context=t,this._k=(1-n)/6}function Rn(t,n){this._context=t,this._k=(1-n)/6}function Dn(t,n){this._context=t,this._k=(1-n)/6}function On(t,n,e){var r=t._x1,i=t._y1,o=t._x2,u=t._y2;if(t._l01_a>uv){var a=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*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>uv){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-n*t._l12_2a)/f,u=(u*s+t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2)}function Fn(t,n){this._context=t,this._alpha=n}function In(t,n){this._context=t,this._alpha=n}function Yn(t,n){this._context=t,this._alpha=n}function Bn(t){this._context=t}function jn(t){return new Bn(t)}function Hn(t){return t<0?-1:1}function Xn(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),a=(o*i+u*r)/(r+i);return(Hn(o)+Hn(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function Vn(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Wn(t,n,e){var r=t._x0,i=t._y0,o=t._x1,u=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*n,o-a,u-a*e,o,u)}function $n(t){this._context=t}function Zn(t){this._context=new Gn(t)}function Gn(t){this._context=t}function Jn(t){return new $n(t)}function Qn(t){return new Zn(t)}function Kn(t){this._context=t}function te(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),u=new Array(r);for(i[0]=0,o[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}function ne(t){return new Kn(t)}function ee(t,n){this._context=t,this._t=n}function re(t){return new ee(t,.5)}function ie(t){return new ee(t,0)}function oe(t){return new ee(t,1)}function ue(t,n){if((r=t.length)>1)for(var e,r,i=1,o=t[n[0]],u=o.length;i<r;++i){e=o,o=t[n[i]];for(var a=0;a<u;++a)o[a][1]+=o[a][0]=isNaN(e[a][1])?e[a][0]:e[a][1]}}function ae(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e}function ce(t,n){return t[n]}function se(){function t(t){var o,u,a=n.apply(this,arguments),c=t.length,s=a.length,f=new Array(s);for(o=0;o<s;++o){for(var l,h=a[o],p=f[o]=new Array(c),d=0;d<c;++d)p[d]=l=[0,+i(t[d],h,d,t)],l.data=t[d];p.key=h}for(o=0,u=e(f);o<s;++o)f[u[o]].index=o;return r(f,u),f}var n=Kt([]),e=ae,r=ue,i=ce;return t.keys=function(e){return arguments.length?(n="function"==typeof e?e:Kt(Dv.call(e)),t):n},t.value=function(n){return arguments.length?(i="function"==typeof n?n:Kt(+n),t):i},t.order=function(n){return arguments.length?(e=null==n?ae:"function"==typeof n?n:Kt(Dv.call(n)),t):e},t.offset=function(n){return arguments.length?(r=null==n?ue:n,t):r},t}function fe(t,n){if((r=t.length)>0){for(var e,r,i,o=0,u=t[0].length;o<u;++o){for(i=e=0;e<r;++e)i+=t[e][o][1]||0;if(i)for(e=0;e<r;++e)t[e][o][1]/=i}ue(t,n)}}function le(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var u=0,a=0;u<e;++u)a+=t[u][r][1]||0;i[r][1]+=i[r][0]=-a/2}ue(t,n)}}function he(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,u=1;u<r;++u){for(var a=0,c=0,s=0;a<i;++a){for(var f=t[n[a]],l=f[u][1]||0,h=f[u-1][1]||0,p=(l-h)/2,d=0;d<a;++d){var v=t[n[d]],_=v[u][1]||0,y=v[u-1][1]||0;p+=_-y}c+=l,s+=p*l}e[u-1][1]+=e[u-1][0]=o,c&&(o-=s/c)}e[u-1][1]+=e[u-1][0]=o,ue(t,n)}}function pe(t){var n=t.map(de);return ae(t).sort(function(t,e){return n[t]-n[e]})}function de(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}function ve(t){return pe(t).reverse()}function _e(t){var n,e,r=t.length,i=t.map(de),o=ae(t).sort(function(t,n){return i[n]-i[t]}),u=0,a=0,c=[],s=[];for(n=0;n<r;++n)e=o[n],u<a?(u+=i[e],c.push(e)):(a+=i[e],s.push(e));return s.reverse().concat(c)}function ye(t){return ae(t).reverse()}function ge(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function me(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function xe(){}function be(t){var n;return t=(t+"").trim().toLowerCase(),(n=Iv.exec(t))?(n=parseInt(n[1],16),new Ne(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1)):(n=Yv.exec(t))?we(parseInt(n[1],16)):(n=Bv.exec(t))?new Ne(n[1],n[2],n[3],1):(n=jv.exec(t))?new Ne(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Hv.exec(t))?Me(n[1],n[2],n[3],n[4]):(n=Xv.exec(t))?Me(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Vv.exec(t))?Se(n[1],n[2]/100,n[3]/100,1):(n=Wv.exec(t))?Se(n[1],n[2]/100,n[3]/100,n[4]):$v.hasOwnProperty(t)?we($v[t]):"transparent"===t?new Ne(NaN,NaN,NaN,0):null}function we(t){return new Ne(t>>16&255,t>>8&255,255&t,1)}function Me(t,n,e,r){return r<=0&&(t=n=e=NaN),new Ne(t,n,e,r)}function Te(t){return t instanceof xe||(t=be(t)),t?(t=t.rgb(),new Ne(t.r,t.g,t.b,t.opacity)):new Ne}function ke(t,n,e,r){return 1===arguments.length?Te(t):new Ne(t,n,e,null==r?1:r)}function Ne(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Se(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Ce(t,n,e,r)}function Ee(t){if(t instanceof Ce)return new Ce(t.h,t.s,t.l,t.opacity);if(t instanceof xe||(t=be(t)),!t)return new Ce;if(t instanceof Ce)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,c=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=c<.5?o+i:2-o-i,u*=60):a=c>0&&c<1?0:u,new Ce(u,a,c,t.opacity)}function Ae(t,n,e,r){return 1===arguments.length?Ee(t):new Ce(t,n,e,null==r?1:r)}function Ce(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function ze(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Pe(t){if(t instanceof qe)return new qe(t.l,t.a,t.b,t.opacity);if(t instanceof Ye){var n=t.h*Zv;return new qe(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof Ne||(t=Te(t));var e=Oe(t.r),r=Oe(t.g),i=Oe(t.b),o=Ue((.4124564*e+.3575761*r+.1804375*i)/Qv),u=Ue((.2126729*e+.7151522*r+.072175*i)/Kv),a=Ue((.0193339*e+.119192*r+.9503041*i)/t_);return new qe(116*u-16,500*(o-u),200*(u-a),t.opacity)}function Le(t,n,e,r){return 1===arguments.length?Pe(t):new qe(t,n,e,null==r?1:r)}function qe(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Ue(t){return t>i_?Math.pow(t,1/3):t/r_+n_}function Re(t){return t>e_?t*t*t:r_*(t-n_)}function De(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Fe(t){if(t instanceof Ye)return new Ye(t.h,t.c,t.l,t.opacity);t instanceof qe||(t=Pe(t));var n=Math.atan2(t.b,t.a)*Gv;return new Ye(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Ie(t,n,e,r){return 1===arguments.length?Fe(t):new Ye(t,n,e,null==r?1:r)}function Ye(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function Be(t){if(t instanceof He)return new He(t.h,t.s,t.l,t.opacity);t instanceof Ne||(t=Te(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(h_*r+f_*n-l_*e)/(h_+f_-l_),o=r-i,u=(s_*(e-i)-a_*o)/c_,a=Math.sqrt(u*u+o*o)/(s_*i*(1-i)),c=a?Math.atan2(u,o)*Gv-120:NaN;return new He(c<0?c+360:c,a,i,t.opacity)}function je(t,n,e,r){return 1===arguments.length?Be(t):new He(t,n,e,null==r?1:r)}function He(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Xe(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}function Ve(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Xe((e-r/n)*n,u,i,o,a)}}function We(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return Xe((e-r/n)*n,i,o,u,a)}}function $e(t){return function(){return t}}function Ze(t,n){return function(e){return t+e*n}}function Ge(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function Je(t,n){var e=n-t;return e?Ze(t,e>180||e<-180?e-360*Math.round(e/360):e):$e(isNaN(t)?n:t)}function Qe(t){return 1===(t=+t)?Ke:function(n,e){return e-n?Ge(n,e,t):$e(isNaN(n)?e:n)}}function Ke(t,n){var e=n-t;return e?Ze(t,e):$e(isNaN(t)?n:t)}function tr(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=ke(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}function nr(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(r),u=new Array(r);for(e=0;e<i;++e)o[e]=ar(t[e],n[e]);
+for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=o[e](t);return u}}function er(t,n){return t=+t,n-=t,function(e){return t+n*e}}function rr(t,n){var e,r={},i={};null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={});for(e in n)e in t?r[e]=ar(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}function ir(t){return function(){return t}}function or(t){return function(n){return t(n)+""}}function ur(t,n){var e,r,i,o=x_.lastIndex=b_.lastIndex=0,u=-1,a=[],c=[];for(t+="",n+="";(e=x_.exec(t))&&(r=b_.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:er(e,r)})),o=b_.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?c[0]?or(c[0].x):ir(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)a[(e=c[r]).i]=e.x(t);return a.join("")})}function ar(t,n){var e,r=typeof n;return null==n||"boolean"===r?$e(n):("number"===r?er:"string"===r?(e=be(n))?(n=e,y_):ur:n instanceof be?y_:Array.isArray(n)?nr:rr)(t,n)}function cr(t,n){return t=+t,n-=t,function(e){return Math.round(t+n*e)}}function sr(t,n,e,r,i,o){var u,a,c;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,c/=a),t*r<n*e&&(t=-t,n=-n,c=-c,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*w_,skewX:Math.atan(c)*w_,scaleX:u,scaleY:a}}function fr(t){if("none"===t)return M_;p_||(p_=document.createElement("DIV"),d_=document.documentElement,v_=document.defaultView),p_.style.transform=t,t=v_.getComputedStyle(d_.appendChild(p_),null).getPropertyValue("transform"),d_.removeChild(p_);var n=t.slice(7,-1).split(",");return sr(+n[0],+n[1],+n[2],+n[3],+n[4],+n[5])}function lr(t){__||(__=document.createElementNS("http://www.w3.org/2000/svg","g")),__.setAttribute("transform",null==t?"":t);var n=__.transform.baseVal.consolidate().matrix;return sr(n.a,n.b,n.c,n.d,n.e,n.f)}function hr(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}function o(t,r,i,o,u,a){if(t!==i||r!==o){var c=u.push("translate(",null,n,null,e);a.push({i:c-4,x:er(t,i)},{i:c-2,x:er(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}function u(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:er(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}function a(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:er(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}function c(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:er(t,e)},{i:a-2,x:er(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}return function(n,e){var r=[],i=[];return n=t(n),e=t(e),o(n.translateX,n.translateY,e.translateX,e.translateY,r,i),u(n.rotate,e.rotate,r,i),a(n.skewX,e.skewX,r,i),c(n.scaleX,n.scaleY,e.scaleX,e.scaleY,r,i),n=e=null,function(t){for(var n,e=-1,o=i.length;++e<o;)r[(n=i[e]).i]=n.x(t);return r.join("")}}}function pr(t){return((t=Math.exp(t))+1/t)/2}function dr(t){return((t=Math.exp(t))-1/t)/2}function vr(t){return((t=Math.exp(2*t))-1)/(t+1)}function _r(t,n){var e,r,i=t[0],o=t[1],u=t[2],a=n[0],c=n[1],s=n[2],f=a-i,l=c-o,h=f*f+l*l;if(h<A_)r=Math.log(s/u)/N_,e=function(t){return[i+t*f,o+t*l,u*Math.exp(N_*t*r)]};else{var p=Math.sqrt(h),d=(s*s-u*u+E_*h)/(2*u*S_*p),v=(s*s-u*u-E_*h)/(2*s*S_*p),_=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-_)/N_,e=function(t){var n=t*r,e=pr(_),a=u/(S_*p)*(e*vr(N_*n+_)-dr(_));return[i+a*f,o+a*l,u*e/pr(N_*n+_)]}}return e.duration=1e3*r,e}function yr(t){return function(n,e){var r=t((n=Ae(n)).h,(e=Ae(e)).h),i=Ke(n.s,e.s),o=Ke(n.l,e.l),u=Ke(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function gr(t,n){var e=Ke((t=Le(t)).l,(n=Le(n)).l),r=Ke(t.a,n.a),i=Ke(t.b,n.b),o=Ke(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}}function mr(t){return function(n,e){var r=t((n=Ie(n)).h,(e=Ie(e)).h),i=Ke(n.c,e.c),o=Ke(n.l,e.l),u=Ke(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function xr(t){return function n(e){function r(n,r){var i=t((n=je(n)).h,(r=je(r)).h),o=Ke(n.s,r.s),u=Ke(n.l,r.l),a=Ke(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=u(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,r.gamma=n,r}(1)}function br(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}function wr(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new Mr(r)}function Mr(t){this._=t}function Tr(t,n){return t.trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})}function kr(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function Nr(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=R_,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function Sr(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function Er(t,n){var e=Sr(t);return function(r,i){return n(e(r),i,t)}}function Ar(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}function Cr(t){function n(t,n){var r,i,o=e(t,function(t,e){return r?r(t,e-1):(i=t,void(r=n?Er(t,n):Sr(t)))});return o.columns=i,o}function e(t,n){function e(){if(f>=s)return u;if(i)return i=!1,o;var n,e=f;if(34===t.charCodeAt(e)){for(var r=e;r++<s;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return f=r+2,n=t.charCodeAt(r+1),13===n?(i=!0,10===t.charCodeAt(r+2)&&++f):10===n&&(i=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;f<s;){var a=1;if(n=t.charCodeAt(f++),10===n)i=!0;else if(13===n)i=!0,10===t.charCodeAt(f)&&(++f,++a);else if(n!==c)continue;return t.slice(e,f-a)}return t.slice(e)}for(var r,i,o={},u={},a=[],s=t.length,f=0,l=0;(r=e())!==u;){for(var h=[];r!==o&&r!==u;)h.push(r),r=e();n&&null==(h=n(h,l++))||a.push(h)}return a}function r(n,e){return null==e&&(e=Ar(n)),[e.map(u).join(t)].concat(n.map(function(n){return e.map(function(t){return u(n[t])}).join(t)})).join("\n")}function i(t){return t.map(o).join("\n")}function o(n){return n.map(u).join(t)}function u(t){return null==t?"":a.test(t+="")?'"'+t.replace(/\"/g,'""')+'"':t}var a=new RegExp('["'+t+"\n]"),c=t.charCodeAt(0);return{parse:n,parseRows:e,format:r,formatRows:i}}function zr(t,n){function e(t){var n,e=s.status;if(!e&&Lr(s)||e>=200&&e<300||304===e){if(o)try{n=o.call(r,s)}catch(i){return void a.call("error",r,i)}else n=s;a.call("load",r,n)}else a.call("error",r,t)}var r,i,o,u,a=wr("beforesend","progress","load","error"),c=L(),s=new XMLHttpRequest,f=null,l=null,h=0;return"undefined"==typeof XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=s.ontimeout=e:s.onreadystatechange=function(t){s.readyState>3&&e(t)},s.onprogress=function(t){a.call("progress",r,t)},r={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?c.get(t):(null==n?c.remove(t):c.set(t,n+""),r)},mimeType:function(t){return arguments.length?(i=null==t?null:t+"",r):i},responseType:function(t){return arguments.length?(u=t,r):u},timeout:function(t){return arguments.length?(h=+t,r):h},user:function(t){return arguments.length<1?f:(f=null==t?null:t+"",r)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",r)},response:function(t){return o=t,r},get:function(t,n){return r.send("GET",t,n)},post:function(t,n){return r.send("POST",t,n)},send:function(n,e,o){return o||"function"!=typeof e||(o=e,e=null),o&&1===o.length&&(o=Pr(o)),s.open(n,t,!0,f,l),null==i||c.has("accept")||c.set("accept",i+",*/*"),s.setRequestHeader&&c.each(function(t,n){s.setRequestHeader(n,t)}),null!=i&&s.overrideMimeType&&s.overrideMimeType(i),null!=u&&(s.responseType=u),h>0&&(s.timeout=h),o&&r.on("error",o).on("load",function(t){o(null,t)}),a.call("beforesend",r,s),s.send(null==e?null:e),r},abort:function(){return s.abort(),r},on:function(){var t=a.on.apply(a,arguments);return t===a?r:t}},n?r.get(n):r}function Pr(t){return function(n,e){t(null==n?e:null)}}function Lr(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function qr(t,n){return function(e,r){var i=zr(e).mimeType(t).response(n);return r?i.get(r):i}}function Ur(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=zr(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(Rr(n,r=t)):r},o.row(r),i?o.get(i):o}}function Rr(t,n){return function(e){return t(e.responseText,n)}}function Dr(){return uy||(sy(Or),uy=cy.now()+ay)}function Or(){uy=0}function Fr(){this._call=this._time=this._next=null}function Ir(t,n,e){var r=new Fr;return r.restart(t,n,e),r}function Yr(){Dr(),++ny;for(var t,n=D_;n;)(t=uy-n._time)>=0&&n._call.call(null,t),n=n._next;--ny}function Br(t){uy=(oy=t||cy.now())+ay,ny=ey=0;try{Yr()}finally{ny=0,Hr(),uy=0}}function jr(){var t=cy.now(),n=t-oy;n>iy&&(ay-=n,oy=t)}function Hr(){for(var t,n,e=D_,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:D_=n);O_=t,Xr(r)}function Xr(t){if(!ny){ey&&(ey=clearTimeout(ey));var n=t-uy;n>24?(t<1/0&&(ey=setTimeout(Br,n)),ry&&(ry=clearInterval(ry))):(ry||(ry=setInterval(jr,iy)),ny=1,sy(Br))}}function Vr(t,n,e){var r=new Fr;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r}function Wr(t,n,e){var r=new Fr,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?Dr():+e,r.restart(function o(u){u+=i,r.restart(o,i+=n,e),t(u)},n,e),r)}function $r(t,n,e,r){function i(n){return t(n=new Date((+n))),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date((+t)),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var u=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return u;do u.push(new Date((+e)));while(n(e,o),t(e),e<r);return u},i.filter=function(e){return $r(function(n){for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return fy.setTime(+n),ly.setTime(+r),t(fy),t(ly),Math.floor(e(fy,ly))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t===0}:function(n){return i.count(0,n)%t===0}):i:null}),i}function Zr(t){return $r(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*vy)/gy})}function Gr(t){return $r(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/gy})}function Jr(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Qr(t){return t=Jr(Math.abs(t)),t?t[1]:NaN}function Kr(t,n){return function(e,r){for(var i=e.length,o=[],u=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[u=(u+1)%t.length];return o.reverse().join(n)}}function ti(t,n){t=t.toPrecision(n);t:for(var e,r=t.length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;case"e":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}function ni(t,n){var e=Jr(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(dg=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Jr(t,Math.max(0,n+o-1))[0]}function ei(t,n){var e=Jr(t,n);if(!e)return t+"";var r=e[0],i=e[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")}function ri(t){return new ii(t)}function ii(t){if(!(n=yg.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",u=!!n[5],a=n[6]&&+n[6],c=!!n[7],s=n[8]&&+n[8].slice(1),f=n[9]||"";"n"===f?(c=!0,f="g"):_g[f]||(f=""),(u||"0"===e&&"="===r)&&(u=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=u,this.width=a,this.comma=c,this.precision=s,this.type=f}function oi(t){return t}function ui(t){function n(t){function n(t){var n,i,c,g=d,m=v;if("c"===p)m=_(t)+m,t="";else{t=+t;var x=(t<0||1/t<0)&&(t*=-1,!0);if(t=_(t,h),x)for(n=-1,i=t.length,x=!1;++n<i;)if(c=t.charCodeAt(n),48<c&&c<58||"x"===p&&96<c&&c<103||"X"===p&&64<c&&c<71){x=!0;break}if(g=(x?"("===a?a:"-":"-"===a||"("===a?"":a)+g,m=m+("s"===p?mg[8+dg/3]:"")+(x&&"("===a?")":""),y)for(n=-1,i=t.length;++n<i;)if(c=t.charCodeAt(n),48>c||c>57){m=(46===c?o+t.slice(n+1):t.slice(n))+m,t=t.slice(0,n);break}}l&&!s&&(t=r(t,1/0));var b=g.length+t.length+m.length,w=b<f?new Array(f-b+1).join(e):"";switch(l&&s&&(t=r(w+t,w.length?f-m.length:1/0),w=""),u){case"<":return g+t+m+w;case"=":return g+w+t+m;case"^":return w.slice(0,b=w.length>>1)+g+t+m+w.slice(b)}return w+g+t+m}t=ri(t);var e=t.fill,u=t.align,a=t.sign,c=t.symbol,s=t.zero,f=t.width,l=t.comma,h=t.precision,p=t.type,d="$"===c?i[0]:"#"===c&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",v="$"===c?i[1]:/[%p]/.test(p)?"%":"",_=_g[p],y=!p||/[defgprs%]/.test(p);return h=null==h?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),n.toString=function(){return t+""},n}function e(t,e){var r=n((t=ri(t),t.type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Qr(e)/3))),o=Math.pow(10,-i),u=mg[8+i/3];return function(t){return r(o*t)+u}}var r=t.grouping&&t.thousands?Kr(t.grouping,t.thousands):oi,i=t.currency,o=t.decimal;return{format:n,formatPrefix:e}}function ai(n){return gg=ui(n),t.format=gg.format,t.formatPrefix=gg.formatPrefix,gg}function ci(t){return Math.max(0,-Qr(Math.abs(t)))}function si(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Qr(n)/3)))-Qr(Math.abs(t)))}function fi(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Qr(n)-Qr(t))+1}function li(t){if(0<=t.y&&t.y<100){var n=new Date((-1),t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function hi(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function pi(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function di(t){function n(t,n){return function(e){var r,i,o,u=[],a=-1,c=0,s=t.length;for(e instanceof Date||(e=new Date((+e)));++a<s;)37===t.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=(i=bg[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),u.push(r),c=a+1);return u.push(t.slice(c,a)),u.join("")}}function e(t,n){return function(e){var i=pi(1900),o=r(i,t,e+="",0);if(o!=e.length)return null;if("p"in i&&(i.H=i.H%12+12*i.p),"W"in i||"U"in i){"w"in i||(i.w="W"in i?1:0);var u="Z"in i?hi(pi(i.y)).getUTCDay():n(pi(i.y)).getDay();i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(u+5)%7:i.w+7*i.U-(u+6)%7}return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,hi(i)):n(i)}}function r(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(r>=c)return-1;if(i=n.charCodeAt(u++),37===i){if(i=n.charAt(u++),o=B[i in bg?n.charAt(u++):i],!o||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function i(t,n,e){var r=C.exec(n.slice(e));return r?(t.p=z[r[0].toLowerCase()],e+r[0].length):-1}function o(t,n,e){var r=q.exec(n.slice(e));return r?(t.w=U[r[0].toLowerCase()],e+r[0].length):-1}function u(t,n,e){var r=P.exec(n.slice(e));return r?(t.w=L[r[0].toLowerCase()],e+r[0].length):-1}function a(t,n,e){var r=O.exec(n.slice(e));return r?(t.m=F[r[0].toLowerCase()],e+r[0].length):-1}function c(t,n,e){var r=R.exec(n.slice(e));return r?(t.m=D[r[0].toLowerCase()],e+r[0].length):-1}function s(t,n,e){return r(t,w,n,e)}function f(t,n,e){return r(t,M,n,e)}function l(t,n,e){return r(t,T,n,e)}function h(t){return S[t.getDay()]}function p(t){return N[t.getDay()]}function d(t){return A[t.getMonth()]}function v(t){return E[t.getMonth()]}function _(t){return k[+(t.getHours()>=12)]}function y(t){return S[t.getUTCDay()]}function g(t){return N[t.getUTCDay()]}function m(t){return A[t.getUTCMonth()]}function x(t){return E[t.getUTCMonth()]}function b(t){return k[+(t.getUTCHours()>=12)]}var w=t.dateTime,M=t.date,T=t.time,k=t.periods,N=t.days,S=t.shortDays,E=t.months,A=t.shortMonths,C=yi(k),z=gi(k),P=yi(N),L=gi(N),q=yi(S),U=gi(S),R=yi(E),D=gi(E),O=yi(A),F=gi(A),I={a:h,A:p,b:d,B:v,c:null,d:Li,e:Li,H:qi,I:Ui,j:Ri,L:Di,m:Oi,M:Fi,p:_,S:Ii,U:Yi,w:Bi,W:ji,x:null,X:null,y:Hi,Y:Xi,Z:Vi,"%":ao},Y={a:y,A:g,b:m,B:x,c:null,d:Wi,e:Wi,H:$i,I:Zi,j:Gi,L:Ji,m:Qi,M:Ki,p:b,S:to,U:no,w:eo,W:ro,x:null,X:null,y:io,Y:oo,Z:uo,"%":ao},B={a:o,A:u,b:a,B:c,c:s,d:Ni,e:Ni,H:Ei,I:Ei,j:Si,L:zi,m:ki,M:Ai,p:i,S:Ci,U:xi,w:mi,W:bi,x:f,X:l,y:Mi,Y:wi,Z:Ti,"%":Pi};return I.x=n(M,I),I.X=n(T,I),I.c=n(w,I),Y.x=n(M,Y),Y.X=n(T,Y),Y.c=n(w,Y),{format:function(t){var e=n(t+="",I);return e.toString=function(){return t},e},parse:function(t){var n=e(t+="",li);return n.toString=function(){return t},n},utcFormat:function(t){var e=n(t+="",Y);return e.toString=function(){return t},e},utcParse:function(t){var n=e(t,hi);return n.toString=function(){return t},n}}}function vi(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function _i(t){return t.replace(Tg,"\\$&")}function yi(t){return new RegExp("^(?:"+t.map(_i).join("|")+")","i")}function gi(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function mi(t,n,e){var r=wg.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function xi(t,n,e){var r=wg.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function bi(t,n,e){var r=wg.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function wi(t,n,e){var r=wg.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Mi(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Ti(t,n,e){var r=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function ki(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Ni(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Si(t,n,e){var r=wg.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Ei(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Ai(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Ci(t,n,e){var r=wg.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function zi(t,n,e){var r=wg.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Pi(t,n,e){var r=Mg.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Li(t,n){return vi(t.getDate(),n,2)}function qi(t,n){return vi(t.getHours(),n,2)}function Ui(t,n){return vi(t.getHours()%12||12,n,2)}function Ri(t,n){return vi(1+ky.count(jy(t),t),n,3)}function Di(t,n){return vi(t.getMilliseconds(),n,3)}function Oi(t,n){return vi(t.getMonth()+1,n,2)}function Fi(t,n){return vi(t.getMinutes(),n,2)}function Ii(t,n){return vi(t.getSeconds(),n,2)}function Yi(t,n){return vi(Sy.count(jy(t),t),n,2)}function Bi(t){return t.getDay()}function ji(t,n){return vi(Ey.count(jy(t),t),n,2)}function Hi(t,n){return vi(t.getFullYear()%100,n,2)}function Xi(t,n){return vi(t.getFullYear()%1e4,n,4)}function Vi(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+vi(n/60|0,"0",2)+vi(n%60,"0",2)}function Wi(t,n){return vi(t.getUTCDate(),n,2)}function $i(t,n){return vi(t.getUTCHours(),n,2)}function Zi(t,n){return vi(t.getUTCHours()%12||12,n,2)}function Gi(t,n){return vi(1+Zy.count(pg(t),t),n,3)}function Ji(t,n){return vi(t.getUTCMilliseconds(),n,3)}function Qi(t,n){return vi(t.getUTCMonth()+1,n,2)}function Ki(t,n){return vi(t.getUTCMinutes(),n,2)}function to(t,n){return vi(t.getUTCSeconds(),n,2)}function no(t,n){return vi(Jy.count(pg(t),t),n,2)}function eo(t){return t.getUTCDay()}function ro(t,n){return vi(Qy.count(pg(t),t),n,2)}function io(t,n){return vi(t.getUTCFullYear()%100,n,2)}function oo(t,n){return vi(t.getUTCFullYear()%1e4,n,4)}function uo(){return"+0000"}function ao(){return"%"}function co(n){return xg=di(n),t.timeFormat=xg.format,t.timeParse=xg.parse,t.utcFormat=xg.utcFormat,t.utcParse=xg.utcParse,xg}function so(t){return t.toISOString()}function fo(t){var n=new Date(t);return isNaN(n)?null:n}function lo(t){function n(n){var o=n+"",u=e.get(o);if(!u){if(i!==zg)return i;e.set(o,u=r.push(n))}return t[(u-1)%t.length]}var e=L(),r=[],i=zg;return t=null==t?[]:Cg.call(t),n.domain=function(t){if(!arguments.length)return r.slice();r=[],e=L();for(var i,o,u=-1,a=t.length;++u<a;)e.has(o=(i=t[u])+"")||e.set(o,r.push(i));return n},n.range=function(e){return arguments.length?(t=Cg.call(e),n):t.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return lo().domain(r).range(t).unknown(i)},n}function ho(){function t(){var t=i().length,r=u[1]<u[0],h=u[r-0],p=u[1-r];n=(p-h)/Math.max(1,t-c+2*s),a&&(n=Math.floor(n)),h+=(p-h-n*(t-c))*f,e=n*(1-c),a&&(h=Math.round(h),e=Math.round(e));var d=l(t).map(function(t){return h+n*t});return o(r?d.reverse():d)}var n,e,r=lo().unknown(void 0),i=r.domain,o=r.range,u=[0,1],a=!1,c=0,s=0,f=.5;return delete r.unknown,r.domain=function(n){return arguments.length?(i(n),t()):i()},r.range=function(n){return arguments.length?(u=[+n[0],+n[1]],t()):u.slice()},r.rangeRound=function(n){return u=[+n[0],+n[1]],a=!0,t()},r.bandwidth=function(){return e},r.step=function(){return n},r.round=function(n){return arguments.length?(a=!!n,t()):a},r.padding=function(n){return arguments.length?(c=s=Math.max(0,Math.min(1,n)),t()):c},r.paddingInner=function(n){return arguments.length?(c=Math.max(0,Math.min(1,n)),t()):c},r.paddingOuter=function(n){return arguments.length?(s=Math.max(0,Math.min(1,n)),t()):s},r.align=function(n){return arguments.length?(f=Math.max(0,Math.min(1,n)),t()):f},r.copy=function(){return ho().domain(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(f)},t()}function po(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return po(n())},t}function vo(){return po(ho().paddingInner(1))}function _o(t){return function(){return t}}function yo(t){return+t}function go(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:_o(n)}function mo(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}function xo(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}function bo(t,n,e,r){var i=t[0],o=t[1],u=n[0],a=n[1];return o<i?(i=e(o,i),u=r(a,u)):(i=e(i,o),u=r(u,a)),function(t){return u(i(t))}}function wo(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),u=new Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<i;)o[a]=e(t[a],t[a+1]),u[a]=r(n[a],n[a+1]);return function(n){var e=yd(t,n,1,i)-1;return u[e](o[e](n))}}function Mo(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function To(t,n){function e(){return i=Math.min(a.length,c.length)>2?wo:bo,o=u=null,r}function r(n){return(o||(o=i(a,c,f?mo(t):t,s)))(+n)}var i,o,u,a=Pg,c=Pg,s=ar,f=!1;return r.invert=function(t){return(u||(u=i(c,a,go,f?xo(n):n)))(+t)},r.domain=function(t){return arguments.length?(a=Ag.call(t,yo),e()):a.slice()},r.range=function(t){return arguments.length?(c=Cg.call(t),e()):c.slice()},r.rangeRound=function(t){return c=Cg.call(t),s=cr,e()},r.clamp=function(t){return arguments.length?(f=!!t,e()):f},r.interpolate=function(t){return arguments.length?(s=t,e()):s},e()}function ko(n,e,r){var i,o=n[0],u=n[n.length-1],a=p(o,u,null==e?10:e);switch(r=ri(null==r?",f":r),r.type){case"s":var c=Math.max(Math.abs(o),Math.abs(u));return null!=r.precision||isNaN(i=si(a,c))||(r.precision=i),t.formatPrefix(r,c);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=fi(a,Math.max(Math.abs(o),Math.abs(u))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=ci(a))||(r.precision=i-2*("%"===r.type))}return t.format(r)}function No(t){var n=t.domain;return t.ticks=function(t){var e=n();return h(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){return ko(n(),t,e)},t.nice=function(e){var r=n(),i=r.length-1,o=null==e?10:e,u=r[0],a=r[i],c=p(u,a,o);return c&&(c=p(Math.floor(u/c)*c,Math.ceil(a/c)*c,o),r[0]=Math.floor(u/c)*c,r[i]=Math.ceil(a/c)*c,n(r)),t},t}function So(){var t=To(go,er);return t.copy=function(){return Mo(t,So())},No(t)}function Eo(){function t(t){return+t}var n=[0,1];return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=Ag.call(e,yo),t):n.slice()},t.copy=function(){return Eo().domain(n)},No(t)}function Ao(t,n){t=t.slice();var e,r=0,i=t.length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),t[r]=n.floor(o),t[i]=n.ceil(u),t}function Co(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:_o(n)}function zo(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function Po(t){return isFinite(t)?+("1e"+t):t<0?0:t}function Lo(t){return 10===t?Po:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function qo(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}function Uo(t){return function(n){return-t(-n)}}function Ro(){function n(){return o=qo(i),u=Lo(i),r()[0]<0&&(o=Uo(o),u=Uo(u)),e}var e=To(Co,zo).domain([1,10]),r=e.domain,i=10,o=qo(10),u=Lo(10);return e.base=function(t){return arguments.length?(i=+t,n()):i},e.domain=function(t){return arguments.length?(r(t),n()):r()},e.ticks=function(t){var n,e=r(),a=e[0],c=e[e.length-1];(n=c<a)&&(p=a,a=c,c=p);var s,f,l,p=o(a),d=o(c),v=null==t?10:+t,_=[];if(!(i%1)&&d-p<v){if(p=Math.round(p)-1,d=Math.round(d)+1,a>0){for(;p<d;++p)for(f=1,s=u(p);f<i;++f)if(l=s*f,!(l<a)){if(l>c)break;_.push(l)}}else for(;p<d;++p)for(f=i-1,s=u(p);f>=1;--f)if(l=s*f,!(l<a)){if(l>c)break;_.push(l)}}else _=h(p,d,Math.min(d-p,v)).map(u);return n?_.reverse():_},e.tickFormat=function(n,r){if(null==r&&(r=10===i?".0e":","),"function"!=typeof r&&(r=t.format(r)),n===1/0)return r;null==n&&(n=10);var a=Math.max(1,i*n/e.ticks().length);return function(t){var n=t/u(Math.round(o(t)));return n*i<i-.5&&(n*=i),n<=a?r(t):""}},e.nice=function(){return r(Ao(r(),{floor:function(t){return u(Math.floor(o(t)))},ceil:function(t){return u(Math.ceil(o(t)))}}))},e.copy=function(){return Mo(e,Ro().base(i))},e}function Do(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function Oo(){function t(t,n){return(n=Do(n,e)-(t=Do(t,e)))?function(r){return(Do(r,e)-t)/n}:_o(n)}function n(t,n){return n=Do(n,e)-(t=Do(t,e)),function(r){return Do(t+n*r,1/e)}}var e=1,r=To(t,n),i=r.domain;return r.exponent=function(t){return arguments.length?(e=+t,i(i())):e},r.copy=function(){return Mo(r,Oo().exponent(e))},No(r)}function Fo(){return Oo().exponent(.5)}function Io(){function t(){var t=0,n=Math.max(1,i.length);for(o=new Array(n-1);++t<n;)o[t-1]=_(r,t/n);return e}function e(t){if(!isNaN(t=+t))return i[yd(o,t)]}var r=[],i=[],o=[];return e.invertExtent=function(t){var n=i.indexOf(t);return n<0?[NaN,NaN]:[n>0?o[n-1]:r[0],n<o.length?o[n]:r[r.length-1]]},e.domain=function(e){if(!arguments.length)return r.slice();r=[];for(var i,o=0,u=e.length;o<u;++o)i=e[o],null==i||isNaN(i=+i)||r.push(i);return r.sort(n),t()},e.range=function(n){return arguments.length?(i=Cg.call(n),t()):i.slice()},e.quantiles=function(){return o.slice()},e.copy=function(){return Io().domain(r).range(i)},e}function Yo(){function t(t){if(t<=t)return u[yd(o,t,0,i)]}function n(){var n=-1;for(o=new Array(i);++n<i;)o[n]=((n+1)*r-(n-i)*e)/(i+1);return t}var e=0,r=1,i=1,o=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n()):[e,r]},t.range=function(t){return arguments.length?(i=(u=Cg.call(t)).length-1,n()):u.slice()},t.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,o[0]]:n>=i?[o[i-1],r]:[o[n-1],o[n]]},t.copy=function(){return Yo().domain([e,r]).range(u)},No(t)}function Bo(){function t(t){if(t<=t)return e[yd(n,t,0,r)]}var n=[.5],e=[0,1],r=1;return t.domain=function(i){return arguments.length?(n=Cg.call(i),r=Math.min(n.length,e.length-1),t):n.slice()},t.range=function(i){return arguments.length?(e=Cg.call(i),r=Math.min(n.length,e.length-1),t):e.slice()},t.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},t.copy=function(){return Bo().domain(n).range(e)},t}function jo(t){return new Date(t)}function Ho(t){return t instanceof Date?+t:+new Date((+t))}function Xo(t,n,r,i,o,u,a,c,s){function f(e){return(a(e)<e?_:u(e)<e?y:o(e)<e?g:i(e)<e?m:n(e)<e?r(e)<e?x:b:t(e)<e?w:M)(e)}function l(n,r,i,o){if(null==n&&(n=10),"number"==typeof n){var u=Math.abs(i-r)/n,a=e(function(t){return t[2]}).right(T,u);a===T.length?(o=p(r/Fg,i/Fg,n),n=t):a?(a=T[u/T[a-1][2]<T[a][2]/u?a-1:a],o=a[1],n=a[0]):(o=p(r,i,n),n=c)}return null==o?n:n.every(o)}var h=To(go,er),d=h.invert,v=h.domain,_=s(".%L"),y=s(":%S"),g=s("%I:%M"),m=s("%I %p"),x=s("%a %d"),b=s("%b %d"),w=s("%B"),M=s("%Y"),T=[[a,1,Lg],[a,5,5*Lg],[a,15,15*Lg],[a,30,30*Lg],[u,1,qg],[u,5,5*qg],[u,15,15*qg],[u,30,30*qg],[o,1,Ug],[o,3,3*Ug],[o,6,6*Ug],[o,12,12*Ug],[i,1,Rg],[i,2,2*Rg],[r,1,Dg],[n,1,Og],[n,3,3*Og],[t,1,Fg]];return h.invert=function(t){return new Date(d(t))},h.domain=function(t){return arguments.length?v(Ag.call(t,Ho)):v().map(jo)},h.ticks=function(t,n){var e,r=v(),i=r[0],o=r[r.length-1],u=o<i;return u&&(e=i,i=o,o=e),e=l(t,i,o,n),e=e?e.range(i,o+1):[],u?e.reverse():e},h.tickFormat=function(t,n){return null==n?f:s(n)},h.nice=function(t,n){var e=v();return(t=l(t,e[0],e[e.length-1],n))?v(Ao(e,t)):h},h.copy=function(){return Mo(h,Xo(t,n,r,i,o,u,a,c,s))},h}function Vo(){return Xo(jy,Yy,Sy,ky,My,by,my,hy,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function Wo(){return Xo(pg,lg,Jy,Zy,Wy,Xy,my,hy,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function $o(t){return t.match(/.{6}/g).map(function(t){return"#"+t})}function Zo(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return Wg.h=360*t-100,Wg.s=1.5-1.5*n,Wg.l=.8-.9*n,Wg+""}function Go(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}function Jo(t){function n(n){var o=(n-e)/(r-e);return t(i?Math.max(0,Math.min(1,o)):o)}var e=0,r=1,i=!1;return n.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n):[e,r]},n.clamp=function(t){return arguments.length?(i=!!t,n):i},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Jo(t).domain([e,r]).clamp(i)},No(n)}function Qo(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Kg.hasOwnProperty(n)?{space:Kg[n],local:t}:t}function Ko(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Qg&&n.documentElement.namespaceURI===Qg?n.createElement(t):n.createElementNS(e,t)}}function tu(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function nu(t){var n=Qo(t);return(n.local?tu:Ko)(n)}function eu(){return new ru}function ru(){this._="@"+(++tm).toString(36)}function iu(t,n,e){return t=ou(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function ou(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function uu(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}function au(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function cu(t,n,e){
+var r=om.hasOwnProperty(t.type)?iu:ou;return function(i,o,u){var a,c=this.__on,s=r(n,o,u);if(c)for(var f=0,l=c.length;f<l;++f)if((a=c[f]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=e),void(a.value=n);this.addEventListener(t.type,s,e),a={type:t.type,name:t.name,value:n,listener:s,capture:e},c?c.push(a):this.__on=[a]}}function su(t,n,e){var r,i,o=uu(t+""),u=o.length;{if(!(arguments.length<2)){for(a=n?cu:au,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var c,s=0,f=a.length;s<f;++s)for(r=0,c=a[s];r<u;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value}}function fu(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function lu(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e}function hu(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}function pu(t){var n=lu();return n.changedTouches&&(n=n.changedTouches[0]),hu(t,n)}function du(){}function vu(t){return null==t?du:function(){return this.querySelector(t)}}function _u(t){"function"!=typeof t&&(t=vu(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],c=a.length,s=r[i]=new Array(c),f=0;f<c;++f)(o=a[f])&&(u=t.call(o,o.__data__,f,a))&&("__data__"in o&&(u.__data__=o.__data__),s[f]=u);return new Pa(r,this._parents)}function yu(){return[]}function gu(t){return null==t?yu:function(){return this.querySelectorAll(t)}}function mu(t){"function"!=typeof t&&(t=gu(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],c=a.length,s=0;s<c;++s)(u=a[s])&&(r.push(t.call(u,u.__data__,s,a)),i.push(u));return new Pa(r,i)}function xu(t){"function"!=typeof t&&(t=im(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new Pa(r,this._parents)}function bu(t){return new Array(t.length)}function wu(){return new Pa(this._enter||this._groups.map(bu),this._parents)}function Mu(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function Tu(t){return function(){return t}}function ku(t,n,e,r,i,o){for(var u,a=0,c=n.length,s=o.length;a<s;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new Mu(t,o[a]);for(;a<c;++a)(u=n[a])&&(i[a]=u)}function Nu(t,n,e,r,i,o,u){var a,c,s,f={},l=n.length,h=o.length,p=new Array(l);for(a=0;a<l;++a)(c=n[a])&&(p[a]=s=am+u.call(c,c.__data__,a,n),s in f?i[a]=c:f[s]=c);for(a=0;a<h;++a)s=am+u.call(t,o[a],a,o),(c=f[s])?(r[a]=c,c.__data__=o[a],f[s]=null):e[a]=new Mu(t,o[a]);for(a=0;a<l;++a)(c=n[a])&&f[p[a]]===c&&(i[a]=c)}function Su(t,n){if(!t)return p=new Array(this.size()),s=-1,this.each(function(t){p[++s]=t}),p;var e=n?Nu:ku,r=this._parents,i=this._groups;"function"!=typeof t&&(t=Tu(t));for(var o=i.length,u=new Array(o),a=new Array(o),c=new Array(o),s=0;s<o;++s){var f=r[s],l=i[s],h=l.length,p=t.call(f,f&&f.__data__,s,r),d=p.length,v=a[s]=new Array(d),_=u[s]=new Array(d),y=c[s]=new Array(h);e(f,l,v,_,y,p,n);for(var g,m,x=0,b=0;x<d;++x)if(g=v[x]){for(x>=b&&(b=x+1);!(m=_[b])&&++b<d;);g._next=m||null}}return u=new Pa(u,r),u._enter=a,u._exit=c,u}function Eu(){return new Pa(this._exit||this._groups.map(bu),this._parents)}function Au(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new Pa(u,this._parents)}function Cu(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this}function zu(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=Pu);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],c=a.length,s=i[o]=new Array(c),f=0;f<c;++f)(u=a[f])&&(s[f]=u);s.sort(n)}return new Pa(i,this._parents).order()}function Pu(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function Lu(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function qu(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t}function Uu(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null}function Ru(){var t=0;return this.each(function(){++t}),t}function Du(){return!this.node()}function Ou(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this}function Fu(t){return function(){this.removeAttribute(t)}}function Iu(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Yu(t,n){return function(){this.setAttribute(t,n)}}function Bu(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function ju(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function Hu(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function Xu(t,n){var e=Qo(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?Iu:Fu:"function"==typeof n?e.local?Hu:ju:e.local?Bu:Yu)(e,n))}function Vu(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Wu(t){return function(){this.style.removeProperty(t)}}function $u(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Zu(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Gu(t,n,e){var r;return arguments.length>1?this.each((null==n?Wu:"function"==typeof n?Zu:$u)(t,n,null==e?"":e)):Vu(r=this.node()).getComputedStyle(r,null).getPropertyValue(t)}function Ju(t){return function(){delete this[t]}}function Qu(t,n){return function(){this[t]=n}}function Ku(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function ta(t,n){return arguments.length>1?this.each((null==n?Ju:"function"==typeof n?Ku:Qu)(t,n)):this.node()[t]}function na(t){return t.trim().split(/^|\s+/)}function ea(t){return t.classList||new ra(t)}function ra(t){this._node=t,this._names=na(t.getAttribute("class")||"")}function ia(t,n){for(var e=ea(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function oa(t,n){for(var e=ea(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function ua(t){return function(){ia(this,t)}}function aa(t){return function(){oa(this,t)}}function ca(t,n){return function(){(n.apply(this,arguments)?ia:oa)(this,t)}}function sa(t,n){var e=na(t+"");if(arguments.length<2){for(var r=ea(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?ca:n?ua:aa)(e,n))}function fa(){this.textContent=""}function la(t){return function(){this.textContent=t}}function ha(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function pa(t){return arguments.length?this.each(null==t?fa:("function"==typeof t?ha:la)(t)):this.node().textContent}function da(){this.innerHTML=""}function va(t){return function(){this.innerHTML=t}}function _a(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function ya(t){return arguments.length?this.each(null==t?da:("function"==typeof t?_a:va)(t)):this.node().innerHTML}function ga(){this.nextSibling&&this.parentNode.appendChild(this)}function ma(){return this.each(ga)}function xa(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ba(){return this.each(xa)}function wa(t){var n="function"==typeof t?t:nu(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Ma(){return null}function Ta(t,n){var e="function"==typeof t?t:nu(t),r=null==n?Ma:"function"==typeof n?n:vu(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function ka(){var t=this.parentNode;t&&t.removeChild(this)}function Na(){return this.each(ka)}function Sa(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ea(t,n,e){var r=Vu(t),i=r.CustomEvent;i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function Aa(t,n){return function(){return Ea(this,t,n)}}function Ca(t,n){return function(){return Ea(this,t,n.apply(this,arguments))}}function za(t,n){return this.each(("function"==typeof n?Ca:Aa)(t,n))}function Pa(t,n){this._groups=t,this._parents=n}function La(){return new Pa([[document.documentElement]],cm)}function qa(t){return"string"==typeof t?new Pa([[document.querySelector(t)]],[document.documentElement]):new Pa([[t]],cm)}function Ua(t){return"string"==typeof t?new Pa([document.querySelectorAll(t)],[document.documentElement]):new Pa([null==t?[]:t],cm)}function Ra(t,n,e){arguments.length<3&&(e=n,n=lu().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return hu(t,r);return null}function Da(t,n){null==n&&(n=lu().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=hu(t,n[e]);return i}function Oa(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};Ba(t,e,{name:n,index:r,group:i,on:sm,tween:fm,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:lm})}function Fa(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>lm)throw new Error("too late");return e}function Ia(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>pm)throw new Error("too late");return e}function Ya(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("too late");return e}function Ba(t,n,e){function r(t){e.state=hm,e.delay<=t?i(t-e.delay):e.timer.restart(i,e.delay,e.time)}function i(r){var i,c,s,f;for(i in a)f=a[i],f.name===e.name&&(f.state===dm?(f.state=_m,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete a[i]):+i<n&&(f.state=_m,f.timer.stop(),delete a[i]));if(Vr(function(){e.state===dm&&(e.timer.restart(o,e.delay,e.time),o(r))}),e.state=pm,e.on.call("start",t,t.__data__,e.index,e.group),e.state===pm){for(e.state=dm,u=new Array(s=e.tween.length),i=0,c=-1;i<s;++i)(f=e.tween[i].value.call(t,t.__data__,e.index,e.group))&&(u[++c]=f);u.length=c+1}}function o(r){for(var i=r<e.duration?e.ease.call(null,r/e.duration):(e.state=vm,1),o=-1,c=u.length;++o<c;)u[o].call(null,i);if(e.state===vm){e.state=_m,e.timer.stop(),e.on.call("end",t,t.__data__,e.index,e.group);for(o in a)if(+o!==n)return void delete a[n];delete t.__transition}}var u,a=t.__transition;a[n]=e,e.timer=Ir(r,0,e.time)}function ja(t,n){var e,r,i,o=t.__transition,u=!0;if(o){n=null==n?null:n+"";for(i in o)(e=o[i]).name===n?(r=e.state===dm,e.state=_m,e.timer.stop(),r&&e.on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}}function Ha(t){return this.each(function(){ja(this,t)})}function Xa(t,n){var e,r;return function(){var i=Ia(this,t),o=i.tween;if(o!==e){r=e=o;for(var u=0,a=r.length;u<a;++u)if(r[u].name===n){r=r.slice(),r.splice(u,1);break}}i.tween=r}}function Va(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Ia(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},c=0,s=i.length;c<s;++c)if(i[c].name===n){i[c]=a;break}c===s&&i.push(a)}o.tween=i}}function Wa(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Ya(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Xa:Va)(e,t,n))}function $a(t,n,e){var r=t._id;return t.each(function(){var t=Ia(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return Ya(t,r).value[n]}}function Za(t,n){var e;return("number"==typeof n?er:n instanceof be?y_:(e=be(n))?(n=e,y_):ur)(t,n)}function Ga(t){return function(){this.removeAttribute(t)}}function Ja(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Qa(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Ka(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}function tc(t,n,e){var r,i,o;return function(){var u,a=e(this);return null==a?void this.removeAttribute(t):(u=this.getAttribute(t),u===a?null:u===r&&a===i?o:o=n(r=u,i=a))}}function nc(t,n,e){var r,i,o;return function(){var u,a=e(this);return null==a?void this.removeAttributeNS(t.space,t.local):(u=this.getAttributeNS(t.space,t.local),u===a?null:u===r&&a===i?o:o=n(r=u,i=a))}}function ec(t,n){var e=Qo(t),r="transform"===e?k_:Za;return this.attrTween(t,"function"==typeof n?(e.local?nc:tc)(e,r,$a(this,"attr."+t,n)):null==n?(e.local?Ja:Ga)(e):(e.local?Ka:Qa)(e,r,n))}function rc(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}function ic(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e}function oc(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=Qo(t);return this.tween(e,(r.local?rc:ic)(r,n))}function uc(t,n){return function(){Fa(this,t).delay=+n.apply(this,arguments)}}function ac(t,n){return n=+n,function(){Fa(this,t).delay=n}}function cc(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?uc:ac)(n,t)):Ya(this.node(),n).delay}function sc(t,n){return function(){Ia(this,t).duration=+n.apply(this,arguments)}}function fc(t,n){return n=+n,function(){Ia(this,t).duration=n}}function lc(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?sc:fc)(n,t)):Ya(this.node(),n).duration}function hc(t,n){if("function"!=typeof n)throw new Error;return function(){Ia(this,t).ease=n}}function pc(t){var n=this._id;return arguments.length?this.each(hc(n,t)):Ya(this.node(),n).ease}function dc(t){"function"!=typeof t&&(t=im(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new Uc(r,this._parents,this._name,this._id)}function vc(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new Uc(u,this._parents,this._name,this._id)}function _c(t){return(t+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})}function yc(t,n,e){var r,i,o=_c(n)?Fa:Ia;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}function gc(t,n){var e=this._id;return arguments.length<2?Ya(this.node(),e).on.on(t):this.each(yc(e,t,n))}function mc(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function xc(){return this.on("end.remove",mc(this._id))}function bc(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=vu(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,c,s=r[u],f=s.length,l=o[u]=new Array(f),h=0;h<f;++h)(a=s[h])&&(c=t.call(a,a.__data__,h,s))&&("__data__"in a&&(c.__data__=a.__data__),l[h]=c,Oa(l[h],n,e,h,l,Ya(a,e)));return new Uc(o,this._parents,n,e)}function wc(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=gu(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var c,s=r[a],f=s.length,l=0;l<f;++l)if(c=s[l]){for(var h,p=t.call(c,c.__data__,l,s),d=Ya(c,e),v=0,_=p.length;v<_;++v)(h=p[v])&&Oa(h,n,e,v,p,d);o.push(p),u.push(c)}return new Uc(o,u,n,e)}function Mc(){return new ym(this._groups,this._parents)}function Tc(t,n){var e,r,i;return function(){var o=Vu(this).getComputedStyle(this,null),u=o.getPropertyValue(t),a=(this.style.removeProperty(t),o.getPropertyValue(t));return u===a?null:u===e&&a===r?i:i=n(e=u,r=a)}}function kc(t){return function(){this.style.removeProperty(t)}}function Nc(t,n,e){var r,i;return function(){var o=Vu(this).getComputedStyle(this,null).getPropertyValue(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Sc(t,n,e){var r,i,o;return function(){var u=Vu(this).getComputedStyle(this,null),a=u.getPropertyValue(t),c=e(this);return null==c&&(this.style.removeProperty(t),c=u.getPropertyValue(t)),a===c?null:a===r&&c===i?o:o=n(r=a,i=c)}}function Ec(t,n,e){var r="transform"==(t+="")?T_:Za;return null==n?this.styleTween(t,Tc(t,r)).on("end.style."+t,kc(t)):this.styleTween(t,"function"==typeof n?Sc(t,r,$a(this,"style."+t,n)):Nc(t,r,n),e)}function Ac(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}function Cc(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,Ac(t,n,null==e?"":e))}function zc(t){return function(){this.textContent=t}}function Pc(t){return function(){var n=t(this);this.textContent=null==n?"":n}}function Lc(t){return this.tween("text","function"==typeof t?Pc($a(this,"text",t)):zc(null==t?"":t+""))}function qc(){for(var t=this._name,n=this._id,e=Dc(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)if(u=a[s]){var f=Ya(u,n);Oa(u,t,e,s,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Uc(r,this._parents,t,e)}function Uc(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Rc(t){return La().transition(t)}function Dc(){return++gm}function Oc(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return xm.time=Dr(),xm;return e}function Fc(t){var n,e;t instanceof Uc?(n=t._id,t=t._name):(n=Dc(),(e=xm).time=Dr(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)(u=a[s])&&Oa(u,t,n,s,a,e||Oc(u,n));return new Uc(r,this._parents,t,n)}function Ic(t,n){var e,r,i=t.__transition;if(i){n=null==n?null:n+"";for(r in i)if((e=i[r]).state>hm&&e.name===n)return new Uc([[t]],bm,n,(+r))}return null}function Yc(t){return t}function Bc(t,n,e){var r=t(e);return"translate("+(isFinite(r)?r:n(e))+",0)"}function jc(t,n,e){var r=t(e);return"translate(0,"+(isFinite(r)?r:n(e))+")"}function Hc(t){var n=t.bandwidth()/2;return function(e){return t(e)+n}}function Xc(){return!this.__axis}function Vc(t,n){function e(e){var s,f=null==i?n.ticks?n.ticks.apply(n,r):n.domain():i,l=null==o?n.tickFormat?n.tickFormat.apply(n,r):Yc:o,h=Math.max(u,0)+c,p=t===Mm||t===km?Bc:jc,d=n.range(),v=d[0]+.5,_=d[d.length-1]+.5,y=(n.bandwidth?Hc:Yc)(n.copy()),g=e.selection?e.selection():e,m=g.selectAll(".domain").data([null]),x=g.selectAll(".tick").data(f,n).order(),b=x.exit(),w=x.enter().append("g").attr("class","tick"),M=x.select("line"),T=x.select("text"),k=t===Mm||t===Nm?-1:1,N=t===Nm||t===Tm?(s="x","y"):(s="y","x");m=m.merge(m.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),x=x.merge(w),M=M.merge(w.append("line").attr("stroke","#000").attr(s+"2",k*u).attr(N+"1",.5).attr(N+"2",.5)),T=T.merge(w.append("text").attr("fill","#000").attr(s,k*h).attr(N,.5).attr("dy",t===Mm?"0em":t===km?".71em":".32em")),e!==g&&(m=m.transition(e),x=x.transition(e),M=M.transition(e),T=T.transition(e),b=b.transition(e).attr("opacity",Sm).attr("transform",function(t){return p(y,this.parentNode.__axis||y,t)}),w.attr("opacity",Sm).attr("transform",function(t){return p(this.parentNode.__axis||y,y,t)})),b.remove(),m.attr("d",t===Nm||t==Tm?"M"+k*a+","+v+"H0.5V"+_+"H"+k*a:"M"+v+","+k*a+"V0.5H"+_+"V"+k*a),x.attr("opacity",1).attr("transform",function(t){return p(y,y,t)}),M.attr(s+"2",k*u),T.attr(s,k*h).text(l),g.filter(Xc).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Tm?"start":t===Nm?"end":"middle"),g.each(function(){this.__axis=y})}var r=[],i=null,o=null,u=6,a=6,c=3;return e.scale=function(t){return arguments.length?(n=t,e):n},e.ticks=function(){return r=wm.call(arguments),e},e.tickArguments=function(t){return arguments.length?(r=null==t?[]:wm.call(t),e):r.slice()},e.tickValues=function(t){return arguments.length?(i=null==t?null:wm.call(t),e):i&&i.slice()},e.tickFormat=function(t){return arguments.length?(o=t,e):o},e.tickSize=function(t){return arguments.length?(u=a=+t,e):u},e.tickSizeInner=function(t){return arguments.length?(u=+t,e):u},e.tickSizeOuter=function(t){return arguments.length?(a=+t,e):a},e.tickPadding=function(t){return arguments.length?(c=+t,e):c},e}function Wc(t){return Vc(Mm,t)}function $c(t){return Vc(Tm,t)}function Zc(t){return Vc(km,t)}function Gc(t){return Vc(Nm,t)}function Jc(t,n){return t.parent===n.parent?1:2}function Qc(t){return t.reduce(Kc,0)/t.length}function Kc(t,n){return t+n.x}function ts(t){return 1+t.reduce(ns,0)}function ns(t,n){return Math.max(t,n.y)}function es(t){for(var n;n=t.children;)t=n[0];return t}function rs(t){for(var n;n=t.children;)t=n[n.length-1];return t}function is(){function t(t){var o,u=0;t.eachAfter(function(t){var e=t.children;e?(t.x=Qc(e),t.y=ts(e)):(t.x=o?u+=n(t,o):0,t.y=0,o=t)});var a=es(t),c=rs(t),s=a.x-n(a,c)/2,f=c.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=(n.x-t.x)*e,n.y=(t.y-n.y)*r}:function(n){n.x=(n.x-s)/(f-s)*e,n.y=(1-(t.y?n.y/t.y:1))*r})}var n=Jc,e=1,r=1,i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(n){return arguments.length?(i=!1,e=+n[0],r=+n[1],t):i?null:[e,r]},t.nodeSize=function(n){return arguments.length?(i=!0,e=+n[0],r=+n[1],t):i?[e,r]:null},t}function os(t){var n,e,r,i,o=this,u=[o];do for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)u.push(e[r]);while(u.length);return this}function us(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this}function as(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=u.pop();)t(i);return this}function cs(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})}function ss(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})}function fs(t){for(var n=this,e=ls(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r}function ls(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function hs(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n}function ps(){var t=[];return this.each(function(n){t.push(n)}),t}function ds(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t}function vs(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n}function _s(t,n){var e,r,i,o,u,a=new bs(t),c=+t.value&&(a.value=t.value),s=[a];for(null==n&&(n=gs);e=s.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),o=u-1;o>=0;--o)s.push(r=e.children[o]=new bs(i[o])),r.parent=e,r.depth=e.depth+1;return a.eachBefore(xs)}function ys(){return _s(this).eachBefore(ms)}function gs(t){return t.children}function ms(t){t.data=t.data.data}function xs(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function bs(t){this.data=t,this.depth=this.height=0,this.parent=null}function ws(t){this._=t,this.next=null}function Ms(t){for(var n,e=(t=t.slice()).length,r=null,i=r;e;){var o=new ws(t[e-1]);i=i?i.next=o:r=o,t[n]=t[--e]}return{head:r,tail:i}}function Ts(t){return Ns(Ms(t),[])}function ks(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r-n.r;return i*i+1e-6>e*e+r*r}function Ns(t,n){var e,r,i,o=null,u=t.head;switch(n.length){case 1:e=Ss(n[0]);break;case 2:e=Es(n[0],n[1]);break;case 3:e=As(n[0],n[1],n[2])}for(;u;)i=u._,r=u.next,e&&ks(e,i)?o=u:(o?(t.tail=o,o.next=null):t.head=t.tail=null,n.push(i),e=Ns(t,n),n.pop(),t.head?(u.next=t.head,t.head=u):(u.next=null,t.head=t.tail=u),o=t.tail,o.next=r),u=r;return t.tail=o,e}function Ss(t){return{x:t.x,y:t.y,r:t.r}}function Es(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,u=n.y,a=n.r,c=o-e,s=u-r,f=a-i,l=Math.sqrt(c*c+s*s);return{x:(e+o+c/l*f)/2,y:(r+u+s/l*f)/2,r:(l+i+a)/2}}function As(t,n,e){var r=t.x,i=t.y,o=t.r,u=n.x,a=n.y,c=n.r,s=e.x,f=e.y,l=e.r,h=2*(r-u),p=2*(i-a),d=2*(c-o),v=r*r+i*i-o*o-u*u-a*a+c*c,_=2*(r-s),y=2*(i-f),g=2*(l-o),m=r*r+i*i-o*o-s*s-f*f+l*l,x=_*p-h*y,b=(p*m-y*v)/x-r,w=(y*d-p*g)/x,M=(_*v-h*m)/x-i,T=(h*g-_*d)/x,k=w*w+T*T-1,N=2*(b*w+M*T+o),S=b*b+M*M-o*o,E=(-N-Math.sqrt(N*N-4*k*S))/(2*k);return{x:b+w*E+r,y:M+T*E+i,r:E}}function Cs(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,u=t.r+e.r,a=n.x-r,c=n.y-i,s=a*a+c*c;if(s){var f=.5+((u*=u)-(o*=o))/(2*s),l=Math.sqrt(Math.max(0,2*o*(u+s)-(u-=s)*u-o*o))/(2*s);e.x=r+f*a+l*c,e.y=i+f*c-l*a}else e.x=r+u,e.y=i}function zs(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i>e*e+r*r}function Ps(t,n,e){var r=t.x-n,i=t.y-e;return r*r+i*i}function Ls(t){this._=t,this.next=null,this.previous=null}function qs(t){if(!(i=t.length))return 0;var n,e,r,i;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Cs(e,n,r=t[2]);var o,u,a,c,s,f,l,h=n.r*n.r,p=e.r*e.r,d=r.r*r.r,v=h+p+d,_=h*n.x+p*e.x+d*r.x,y=h*n.y+p*e.y+d*r.y;n=new Ls(n),e=new Ls(e),r=new Ls(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(a=3;a<i;++a){if(Cs(n._,e._,r=t[a]),r=new Ls(r),(s=n.previous)===(c=e.next)){if(zs(c._,r._)){n=e,e=c,--a;continue t}}else{f=c._.r,l=s._.r;do if(f<=l){if(zs(c._,r._)){e=c,n.next=e,e.previous=n,--a;continue t}c=c.next,f+=c._.r}else{if(zs(s._,r._)){n=s,n.next=e,e.previous=n,--a;continue t}s=s.previous,l+=s._.r}while(c!==s.next)}for(r.previous=n,r.next=e,n.next=e.previous=e=r,v+=d=r._.r*r._.r,_+=d*r._.x,y+=d*r._.y,h=Ps(n._,o=_/v,u=y/v);(r=r.next)!==e;)(d=Ps(r._,o,u))<h&&(n=r,h=d);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=Ts(n),a=0;a<i;++a)n=t[a],n.x-=r.x,n.y-=r.y;return r.r}function Us(t){return qs(t),t}function Rs(t){return null==t?null:Ds(t)}function Ds(t){if("function"!=typeof t)throw new Error;return t}function Os(){return 0}function Fs(t){return function(){return t}}function Is(t){return Math.sqrt(t.value)}function Ys(){function t(t){return t.x=e/2,t.y=r/2,n?t.eachBefore(Bs(n)).eachAfter(js(i,.5)).eachBefore(Hs(1)):t.eachBefore(Bs(Is)).eachAfter(js(Os,1)).eachAfter(js(i,t.r/Math.min(e,r))).eachBefore(Hs(Math.min(e,r)/(2*t.r))),t}var n=null,e=1,r=1,i=Os;return t.radius=function(e){return arguments.length?(n=Rs(e),t):n},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i="function"==typeof n?n:Fs(+n),t):i},t}function Bs(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function js(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length,a=t(e)*n||0;if(a)for(i=0;i<u;++i)r[i].r+=a;if(o=qs(r),a)for(i=0;i<u;++i)r[i].r-=a;e.r=o+a}}}function Hs(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function Xs(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Vs(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(r-n)/t.value;++a<c;)o=u[a],o.y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*s}function Ws(){function t(t){var u=t.height+1;return t.x0=t.y0=i,t.x1=e,t.y1=r/u,t.eachBefore(n(r,u)),o&&t.eachBefore(Xs),t}function n(t,n){return function(e){e.children&&Vs(e,e.x0,t*(e.depth+1)/n,e.x1,t*(e.depth+2)/n);var r=e.x0,o=e.y0,u=e.x1-i,a=e.y1-i;u<r&&(r=u=(r+u)/2),a<o&&(o=a=(o+a)/2),e.x0=r,e.y0=o,e.x1=u,e.y1=a}}var e=1,r=1,i=0,o=!1;return t.round=function(n){return arguments.length?(o=!!n,t):o},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i=+n,t):i},t}function $s(t){return t.id}function Zs(t){return t.parentId}function Gs(){function t(t){var r,i,o,u,a,c,s,f=t.length,l=new Array(f),h={};for(i=0;i<f;++i)r=t[i],a=l[i]=new bs(r),null!=(c=n(r,i,t))&&(c+="")&&(s=Em+(a.id=c),h[s]=s in h?Cm:a);for(i=0;i<f;++i)if(a=l[i],c=e(t[i],i,t),null!=c&&(c+="")){if(u=h[Em+c],!u)throw new Error("missing: "+c);if(u===Cm)throw new Error("ambiguous: "+c);u.children?u.children.push(a):u.children=[a],a.parent=u}else{if(o)throw new Error("multiple roots");o=a}if(!o)throw new Error("no root");if(o.parent=Am,o.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(xs),o.parent=null,f>0)throw new Error("cycle");return o}var n=$s,e=Zs;return t.id=function(e){return arguments.length?(n=Ds(e),t):n},t.parentId=function(n){return arguments.length?(e=Ds(n),t):e},t}function Js(t,n){return t.parent===n.parent?1:2}function Qs(t){var n=t.children;return n?n[0]:t.t}function Ks(t){var n=t.children;return n?n[n.length-1]:t.t}function tf(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function nf(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)n=i[o],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function ef(t,n,e){return t.a.parent===n.parent?t.a:e}function rf(t,n){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=n}function of(t){for(var n,e,r,i,o,u=new rf(t,0),a=[u];n=a.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(e=n.children[i]=new rf(r[i],i)),e.parent=n;return(u.parent=new rf(null,0)).children=[u],u}function uf(){function t(t){var r=of(t);if(r.eachAfter(n),r.parent.m=-r.z,r.eachBefore(e),c)t.eachBefore(i);else{var s=t,f=t,l=t;t.eachBefore(function(t){t.x<s.x&&(s=t),t.x>f.x&&(f=t),t.depth>l.depth&&(l=t)});var h=s===f?1:o(s,f)/2,p=h-s.x,d=u/(f.x+h+p),v=a/(l.depth||1);t.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return t}function n(t){var n=t.children,e=t.parent.children,i=t.i?e[t.i-1]:null;if(n){nf(t);var u=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+o(t._,i._),t.m=t.z-u):t.z=u}else i&&(t.z=i.z+o(t._,i._));t.parent.A=r(t,i,t.parent.A||e[0])}function e(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t,n,e){if(n){for(var r,i=t,u=t,a=n,c=i.parent.children[0],s=i.m,f=u.m,l=a.m,h=c.m;a=Ks(a),i=Qs(i),a&&i;)c=Qs(c),u=Ks(u),u.a=t,r=a.z+l-i.z-s+o(a._,i._),r>0&&(tf(ef(a,t,e),t,r),s+=r,f+=r),l+=a.m,s+=i.m,h+=c.m,f+=u.m;a&&!Ks(u)&&(u.t=a,u.m+=l-f),i&&!Qs(c)&&(c.t=i,c.m+=s-h,e=t)}return e}function i(t){t.x*=u,t.y=t.depth*a}var o=Js,u=1,a=1,c=null;return t.separation=function(n){return arguments.length?(o=n,t):o},t.size=function(n){return arguments.length?(c=!1,u=+n[0],a=+n[1],t):c?null:[u,a]},t.nodeSize=function(n){return arguments.length?(c=!0,u=+n[0],a=+n[1],t):c?[u,a]:null},t}function af(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(i-e)/t.value;++a<c;)o=u[a],o.x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*s}function cf(t,n,e,r,i,o){for(var u,a,c,s,f,l,h,p,d,v,_,y,g=[],m=n.children,x=0,b=m.length,w=n.value;x<b;){for(s=i-e,f=o-r,h=p=l=m[x].value,_=Math.max(f/s,s/f)/(w*t),y=l*l*_,v=Math.max(p/y,y/h),c=x+1;c<b;++c){if(l+=a=m[c].value,a<h&&(h=a),a>p&&(p=a),y=l*l*_,d=Math.max(p/y,y/h),d>v){l-=a;break}v=d}g.push(u={value:l,dice:s<f,children:m.slice(x,c)}),u.dice?Vs(u,e,r,i,w?r+=f*l/w:o):af(u,e,r,w?e+=s*l/w:i,o),w-=l,x=c}return g}function sf(){function t(t){return t.x0=t.y0=0,t.x1=i,t.y1=o,t.eachBefore(n),u=[0],r&&t.eachBefore(Xs),t}function n(t){var n=u[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,h=t.y1-n;o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),t.x0=r,t.y0=i,t.x1=o,t.y1=h,t.children&&(n=u[t.depth+1]=a(t)/2,r+=l(t)-n,i+=c(t)-n,o-=s(t)-n,h-=f(t)-n,o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),e(t,r,i,o,h))}var e=Pm,r=!1,i=1,o=1,u=[0],a=Os,c=Os,s=Os,f=Os,l=Os;return t.round=function(n){
+return arguments.length?(r=!!n,t):r},t.size=function(n){return arguments.length?(i=+n[0],o=+n[1],t):[i,o]},t.tile=function(n){return arguments.length?(e=Ds(n),t):e},t.padding=function(n){return arguments.length?t.paddingInner(n).paddingOuter(n):t.paddingInner()},t.paddingInner=function(n){return arguments.length?(a="function"==typeof n?n:Fs(+n),t):a},t.paddingOuter=function(n){return arguments.length?t.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n):t.paddingTop()},t.paddingTop=function(n){return arguments.length?(c="function"==typeof n?n:Fs(+n),t):c},t.paddingRight=function(n){return arguments.length?(s="function"==typeof n?n:Fs(+n),t):s},t.paddingBottom=function(n){return arguments.length?(f="function"==typeof n?n:Fs(+n),t):f},t.paddingLeft=function(n){return arguments.length?(l="function"==typeof n?n:Fs(+n),t):l},t}function ff(t,n,e,r,i){function o(t,n,e,r,i,u,a){if(t>=n-1){var s=c[t];return s.x0=r,s.y0=i,s.x1=u,s.y1=a,void 0}for(var l=f[t],h=e/2+l,p=t+1,d=n-1;p<d;){var v=p+d>>>1;f[v]<h?p=v+1:d=v}var _=f[p]-l,y=e-_;if(a-i>u-r){var g=(i*y+a*_)/e;o(t,p,_,r,i,u,g),o(p,n,y,r,g,u,a)}else{var m=(r*y+u*_)/e;o(t,p,_,r,i,m,a),o(p,n,y,m,i,u,a)}}var u,a,c=t.children,s=c.length,f=new Array(s+1);for(f[0]=a=u=0;u<s;++u)f[u+1]=a+=c[u].value;o(0,s,t.value,n,e,r,i)}function lf(t,n,e,r,i){(1&t.depth?af:Vs)(t,n,e,r,i)}function hf(t,n){function e(){var e,i,o=r.length,u=0,a=0;for(e=0;e<o;++e)i=r[e],u+=i.x,a+=i.y;for(u=u/o-t,a=a/o-n,e=0;e<o;++e)i=r[e],i.x-=u,i.y-=a}var r;return null==t&&(t=0),null==n&&(n=0),e.initialize=function(t){r=t},e.x=function(n){return arguments.length?(t=+n,e):t},e.y=function(t){return arguments.length?(n=+t,e):n},e}function pf(t){return function(){return t}}function df(){return 1e-6*(Math.random()-.5)}function vf(t){return t.x+t.vx}function _f(t){return t.y+t.vy}function yf(t){function n(){function t(t,e,r,i,u){var a=t.data,p=t.r,d=l+p;{if(!a)return e>s+d||i<s-d||r>f+d||u<f-d;if(a.index>n){var v=s-a.x-a.vx,_=f-a.y-a.vy,y=v*v+_*_;y<d*d&&(0===v&&(v=df(),y+=v*v),0===_&&(_=df(),y+=_*_),y=(d-(y=Math.sqrt(y)))/y*o,c.vx+=(v*=y)*(d=(p*=p)/(h+p)),c.vy+=(_*=y)*d,a.vx-=v*(d=1-d),a.vy-=_*d)}}}for(var n,a,c,s,f,l,h,p=r.length,d=0;d<u;++d)for(a=jt(r,vf,_f).visitAfter(e),n=0;n<p;++n)c=r[n],l=i[n],h=l*l,s=c.x+c.vx,f=c.y+c.vy,a.visit(t)}function e(t){if(t.data)return t.r=i[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}var r,i,o=1,u=1;return"function"!=typeof t&&(t=pf(null==t?1:+t)),n.initialize=function(n){var e,o=(r=n).length;for(i=new Array(o),e=0;e<o;++e)i[e]=+t(r[e],e,r)},n.iterations=function(t){return arguments.length?(u=+t,n):u},n.strength=function(t){return arguments.length?(o=+t,n):o},n.radius=function(e){return arguments.length?(t="function"==typeof e?e:pf(+e),n):t},n}function gf(t,n){return n}function mf(t){function n(t){return 1/Math.min(s[t.source.index],s[t.target.index])}function e(n){for(var e=0,r=t.length;e<d;++e)for(var i,o,c,s,l,h,p,v=0;v<r;++v)i=t[v],o=i.source,c=i.target,s=c.x+c.vx-o.x-o.vx||df(),l=c.y+c.vy-o.y-o.vy||df(),h=Math.sqrt(s*s+l*l),h=(h-a[v])/h*n*u[v],s*=h,l*=h,c.vx-=s*(p=f[v]),c.vy-=l*p,o.vx+=s*(p=1-p),o.vy+=l*p}function r(){if(c){var n,e,r=c.length,h=t.length,p=L(c,l);for(n=0,s=new Array(r);n<r;++n)s[n]=0;for(n=0;n<h;++n)e=t[n],e.index=n,"object"!=typeof e.source&&(e.source=p.get(e.source)),"object"!=typeof e.target&&(e.target=p.get(e.target)),++s[e.source.index],++s[e.target.index];for(n=0,f=new Array(h);n<h;++n)e=t[n],f[n]=s[e.source.index]/(s[e.source.index]+s[e.target.index]);u=new Array(h),i(),a=new Array(h),o()}}function i(){if(c)for(var n=0,e=t.length;n<e;++n)u[n]=+h(t[n],n,t)}function o(){if(c)for(var n=0,e=t.length;n<e;++n)a[n]=+p(t[n],n,t)}var u,a,c,s,f,l=gf,h=n,p=pf(30),d=1;return null==t&&(t=[]),e.initialize=function(t){c=t,r()},e.links=function(n){return arguments.length?(t=n,r(),e):t},e.id=function(t){return arguments.length?(l=t,e):l},e.iterations=function(t){return arguments.length?(d=+t,e):d},e.strength=function(t){return arguments.length?(h="function"==typeof t?t:pf(+t),i(),e):h},e.distance=function(t){return arguments.length?(p="function"==typeof t?t:pf(+t),o(),e):p},e}function xf(t){return t.x}function bf(t){return t.y}function wf(t){function n(){e(),p.call("tick",o),u<a&&(h.stop(),p.call("end",o))}function e(){var n,e,r=t.length;for(u+=(s-u)*c,l.each(function(t){t(u)}),n=0;n<r;++n)e=t[n],null==e.fx?e.x+=e.vx*=f:(e.x=e.fx,e.vx=0),null==e.fy?e.y+=e.vy*=f:(e.y=e.fy,e.vy=0)}function r(){for(var n,e=0,r=t.length;e<r;++e){if(n=t[e],n.index=e,isNaN(n.x)||isNaN(n.y)){var i=qm*Math.sqrt(e),o=e*Um;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function i(n){return n.initialize&&n.initialize(t),n}var o,u=1,a=.001,c=1-Math.pow(a,1/300),s=0,f=.6,l=L(),h=Ir(n),p=wr("tick","end");return null==t&&(t=[]),r(),o={tick:e,restart:function(){return h.restart(n),o},stop:function(){return h.stop(),o},nodes:function(n){return arguments.length?(t=n,r(),l.each(i),o):t},alpha:function(t){return arguments.length?(u=+t,o):u},alphaMin:function(t){return arguments.length?(a=+t,o):a},alphaDecay:function(t){return arguments.length?(c=+t,o):+c},alphaTarget:function(t){return arguments.length?(s=+t,o):s},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},force:function(t,n){return arguments.length>1?(null==n?l.remove(t):l.set(t,i(n)),o):l.get(t)},find:function(n,e,r){var i,o,u,a,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s<f;++s)a=t[s],i=n-a.x,o=e-a.y,u=i*i+o*o,u<r&&(c=a,r=u);return c},on:function(t,n){return arguments.length>1?(p.on(t,n),o):p.on(t)}}}function Mf(){function t(t){var n,a=i.length,c=jt(i,xf,bf).visitAfter(e);for(u=t,n=0;n<a;++n)o=i[n],c.visit(r)}function n(){if(i){var t,n=i.length;for(a=new Array(n),t=0;t<n;++t)a[t]=+c(i[t],t,i)}}function e(t){var n,e,r,i,o,u=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=n.value)&&(u+=e,r+=e*n.x,i+=e*n.y);t.x=r/u,t.y=i/u}else{n=t,n.x=n.data.x,n.y=n.data.y;do u+=a[n.data.index];while(n=n.next)}t.value=u}function r(t,n,e,r){if(!t.value)return!0;var i=t.x-o.x,c=t.y-o.y,h=r-n,p=i*i+c*c;if(h*h/l<p)return p<f&&(0===i&&(i=df(),p+=i*i),0===c&&(c=df(),p+=c*c),p<s&&(p=Math.sqrt(s*p)),o.vx+=i*t.value*u/p,o.vy+=c*t.value*u/p),!0;if(!(t.length||p>=f)){(t.data!==o||t.next)&&(0===i&&(i=df(),p+=i*i),0===c&&(c=df(),p+=c*c),p<s&&(p=Math.sqrt(s*p)));do t.data!==o&&(h=a[t.data.index]*u/p,o.vx+=i*h,o.vy+=c*h);while(t=t.next)}}var i,o,u,a,c=pf(-30),s=1,f=1/0,l=.81;return t.initialize=function(t){i=t,n()},t.strength=function(e){return arguments.length?(c="function"==typeof e?e:pf(+e),n(),t):c},t.distanceMin=function(n){return arguments.length?(s=n*n,t):Math.sqrt(s)},t.distanceMax=function(n){return arguments.length?(f=n*n,t):Math.sqrt(f)},t.theta=function(n){return arguments.length?(l=n*n,t):Math.sqrt(l)},t}function Tf(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)n=r[e],n.vx+=(o[e]-n.x)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=pf(.1);return"function"!=typeof t&&(t=pf(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:pf(+t),e(),n):u},n.x=function(r){return arguments.length?(t="function"==typeof r?r:pf(+r),e(),n):t},n}function kf(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)n=r[e],n.vy+=(o[e]-n.y)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=pf(.1);return"function"!=typeof t&&(t=pf(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:pf(+t),e(),n):u},n.y=function(r){return arguments.length?(t="function"==typeof r?r:pf(+r),e(),n):t},n}function Nf(){t.event.stopImmediatePropagation()}function Sf(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function Ef(t){var n=t.document.documentElement,e=qa(t).on("dragstart.drag",Sf,!0);"onselectstart"in n?e.on("selectstart.drag",Sf,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Af(t,n){var e=t.document.documentElement,r=qa(t).on("dragstart.drag",null);n&&(r.on("click.drag",Sf,!0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function Cf(t){return function(){return t}}function zf(t,n,e,r,i,o,u,a,c,s){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=u,this.dx=a,this.dy=c,this._=s}function Pf(){return!t.event.button}function Lf(){return this.parentNode}function qf(n){return null==n?{x:t.event.x,y:t.event.y}:n}function Uf(){function n(t){t.on("mousedown.drag",e).on("touchstart.drag",o).on("touchmove.drag",u).on("touchend.drag touchcancel.drag",a).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(){if(!f&&l.apply(this,arguments)){var n=c("mouse",h.apply(this,arguments),pu,this,arguments);n&&(qa(t.event.view).on("mousemove.drag",r,!0).on("mouseup.drag",i,!0),Ef(t.event.view),Nf(),s=!1,n("start"))}}function r(){Sf(),s=!0,d.mouse("drag")}function i(){qa(t.event.view).on("mousemove.drag mouseup.drag",null),Af(t.event.view,s),Sf(),d.mouse("end")}function o(){if(l.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=h.apply(this,arguments),o=r.length;for(n=0;n<o;++n)(e=c(r[n].identifier,i,Ra,this,arguments))&&(Nf(),e("start"))}}function u(){var n,e,r=t.event.changedTouches,i=r.length;for(n=0;n<i;++n)(e=d[r[n].identifier])&&(Sf(),e("drag"))}function a(){var n,e,r=t.event.changedTouches,i=r.length;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),n=0;n<i;++n)(e=d[r[n].identifier])&&(Nf(),e("end"))}function c(e,r,i,o,u){var a,c,s,f=i(r,e),l=v.copy();if(fu(new zf(n,"beforestart",a,e,_,f[0],f[1],0,0,l),function(){return null!=(t.event.subject=a=p.apply(o,u))&&(c=a.x-f[0]||0,s=a.y-f[1]||0,!0)}))return function h(t){var p,v=f;switch(t){case"start":d[e]=h,p=_++;break;case"end":delete d[e],--_;case"drag":f=i(r,e),p=_}fu(new zf(n,t,a,e,p,f[0]+c,f[1]+s,f[0]-v[0],f[1]-v[1],l),l.apply,l,[t,o,u])}}var s,f,l=Pf,h=Lf,p=qf,d={},v=wr("start","drag","end"),_=0;return n.filter=function(t){return arguments.length?(l="function"==typeof t?t:Cf(!!t),n):l},n.container=function(t){return arguments.length?(h="function"==typeof t?t:Cf(t),n):h},n.subject=function(t){return arguments.length?(p="function"==typeof t?t:Cf(t),n):p},n.on=function(){var t=v.on.apply(v,arguments);return t===v?n:t},n}function Rf(t){return function(){return t}}function Df(t){return t[0]}function Of(t){return t[1]}function Ff(){this._=null}function If(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Yf(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Bf(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function jf(t){for(;t.L;)t=t.L;return t}function Hf(t,n,e,r){var i=[null,null],o=Im.push(i)-1;return i.left=t,i.right=n,e&&Vf(i,t,n,e),r&&Vf(i,n,t,r),Om[t.index].halfedges.push(o),Om[n.index].halfedges.push(o),i}function Xf(t,n,e){var r=[n,e];return r.left=t,r}function Vf(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function Wf(t,n,e,r,i){var o,u=t[0],a=t[1],c=u[0],s=u[1],f=a[0],l=a[1],h=0,p=1,d=f-c,v=l-s;if(o=n-c,d||!(o>0)){if(o/=d,d<0){if(o<h)return;o<p&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=r-c,d||!(o<0)){if(o/=d,d<0){if(o>p)return;o>h&&(h=o)}else if(d>0){if(o<h)return;o<p&&(p=o)}if(o=e-s,v||!(o>0)){if(o/=v,v<0){if(o<h)return;o<p&&(p=o)}else if(v>0){if(o>p)return;o>h&&(h=o)}if(o=i-s,v||!(o<0)){if(o/=v,v<0){if(o>p)return;o>h&&(h=o)}else if(v>0){if(o<h)return;o<p&&(p=o)}return!(h>0||p<1)||(h>0&&(t[0]=[c+h*d,s+h*v]),p<1&&(t[1]=[c+p*d,s+p*v]),!0)}}}}}function $f(t,n,e,r,i){var o=t[1];if(o)return!0;var u,a,c=t[0],s=t.left,f=t.right,l=s[0],h=s[1],p=f[0],d=f[1],v=(l+p)/2,_=(h+d)/2;if(d===h){if(v<n||v>=r)return;if(l>p){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]<e)return}else c=[v,i];o=[v,e]}}else if(u=(l-p)/(d-h),a=_-u*v,u<-1||u>1)if(l>p){if(c){if(c[1]>=i)return}else c=[(e-a)/u,e];o=[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=[(i-a)/u,i];o=[(e-a)/u,e]}else if(h<d){if(c){if(c[0]>=r)return}else c=[n,u*n+a];o=[r,u*r+a]}else{if(c){if(c[0]<n)return}else c=[r,u*r+a];o=[n,u*n+a]}return t[0]=c,t[1]=o,!0}function Zf(t,n,e,r){for(var i,o=Im.length;o--;)$f(i=Im[o],t,n,e,r)&&Wf(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>jm||Math.abs(i[0][1]-i[1][1])>jm)||delete Im[o]}function Gf(t){return Om[t.index]={site:t,halfedges:[]}}function Jf(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function Qf(t,n){return n[+(n.left!==t.site)]}function Kf(t,n){return n[+(n.left===t.site)]}function tl(){for(var t,n,e,r,i=0,o=Om.length;i<o;++i)if((t=Om[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),a=new Array(r);for(e=0;e<r;++e)u[e]=e,a[e]=Jf(t,Im[n[e]]);for(u.sort(function(t,n){return a[n]-a[t]}),e=0;e<r;++e)a[e]=n[u[e]];for(e=0;e<r;++e)n[e]=a[e]}}function nl(t,n,e,r){var i,o,u,a,c,s,f,l,h,p,d,v,_=Om.length,y=!0;for(i=0;i<_;++i)if(o=Om[i]){for(u=o.site,c=o.halfedges,a=c.length;a--;)Im[c[a]]||c.splice(a,1);for(a=0,s=c.length;a<s;)p=Kf(o,Im[c[a]]),d=p[0],v=p[1],f=Qf(o,Im[c[++a%s]]),l=f[0],h=f[1],(Math.abs(d-l)>jm||Math.abs(v-h)>jm)&&(c.splice(a,0,Im.push(Xf(u,p,Math.abs(d-t)<jm&&r-v>jm?[t,Math.abs(l-t)<jm?h:r]:Math.abs(v-r)<jm&&e-d>jm?[Math.abs(h-r)<jm?l:e,r]:Math.abs(d-e)<jm&&v-n>jm?[e,Math.abs(l-e)<jm?h:n]:Math.abs(v-n)<jm&&d-t>jm?[Math.abs(h-n)<jm?l:t,n]:null))-1),++s);s&&(y=!1)}if(y){var g,m,x,b=1/0;for(i=0,y=null;i<_;++i)(o=Om[i])&&(u=o.site,g=u[0]-t,m=u[1]-n,x=g*g+m*m,x<b&&(b=x,y=o));if(y){var w=[t,n],M=[t,r],T=[e,r],k=[e,n];y.halfedges.push(Im.push(Xf(u=y.site,w,M))-1,Im.push(Xf(u,M,T))-1,Im.push(Xf(u,T,k))-1,Im.push(Xf(u,k,w))-1)}}for(i=0;i<_;++i)(o=Om[i])&&(o.halfedges.length||delete Om[i])}function el(){If(this),this.x=this.y=this.arc=this.site=this.cy=null}function rl(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var u=i[0],a=i[1],c=r[0]-u,s=r[1]-a,f=o[0]-u,l=o[1]-a,h=2*(c*l-s*f);if(!(h>=-Hm)){var p=c*c+s*s,d=f*f+l*l,v=(l*p-s*d)/h,_=(c*d-f*p)/h,y=Ym.pop()||new el;y.arc=t,y.site=i,y.x=v+u,y.y=(y.cy=_+a)+Math.sqrt(v*v+_*_),t.circle=y;for(var g=null,m=Fm._;m;)if(y.y<m.y||y.y===m.y&&y.x<=m.x){if(!m.L){g=m.P;break}m=m.L}else{if(!m.R){g=m;break}m=m.R}Fm.insert(g,y),g||(Rm=y)}}}}function il(t){var n=t.circle;n&&(n.P||(Rm=n.N),Fm.remove(n),Ym.push(n),If(n),t.circle=null)}function ol(){If(this),this.edge=this.site=this.circle=null}function ul(t){var n=Bm.pop()||new ol;return n.site=t,n}function al(t){il(t),Dm.remove(t),Bm.push(t),If(t)}function cl(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,u=t.N,a=[t];al(t);for(var c=o;c.circle&&Math.abs(e-c.circle.x)<jm&&Math.abs(r-c.circle.cy)<jm;)o=c.P,a.unshift(c),al(c),c=o;a.unshift(c),il(c);for(var s=u;s.circle&&Math.abs(e-s.circle.x)<jm&&Math.abs(r-s.circle.cy)<jm;)u=s.N,a.push(s),al(s),s=u;a.push(s),il(s);var f,l=a.length;for(f=1;f<l;++f)s=a[f],c=a[f-1],Vf(s.edge,c.site,s.site,i);c=a[0],s=a[l-1],s.edge=Hf(c.site,s.site,null,i),rl(c),rl(s)}function sl(t){for(var n,e,r,i,o=t[0],u=t[1],a=Dm._;a;)if(r=fl(a,u)-o,r>jm)a=a.L;else{if(i=o-ll(a,u),!(i>jm)){r>-jm?(n=a.P,e=a):i>-jm?(n=a,e=a.N):n=e=a;break}if(!a.R){n=a;break}a=a.R}Gf(t);var c=ul(t);if(Dm.insert(n,c),n||e){if(n===e)return il(n),e=ul(n.site),Dm.insert(c,e),c.edge=e.edge=Hf(n.site,c.site),rl(n),void rl(e);if(!e)return void(c.edge=Hf(n.site,c.site));il(n),il(e);var s=n.site,f=s[0],l=s[1],h=t[0]-f,p=t[1]-l,d=e.site,v=d[0]-f,_=d[1]-l,y=2*(h*_-p*v),g=h*h+p*p,m=v*v+_*_,x=[(_*g-p*m)/y+f,(h*m-v*g)/y+l];Vf(e.edge,s,d,x),c.edge=Hf(s,t,null,x),e.edge=Hf(t,d,null,x),rl(n),rl(e)}}function fl(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var u=t.P;if(!u)return-(1/0);e=u.site;var a=e[0],c=e[1],s=c-n;if(!s)return a;var f=a-r,l=1/o-1/s,h=f/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/2+i-o/2)))/l+r:(r+a)/2}function ll(t,n){var e=t.N;if(e)return fl(e,n);var r=t.site;return r[1]===n?r[0]:1/0}function hl(t,n,e){return(t[0]-e[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function pl(t,n){return n[1]-t[1]||n[0]-t[0]}function dl(t,n){var e,r,i,o=t.sort(pl).pop();for(Im=[],Om=new Array(t.length),Dm=new Ff,Fm=new Ff;;)if(i=Rm,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(sl(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;cl(i.arc)}if(tl(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],s=+n[1][1];Zf(u,a,c,s),nl(u,a,c,s)}this.edges=Im,this.cells=Om,Dm=Fm=Im=Om=null}function vl(){function t(t){return new dl(t.map(function(r,i){var o=[Math.round(n(r,i,t)/jm)*jm,Math.round(e(r,i,t)/jm)*jm];return o.index=i,o.data=r,o}),r)}var n=Df,e=Of,r=null;return t.polygons=function(n){return t(n).polygons()},t.links=function(n){return t(n).links()},t.triangles=function(n){return t(n).triangles()},t.x=function(e){return arguments.length?(n="function"==typeof e?e:Rf(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:Rf(+n),t):e},t.extent=function(n){return arguments.length?(r=null==n?null:[[+n[0][0],+n[0][1]],[+n[1][0],+n[1][1]]],t):r&&[[r[0][0],r[0][1]],[r[1][0],r[1][1]]]},t.size=function(n){return arguments.length?(r=null==n?null:[[0,0],[+n[0],+n[1]]],t):r&&[r[1][0],r[1][1]]},t}function _l(t){return function(){return t}}function yl(t,n,e){this.target=t,this.type=n,this.transform=e}function gl(t,n,e){this.k=t,this.x=n,this.y=e}function ml(t){return t.__zoom||Xm}function xl(){t.event.stopImmediatePropagation()}function bl(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function wl(){return!t.event.button}function Ml(){var t,n,e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,t=e.width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function Tl(){return this.__zoom||Xm}function kl(){function n(t){t.on("wheel.zoom",s).on("mousedown.zoom",f).on("dblclick.zoom",l).on("touchstart.zoom",h).on("touchmove.zoom",p).on("touchend.zoom touchcancel.zoom",d).style("-webkit-tap-highlight-color","rgba(0,0,0,0)").property("__zoom",Tl)}function e(t,n){return n=Math.max(M,Math.min(T,n)),n===t.k?t:new gl(n,t.x,t.y)}function r(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new gl(t.k,r,i)}function i(t,n){var e=Math.min(0,t.invertX(n[0][0])-k)||Math.max(0,t.invertX(n[1][0])-N),r=Math.min(0,t.invertY(n[0][1])-S)||Math.max(0,t.invertY(n[1][1])-E);return e||r?t.translate(e,r):t}function o(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function u(t,n,e){t.on("start.zoom",function(){a(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){a(this,arguments).end()}).tween("zoom",function(){var t=this,r=arguments,i=a(t,r),u=w.apply(t,r),c=e||o(u),s=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=t.__zoom,l="function"==typeof n?n.apply(t,r):n,h=_r(f.invert(c).concat(s/f.k),l.invert(c).concat(s/l.k));return function(t){if(1===t)t=l;else{var n=h(t),e=s/n[2];t=new gl(e,c[0]-n[0]*e,c[1]-n[1]*e)}i.zoom(null,t)}})}function a(t,n){for(var e,r=0,i=C.length;r<i;++r)if((e=C[r]).that===t)return e;return new c(t,n)}function c(t,n){this.that=t,this.args=n,this.index=-1,this.active=0}function s(){function n(){x=null,o.end()}if(b.apply(this,arguments)){var o=a(this,arguments),u=this.__zoom,c=Math.max(M,Math.min(T,u.k*Math.pow(2,-t.event.deltaY*(t.event.deltaMode?120:1)/500)));if(x){var s=pu(this);_[0]===s[0]&&_[1]===s[1]||(y=u.invert(_=s)),clearTimeout(x)}else{if(u.k===c)return;o.extent=w.apply(this,arguments),y=u.invert(_=pu(this)),ja(this),o.start()}bl(),x=setTimeout(n,L),o.zoom("mouse",i(r(e(u,c),_,y),o.extent))}}function f(){function n(){bl(),v=!0,o.zoom("mouse",i(r(o.that.__zoom,_=pu(o.that),y),o.extent))}function e(){u.on("mousemove.zoom mouseup.zoom",null),Af(t.event.view,v),bl(),o.end()}if(!m&&b.apply(this,arguments)){var o=a(this,arguments),u=qa(t.event.view).on("mousemove.zoom",n,!0).on("mouseup.zoom",e,!0);Ef(t.event.view),xl(),v=!1,o.extent=w.apply(this,arguments),y=this.__zoom.invert(_=pu(this)),ja(this),o.start()}}function l(){if(b.apply(this,arguments)){var o=this.__zoom,a=pu(this),c=o.invert(a),s=o.k*(t.event.shiftKey?.5:2),f=i(r(e(o,s),a,c),w.apply(this,arguments));bl(),A>0?qa(this).transition().duration(A).call(u,f,a):qa(this).call(n.transform,f)}}function h(){if(b.apply(this,arguments)){var n,e,r,i=a(this,arguments),o=t.event.changedTouches,u=o.length;for(xl(),n=0;n<u;++n)e=o[n],r=Ra(this,o,e.identifier),r=[r,this.__zoom.invert(r),e.identifier],i.touch0?i.touch1||(i.touch1=r):i.touch0=r;return g&&(g=clearTimeout(g),!i.touch1)?(i.end(),l.apply(this,arguments)):void(t.event.touches.length===u&&(g=setTimeout(function(){g=null},P),ja(this),i.extent=w.apply(this,arguments),i.start()))}}function p(){var n,o,u,c,s=a(this,arguments),f=t.event.changedTouches,l=f.length;for(bl(),g&&(g=clearTimeout(g)),n=0;n<l;++n)o=f[n],u=Ra(this,f,o.identifier),s.touch0&&s.touch0[2]===o.identifier?s.touch0[0]=u:s.touch1&&s.touch1[2]===o.identifier&&(s.touch1[0]=u);if(o=s.that.__zoom,s.touch1){var h=s.touch0[0],p=s.touch0[1],d=s.touch1[0],v=s.touch1[1],_=(_=d[0]-h[0])*_+(_=d[1]-h[1])*_,y=(y=v[0]-p[0])*y+(y=v[1]-p[1])*y;o=e(o,Math.sqrt(_/y)),u=[(h[0]+d[0])/2,(h[1]+d[1])/2],c=[(p[0]+v[0])/2,(p[1]+v[1])/2]}else{if(!s.touch0)return;u=s.touch0[0],c=s.touch0[1]}s.zoom("touch",i(r(o,u,c),s.extent))}function d(){var n,e,r=a(this,arguments),i=t.event.changedTouches,o=i.length;for(xl(),m&&clearTimeout(m),m=setTimeout(function(){m=null},P),n=0;n<o;++n)e=i[n],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0||r.end()}var v,_,y,g,m,x,b=wl,w=Ml,M=0,T=1/0,k=-T,N=T,S=k,E=N,A=250,C=[],z=wr("start","zoom","end"),P=500,L=150;return n.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",Tl),t!==e?u(t,n):e.interrupt().each(function(){a(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},n.scaleBy=function(t,e){n.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n})},n.scaleTo=function(t,u){n.transform(t,function(){var t=w.apply(this,arguments),n=this.__zoom,a=o(t),c=n.invert(a),s="function"==typeof u?u.apply(this,arguments):u;return i(r(e(n,s),a,c),t)})},n.translateBy=function(t,e,r){n.transform(t,function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof r?r.apply(this,arguments):r),w.apply(this,arguments))})},c.prototype={start:function(){return 1===++this.active&&(this.index=C.push(this)-1,this.emit("start")),this},zoom:function(t,n){return _&&"mouse"!==t&&(y=n.invert(_)),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0===--this.active&&(C.splice(this.index,1),_=y=null,this.index=-1,this.emit("end")),this},emit:function(t){fu(new yl(n,t,this.that.__zoom),z.apply,z,[t,this.that,this.args])}},n.filter=function(t){return arguments.length?(b="function"==typeof t?t:_l(!!t),n):b},n.extent=function(t){return arguments.length?(w="function"==typeof t?t:_l([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),n):w},n.scaleExtent=function(t){return arguments.length?(M=+t[0],T=+t[1],n):[M,T]},n.translateExtent=function(t){return arguments.length?(k=+t[0][0],N=+t[1][0],S=+t[0][1],E=+t[1][1],n):[[k,S],[N,E]]},n.duration=function(t){return arguments.length?(A=+t,n):A},n.on=function(){var t=z.on.apply(z,arguments);return t===z?n:t},n}function Nl(t){return function(){return t}}function Sl(t,n,e){this.target=t,this.type=n,this.selection=e}function El(){t.event.stopImmediatePropagation()}function Al(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function Cl(t){return{type:t}}function zl(){return!t.event.button}function Pl(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function Ll(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function ql(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Ul(t){var n=t.__brush;return n?n.dim.output(n.selection):null}function Rl(){return Fl(Gm)}function Dl(){return Fl(Jm)}function Ol(){return Fl(Qm)}function Fl(n){function e(t){var e=t.property("__brush",a).selectAll(".overlay").data([Cl("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Km.overlay).merge(e).each(function(){var t=Ll(this).extent;qa(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])}),t.selectAll(".selection").data([Cl("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Km.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=t.selectAll(".handle").data(n.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return Km[t.type]}),t.each(r).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",u)}function r(){var t=qa(this),n=Ll(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?n[1][0]-h/2:n[0][0]-h/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-h/2:n[0][1]-h/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+h:h}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+h:h})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function i(t,n){return t.__brush.emitter||new o(t,n)}function o(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function u(){function e(){var t=pu(T);!R||w||M||(Math.abs(t[0]-O[0])>Math.abs(t[1]-O[1])?M=!0:w=!0),O=t,b=!0,Al(),o()}function o(){var t;switch(m=O[0]-D[0],x=O[1]-D[1],N){case Wm:case Vm:S&&(m=Math.max(P-l,Math.min(q-v,m)),h=l+m,_=v+m),E&&(x=Math.max(L-p,Math.min(U-y,x)),d=p+x,g=y+x);break;case $m:S<0?(m=Math.max(P-l,Math.min(q-l,m)),h=l+m,_=v):S>0&&(m=Math.max(P-v,Math.min(q-v,m)),h=l,_=v+m),E<0?(x=Math.max(L-p,Math.min(U-p,x)),d=p+x,g=y):E>0&&(x=Math.max(L-y,Math.min(U-y,x)),d=p,g=y+x);break;case Zm:S&&(h=Math.max(P,Math.min(q,l-m*S)),_=Math.max(P,Math.min(q,v+m*S))),E&&(d=Math.max(L,Math.min(U,p-x*E)),g=Math.max(L,Math.min(U,y+x*E)))}_<h&&(S*=-1,t=l,l=v,v=t,t=h,h=_,_=t,k in tx&&Y.attr("cursor",Km[k=tx[k]])),g<d&&(E*=-1,t=p,p=y,y=t,t=d,d=g,g=t,k in nx&&Y.attr("cursor",Km[k=nx[k]])),z=A.selection,w&&(h=z[0][0],_=z[1][0]),M&&(d=z[0][1],g=z[1][1]),z[0][0]===h&&z[0][1]===d&&z[1][0]===_&&z[1][1]===g||(A.selection=[[h,d],[_,g]],r.call(T),F.brush())}function u(){if(El(),t.event.touches){if(t.event.touches.length)return;c&&clearTimeout(c),c=setTimeout(function(){c=null},500),I.on("touchmove.brush touchend.brush touchcancel.brush",null)}else Af(t.event.view,b),B.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);I.attr("pointer-events","all"),Y.attr("cursor",Km.overlay),ql(z)&&(A.selection=null,r.call(T)),F.end()}function a(){switch(t.event.keyCode){case 16:R=S&&E;break;case 18:N===$m&&(S&&(v=_-m*S,l=h+m*S),E&&(y=g-x*E,p=d+x*E),N=Zm,o());break;case 32:N!==$m&&N!==Zm||(S<0?v=_-m:S>0&&(l=h-m),E<0?y=g-x:E>0&&(p=d-x),N=Wm,Y.attr("cursor",Km.selection),o());break;default:return}Al()}function s(){switch(t.event.keyCode){case 16:R&&(w=M=R=!1,o());break;case 18:N===Zm&&(S<0?v=_:S>0&&(l=h),E<0?y=g:E>0&&(p=d),N=$m,o());break;case 32:N===Wm&&(t.event.altKey?(S&&(v=_-m*S,l=h+m*S),E&&(y=g-x*E,p=d+x*E),N=Zm):(S<0?v=_:S>0&&(l=h),E<0?y=g:E>0&&(p=d),N=$m),Y.attr("cursor",Km[k]),o());break;default:return}Al()}if(t.event.touches){if(t.event.changedTouches.length<t.event.touches.length)return Al()}else if(c)return;if(f.apply(this,arguments)){var l,h,p,d,v,_,y,g,m,x,b,w,M,T=this,k=t.event.target.__data__.type,N="selection"===(t.event.metaKey?k="overlay":k)?Vm:t.event.altKey?Zm:$m,S=n===Jm?null:ex[k],E=n===Gm?null:rx[k],A=Ll(T),C=A.extent,z=A.selection,P=C[0][0],L=C[0][1],q=C[1][0],U=C[1][1],R=S&&E&&t.event.shiftKey,D=pu(T),O=D,F=i(T,arguments).beforestart();"overlay"===k?A.selection=z=[[l=n===Jm?P:D[0],p=n===Gm?L:D[1]],[v=n===Jm?q:l,y=n===Gm?U:p]]:(l=z[0][0],p=z[0][1],v=z[1][0],y=z[1][1]),h=l,d=p,_=v,g=y;var I=qa(T).attr("pointer-events","none"),Y=I.selectAll(".overlay").attr("cursor",Km[k]);if(t.event.touches)I.on("touchmove.brush",e,!0).on("touchend.brush touchcancel.brush",u,!0);else{var B=qa(t.event.view).on("keydown.brush",a,!0).on("keyup.brush",s,!0).on("mousemove.brush",e,!0).on("mouseup.brush",u,!0);Ef(t.event.view)}El(),ja(T),r.call(T),F.start()}}function a(){var t=this.__brush||{selection:null};return t.extent=s.apply(this,arguments),t.dim=n,t}var c,s=Pl,f=zl,l=wr(e,"start","brush","end"),h=6;return e.move=function(t,e){t.selection?t.on("start.brush",function(){i(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){i(this,arguments).end()}).tween("brush",function(){function t(t){u.selection=1===t&&ql(s)?null:f(t),r.call(o),a.brush()}var o=this,u=o.__brush,a=i(o,arguments),c=u.selection,s=n.input("function"==typeof e?e.apply(this,arguments):e,u.extent),f=ar(c,s);return c&&s?t:t(1)}):t.each(function(){var t=this,o=arguments,u=t.__brush,a=n.input("function"==typeof e?e.apply(t,o):e,u.extent),c=i(t,o).beforestart();ja(t),u.selection=null==a||ql(a)?null:a,r.call(t),c.start().brush().end()})},o.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},brush:function(){return this.emit("brush"),this},end:function(){return 0===--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(t){fu(new Sl(e,t,n.output(this.state.selection)),l.apply,l,[t,this.that,this.args])}},e.extent=function(t){return arguments.length?(s="function"==typeof t?t:Nl([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),e):s},e.filter=function(t){return arguments.length?(f="function"==typeof t?t:Nl(!!t),e):f},e.handleSize=function(t){return arguments.length?(h=+t,e):h},e.on=function(){var t=l.on.apply(l,arguments);return t===l?e:t},e}function Il(){return new Yl}function Yl(){this.reset()}function Bl(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}function jl(t){return t>1?0:t<-1?Yx:Math.acos(t)}function Hl(t){return t>1?Bx:t<-1?-Bx:Math.asin(t)}function Xl(t){return(t=nb(t/2))*t}function Vl(){}function Wl(t,n){t&&ub.hasOwnProperty(t.type)&&ub[t.type](t,n)}function $l(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function Zl(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)$l(t[e],n,1);n.polygonEnd()}function Gl(t,n){t&&ob.hasOwnProperty(t.type)?ob[t.type](t,n):Wl(t,n)}function Jl(){ab.point=Kl}function Ql(){th(ux,ax)}function Kl(t,n){ab.point=th,ux=t,ax=n,t*=Vx,n*=Vx,cx=t,sx=Gx(n=n/2+jx),fx=nb(n)}function th(t,n){t*=Vx,n*=Vx,n=n/2+jx;var e=t-cx,r=e>=0?1:-1,i=r*e,o=Gx(n),u=nb(n),a=fx*u,c=sx*o+a*Gx(i),s=a*r*nb(i);ix.add(Zx(s,c)),cx=t,sx=o,fx=u}function nh(t){return ox?ox.reset():(ox=Il(),ix=Il()),Gl(t,ab),2*ox}function eh(t){return[Zx(t[1],t[0]),Hl(t[2])]}function rh(t){var n=t[0],e=t[1],r=Gx(e);return[r*Gx(n),r*nb(n),nb(e)]}function ih(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function oh(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function uh(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function ah(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function ch(t){var n=rb(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function sh(t,n){xx.push(bx=[lx=t,px=t]),n<hx&&(hx=n),n>dx&&(dx=n)}function fh(t,n){
+var e=rh([t*Vx,n*Vx]);if(gx){var r=oh(gx,e),i=[r[1],-r[0],0],o=oh(i,r);ch(o),o=eh(o);var u,a=t-vx,c=a>0?1:-1,s=o[0]*Xx*c,f=Wx(a)>180;f^(c*vx<s&&s<c*t)?(u=o[1]*Xx,u>dx&&(dx=u)):(s=(s+360)%360-180,f^(c*vx<s&&s<c*t)?(u=-o[1]*Xx,u<hx&&(hx=u)):(n<hx&&(hx=n),n>dx&&(dx=n))),f?t<vx?_h(lx,t)>_h(lx,px)&&(px=t):_h(t,px)>_h(lx,px)&&(lx=t):px>=lx?(t<lx&&(lx=t),t>px&&(px=t)):t>vx?_h(lx,t)>_h(lx,px)&&(px=t):_h(t,px)>_h(lx,px)&&(lx=t)}else sh(t,n);gx=e,vx=t}function lh(){cb.point=fh}function hh(){bx[0]=lx,bx[1]=px,cb.point=sh,gx=null}function ph(t,n){if(gx){var e=t-vx;mx.add(Wx(e)>180?e+(e>0?360:-360):e)}else _x=t,yx=n;ab.point(t,n),fh(t,n)}function dh(){ab.lineStart()}function vh(){ph(_x,yx),ab.lineEnd(),Wx(mx)>Fx&&(lx=-(px=180)),bx[0]=lx,bx[1]=px,gx=null}function _h(t,n){return(n-=t)<0?n+360:n}function yh(t,n){return t[0]-n[0]}function gh(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}function mh(t){var n,e,r,i,o,u,a;if(mx?mx.reset():mx=Il(),dx=px=-(lx=hx=1/0),xx=[],Gl(t,cb),e=xx.length){for(xx.sort(yh),n=1,r=xx[0],o=[r];n<e;++n)i=xx[n],gh(r,i[0])||gh(r,i[1])?(_h(r[0],i[1])>_h(r[0],r[1])&&(r[1]=i[1]),_h(i[0],r[1])>_h(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-(1/0),e=o.length-1,n=0,r=o[e];n<=e;r=i,++n)i=o[n],(a=_h(r[1],i[0]))>u&&(u=a,lx=i[0],px=r[1])}return xx=bx=null,lx===1/0||hx===1/0?[[NaN,NaN],[NaN,NaN]]:[[lx,hx],[px,dx]]}function xh(t,n){t*=Vx,n*=Vx;var e=Gx(n);bh(e*Gx(t),e*nb(t),nb(n))}function bh(t,n,e){++wx,Tx+=(t-Tx)/wx,kx+=(n-kx)/wx,Nx+=(e-Nx)/wx}function wh(){sb.point=Mh}function Mh(t,n){t*=Vx,n*=Vx;var e=Gx(n);Ux=e*Gx(t),Rx=e*nb(t),Dx=nb(n),sb.point=Th,bh(Ux,Rx,Dx)}function Th(t,n){t*=Vx,n*=Vx;var e=Gx(n),r=e*Gx(t),i=e*nb(t),o=nb(n),u=Zx(rb((u=Rx*o-Dx*i)*u+(u=Dx*r-Ux*o)*u+(u=Ux*i-Rx*r)*u),Ux*r+Rx*i+Dx*o);Mx+=u,Sx+=u*(Ux+(Ux=r)),Ex+=u*(Rx+(Rx=i)),Ax+=u*(Dx+(Dx=o)),bh(Ux,Rx,Dx)}function kh(){sb.point=xh}function Nh(){sb.point=Eh}function Sh(){Ah(Lx,qx),sb.point=xh}function Eh(t,n){Lx=t,qx=n,t*=Vx,n*=Vx,sb.point=Ah;var e=Gx(n);Ux=e*Gx(t),Rx=e*nb(t),Dx=nb(n),bh(Ux,Rx,Dx)}function Ah(t,n){t*=Vx,n*=Vx;var e=Gx(n),r=e*Gx(t),i=e*nb(t),o=nb(n),u=Rx*o-Dx*i,a=Dx*r-Ux*o,c=Ux*i-Rx*r,s=rb(u*u+a*a+c*c),f=Ux*r+Rx*i+Dx*o,l=s&&-jl(f)/s,h=Zx(s,f);Cx+=l*u,zx+=l*a,Px+=l*c,Mx+=h,Sx+=h*(Ux+(Ux=r)),Ex+=h*(Rx+(Rx=i)),Ax+=h*(Dx+(Dx=o)),bh(Ux,Rx,Dx)}function Ch(t){wx=Mx=Tx=kx=Nx=Sx=Ex=Ax=Cx=zx=Px=0,Gl(t,sb);var n=Cx,e=zx,r=Px,i=n*n+e*e+r*r;return i<Ix&&(n=Sx,e=Ex,r=Ax,Mx<Fx&&(n=Tx,e=kx,r=Nx),i=n*n+e*e+r*r,i<Ix)?[NaN,NaN]:[Zx(e,n)*Xx,Hl(r/rb(i))*Xx]}function zh(t){return function(){return t}}function Ph(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return e=n.invert(e,r),e&&t.invert(e[0],e[1])}),e}function Lh(t,n){return[t>Yx?t-Hx:t<-Yx?t+Hx:t,n]}function qh(t,n,e){return(t%=Hx)?n||e?Ph(Rh(t),Dh(n,e)):Rh(t):n||e?Dh(n,e):Lh}function Uh(t){return function(n,e){return n+=t,[n>Yx?n-Hx:n<-Yx?n+Hx:n,e]}}function Rh(t){var n=Uh(t);return n.invert=Uh(-t),n}function Dh(t,n){function e(t,n){var e=Gx(n),a=Gx(t)*e,c=nb(t)*e,s=nb(n),f=s*r+a*i;return[Zx(c*o-f*u,a*r-s*i),Hl(f*o+c*u)]}var r=Gx(t),i=nb(t),o=Gx(n),u=nb(n);return e.invert=function(t,n){var e=Gx(n),a=Gx(t)*e,c=nb(t)*e,s=nb(n),f=s*o-c*u;return[Zx(c*o+s*u,a*r+f*i),Hl(f*r-a*i)]},e}function Oh(t){function n(n){return n=t(n[0]*Vx,n[1]*Vx),n[0]*=Xx,n[1]*=Xx,n}return t=qh(t[0]*Vx,t[1]*Vx,t.length>2?t[2]*Vx:0),n.invert=function(n){return n=t.invert(n[0]*Vx,n[1]*Vx),n[0]*=Xx,n[1]*=Xx,n},n}function Fh(t,n,e,r,i,o){if(e){var u=Gx(n),a=nb(n),c=r*e;null==i?(i=n+r*Hx,o=n-c/2):(i=Ih(u,i),o=Ih(u,o),(r>0?i<o:i>o)&&(i+=r*Hx));for(var s,f=i;r>0?f>o:f<o;f-=c)s=eh([u,-a*Gx(f),-a*nb(f)]),t.point(s[0],s[1])}}function Ih(t,n){n=rh(n),n[0]-=t,ch(n);var e=jl(-n[1]);return((-n[2]<0?-e:e)+Hx-Fx)%Hx}function Yh(){function t(t,n){e.push(t=r(t,n)),t[0]*=Xx,t[1]*=Xx}function n(){var t=i.apply(this,arguments),n=o.apply(this,arguments)*Vx,c=u.apply(this,arguments)*Vx;return e=[],r=qh(-t[0]*Vx,-t[1]*Vx,0).invert,Fh(a,n,c,1),t={type:"Polygon",coordinates:[e]},e=r=null,t}var e,r,i=zh([0,0]),o=zh(90),u=zh(6),a={point:t};return n.center=function(t){return arguments.length?(i="function"==typeof t?t:zh([+t[0],+t[1]]),n):i},n.radius=function(t){return arguments.length?(o="function"==typeof t?t:zh(+t),n):o},n.precision=function(t){return arguments.length?(u="function"==typeof t?t:zh(+t),n):u},n}function Bh(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Vl,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function jh(t,n,e,r,i,o){var u,a=t[0],c=t[1],s=n[0],f=n[1],l=0,h=1,p=s-a,d=f-c;if(u=e-a,p||!(u>0)){if(u/=p,p<0){if(u<l)return;u<h&&(h=u)}else if(p>0){if(u>h)return;u>l&&(l=u)}if(u=i-a,p||!(u<0)){if(u/=p,p<0){if(u>h)return;u>l&&(l=u)}else if(p>0){if(u<l)return;u<h&&(h=u)}if(u=r-c,d||!(u>0)){if(u/=d,d<0){if(u<l)return;u<h&&(h=u)}else if(d>0){if(u>h)return;u>l&&(l=u)}if(u=o-c,d||!(u<0)){if(u/=d,d<0){if(u>h)return;u>l&&(l=u)}else if(d>0){if(u<l)return;u<h&&(h=u)}return l>0&&(t[0]=a+l*p,t[1]=c+l*d),h<1&&(n[0]=a+h*p,n[1]=c+h*d),!0}}}}}function Hh(t,n){return Wx(t[0]-n[0])<Fx&&Wx(t[1]-n[1])<Fx}function Xh(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Vh(t,n,e,r,i){var o,u,a=[],c=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Hh(r,u)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);return void i.lineEnd()}a.push(e=new Xh(r,t,null,(!0))),c.push(e.o=new Xh(r,null,e,(!1))),a.push(e=new Xh(u,t,null,(!1))),c.push(e.o=new Xh(u,null,e,(!0)))}}),a.length){for(c.sort(n),Wh(a),Wh(c),o=0,u=c.length;o<u;++o)c[o].e=e=!e;for(var s,f,l=a[0];;){for(var h=l,p=!0;h.v;)if((h=h.n)===l)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,u=s.length;o<u;++o)i.point((f=s[o])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(s=h.p.z,o=s.length-1;o>=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}h=h.o,s=h.z,p=!p}while(!h.v);i.lineEnd()}}}function Wh(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function $h(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,a,s){var f=0,l=0;if(null==i||(f=u(i,a))!==(l=u(o,a))||c(i,o)<0^a>0){do s.point(0===f||3===f?t:e,f>1?r:n);while((f=(f+a+4)%4)!==l)}else s.point(o[0],o[1])}function u(r,i){return Wx(r[0]-t)<Fx?i>0?0:3:Wx(r[0]-e)<Fx?i>0?2:1:Wx(r[1]-n)<Fx?i>0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function c(t,n){i(t,n)&&S.point(t,n)}function s(){for(var n=0,e=0,i=_.length;e<i;++e)for(var o,u,a=_[e],c=1,s=a.length,f=a[0],l=f[0],h=f[1];c<s;++c)o=l,u=h,f=a[c],l=f[0],h=f[1],u<=r?h>r&&(l-o)*(r-u)>(h-u)*(t-o)&&++n:h<=r&&(l-o)*(r-u)<(h-u)*(t-o)&&--n;return n}function f(){S=E,v=[],_=[],N=!0}function l(){var t=s(),n=N&&t,e=(v=w(v)).length;(n||e)&&(u.polygonStart(),n&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),e&&Vh(v,a,t,o,u),u.polygonEnd()),S=u,v=_=y=null}function h(){A.point=d,_&&_.push(y=[]),k=!0,T=!1,b=M=NaN}function p(){v&&(d(g,m),x&&T&&E.rejoin(),v.push(E.result())),A.point=c,T&&S.lineEnd()}function d(o,u){var a=i(o,u);if(_&&y.push([o,u]),k)g=o,m=u,x=a,k=!1,a&&(S.lineStart(),S.point(o,u));else if(a&&T)S.point(o,u);else{var c=[b=Math.max(Mb,Math.min(wb,b)),M=Math.max(Mb,Math.min(wb,M))],s=[o=Math.max(Mb,Math.min(wb,o)),u=Math.max(Mb,Math.min(wb,u))];jh(c,s,t,n,e,r)?(T||(S.lineStart(),S.point(c[0],c[1])),S.point(s[0],s[1]),a||S.lineEnd(),N=!1):a&&(S.lineStart(),S.point(o,u),N=!1)}b=o,M=u,T=a}var v,_,y,g,m,x,b,M,T,k,N,S=u,E=Bh(),A={point:c,lineStart:h,lineEnd:p,polygonStart:f,polygonEnd:l};return A}}function Zh(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=$h(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}}function Gh(){Tb.point=Qh,Tb.lineEnd=Jh}function Jh(){Tb.point=Tb.lineEnd=Vl}function Qh(t,n){t*=Vx,n*=Vx,lb=t,hb=nb(n),pb=Gx(n),Tb.point=Kh}function Kh(t,n){t*=Vx,n*=Vx;var e=nb(n),r=Gx(n),i=Wx(t-lb),o=Gx(i),u=nb(i),a=r*u,c=pb*e-hb*r*o,s=hb*e+pb*r*o;fb.add(Zx(rb(a*a+c*c),s)),lb=t,hb=e,pb=r}function tp(t){return fb?fb.reset():fb=Il(),Gl(t,Tb),+fb}function np(t,n){return kb[0]=t,kb[1]=n,tp(Nb)}function ep(t,n,e){var r=l(t,n-Fx,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function rp(t,n,e){var r=l(t,n-Fx,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function ip(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return l(Jx(o/y)*y,i,y).map(p).concat(l(Jx(s/g)*g,c,g).map(d)).concat(l(Jx(r/v)*v,e,v).filter(function(t){return Wx(t%y)>Fx}).map(f)).concat(l(Jx(a/_)*_,u,_).filter(function(t){return Wx(t%g)>Fx}).map(h))}var e,r,i,o,u,a,c,s,f,h,p,d,v=10,_=v,y=90,g=360,m=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[p(o).concat(d(c).slice(1),p(i).reverse().slice(1),d(s).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.extentMinor()},t.extentMajor=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],s=+n[0][1],c=+n[1][1],o>i&&(n=o,o=i,i=n),s>c&&(n=s,s=c,c=n),t.precision(m)):[[o,s],[i,c]]},t.extentMinor=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],a=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),a>u&&(n=a,a=u,u=n),t.precision(m)):[[r,a],[e,u]]},t.step=function(n){return arguments.length?t.stepMajor(n).stepMinor(n):t.stepMinor()},t.stepMajor=function(n){return arguments.length?(y=+n[0],g=+n[1],t):[y,g]},t.stepMinor=function(n){return arguments.length?(v=+n[0],_=+n[1],t):[v,_]},t.precision=function(n){return arguments.length?(m=+n,f=ep(a,u,90),h=rp(r,e,m),p=ep(s,c,90),d=rp(o,i,m),t):m},t.extentMajor([[-180,-90+Fx],[180,90-Fx]]).extentMinor([[-180,-80-Fx],[180,80+Fx]])}function op(t,n){var e=t[0]*Vx,r=t[1]*Vx,i=n[0]*Vx,o=n[1]*Vx,u=Gx(r),a=nb(r),c=Gx(o),s=nb(o),f=u*Gx(e),l=u*nb(e),h=c*Gx(i),p=c*nb(i),d=2*Hl(rb(Xl(o-r)+u*c*Xl(i-e))),v=nb(d),_=d?function(t){var n=nb(t*=d)/v,e=nb(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*a+n*s;return[Zx(i,r)*Xx,Zx(o,rb(r*r+i*i))*Xx]}:function(){return[e*Xx,r*Xx]};return _.distance=d,_}function up(t){return t}function ap(){Ab.point=cp}function cp(t,n){Ab.point=sp,db=_b=t,vb=yb=n}function sp(t,n){Eb.add(yb*t-_b*n),_b=t,yb=n}function fp(){sp(db,vb)}function lp(t,n){t<Cb&&(Cb=t),t>Pb&&(Pb=t),n<zb&&(zb=n),n>Lb&&(Lb=n)}function hp(t,n){Ub+=t,Rb+=n,++Db}function pp(){Hb.point=dp}function dp(t,n){Hb.point=vp,hp(xb=t,bb=n)}function vp(t,n){var e=t-xb,r=n-bb,i=rb(e*e+r*r);Ob+=i*(xb+t)/2,Fb+=i*(bb+n)/2,Ib+=i,hp(xb=t,bb=n)}function _p(){Hb.point=hp}function yp(){Hb.point=mp}function gp(){xp(gb,mb)}function mp(t,n){Hb.point=xp,hp(gb=xb=t,mb=bb=n)}function xp(t,n){var e=t-xb,r=n-bb,i=rb(e*e+r*r);Ob+=i*(xb+t)/2,Fb+=i*(bb+n)/2,Ib+=i,i=bb*t-xb*n,Yb+=i*(xb+t),Bb+=i*(bb+n),jb+=3*i,hp(xb=t,bb=n)}function bp(t){function n(n,e){t.moveTo(n+u,e),t.arc(n,e,u,0,Hx)}function e(n,e){t.moveTo(n,e),a.point=r}function r(n,e){t.lineTo(n,e)}function i(){a.point=n}function o(){t.closePath()}var u=4.5,a={point:n,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=o},polygonEnd:function(){a.lineEnd=i,a.point=n},pointRadius:function(t){return u=t,a},result:Vl};return a}function wp(){function t(t,n){a.push("M",t,",",n,u)}function n(t,n){a.push("M",t,",",n),c.point=e}function e(t,n){a.push("L",t,",",n)}function r(){c.point=n}function i(){c.point=t}function o(){a.push("Z")}var u=Mp(4.5),a=[],c={point:t,lineStart:r,lineEnd:i,polygonStart:function(){c.lineEnd=o},polygonEnd:function(){c.lineEnd=i,c.point=t},pointRadius:function(t){return u=Mp(t),c},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return c}function Mp(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Tp(){function t(t){return t&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),Gl(t,e(i))),i.result()}var n,e,r,i,o=4.5;return t.area=function(t){return Gl(t,e(Ab)),Ab.result()},t.bounds=function(t){return Gl(t,e(qb)),qb.result()},t.centroid=function(t){return Gl(t,e(Hb)),Hb.result()},t.projection=function(r){return arguments.length?(e=null==(n=r)?up:r.stream,t):n},t.context=function(n){return arguments.length?(i=null==(r=n)?new wp:new bp(n),"function"!=typeof o&&i.pointRadius(o),t):r},t.pointRadius=function(n){return arguments.length?(o="function"==typeof n?n:(i.pointRadius(+n),+n),t):o},t.projection(null).context(null)}function kp(t,n){for(var e=n[0],r=n[1],i=[nb(e),-Gx(e),0],o=0,u=0,a=0,c=t.length;a<c;++a)if(f=(s=t[a]).length)for(var s,f,l=s[f-1],h=l[0],p=l[1]/2+jx,d=nb(p),v=Gx(p),_=0;_<f;++_,h=g,d=x,v=b,l=y){var y=s[_],g=y[0],m=y[1]/2+jx,x=nb(m),b=Gx(m),w=g-h,M=w>=0?1:-1,T=M*w,k=T>Yx,N=d*x;if(Xb.add(Zx(N*M*nb(T),v*b+N*Gx(T))),o+=k?w+M*Hx:w,k^h>=e^g>=e){var S=oh(rh(l),rh(y));ch(S);var E=oh(i,S);ch(E);var A=(k^w>=0?-1:1)*Hl(E[2]);(r>A||r===A&&(S[0]||S[1]))&&(u+=k^w>=0?1:-1)}}var C=(o<-Fx||o<Fx&&Xb<-Fx)^1&u;return Xb.reset(),C}function Np(t,n,e,r){return function(i,o){function u(n,e){var r=i(n,e);t(n=r[0],e=r[1])&&o.point(n,e)}function a(t,n){var e=i(t,n);_.point(e[0],e[1])}function c(){b.point=a,_.lineStart()}function s(){b.point=u,_.lineEnd()}function f(t,n){v.push([t,n]);var e=i(t,n);m.point(e[0],e[1])}function l(){m.lineStart(),v=[]}function h(){f(v[0][0],v[0][1]),m.lineEnd();var t,n,e,r,i=m.clean(),u=g.result(),a=u.length;if(v.pop(),p.push(v),v=null,a)if(1&i){if(e=u[0],(n=e.length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart(),t=0;t<n;++t)o.point((r=e[t])[0],r[1]);o.lineEnd()}}else a>1&&2&i&&u.push(u.pop().concat(u.shift())),d.push(u.filter(Sp))}var p,d,v,_=n(o),y=i.invert(r[0],r[1]),g=Bh(),m=n(g),x=!1,b={point:u,lineStart:c,lineEnd:s,polygonStart:function(){b.point=f,b.lineStart=l,b.lineEnd=h,d=[],p=[]},polygonEnd:function(){b.point=u,b.lineStart=c,b.lineEnd=s,d=w(d);var t=kp(p,y);d.length?(x||(o.polygonStart(),x=!0),Vh(d,Ep,t,e,o)):t&&(x||(o.polygonStart(),x=!0),o.lineStart(),e(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),d=p=null},sphere:function(){o.polygonStart(),o.lineStart(),e(null,null,1,o),o.lineEnd(),o.polygonEnd()}};return b}}function Sp(t){return t.length>1}function Ep(t,n){return((t=t.x)[0]<0?t[1]-Bx-Fx:Bx-t[1])-((n=n.x)[0]<0?n[1]-Bx-Fx:Bx-n[1])}function Ap(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,u){var a=o>0?Yx:-Yx,c=Wx(o-e);Wx(c-Yx)<Fx?(t.point(e,r=(r+u)/2>0?Bx:-Bx),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=0):i!==a&&c>=Yx&&(Wx(e-i)<Fx&&(e-=i*Fx),Wx(o-a)<Fx&&(o-=a*Fx),r=Cp(e,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),n=0),t.point(e=o,r=u),i=a},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}function Cp(t,n,e,r){var i,o,u=nb(t-e);return Wx(u)>Fx?$x((nb(n)*(o=Gx(r))*nb(e)-nb(r)*(i=Gx(n))*nb(t))/(i*o*u)):(n+r)/2}function zp(t,n,e,r){var i;if(null==t)i=e*Bx,r.point(-Yx,i),r.point(0,i),r.point(Yx,i),r.point(Yx,0),r.point(Yx,-i),r.point(0,-i),r.point(-Yx,-i),r.point(-Yx,0),r.point(-Yx,i);else if(Wx(t[0]-n[0])>Fx){var o=t[0]<n[0]?Yx:-Yx;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}function Pp(t,n){function e(e,r,i,o){Fh(o,t,n,i,e,r)}function r(t,n){return Gx(t)*Gx(n)>a}function i(t){var n,e,i,a,f;return{lineStart:function(){a=i=!1,f=1},point:function(l,h){var p,d=[l,h],v=r(l,h),_=c?v?0:u(l,h):v?u(l+(l<0?Yx:-Yx),h):0;if(!n&&(a=i=v)&&t.lineStart(),v!==i&&(p=o(n,d),(Hh(n,p)||Hh(d,p))&&(d[0]+=Fx,d[1]+=Fx,v=r(d[0],d[1]))),v!==i)f=0,v?(t.lineStart(),p=o(d,n),t.point(p[0],p[1])):(p=o(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(s&&n&&c^v){var y;_&e||!(y=o(d,n,!0))||(f=0,c?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!v||n&&Hh(n,d)||t.point(d[0],d[1]),n=d,i=v,e=_},lineEnd:function(){i&&t.lineEnd(),n=null},clean:function(){return f|(a&&i)<<1}}}function o(t,n,e){var r=rh(t),i=rh(n),o=[1,0,0],u=oh(r,i),c=ih(u,u),s=u[0],f=c-s*s;if(!f)return!e&&t;var l=a*c/f,h=-a*s/f,p=oh(o,u),d=ah(o,l),v=ah(u,h);uh(d,v);var _=p,y=ih(d,_),g=ih(_,_),m=y*y-g*(ih(d,d)-1);if(!(m<0)){var x=rb(m),b=ah(_,(-y-x)/g);if(uh(b,d),b=eh(b),!e)return b;var w,M=t[0],T=n[0],k=t[1],N=n[1];T<M&&(w=M,M=T,T=w);var S=T-M,E=Wx(S-Yx)<Fx,A=E||S<Fx;if(!E&&N<k&&(w=k,k=N,N=w),A?E?k+N>0^b[1]<(Wx(b[0]-M)<Fx?k:N):k<=b[1]&&b[1]<=N:S>Yx^(M<=b[0]&&b[0]<=T)){var C=ah(_,(-y+x)/g);return uh(C,d),[b,eh(C)]}}}function u(n,e){var r=c?t:Yx-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var a=Gx(t),c=a>0,s=Wx(a)>Fx;return Np(r,i,e,c?[0,-t]:[-Yx,t-Yx])}function Lp(t){return{stream:qp(t)}}function qp(t){function n(){}var e=n.prototype=Object.create(Up.prototype);for(var r in t)e[r]=t[r];return function(t){var e=new n;return e.stream=t,e}}function Up(){}function Rp(t,n){return+n?Op(t,n):Dp(t)}function Dp(t){return qp({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}function Op(t,n){function e(r,i,o,u,a,c,s,f,l,h,p,d,v,_){var y=s-r,g=f-i,m=y*y+g*g;if(m>4*n&&v--){var x=u+h,b=a+p,w=c+d,M=rb(x*x+b*b+w*w),T=Hl(w/=M),k=Wx(Wx(w)-1)<Fx||Wx(o-l)<Fx?(o+l)/2:Zx(b,x),N=t(k,T),S=N[0],E=N[1],A=S-r,C=E-i,z=g*A-y*C;(z*z/m>n||Wx((y*A+g*C)/m-.5)>.3||u*h+a*p+c*d<$b)&&(e(r,i,o,u,a,c,S,E,k,x/=M,b/=M,w,v,_),_.point(S,E),e(S,E,k,x,b,w,s,f,l,h,p,d,v,_))}}return function(n){function r(e,r){e=t(e,r),n.point(e[0],e[1])}function i(){y=NaN,w.point=o,n.lineStart()}function o(r,i){var o=rh([r,i]),u=t(r,i);e(y,g,_,m,x,b,y=u[0],g=u[1],_=r,m=o[0],x=o[1],b=o[2],Wb,n),n.point(y,g)}function u(){w.point=r,n.lineEnd()}function a(){i(),w.point=c,w.lineEnd=s}function c(t,n){o(f=t,n),l=y,h=g,p=m,d=x,v=b,w.point=o}function s(){e(y,g,_,m,x,b,l,h,f,p,d,v,Wb,n),w.lineEnd=u,u()}var f,l,h,p,d,v,_,y,g,m,x,b,w={point:r,lineStart:i,lineEnd:u,polygonStart:function(){n.polygonStart(),w.lineStart=a},polygonEnd:function(){n.polygonEnd(),w.lineStart=i}};return w}}function Fp(t){return Ip(function(){return t})()}function Ip(t){function n(t){return t=f(t[0]*Vx,t[1]*Vx),[t[0]*_+a,c-t[1]*_]}function e(t){return t=f.invert((t[0]-a)/_,(c-t[1])/_),t&&[t[0]*Xx,t[1]*Xx]}function r(t,n){return t=u(t,n),[t[0]*_+a,c-t[1]*_]}function i(){f=Ph(s=qh(b,w,M),u);var t=u(m,x);return a=y-t[0]*_,c=g+t[1]*_,o()}function o(){return d=v=null,n}var u,a,c,s,f,l,h,p,d,v,_=150,y=480,g=250,m=0,x=0,b=0,w=0,M=0,T=null,k=Vb,N=null,S=up,E=.5,A=Rp(r,E);return n.stream=function(t){return d&&v===t?d:d=Zb(k(s,A(S(v=t))))},n.clipAngle=function(t){return arguments.length?(k=+t?Pp(T=t*Vx,6*Vx):(T=null,Vb),o()):T*Xx},n.clipExtent=function(t){return arguments.length?(S=null==t?(N=l=h=p=null,up):$h(N=+t[0][0],l=+t[0][1],h=+t[1][0],p=+t[1][1]),o()):null==N?null:[[N,l],[h,p]]},n.scale=function(t){return arguments.length?(_=+t,i()):_},n.translate=function(t){return arguments.length?(y=+t[0],g=+t[1],i()):[y,g]},n.center=function(t){return arguments.length?(m=t[0]%360*Vx,x=t[1]%360*Vx,i()):[m*Xx,x*Xx]},n.rotate=function(t){return arguments.length?(b=t[0]%360*Vx,w=t[1]%360*Vx,M=t.length>2?t[2]%360*Vx:0,i()):[b*Xx,w*Xx,M*Xx]},n.precision=function(t){return arguments.length?(A=Rp(r,E=t*t),o()):rb(E)},function(){return u=t.apply(this,arguments),n.invert=u.invert&&e,i()}}function Yp(t){var n=0,e=Yx/3,r=Ip(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Vx,e=t[1]*Vx):[n*Xx,e*Xx]},i}function Bp(t,n){function e(t,n){var e=rb(o-2*i*nb(n))/i;return[e*nb(t*=i),u-e*Gx(t)]}var r=nb(t),i=(r+nb(n))/2,o=1+r*(2*i-r),u=rb(o)/i;return e.invert=function(t,n){var e=u-n;return[Zx(t,e)/i,Hl((o-(t*t+e*e)*i*i)/(2*i))]},e}function jp(){return Yp(Bp).scale(151).translate([480,347])}function Hp(){return jp().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Xp(t){var n=t.length;return{point:function(e,r){for(var i=-1;++i<n;)t[i].point(e,r)},sphere:function(){for(var e=-1;++e<n;)t[e].sphere()},lineStart:function(){for(var e=-1;++e<n;)t[e].lineStart()},lineEnd:function(){for(var e=-1;++e<n;)t[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<n;)t[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<n;)t[e].polygonEnd()}}}function Vp(){function t(t){var n=t[0],e=t[1];return u=null,r.point(n,e),u||(i.point(n,e),u)||(o.point(n,e),u)}var n,e,r,i,o,u,a=Hp(),c=jp().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=jp().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,n){u=[t,n]}};return t.invert=function(t){var n=a.scale(),e=a.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?c:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:a).invert(t)},t.stream=function(t){return n&&e===t?n:n=Xp([a.stream(e=t),c.stream(t),s.stream(t)])},t.precision=function(n){return arguments.length?(a.precision(n),c.precision(n),s.precision(n),t):a.precision()},t.scale=function(n){return arguments.length?(a.scale(n),c.scale(.35*n),s.scale(n),t.translate(a.translate())):a.scale()},t.translate=function(n){if(!arguments.length)return a.translate();var e=a.scale(),u=+n[0],l=+n[1];return r=a.translate(n).clipExtent([[u-.455*e,l-.238*e],[u+.455*e,l+.238*e]]).stream(f),i=c.translate([u-.307*e,l+.201*e]).clipExtent([[u-.425*e+Fx,l+.12*e+Fx],[u-.214*e-Fx,l+.234*e-Fx]]).stream(f),o=s.translate([u-.205*e,l+.212*e]).clipExtent([[u-.214*e+Fx,l+.166*e+Fx],[u-.115*e-Fx,l+.234*e-Fx]]).stream(f),t},t.scale(1070)}function Wp(t){return function(n,e){var r=Gx(n),i=Gx(e),o=t(r*i);return[o*i*nb(n),o*nb(e)]}}function $p(t){return function(n,e){var r=rb(n*n+e*e),i=t(r),o=nb(i),u=Gx(i);return[Zx(n*o,r*u),Hl(r&&e*o/r)]}}function Zp(){return Fp(Gb).scale(120).clipAngle(179.999)}function Gp(){return Fp(Jb).scale(480/Hx).clipAngle(179.999)}function Jp(t,n){return[t,Kx(ib((Bx+n)/2))]}function Qp(){return Kp(Jp)}function Kp(t){var n,e=Fp(t),r=e.scale,i=e.translate,o=e.clipExtent;return e.scale=function(t){return arguments.length?(r(t),n&&e.clipExtent(null),e):r()},e.translate=function(t){return arguments.length?(i(t),n&&e.clipExtent(null),e):i()},e.clipExtent=function(t){if(!arguments.length)return n?null:o();if(n=null==t){var u=Yx*r(),a=i();t=[[a[0]-u,a[1]-u],[a[0]+u,a[1]+u]]}return o(t),e},e.clipExtent(null).scale(961/Hx)}function td(t){return ib((Bx+t)/2)}function nd(t,n){function e(t,n){o>0?n<-Bx+Fx&&(n=-Bx+Fx):n>Bx-Fx&&(n=Bx-Fx);var e=o/tb(td(n),i);return[e*nb(i*t),o-e*Gx(i*t)]}var r=Gx(t),i=t===n?nb(t):Kx(r/Gx(n))/Kx(td(n)/td(t)),o=r*tb(td(t),i)/i;return i?(e.invert=function(t,n){var e=o-n,r=eb(i)*rb(t*t+e*e);return[Zx(t,e)/i,2*$x(tb(o/r,1/i))-Bx]},e):Jp}function ed(){return Yp(nd)}function rd(t,n){return[t,n]}function id(){return Fp(rd).scale(480/Yx)}function od(t,n){function e(t,n){var e=o-n,r=i*t;return[e*nb(r),o-e*Gx(r)]}var r=Gx(t),i=t===n?nb(t):(r-Gx(n))/(n-t),o=r/i+t;return Wx(i)<Fx?rd:(e.invert=function(t,n){var e=o-n;return[Zx(t,e)/i,o-eb(i)*rb(t*t+e*e)]},e)}function ud(){return Yp(od).scale(128).translate([480,280])}function ad(t,n){var e=Gx(n),r=Gx(t)*e;return[e*nb(t)/r,nb(n)/r]}function cd(){return Fp(ad).scale(139).clipAngle(60)}function sd(t,n){return[Gx(n)*nb(t),nb(n)]}function fd(){return Fp(sd).scale(240).clipAngle(90+Fx)}function ld(t,n){var e=Gx(n),r=1+Gx(t)*e;return[e*nb(t)/r,nb(n)/r]}function hd(){return Fp(ld).scale(240).clipAngle(142)}function pd(t,n){return[Kx(ib((Bx+n)/2)),-t]}function dd(){var t=Kp(pd),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90])}var vd="4.0.0",_d=e(n),yd=_d.right,gd=_d.left,md=Array.prototype,xd=md.slice,bd=md.map,wd=Math.sqrt(50),Md=Math.sqrt(10),Td=Math.sqrt(2),kd="$";P.prototype=L.prototype={constructor:P,has:function(t){return kd+t in this},get:function(t){return this[kd+t]},set:function(t,n){return this[kd+t]=n,this},remove:function(t){var n=kd+t;return n in this&&delete this[n]},clear:function(){for(var t in this)t[0]===kd&&delete this[t]},keys:function(){var t=[];for(var n in this)n[0]===kd&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)n[0]===kd&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)n[0]===kd&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)n[0]===kd&&++t;return t},empty:function(){for(var t in this)if(t[0]===kd)return!1;return!0},each:function(t){for(var n in this)n[0]===kd&&t(this[n],n.slice(1),this)}};var Nd=L.prototype;F.prototype=I.prototype={constructor:F,has:Nd.has,add:function(t){return t+="",this[kd+t]=t,this},remove:Nd.remove,clear:Nd.clear,values:Nd.keys,size:Nd.size,empty:Nd.empty,each:Nd.each};var Sd=3,Ed=function Qb(t){function n(n){return Math.pow(n,t)}return t=+t,n.exponent=Qb,n}(Sd),Ad=function Kb(t){function n(n){return 1-Math.pow(1-n,t)}return t=+t,n.exponent=Kb,n}(Sd),Cd=function tw(t){function n(n){return((n*=2)<=1?Math.pow(n,t):2-Math.pow(2-n,t))/2}return t=+t,n.exponent=tw,n}(Sd),zd=Math.PI,Pd=zd/2,Ld=4/11,qd=6/11,Ud=8/11,Rd=.75,Dd=9/11,Od=10/11,Fd=.9375,Id=21/22,Yd=63/64,Bd=1/Ld/Ld,jd=1.70158,Hd=function nw(t){function n(n){return n*n*((t+1)*n-t)}return t=+t,n.overshoot=nw,n}(jd),Xd=function ew(t){function n(n){return--n*n*((t+1)*n+t)+1}return t=+t,n.overshoot=ew,n}(jd),Vd=function rw(t){function n(n){return((n*=2)<1?n*n*((t+1)*n-t):(n-=2)*n*((t+1)*n+t)+2)/2}return t=+t,n.overshoot=rw,n}(jd),Wd=2*Math.PI,$d=1,Zd=.3,Gd=function iw(t,n){function e(e){return t*Math.pow(2,10*--e)*Math.sin((r-e)/n)}var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Wd);return e.amplitude=function(t){return iw(t,n*Wd)},e.period=function(n){return iw(t,n)},e}($d,Zd),Jd=function ow(t,n){function e(e){return 1-t*Math.pow(2,-10*(e=+e))*Math.sin((e+r)/n)}var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Wd);return e.amplitude=function(t){return ow(t,n*Wd)},e.period=function(n){return ow(t,n)},e}($d,Zd),Qd=function uw(t,n){function e(e){return((e=2*e-1)<0?t*Math.pow(2,10*e)*Math.sin((r-e)/n):2-t*Math.pow(2,-10*e)*Math.sin((r+e)/n))/2}var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Wd);return e.amplitude=function(t){return uw(t,n*Wd)},e.period=function(n){return uw(t,n)},e}($d,Zd),Kd=Math.PI,tv=2*Kd,nv=1e-6,ev=tv-nv;Mt.prototype=Tt.prototype={constructor:Mt,moveTo:function(t,n){this._.push("M",this._x0=this._x1=+t,",",this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._.push("Z"))},lineTo:function(t,n){this._.push("L",this._x1=+t,",",this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._.push("Q",+t,",",+n,",",this._x1=+e,",",this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._.push("C",+t,",",+n,",",+e,",",+r,",",this._x1=+i,",",this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,u=this._y1,a=e-t,c=r-n,s=o-t,f=u-n,l=s*s+f*f;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._.push("M",this._x1=t,",",this._y1=n);else if(l>nv)if(Math.abs(f*a-c*s)>nv&&i){var h=e-o,p=r-u,d=a*a+c*c,v=h*h+p*p,_=Math.sqrt(d),y=Math.sqrt(l),g=i*Math.tan((Kd-Math.acos((d+l-v)/(2*_*y)))/2),m=g/y,x=g/_;Math.abs(m-1)>nv&&this._.push("L",t+m*s,",",n+m*f),this._.push("A",i,",",i,",0,0,",+(f*h>s*p),",",this._x1=t+x*a,",",this._y1=n+x*c)}else this._.push("L",this._x1=t,",",this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,e=+e;var u=e*Math.cos(r),a=e*Math.sin(r),c=t+u,s=n+a,f=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._.push("M",c,",",s):(Math.abs(this._x1-c)>nv||Math.abs(this._y1-s)>nv)&&this._.push("L",c,",",s),e&&(l>ev?this._.push("A",e,",",e,",0,1,",f,",",t-u,",",n-a,"A",e,",",e,",0,1,",f,",",this._x1=c,",",this._y1=s):(l<0&&(l=l%tv+tv),this._.push("A",e,",",e,",0,",+(l>=Kd),",",f,",",this._x1=t+e*Math.cos(i),",",this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._.push("M",this._x0=this._x1=+t,",",this._y0=this._y1=+n,"h",+e,"v",+r,"h",-e,"Z")},toString:function(){return this._.join("")}};var rv=jt.prototype=Ht.prototype;rv.copy=function(){var t,n,e=new Ht(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=Xt(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=Xt(n));return e},rv.add=kt,rv.addAll=St,rv.cover=Et,rv.data=At,rv.extent=Ct,rv.find=Pt,rv.remove=Lt,rv.removeAll=qt,rv.root=Ut,rv.size=Rt,rv.visit=Dt,rv.visitAfter=Ot,rv.x=It,rv.y=Bt;var iv=[].slice,ov={};Vt.prototype=Qt.prototype={constructor:Vt,defer:function(t){if("function"!=typeof t||this._call)throw new Error;if(null!=this._error)return this;var n=iv.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),Wt(this),this},abort:function(){return null==this._error&&Gt(this,new Error("abort")),this},await:function(t){if("function"!=typeof t||this._call)throw new Error;return this._call=function(n,e){t.apply(null,[n].concat(e))},Jt(this),this},awaitAll:function(t){if("function"!=typeof t||this._call)throw new Error;return this._call=t,Jt(this),this}};var uv=1e-12,av=Math.PI,cv=av/2,sv=2*av;fn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var fv=xn(ln);mn.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var lv={draw:function(t,n){var e=Math.sqrt(n/av);t.moveTo(e,0),t.arc(0,0,e,0,sv)}},hv={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},pv=Math.sqrt(1/3),dv=2*pv,vv={draw:function(t,n){var e=Math.sqrt(n/dv),r=e*pv;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},_v=.8908130915292852,yv=Math.sin(av/10)/Math.sin(7*av/10),gv=Math.sin(sv/10)*yv,mv=-Math.cos(sv/10)*yv,xv={draw:function(t,n){var e=Math.sqrt(n*_v),r=gv*e,i=mv*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=sv*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},bv={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},wv=Math.sqrt(3),Mv={draw:function(t,n){var e=-Math.sqrt(n/(3*wv));t.moveTo(0,2*e),t.lineTo(-wv*e,-e),t.lineTo(wv*e,-e),t.closePath()}},Tv=-.5,kv=Math.sqrt(3)/2,Nv=1/Math.sqrt(12),Sv=3*(Nv/2+1),Ev={draw:function(t,n){var e=Math.sqrt(n/Sv),r=e/2,i=e*Nv,o=r,u=e*Nv+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(Tv*r-kv*i,kv*r+Tv*i),t.lineTo(Tv*o-kv*u,kv*o+Tv*u),t.lineTo(Tv*a-kv*c,kv*a+Tv*c),t.lineTo(Tv*r+kv*i,Tv*i-kv*r),t.lineTo(Tv*o+kv*u,Tv*u-kv*o),t.lineTo(Tv*a+kv*c,Tv*c-kv*a),t.closePath()}},Av=[lv,hv,vv,bv,xv,Mv,Ev];Sn.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:Nn(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,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);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:Nn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},An.prototype={areaStart:kn,areaEnd:kn,
+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,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Nn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},zn.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,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Nn(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Ln.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Cv=function aw(t){function n(n){return 1===t?new Sn(n):new Ln(n,t)}return n.beta=function(t){return aw(+t)},n}(.85);Un.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:qn(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:qn(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var zv=function cw(t){function n(n){return new Un(n,t)}return n.tension=function(t){return cw(+t)},n}(0);Rn.prototype={areaStart:kn,areaEnd:kn,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,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:qn(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Pv=function sw(t){function n(n){return new Rn(n,t)}return n.tension=function(t){return sw(+t)},n}(0);Dn.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,n){switch(t=+t,n=+n,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:qn(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Lv=function fw(t){function n(n){return new Dn(n,t)}return n.tension=function(t){return fw(+t)},n}(0);Fn.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,this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:On(this,t,n)}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=n}};var qv=function lw(t){function n(n){return t?new Fn(n,t):new Un(n,0)}return n.alpha=function(t){return lw(+t)},n}(.5);In.prototype={areaStart:kn,areaEnd:kn,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,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:On(this,t,n)}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=n}};var Uv=function hw(t){function n(n){return t?new In(n,t):new Rn(n,0)}return n.alpha=function(t){return hw(+t)},n}(.5);Yn.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,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+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:On(this,t,n)}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=n}};var Rv=function pw(t){function n(n){return t?new Yn(n,t):new Dn(n,0)}return n.alpha=function(t){return pw(+t)},n}(.5);Bn.prototype={areaStart:kn,areaEnd:kn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},$n.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Wn(this,this._t0,Vn(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(t=+t,n=+n,t!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,Wn(this,Vn(this,e=Xn(this,t,n)),e);break;default:Wn(this,this._t0,e=Xn(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(Zn.prototype=Object.create($n.prototype)).point=function(t,n){$n.prototype.point.call(this,n,t)},Gn.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},Kn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=te(t),i=te(n),o=0,u=1;u<e;++o,++u)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},ee.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var Dv=Array.prototype.slice,Ov=.7,Fv=1/Ov,Iv=/^#([0-9a-f]{3})$/,Yv=/^#([0-9a-f]{6})$/,Bv=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,jv=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,Hv=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,Xv=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,Vv=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,Wv=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,$v={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ge(xe,be,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),ge(Ne,ke,me(xe,{brighter:function(t){return t=null==t?Fv:Math.pow(Fv,t),new Ne(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?Ov:Math.pow(Ov,t),new Ne(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(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+")")}})),ge(Ce,Ae,me(xe,{brighter:function(t){return t=null==t?Fv:Math.pow(Fv,t),new Ce(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Ov:Math.pow(Ov,t),new Ce(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new Ne(ze(t>=240?t-240:t+120,i,r),ze(t,i,r),ze(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}}));var Zv=Math.PI/180,Gv=180/Math.PI,Jv=18,Qv=.95047,Kv=1,t_=1.08883,n_=4/29,e_=6/29,r_=3*e_*e_,i_=e_*e_*e_;ge(qe,Le,me(xe,{brighter:function(t){return new qe(this.l+Jv*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new qe(this.l-Jv*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return t=Kv*Re(t),n=Qv*Re(n),e=t_*Re(e),new Ne(De(3.2404542*n-1.5371385*t-.4985314*e),De(-.969266*n+1.8760108*t+.041556*e),De(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),ge(Ye,Ie,me(xe,{brighter:function(t){return new Ye(this.h,this.c,this.l+Jv*(null==t?1:t),this.opacity)},darker:function(t){return new Ye(this.h,this.c,this.l-Jv*(null==t?1:t),this.opacity)},rgb:function(){return Pe(this).rgb()}}));var o_=-.14861,u_=1.78277,a_=-.29227,c_=-.90649,s_=1.97294,f_=s_*c_,l_=s_*u_,h_=u_*a_-c_*o_;ge(He,je,me(xe,{brighter:function(t){return t=null==t?Fv:Math.pow(Fv,t),new He(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Ov:Math.pow(Ov,t),new He(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Zv,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Ne(255*(n+e*(o_*r+u_*i)),255*(n+e*(a_*r+c_*i)),255*(n+e*(s_*r)),this.opacity)}}));var p_,d_,v_,__,y_=function dw(t){function n(t,n){var r=e((t=ke(t)).r,(n=ke(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=e(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}var e=Qe(t);return n.gamma=dw,n}(1),g_=tr(Ve),m_=tr(We),x_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,b_=new RegExp(x_.source,"g"),w_=180/Math.PI,M_={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},T_=hr(fr,"px, ","px)","deg)"),k_=hr(lr,", ",")",")"),N_=Math.SQRT2,S_=2,E_=4,A_=1e-12,C_=yr(Je),z_=yr(Ke),P_=mr(Je),L_=mr(Ke),q_=xr(Je),U_=xr(Ke),R_={value:function(){}};Mr.prototype=wr.prototype={constructor:Mr,on:function(t,n){var e,r=this._,i=Tr(t+"",r),o=-1,u=i.length;{if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=Nr(r[e],t.name,n);else if(null==n)for(e in r)r[e]=Nr(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=kr(r[e],t.name)))return e}},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Mr(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(r=this._[t],o=0,e=r.length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var D_,O_,F_=Cr(","),I_=F_.parse,Y_=F_.parseRows,B_=F_.format,j_=F_.formatRows,H_=Cr("\t"),X_=H_.parse,V_=H_.parseRows,W_=H_.format,$_=H_.formatRows,Z_=qr("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),G_=qr("application/json",function(t){return JSON.parse(t.responseText)}),J_=qr("text/plain",function(t){return t.responseText}),Q_=qr("application/xml",function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n}),K_=Ur("text/csv",I_),ty=Ur("text/tab-separated-values",X_),ny=0,ey=0,ry=0,iy=1e3,oy=0,uy=0,ay=0,cy="object"==typeof performance?performance:Date,sy="function"==typeof requestAnimationFrame?cy===Date?function(t){requestAnimationFrame(function(){t(cy.now())})}:requestAnimationFrame:function(t){setTimeout(t,17)};Fr.prototype=Ir.prototype={constructor:Fr,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Dr():+e)+(null==n?0:+n),this._next||O_===this||(O_?O_._next=this:D_=this,O_=this),this._call=t,this._time=e,Xr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Xr())}};var fy=new Date,ly=new Date,hy=$r(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});hy.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?$r(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):hy:null};var py=hy.range,dy=1e3,vy=6e4,_y=36e5,yy=864e5,gy=6048e5,my=$r(function(t){t.setTime(Math.floor(t/dy)*dy)},function(t,n){t.setTime(+t+n*dy)},function(t,n){return(n-t)/dy},function(t){return t.getUTCSeconds()}),xy=my.range,by=$r(function(t){t.setTime(Math.floor(t/vy)*vy)},function(t,n){t.setTime(+t+n*vy)},function(t,n){return(n-t)/vy},function(t){return t.getMinutes()}),wy=by.range,My=$r(function(t){var n=t.getTimezoneOffset()*vy%_y;n<0&&(n+=_y),t.setTime(Math.floor((+t-n)/_y)*_y+n)},function(t,n){t.setTime(+t+n*_y)},function(t,n){return(n-t)/_y},function(t){return t.getHours()}),Ty=My.range,ky=$r(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*vy)/yy},function(t){return t.getDate()-1}),Ny=ky.range,Sy=Zr(0),Ey=Zr(1),Ay=Zr(2),Cy=Zr(3),zy=Zr(4),Py=Zr(5),Ly=Zr(6),qy=Sy.range,Uy=Ey.range,Ry=Ay.range,Dy=Cy.range,Oy=zy.range,Fy=Py.range,Iy=Ly.range,Yy=$r(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),By=Yy.range,jy=$r(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});jy.every=function(t){return isFinite(t=Math.floor(t))&&t>0?$r(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var Hy=jy.range,Xy=$r(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*vy)},function(t,n){return(n-t)/vy},function(t){return t.getUTCMinutes()}),Vy=Xy.range,Wy=$r(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+n*_y)},function(t,n){return(n-t)/_y},function(t){return t.getUTCHours()}),$y=Wy.range,Zy=$r(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/yy},function(t){return t.getUTCDate()-1}),Gy=Zy.range,Jy=Gr(0),Qy=Gr(1),Ky=Gr(2),tg=Gr(3),ng=Gr(4),eg=Gr(5),rg=Gr(6),ig=Jy.range,og=Qy.range,ug=Ky.range,ag=tg.range,cg=ng.range,sg=eg.range,fg=rg.range,lg=$r(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),hg=lg.range,pg=$r(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});pg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?$r(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var dg,vg=pg.range,_g={"":ti,"%":function(t,n){return(100*t).toFixed(n)},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,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return ei(100*t,n)},r:ei,s:ni,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},yg=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;ii.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var gg,mg=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];t.format,t.formatPrefix,ai({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var xg,bg={"-":"",_:" ",0:"0"},wg=/^\s*\d+/,Mg=/^%/,Tg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;t.timeFormat,t.timeParse,t.utcFormat,t.utcParse,co({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"]});var kg="%Y-%m-%dT%H:%M:%S.%LZ",Ng=Date.prototype.toISOString?so:t.utcFormat(kg),Sg=+new Date("2000-01-01T00:00:00.000Z")?fo:t.utcParse(kg),Eg=Array.prototype,Ag=Eg.map,Cg=Eg.slice,zg={name:"implicit"},Pg=[0,1],Lg=1e3,qg=60*Lg,Ug=60*qg,Rg=24*Ug,Dg=7*Rg,Og=30*Rg,Fg=365*Rg,Ig=$o("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),Yg=$o("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),Bg=$o("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),jg=$o("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),Hg=U_(je(300,.5,0),je(-240,.5,1)),Xg=U_(je(-100,.75,.35),je(80,1.5,.8)),Vg=U_(je(260,.75,.35),je(80,1.5,.8)),Wg=je(),$g=Go($o("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Zg=Go($o("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Gg=Go($o("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Jg=Go($o("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),Qg="http://www.w3.org/1999/xhtml",Kg={svg:"http://www.w3.org/2000/svg",xhtml:Qg,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},tm=0;ru.prototype=eu.prototype={constructor:ru,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var nm=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var em=document.documentElement;if(!em.matches){var rm=em.webkitMatchesSelector||em.msMatchesSelector||em.mozMatchesSelector||em.oMatchesSelector;nm=function(t){return function(){return rm.call(this,t)}}}}var im=nm,om={};if(t.event=null,"undefined"!=typeof document){var um=document.documentElement;"onmouseenter"in um||(om={mouseenter:"mouseover",
+mouseleave:"mouseout"})}Mu.prototype={constructor:Mu,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var am="$";ra.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var cm=[null];Pa.prototype=La.prototype={constructor:Pa,select:_u,selectAll:mu,filter:xu,data:Su,enter:wu,exit:Eu,merge:Au,order:Cu,sort:zu,call:Lu,nodes:qu,node:Uu,size:Ru,empty:Du,each:Ou,attr:Xu,style:Gu,property:ta,classed:sa,text:pa,html:ya,raise:ma,lower:ba,append:wa,insert:Ta,remove:Na,datum:Sa,on:su,dispatch:za};var sm=wr("start","end","interrupt"),fm=[],lm=0,hm=1,pm=2,dm=3,vm=4,_m=5,ym=La.prototype.constructor,gm=0,mm=La.prototype;Uc.prototype=Rc.prototype={constructor:Uc,select:bc,selectAll:wc,filter:dc,merge:vc,selection:Mc,transition:qc,call:mm.call,nodes:mm.nodes,node:mm.node,size:mm.size,empty:mm.empty,each:mm.each,on:gc,attr:ec,attrTween:oc,style:Ec,styleTween:Cc,text:Lc,remove:xc,tween:Wa,delay:cc,duration:lc,ease:pc};var xm={time:null,delay:0,duration:250,ease:et};La.prototype.interrupt=Ha,La.prototype.transition=Fc;var bm=[null],wm=Array.prototype.slice,Mm=1,Tm=2,km=3,Nm=4,Sm=1e-6;bs.prototype=_s.prototype={constructor:bs,each:os,eachAfter:as,eachBefore:us,sum:cs,sort:ss,path:fs,ancestors:hs,descendants:ps,leaves:ds,links:vs,copy:ys};var Em="$",Am={depth:-1},Cm={};rf.prototype=Object.create(bs.prototype);var zm=(1+Math.sqrt(5))/2,Pm=function vw(t){function n(n,e,r,i,o){cf(t,n,e,r,i,o)}return n.ratio=function(t){return vw((t=+t)>1?t:1)},n}(zm),Lm=function _w(t){function n(n,e,r,i,o){if((u=n._squarify)&&u.ratio===t)for(var u,a,c,s,f,l=-1,h=u.length,p=n.value;++l<h;){for(a=u[l],c=a.children,s=a.value=0,f=c.length;s<f;++s)a.value+=c[s].value;a.dice?Vs(a,e,r,i,r+=(o-r)*a.value/p):af(a,e,r,e+=(i-e)*a.value/p,o),p-=a.value}else n._squarify=u=cf(t,n,e,r,i,o),u.ratio=t}return n.ratio=function(t){return _w((t=+t)>1?t:1)},n}(zm),qm=10,Um=Math.PI*(3-Math.sqrt(5));zf.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t},Ff.prototype={constructor:Ff,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=jf(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(Yf(this,e),t=e,e=t.U),e.C=!1,r.C=!0,Bf(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(Bf(this,e),t=e,e=t.U),e.C=!1,r.C=!0,Yf(this,r))),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,u=t.R;if(e=o?u?jf(u):o:u,i?i.L===t?i.L=e:i.R=e:this._=e,o&&u?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(n=i.R,n.C&&(n.C=!1,i.C=!0,Yf(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,Bf(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,Yf(this,i),t=this._;break}}else if(n=i.L,n.C&&(n.C=!1,i.C=!0,Bf(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,Yf(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,Bf(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var Rm,Dm,Om,Fm,Im,Ym=[],Bm=[],jm=1e-6,Hm=1e-12;dl.prototype={constructor:dl,polygons:function(){var t=this.edges;return this.cells.map(function(n){var e=n.halfedges.map(function(e){return Qf(n,t[e])});return e.data=n.site.data,e})},triangles:function(){var t=[],n=this.edges;return this.cells.forEach(function(e,r){for(var i,o=e.site,u=e.halfedges,a=-1,c=u.length,s=n[u[c-1]],f=s.left===o?s.right:s.left;++a<c;)i=f,s=n[u[a]],f=s.left===o?s.right:s.left,r<i.index&&r<f.index&&hl(o,i,f)<0&&t.push([o.data,i.data,f.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})}},gl.prototype={constructor:gl,scale:function(t){return 1===t?this:new gl(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new gl(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Xm=new gl(1,0,0);ml.prototype=gl.prototype;var Vm={name:"drag"},Wm={name:"space"},$m={name:"handle"},Zm={name:"center"},Gm={name:"x",handles:["e","w"].map(Cl),input:function(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Jm={name:"y",handles:["n","s"].map(Cl),input:function(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Qm={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(Cl),input:function(t){return t},output:function(t){return t}},Km={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"},tx={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},nx={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},ex={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},rx={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};Yl.prototype={constructor:Yl,reset:function(){this.s=this.t=0},add:function(t){Bl(Ox,t,this.t),Bl(this,Ox.s,this.s),this.s?this.t+=Ox.t:this.s=Ox.t},valueOf:function(){return this.s}};var ix,ox,ux,ax,cx,sx,fx,lx,hx,px,dx,vx,_x,yx,gx,mx,xx,bx,wx,Mx,Tx,kx,Nx,Sx,Ex,Ax,Cx,zx,Px,Lx,qx,Ux,Rx,Dx,Ox=new Yl,Fx=1e-6,Ix=1e-12,Yx=Math.PI,Bx=Yx/2,jx=Yx/4,Hx=2*Yx,Xx=180/Yx,Vx=Yx/180,Wx=Math.abs,$x=Math.atan,Zx=Math.atan2,Gx=Math.cos,Jx=Math.ceil,Qx=Math.exp,Kx=Math.log,tb=Math.pow,nb=Math.sin,eb=Math.sign||function(t){return t>0?1:t<0?-1:0},rb=Math.sqrt,ib=Math.tan,ob={Feature:function(t,n){Wl(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Wl(e[r].geometry,n)}},ub={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){$l(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)$l(e[r],n,0)},Polygon:function(t,n){Zl(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Zl(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Wl(e[r],n)}},ab={point:Vl,lineStart:Vl,lineEnd:Vl,polygonStart:function(){ix.reset(),ab.lineStart=Jl,ab.lineEnd=Ql},polygonEnd:function(){var t=+ix;ox.add(t<0?Hx+t:t),this.lineStart=this.lineEnd=this.point=Vl},sphere:function(){ox.add(Hx)}},cb={point:sh,lineStart:lh,lineEnd:hh,polygonStart:function(){cb.point=ph,cb.lineStart=dh,cb.lineEnd=vh,mx.reset(),ab.polygonStart()},polygonEnd:function(){ab.polygonEnd(),cb.point=sh,cb.lineStart=lh,cb.lineEnd=hh,ix<0?(lx=-(px=180),hx=-(dx=90)):mx>Fx?dx=90:mx<-Fx&&(hx=-90),bx[0]=lx,bx[1]=px}},sb={sphere:Vl,point:xh,lineStart:wh,lineEnd:kh,polygonStart:function(){sb.lineStart=Nh,sb.lineEnd=Sh},polygonEnd:function(){sb.lineStart=wh,sb.lineEnd=kh}};Lh.invert=Lh;var fb,lb,hb,pb,db,vb,_b,yb,gb,mb,xb,bb,wb=1e9,Mb=-wb,Tb={sphere:Vl,point:Vl,lineStart:Gh,lineEnd:Vl,polygonStart:Vl,polygonEnd:Vl},kb=[null,null],Nb={type:"LineString",coordinates:kb},Sb=Il(),Eb=Il(),Ab={point:Vl,lineStart:Vl,lineEnd:Vl,polygonStart:function(){Ab.lineStart=ap,Ab.lineEnd=fp},polygonEnd:function(){Ab.lineStart=Ab.lineEnd=Ab.point=Vl,Sb.add(Wx(Eb)),Eb.reset()},result:function(){var t=Sb/2;return Sb.reset(),t}},Cb=1/0,zb=Cb,Pb=-Cb,Lb=Pb,qb={point:lp,lineStart:Vl,lineEnd:Vl,polygonStart:Vl,polygonEnd:Vl,result:function(){var t=[[Cb,zb],[Pb,Lb]];return Pb=Lb=-(zb=Cb=1/0),t}},Ub=0,Rb=0,Db=0,Ob=0,Fb=0,Ib=0,Yb=0,Bb=0,jb=0,Hb={point:hp,lineStart:pp,lineEnd:_p,polygonStart:function(){Hb.lineStart=yp,Hb.lineEnd=gp},polygonEnd:function(){Hb.point=hp,Hb.lineStart=pp,Hb.lineEnd=_p},result:function(){var t=jb?[Yb/jb,Bb/jb]:Ib?[Ob/Ib,Fb/Ib]:Db?[Ub/Db,Rb/Db]:[NaN,NaN];return Ub=Rb=Db=Ob=Fb=Ib=Yb=Bb=jb=0,t}},Xb=Il(),Vb=Np(function(){return!0},Ap,zp,[-Yx,-Bx]);Up.prototype={point:function(t,n){this.stream.point(t,n)},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 Wb=16,$b=Gx(30*Vx),Zb=qp({point:function(t,n){this.stream.point(t*Vx,n*Vx)}}),Gb=Wp(function(t){return rb(2/(1+t))});Gb.invert=$p(function(t){return 2*Hl(t/2)});var Jb=Wp(function(t){return(t=jl(t))&&t/nb(t)});Jb.invert=$p(function(t){return t}),Jp.invert=function(t,n){return[t,2*$x(Qx(n))-Bx]},rd.invert=rd,ad.invert=$p($x),sd.invert=$p(Hl),ld.invert=$p(function(t){return 2+$x(t)}),pd.invert=function(t,n){return[-n,2*$x(Qx(t))-Bx]},t.version=vd,t.bisect=yd,t.bisectRight=yd,t.bisectLeft=gd,t.ascending=n,t.bisector=e,t.descending=i,t.deviation=a,t.extent=c,t.histogram=v,t.thresholdFreedmanDiaconis=y,t.thresholdScott=g,t.thresholdSturges=d,t.max=m,t.mean=x,t.median=b,t.merge=w,t.min=M,t.pairs=T,t.permute=k,t.quantile=_,t.range=l,t.scan=N,t.shuffle=S,t.sum=E,t.ticks=h,t.tickStep=p,t.transpose=A,t.variance=u,t.zip=z,t.entries=j,t.keys=Y,t.values=B,t.map=L,t.set=I,t.nest=q,t.randomUniform=H,t.randomNormal=X,t.randomLogNormal=V,t.randomBates=$,t.randomIrwinHall=W,t.randomExponential=Z,t.easeLinear=G,t.easeQuad=K,t.easeQuadIn=J,t.easeQuadOut=Q,t.easeQuadInOut=K,t.easeCubic=et,t.easeCubicIn=tt,t.easeCubicOut=nt,t.easeCubicInOut=et,t.easePoly=Cd,t.easePolyIn=Ed,t.easePolyOut=Ad,t.easePolyInOut=Cd,t.easeSin=ot,t.easeSinIn=rt,t.easeSinOut=it,t.easeSinInOut=ot,t.easeExp=ct,t.easeExpIn=ut,t.easeExpOut=at,t.easeExpInOut=ct,t.easeCircle=lt,t.easeCircleIn=st,t.easeCircleOut=ft,t.easeCircleInOut=lt,t.easeBounce=pt,t.easeBounceIn=ht,t.easeBounceOut=pt,t.easeBounceInOut=dt,t.easeBack=Vd,t.easeBackIn=Hd,t.easeBackOut=Xd,t.easeBackInOut=Vd,t.easeElastic=Jd,t.easeElasticIn=Gd,t.easeElasticOut=Jd,t.easeElasticInOut=Qd,t.polygonArea=vt,t.polygonCentroid=_t,t.polygonHull=xt,t.polygonContains=bt,t.polygonLength=wt,t.path=Tt,t.quadtree=jt,t.queue=Qt,t.arc=sn,t.area=vn,t.line=dn,t.pie=gn,t.radialArea=Mn,t.radialLine=wn,t.symbol=Tn,t.symbols=Av,t.symbolCircle=lv,t.symbolCross=hv,t.symbolDiamond=vv,t.symbolSquare=bv,t.symbolStar=xv,t.symbolTriangle=Mv,t.symbolWye=Ev,t.curveBasisClosed=Cn,t.curveBasisOpen=Pn,t.curveBasis=En,t.curveBundle=Cv,t.curveCardinalClosed=Pv,t.curveCardinalOpen=Lv,t.curveCardinal=zv,t.curveCatmullRomClosed=Uv,t.curveCatmullRomOpen=Rv,t.curveCatmullRom=qv,t.curveLinearClosed=jn,t.curveLinear=ln,t.curveMonotoneX=Jn,t.curveMonotoneY=Qn,t.curveNatural=ne,t.curveStep=re,t.curveStepAfter=oe,t.curveStepBefore=ie,t.stack=se,t.stackOffsetExpand=fe,t.stackOffsetNone=ue,t.stackOffsetSilhouette=le,t.stackOffsetWiggle=he,t.stackOrderAscending=pe,t.stackOrderDescending=ve,t.stackOrderInsideOut=_e,t.stackOrderNone=ae,t.stackOrderReverse=ye,t.color=be,t.rgb=ke,t.hsl=Ae,t.lab=Le,t.hcl=Ie,t.cubehelix=je,t.interpolate=ar,t.interpolateArray=nr,t.interpolateNumber=er,t.interpolateObject=rr,t.interpolateRound=cr,t.interpolateString=ur,t.interpolateTransformCss=T_,t.interpolateTransformSvg=k_,t.interpolateZoom=_r,t.interpolateRgb=y_,t.interpolateRgbBasis=g_,t.interpolateRgbBasisClosed=m_,t.interpolateHsl=C_,t.interpolateHslLong=z_,t.interpolateLab=gr,t.interpolateHcl=P_,t.interpolateHclLong=L_,t.interpolateCubehelix=q_,t.interpolateCubehelixLong=U_,t.interpolateBasis=Ve,t.interpolateBasisClosed=We,t.quantize=br,t.dispatch=wr,t.dsvFormat=Cr,t.csvParse=I_,t.csvParseRows=Y_,t.csvFormat=B_,t.csvFormatRows=j_,t.tsvParse=X_,t.tsvParseRows=V_,t.tsvFormat=W_,t.tsvFormatRows=$_,t.request=zr,t.html=Z_,t.json=G_,t.text=J_,t.xml=Q_,t.csv=K_,t.tsv=ty,t.now=Dr,t.timer=Ir,t.timerFlush=Yr,t.timeout=Vr,t.interval=Wr,t.timeInterval=$r,t.timeMillisecond=hy,t.timeMilliseconds=py,t.timeSecond=my,t.timeSeconds=xy,t.timeMinute=by,t.timeMinutes=wy,t.timeHour=My,t.timeHours=Ty,t.timeDay=ky,t.timeDays=Ny,t.timeWeek=Sy,t.timeWeeks=qy,t.timeSunday=Sy,t.timeSundays=qy,t.timeMonday=Ey,t.timeMondays=Uy,t.timeTuesday=Ay,t.timeTuesdays=Ry,t.timeWednesday=Cy,t.timeWednesdays=Dy,t.timeThursday=zy,t.timeThursdays=Oy,t.timeFriday=Py,t.timeFridays=Fy,t.timeSaturday=Ly,t.timeSaturdays=Iy,t.timeMonth=Yy,t.timeMonths=By,t.timeYear=jy,t.timeYears=Hy,t.utcMillisecond=hy,t.utcMilliseconds=py,t.utcSecond=my,t.utcSeconds=xy,t.utcMinute=Xy,t.utcMinutes=Vy,t.utcHour=Wy,t.utcHours=$y,t.utcDay=Zy,t.utcDays=Gy,t.utcWeek=Jy,t.utcWeeks=ig,t.utcSunday=Jy,t.utcSundays=ig,t.utcMonday=Qy,t.utcMondays=og,t.utcTuesday=Ky,t.utcTuesdays=ug,t.utcWednesday=tg,t.utcWednesdays=ag,t.utcThursday=ng,t.utcThursdays=cg,t.utcFriday=eg,t.utcFridays=sg,t.utcSaturday=rg,t.utcSaturdays=fg,t.utcMonth=lg,t.utcMonths=hg,t.utcYear=pg,t.utcYears=vg,t.formatLocale=ui,t.formatDefaultLocale=ai,t.formatSpecifier=ri,t.precisionFixed=ci,t.precisionPrefix=si,t.precisionRound=fi,t.isoFormat=Ng,t.isoParse=Sg,t.timeFormatLocale=di,t.timeFormatDefaultLocale=co,t.scaleBand=ho,t.scalePoint=vo,t.scaleIdentity=Eo,t.scaleLinear=So,t.scaleLog=Ro,t.scaleOrdinal=lo,t.scaleImplicit=zg,t.scalePow=Oo,t.scaleSqrt=Fo,t.scaleQuantile=Io,t.scaleQuantize=Yo,t.scaleThreshold=Bo,t.scaleTime=Vo,t.scaleUtc=Wo,t.schemeCategory10=Ig,t.schemeCategory20b=Yg,t.schemeCategory20c=Bg,t.schemeCategory20=jg,t.scaleSequential=Jo,t.interpolateCubehelixDefault=Hg,t.interpolateRainbow=Zo,t.interpolateWarm=Xg,t.interpolateCool=Vg,t.interpolateViridis=$g,t.interpolateMagma=Zg,t.interpolateInferno=Gg,t.interpolatePlasma=Jg,t.creator=nu,t.customEvent=fu,t.local=eu,t.matcher=im,t.mouse=pu,t.namespace=Qo,t.namespaces=Kg,t.select=qa,t.selectAll=Ua,t.selection=La,t.selector=vu,t.selectorAll=gu,t.touch=Ra,t.touches=Da,t.window=Vu,t.active=Ic,t.interrupt=ja,t.transition=Rc,t.axisTop=Wc,t.axisRight=$c,t.axisBottom=Zc,t.axisLeft=Gc,t.cluster=is,t.hierarchy=_s,t.pack=Ys,t.packSiblings=Us,t.packEnclose=Ts,t.partition=Ws,t.stratify=Gs,t.tree=uf,t.treemap=sf,t.treemapBinary=ff,t.treemapDice=Vs,t.treemapSlice=af,t.treemapSliceDice=lf,t.treemapSquarify=Pm,t.treemapResquarify=Lm,t.forceCenter=hf,t.forceCollide=yf,t.forceLink=mf,t.forceManyBody=Mf,t.forceSimulation=wf,t.forceX=Tf,t.forceY=kf,t.drag=Uf,t.dragDisable=Ef,t.dragEnable=Af,t.voronoi=vl,t.zoom=kl,t.zoomIdentity=Xm,t.zoomTransform=ml,t.brush=Ol,t.brushX=Rl,t.brushY=Dl,t.brushSelection=Ul,t.geoArea=nh,t.geoBounds=mh,t.geoCentroid=Ch,t.geoCircle=Yh,t.geoClipExtent=Zh,t.geoDistance=np,t.geoGraticule=ip,t.geoInterpolate=op,t.geoLength=tp,t.geoPath=Tp,t.geoAlbers=Hp,t.geoAlbersUsa=Vp,t.geoAzimuthalEqualArea=Zp,t.geoAzimuthalEquidistant=Gp,t.geoConicConformal=ed,t.geoConicEqualArea=jp,t.geoConicEquidistant=ud,t.geoEquirectangular=id,t.geoGnomonic=cd,t.geoProjection=Fp,t.geoProjectionMutator=Ip,t.geoMercator=Qp,t.geoOrthographic=fd,t.geoStereographic=hd,t.geoTransverseMercator=dd,t.geoRotation=Oh,t.geoStream=Gl,t.geoTransform=Lp,Object.defineProperty(t,"__esModule",{value:!0})}); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js b/www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js
new file mode 100644
index 00000000..e0fadb50
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/d3/dagre-d3.min.js
@@ -0,0 +1,8113 @@
+(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.dagreD3=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){
+/**
+ * @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.
+ */
+module.exports={graphlib:require("./lib/graphlib"),dagre:require("./lib/dagre"),intersect:require("./lib/intersect"),render:require("./lib/render"),util:require("./lib/util"),version:require("./lib/version")}},{"./lib/dagre":8,"./lib/graphlib":9,"./lib/intersect":10,"./lib/render":25,"./lib/util":27,"./lib/version":28}],2:[function(require,module,exports){var util=require("./util");module.exports={default:normal,normal:normal,vee:vee,undirected:undirected};function normal(parent,id,edge,type){var marker=parent.append("marker").attr("id",id).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto");var path=marker.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");util.applyStyle(path,edge[type+"Style"]);if(edge[type+"Class"]){path.attr("class",edge[type+"Class"])}}function vee(parent,id,edge,type){var marker=parent.append("marker").attr("id",id).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto");var path=marker.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");util.applyStyle(path,edge[type+"Style"]);if(edge[type+"Class"]){path.attr("class",edge[type+"Class"])}}function undirected(parent,id,edge,type){var marker=parent.append("marker").attr("id",id).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto");var path=marker.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");util.applyStyle(path,edge[type+"Style"]);if(edge[type+"Class"]){path.attr("class",edge[type+"Class"])}}},{"./util":27}],3:[function(require,module,exports){var util=require("./util"),addLabel=require("./label/add-label");module.exports=createClusters;function createClusters(selection,g){var clusters=g.nodes().filter(function(v){return util.isSubgraph(g,v)}),svgClusters=selection.selectAll("g.cluster").data(clusters,function(v){return v});svgClusters.selectAll("*").remove();svgClusters.enter().append("g").attr("class","cluster").attr("id",function(v){var node=g.node(v);return node.id}).style("opacity",0);svgClusters=selection.selectAll("g.cluster");util.applyTransition(svgClusters,g).style("opacity",1);svgClusters.each(function(v){var node=g.node(v),thisGroup=d3.select(this);d3.select(this).append("rect");var labelGroup=thisGroup.append("g").attr("class","label");addLabel(labelGroup,node,node.clusterLabelPos)});svgClusters.selectAll("rect").each(function(c){var node=g.node(c);var domCluster=d3.select(this);util.applyStyle(domCluster,node.style)});util.applyTransition(svgClusters.exit(),g).style("opacity",0).remove();return svgClusters}},{"./label/add-label":18,"./util":27}],4:[function(require,module,exports){"use strict";var _=require("./lodash"),addLabel=require("./label/add-label"),util=require("./util"),d3=require("./d3");module.exports=createEdgeLabels;function createEdgeLabels(selection,g){var svgEdgeLabels=selection.selectAll("g.edgeLabel").data(g.edges(),function(e){return util.edgeToId(e)}).classed("update",true);svgEdgeLabels.selectAll("*").remove();svgEdgeLabels.enter().append("g").classed("edgeLabel",true).style("opacity",0);svgEdgeLabels=selection.selectAll("g.edgeLabel");svgEdgeLabels.each(function(e){var edge=g.edge(e),label=addLabel(d3.select(this),g.edge(e),0,0).classed("label",true),bbox=label.node().getBBox();if(edge.labelId){label.attr("id",edge.labelId)}if(!_.has(edge,"width")){edge.width=bbox.width}if(!_.has(edge,"height")){edge.height=bbox.height}});util.applyTransition(svgEdgeLabels.exit(),g).style("opacity",0).remove();return svgEdgeLabels}},{"./d3":7,"./label/add-label":18,"./lodash":21,"./util":27}],5:[function(require,module,exports){"use strict";var _=require("./lodash"),intersectNode=require("./intersect/intersect-node"),util=require("./util"),d3=require("./d3");module.exports=createEdgePaths;function createEdgePaths(selection,g,arrows){var svgPaths=selection.selectAll("g.edgePath").data(g.edges(),function(e){return util.edgeToId(e)}).classed("update",true);enter(svgPaths,g);exit(svgPaths,g);svgPaths=selection.selectAll("g.edgePath");util.applyTransition(svgPaths,g).style("opacity",1);
+// Save DOM element in the path group, and set ID and class
+svgPaths.each(function(e){var domEdge=d3.select(this);var edge=g.edge(e);edge.elem=this;if(edge.id){domEdge.attr("id",edge.id)}util.applyClass(domEdge,edge["class"],(domEdge.classed("update")?"update ":"")+"edgePath")});svgPaths.selectAll("path.path").each(function(e){var edge=g.edge(e);edge.arrowheadId=_.uniqueId("arrowhead");var domEdge=d3.select(this).attr("marker-end",function(){return"url("+makeFragmentRef(location.href,edge.arrowheadId)+")"}).style("fill","none");util.applyTransition(domEdge,g).attr("d",function(e){return calcPoints(g,e)});util.applyStyle(domEdge,edge.style)});svgPaths.selectAll("defs *").remove();svgPaths.selectAll("defs").each(function(e){var edge=g.edge(e),arrowhead=arrows[edge.arrowhead];arrowhead(d3.select(this),edge.arrowheadId,edge,"arrowhead")});return svgPaths}function makeFragmentRef(url,fragmentId){var baseUrl=url.split("#")[0];return baseUrl+"#"+fragmentId}function calcPoints(g,e){var edge=g.edge(e),tail=g.node(e.v),head=g.node(e.w),points=edge.points.slice(1,edge.points.length-1);points.unshift(intersectNode(tail,points[0]));points.push(intersectNode(head,points[points.length-1]));return createLine(edge,points)}function createLine(edge,points){var line=d3.line().x(function(d){return d.x}).y(function(d){return d.y});line.curve(edge.lineCurve);return line(points)}function getCoords(elem){var bbox=elem.getBBox(),matrix=elem.ownerSVGElement.getScreenCTM().inverse().multiply(elem.getScreenCTM()).translate(bbox.width/2,bbox.height/2);return{x:matrix.e,y:matrix.f}}function enter(svgPaths,g){var svgPathsEnter=svgPaths.enter().append("g").attr("class","edgePath").style("opacity",0);svgPathsEnter.append("path").attr("class","path").attr("d",function(e){var edge=g.edge(e),sourceElem=g.node(e.v).elem,points=_.range(edge.points.length).map(function(){return getCoords(sourceElem)});return createLine(edge,points)});svgPathsEnter.append("defs")}function exit(svgPaths,g){var svgPathExit=svgPaths.exit();util.applyTransition(svgPathExit,g).style("opacity",0).remove();util.applyTransition(svgPathExit.select("path.path"),g).attr("d",function(e){var source=g.node(e.v);if(source){var points=_.range(this.getTotalLength()).map(function(){return source});return createLine({},points)}else{return d3.select(this).attr("d")}})}},{"./d3":7,"./intersect/intersect-node":14,"./lodash":21,"./util":27}],6:[function(require,module,exports){"use strict";var _=require("./lodash"),addLabel=require("./label/add-label"),util=require("./util"),d3=require("./d3");module.exports=createNodes;function createNodes(selection,g,shapes){var simpleNodes=g.nodes().filter(function(v){return!util.isSubgraph(g,v)});var svgNodes=selection.selectAll("g.node").data(simpleNodes,function(v){return v}).classed("update",true);svgNodes.selectAll("*").remove();svgNodes.enter().append("g").attr("class","node").style("opacity",0);svgNodes=selection.selectAll("g.node");svgNodes.each(function(v){var node=g.node(v),thisGroup=d3.select(this);util.applyClass(thisGroup,node["class"],(thisGroup.classed("update")?"update ":"")+"node");var labelGroup=thisGroup.append("g").attr("class","label"),labelDom=addLabel(labelGroup,node),shape=shapes[node.shape],bbox=_.pick(labelDom.node().getBBox(),"width","height");node.elem=this;if(node.id){thisGroup.attr("id",node.id)}if(node.labelId){labelGroup.attr("id",node.labelId)}if(_.has(node,"width")){bbox.width=node.width}if(_.has(node,"height")){bbox.height=node.height}bbox.width+=node.paddingLeft+node.paddingRight;bbox.height+=node.paddingTop+node.paddingBottom;labelGroup.attr("transform","translate("+(node.paddingLeft-node.paddingRight)/2+","+(node.paddingTop-node.paddingBottom)/2+")");var shapeSvg=shape(d3.select(this),bbox,node);util.applyStyle(shapeSvg,node.style);var shapeBBox=shapeSvg.node().getBBox();node.width=shapeBBox.width;node.height=shapeBBox.height});util.applyTransition(svgNodes.exit(),g).style("opacity",0).remove();return svgNodes}},{"./d3":7,"./label/add-label":18,"./lodash":21,"./util":27}],7:[function(require,module,exports){
+// Stub to get D3 either via NPM or from the global object
+module.exports=window.d3},{}],8:[function(require,module,exports){
+/* global window */
+var dagre;if(require){try{dagre=require("dagre")}catch(e){}}if(!dagre){dagre=window.dagre}module.exports=dagre},{dagre:29}],9:[function(require,module,exports){
+/* global window */
+var graphlib;if(require){try{graphlib=require("graphlib")}catch(e){}}if(!graphlib){graphlib=window.graphlib}module.exports=graphlib},{graphlib:59}],10:[function(require,module,exports){module.exports={node:require("./intersect-node"),circle:require("./intersect-circle"),ellipse:require("./intersect-ellipse"),polygon:require("./intersect-polygon"),rect:require("./intersect-rect")}},{"./intersect-circle":11,"./intersect-ellipse":12,"./intersect-node":14,"./intersect-polygon":15,"./intersect-rect":16}],11:[function(require,module,exports){var intersectEllipse=require("./intersect-ellipse");module.exports=intersectCircle;function intersectCircle(node,rx,point){return intersectEllipse(node,rx,rx,point)}},{"./intersect-ellipse":12}],12:[function(require,module,exports){module.exports=intersectEllipse;function intersectEllipse(node,rx,ry,point){
+// Formulae from: http://mathworld.wolfram.com/Ellipse-LineIntersection.html
+var cx=node.x;var cy=node.y;var px=cx-point.x;var py=cy-point.y;var det=Math.sqrt(rx*rx*py*py+ry*ry*px*px);var dx=Math.abs(rx*ry*px/det);if(point.x<cx){dx=-dx}var dy=Math.abs(rx*ry*py/det);if(point.y<cy){dy=-dy}return{x:cx+dx,y:cy+dy}}},{}],13:[function(require,module,exports){module.exports=intersectLine;
+/*
+ * Returns the point at which two lines, p and q, intersect or returns
+ * undefined if they do not intersect.
+ */function intersectLine(p1,p2,q1,q2){
+// Algorithm from J. Avro, (ed.) Graphics Gems, No 2, Morgan Kaufmann, 1994,
+// p7 and p473.
+var a1,a2,b1,b2,c1,c2;var r1,r2,r3,r4;var denom,offset,num;var x,y;
+// Compute a1, b1, c1, where line joining points 1 and 2 is F(x,y) = a1 x +
+// b1 y + c1 = 0.
+a1=p2.y-p1.y;b1=p1.x-p2.x;c1=p2.x*p1.y-p1.x*p2.y;
+// Compute r3 and r4.
+r3=a1*q1.x+b1*q1.y+c1;r4=a1*q2.x+b1*q2.y+c1;
+// Check signs of r3 and r4. If both point 3 and point 4 lie on
+// same side of line 1, the line segments do not intersect.
+if(r3!==0&&r4!==0&&sameSign(r3,r4)){return}
+// Compute a2, b2, c2 where line joining points 3 and 4 is G(x,y) = a2 x + b2 y + c2 = 0
+a2=q2.y-q1.y;b2=q1.x-q2.x;c2=q2.x*q1.y-q1.x*q2.y;
+// Compute r1 and r2
+r1=a2*p1.x+b2*p1.y+c2;r2=a2*p2.x+b2*p2.y+c2;
+// Check signs of r1 and r2. If both point 1 and point 2 lie
+// on same side of second line segment, the line segments do
+// not intersect.
+if(r1!==0&&r2!==0&&sameSign(r1,r2)){return}
+// Line segments intersect: compute intersection point.
+denom=a1*b2-a2*b1;if(denom===0){return}offset=Math.abs(denom/2);
+// The denom/2 is to get rounding instead of truncating. It
+// is added or subtracted to the numerator, depending upon the
+// sign of the numerator.
+num=b1*c2-b2*c1;x=num<0?(num-offset)/denom:(num+offset)/denom;num=a2*c1-a1*c2;y=num<0?(num-offset)/denom:(num+offset)/denom;return{x:x,y:y}}function sameSign(r1,r2){return r1*r2>0}},{}],14:[function(require,module,exports){module.exports=intersectNode;function intersectNode(node,point){return node.intersect(point)}},{}],15:[function(require,module,exports){var intersectLine=require("./intersect-line");module.exports=intersectPolygon;
+/*
+ * Returns the point ({x, y}) at which the point argument intersects with the
+ * node argument assuming that it has the shape specified by polygon.
+ */function intersectPolygon(node,polyPoints,point){var x1=node.x;var y1=node.y;var intersections=[];var minX=Number.POSITIVE_INFINITY,minY=Number.POSITIVE_INFINITY;polyPoints.forEach(function(entry){minX=Math.min(minX,entry.x);minY=Math.min(minY,entry.y)});var left=x1-node.width/2-minX;var top=y1-node.height/2-minY;for(var i=0;i<polyPoints.length;i++){var p1=polyPoints[i];var p2=polyPoints[i<polyPoints.length-1?i+1:0];var intersect=intersectLine(node,point,{x:left+p1.x,y:top+p1.y},{x:left+p2.x,y:top+p2.y});if(intersect){intersections.push(intersect)}}if(!intersections.length){console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",node);return node}if(intersections.length>1){
+// More intersections, find the one nearest to edge end point
+intersections.sort(function(p,q){var pdx=p.x-point.x,pdy=p.y-point.y,distp=Math.sqrt(pdx*pdx+pdy*pdy),qdx=q.x-point.x,qdy=q.y-point.y,distq=Math.sqrt(qdx*qdx+qdy*qdy);return distp<distq?-1:distp===distq?0:1})}return intersections[0]}},{"./intersect-line":13}],16:[function(require,module,exports){module.exports=intersectRect;function intersectRect(node,point){var x=node.x;var y=node.y;
+// Rectangle intersection algorithm from:
+// http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes
+var dx=point.x-x;var dy=point.y-y;var w=node.width/2;var h=node.height/2;var sx,sy;if(Math.abs(dy)*w>Math.abs(dx)*h){
+// Intersection is top or bottom of rect.
+if(dy<0){h=-h}sx=dy===0?0:h*dx/dy;sy=h}else{
+// Intersection is left or right of rect.
+if(dx<0){w=-w}sx=w;sy=dx===0?0:w*dy/dx}return{x:x+sx,y:y+sy}}},{}],17:[function(require,module,exports){var util=require("../util");module.exports=addHtmlLabel;function addHtmlLabel(root,node){var fo=root.append("foreignObject").attr("width","100000");var div=fo.append("xhtml:div");div.attr("xmlns","http://www.w3.org/1999/xhtml");var label=node.label;switch(typeof label){case"function":div.insert(label);break;case"object":
+// Currently we assume this is a DOM object.
+div.insert(function(){return label});break;default:div.html(label)}util.applyStyle(div,node.labelStyle);div.style("display","inline-block");
+// Fix for firefox
+div.style("white-space","nowrap");var client=div.node().getBoundingClientRect();fo.attr("width",client.width).attr("height",client.height);return fo}},{"../util":27}],18:[function(require,module,exports){var addTextLabel=require("./add-text-label"),addHtmlLabel=require("./add-html-label"),addSVGLabel=require("./add-svg-label");module.exports=addLabel;function addLabel(root,node,location){var label=node.label;var labelSvg=root.append("g");
+// Allow the label to be a string, a function that returns a DOM element, or
+// a DOM element itself.
+if(node.labelType==="svg"){addSVGLabel(labelSvg,node)}else if(typeof label!=="string"||node.labelType==="html"){addHtmlLabel(labelSvg,node)}else{addTextLabel(labelSvg,node)}var labelBBox=labelSvg.node().getBBox();var y;switch(location){case"top":y=-node.height/2;break;case"bottom":y=node.height/2-labelBBox.height;break;default:y=-labelBBox.height/2}labelSvg.attr("transform","translate("+-labelBBox.width/2+","+y+")");return labelSvg}},{"./add-html-label":17,"./add-svg-label":19,"./add-text-label":20}],19:[function(require,module,exports){var util=require("../util");module.exports=addSVGLabel;function addSVGLabel(root,node){var domNode=root;domNode.node().appendChild(node.label);util.applyStyle(domNode,node.labelStyle);return domNode}},{"../util":27}],20:[function(require,module,exports){var util=require("../util");module.exports=addTextLabel;
+/*
+ * Attaches a text label to the specified root. Handles escape sequences.
+ */function addTextLabel(root,node){var domNode=root.append("text");var lines=processEscapeSequences(node.label).split("\n");for(var i=0;i<lines.length;i++){domNode.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(lines[i])}util.applyStyle(domNode,node.labelStyle);return domNode}function processEscapeSequences(text){var newText="",escaped=false,ch;for(var i=0;i<text.length;++i){ch=text[i];if(escaped){switch(ch){case"n":newText+="\n";break;default:newText+=ch}escaped=false}else if(ch==="\\"){escaped=true}else{newText+=ch}}return newText}},{"../util":27}],21:[function(require,module,exports){
+/* global window */
+var lodash;if(require){try{lodash=require("lodash")}catch(e){}}if(!lodash){lodash=window._}module.exports=lodash},{lodash:79}],22:[function(require,module,exports){"use strict";var util=require("./util"),d3=require("./d3");module.exports=positionClusters;function positionClusters(selection,g){var created=selection.filter(function(){return!d3.select(this).classed("update")});function translate(v){var node=g.node(v);return"translate("+node.x+","+node.y+")"}created.attr("transform",translate);util.applyTransition(selection,g).style("opacity",1).attr("transform",translate);util.applyTransition(created.selectAll("rect"),g).attr("width",function(v){return g.node(v).width}).attr("height",function(v){return g.node(v).height}).attr("x",function(v){var node=g.node(v);return-node.width/2}).attr("y",function(v){var node=g.node(v);return-node.height/2})}},{"./d3":7,"./util":27}],23:[function(require,module,exports){"use strict";var util=require("./util"),d3=require("./d3"),_=require("./lodash");module.exports=positionEdgeLabels;function positionEdgeLabels(selection,g){var created=selection.filter(function(){return!d3.select(this).classed("update")});function translate(e){var edge=g.edge(e);return _.has(edge,"x")?"translate("+edge.x+","+edge.y+")":""}created.attr("transform",translate);util.applyTransition(selection,g).style("opacity",1).attr("transform",translate)}},{"./d3":7,"./lodash":21,"./util":27}],24:[function(require,module,exports){"use strict";var util=require("./util"),d3=require("./d3");module.exports=positionNodes;function positionNodes(selection,g){var created=selection.filter(function(){return!d3.select(this).classed("update")});function translate(v){var node=g.node(v);return"translate("+node.x+","+node.y+")"}created.attr("transform",translate);util.applyTransition(selection,g).style("opacity",1).attr("transform",translate)}},{"./d3":7,"./util":27}],25:[function(require,module,exports){var _=require("./lodash"),layout=require("./dagre").layout;module.exports=render;
+// This design is based on http://bost.ocks.org/mike/chart/.
+function render(){var createNodes=require("./create-nodes"),createClusters=require("./create-clusters"),createEdgeLabels=require("./create-edge-labels"),createEdgePaths=require("./create-edge-paths"),positionNodes=require("./position-nodes"),positionEdgeLabels=require("./position-edge-labels"),positionClusters=require("./position-clusters"),shapes=require("./shapes"),arrows=require("./arrows");var fn=function(svg,g){preProcessGraph(g);svg.selectAll("*").remove();var outputGroup=createOrSelectGroup(svg,"output"),clustersGroup=createOrSelectGroup(outputGroup,"clusters"),edgePathsGroup=createOrSelectGroup(outputGroup,"edgePaths"),edgeLabels=createEdgeLabels(createOrSelectGroup(outputGroup,"edgeLabels"),g),nodes=createNodes(createOrSelectGroup(outputGroup,"nodes"),g,shapes);layout(g);positionNodes(nodes,g);positionEdgeLabels(edgeLabels,g);createEdgePaths(edgePathsGroup,g,arrows);var clusters=createClusters(clustersGroup,g);positionClusters(clusters,g);postProcessGraph(g)};fn.createNodes=function(value){if(!arguments.length)return createNodes;createNodes=value;return fn};fn.createClusters=function(value){if(!arguments.length)return createClusters;createClusters=value;return fn};fn.createEdgeLabels=function(value){if(!arguments.length)return createEdgeLabels;createEdgeLabels=value;return fn};fn.createEdgePaths=function(value){if(!arguments.length)return createEdgePaths;createEdgePaths=value;return fn};fn.shapes=function(value){if(!arguments.length)return shapes;shapes=value;return fn};fn.arrows=function(value){if(!arguments.length)return arrows;arrows=value;return fn};return fn}var NODE_DEFAULT_ATTRS={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"};var EDGE_DEFAULT_ATTRS={arrowhead:"normal",lineCurve:d3.curveLinear};function preProcessGraph(g){g.nodes().forEach(function(v){var node=g.node(v);if(!_.has(node,"label")&&!g.children(v).length){node.label=v}if(_.has(node,"paddingX")){_.defaults(node,{paddingLeft:node.paddingX,paddingRight:node.paddingX})}if(_.has(node,"paddingY")){_.defaults(node,{paddingTop:node.paddingY,paddingBottom:node.paddingY})}if(_.has(node,"padding")){_.defaults(node,{paddingLeft:node.padding,paddingRight:node.padding,paddingTop:node.padding,paddingBottom:node.padding})}_.defaults(node,NODE_DEFAULT_ATTRS);_.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(k){node[k]=Number(node[k])});
+// Save dimensions for restore during post-processing
+if(_.has(node,"width")){node._prevWidth=node.width}if(_.has(node,"height")){node._prevHeight=node.height}});g.edges().forEach(function(e){var edge=g.edge(e);if(!_.has(edge,"label")){edge.label=""}_.defaults(edge,EDGE_DEFAULT_ATTRS)})}function postProcessGraph(g){_.each(g.nodes(),function(v){var node=g.node(v);
+// Restore original dimensions
+if(_.has(node,"_prevWidth")){node.width=node._prevWidth}else{delete node.width}if(_.has(node,"_prevHeight")){node.height=node._prevHeight}else{delete node.height}delete node._prevWidth;delete node._prevHeight})}function createOrSelectGroup(root,name){var selection=root.select("g."+name);if(selection.empty()){selection=root.append("g").attr("class",name)}return selection}},{"./arrows":2,"./create-clusters":3,"./create-edge-labels":4,"./create-edge-paths":5,"./create-nodes":6,"./dagre":8,"./lodash":21,"./position-clusters":22,"./position-edge-labels":23,"./position-nodes":24,"./shapes":26}],26:[function(require,module,exports){"use strict";var intersectRect=require("./intersect/intersect-rect"),intersectEllipse=require("./intersect/intersect-ellipse"),intersectCircle=require("./intersect/intersect-circle"),intersectPolygon=require("./intersect/intersect-polygon");module.exports={rect:rect,ellipse:ellipse,circle:circle,diamond:diamond};function rect(parent,bbox,node){var shapeSvg=parent.insert("rect",":first-child").attr("rx",node.rx).attr("ry",node.ry).attr("x",-bbox.width/2).attr("y",-bbox.height/2).attr("width",bbox.width).attr("height",bbox.height);node.intersect=function(point){return intersectRect(node,point)};return shapeSvg}function ellipse(parent,bbox,node){var rx=bbox.width/2,ry=bbox.height/2,shapeSvg=parent.insert("ellipse",":first-child").attr("x",-bbox.width/2).attr("y",-bbox.height/2).attr("rx",rx).attr("ry",ry);node.intersect=function(point){return intersectEllipse(node,rx,ry,point)};return shapeSvg}function circle(parent,bbox,node){var r=Math.max(bbox.width,bbox.height)/2,shapeSvg=parent.insert("circle",":first-child").attr("x",-bbox.width/2).attr("y",-bbox.height/2).attr("r",r);node.intersect=function(point){return intersectCircle(node,r,point)};return shapeSvg}
+// Circumscribe an ellipse for the bounding box with a diamond shape. I derived
+// the function to calculate the diamond shape from:
+// http://mathforum.org/kb/message.jspa?messageID=3750236
+function diamond(parent,bbox,node){var w=bbox.width*Math.SQRT2/2,h=bbox.height*Math.SQRT2/2,points=[{x:0,y:-h},{x:-w,y:0},{x:0,y:h},{x:w,y:0}],shapeSvg=parent.insert("polygon",":first-child").attr("points",points.map(function(p){return p.x+","+p.y}).join(" "));node.intersect=function(p){return intersectPolygon(node,points,p)};return shapeSvg}},{"./intersect/intersect-circle":11,"./intersect/intersect-ellipse":12,"./intersect/intersect-polygon":15,"./intersect/intersect-rect":16}],27:[function(require,module,exports){var _=require("./lodash");
+// Public utility functions
+module.exports={isSubgraph:isSubgraph,edgeToId:edgeToId,applyStyle:applyStyle,applyClass:applyClass,applyTransition:applyTransition};
+/*
+ * Returns true if the specified node in the graph is a subgraph node. A
+ * subgraph node is one that contains other nodes.
+ */function isSubgraph(g,v){return!!g.children(v).length}function edgeToId(e){return escapeId(e.v)+":"+escapeId(e.w)+":"+escapeId(e.name)}var ID_DELIM=/:/g;function escapeId(str){return str?String(str).replace(ID_DELIM,"\\:"):""}function applyStyle(dom,styleFn){if(styleFn){dom.attr("style",styleFn)}}function applyClass(dom,classFn,otherClasses){if(classFn){dom.attr("class",classFn).attr("class",otherClasses+" "+dom.attr("class"))}}function applyTransition(selection,g){var graph=g.graph();if(_.isPlainObject(graph)){var transition=graph.transition;if(_.isFunction(transition)){return transition(selection)}}return selection}},{"./lodash":21}],28:[function(require,module,exports){module.exports="0.5.3"},{}],29:[function(require,module,exports){
+/*
+Copyright (c) 2012-2014 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.
+*/
+module.exports={graphlib:require("./lib/graphlib"),layout:require("./lib/layout"),debug:require("./lib/debug"),util:{time:require("./lib/util").time,notime:require("./lib/util").notime},version:require("./lib/version")}},{"./lib/debug":34,"./lib/graphlib":35,"./lib/layout":37,"./lib/util":57,"./lib/version":58}],30:[function(require,module,exports){"use strict";var _=require("./lodash"),greedyFAS=require("./greedy-fas");module.exports={run:run,undo:undo};function run(g){var fas=g.graph().acyclicer==="greedy"?greedyFAS(g,weightFn(g)):dfsFAS(g);_.each(fas,function(e){var label=g.edge(e);g.removeEdge(e);label.forwardName=e.name;label.reversed=true;g.setEdge(e.w,e.v,label,_.uniqueId("rev"))});function weightFn(g){return function(e){return g.edge(e).weight}}}function dfsFAS(g){var fas=[],stack={},visited={};function dfs(v){if(_.has(visited,v)){return}visited[v]=true;stack[v]=true;_.each(g.outEdges(v),function(e){if(_.has(stack,e.w)){fas.push(e)}else{dfs(e.w)}});delete stack[v]}_.each(g.nodes(),dfs);return fas}function undo(g){_.each(g.edges(),function(e){var label=g.edge(e);if(label.reversed){g.removeEdge(e);var forwardName=label.forwardName;delete label.reversed;delete label.forwardName;g.setEdge(e.w,e.v,label,forwardName)}})}},{"./greedy-fas":36,"./lodash":38}],31:[function(require,module,exports){var _=require("./lodash"),util=require("./util");module.exports=addBorderSegments;function addBorderSegments(g){function dfs(v){var children=g.children(v),node=g.node(v);if(children.length){_.each(children,dfs)}if(_.has(node,"minRank")){node.borderLeft=[];node.borderRight=[];for(var rank=node.minRank,maxRank=node.maxRank+1;rank<maxRank;++rank){addBorderNode(g,"borderLeft","_bl",v,node,rank);addBorderNode(g,"borderRight","_br",v,node,rank)}}}_.each(g.children(),dfs)}function addBorderNode(g,prop,prefix,sg,sgNode,rank){var label={width:0,height:0,rank:rank,borderType:prop},prev=sgNode[prop][rank-1],curr=util.addDummyNode(g,"border",label,prefix);sgNode[prop][rank]=curr;g.setParent(curr,sg);if(prev){g.setEdge(prev,curr,{weight:1})}}},{"./lodash":38,"./util":57}],32:[function(require,module,exports){"use strict";var _=require("./lodash");module.exports={adjust:adjust,undo:undo};function adjust(g){var rankDir=g.graph().rankdir.toLowerCase();if(rankDir==="lr"||rankDir==="rl"){swapWidthHeight(g)}}function undo(g){var rankDir=g.graph().rankdir.toLowerCase();if(rankDir==="bt"||rankDir==="rl"){reverseY(g)}if(rankDir==="lr"||rankDir==="rl"){swapXY(g);swapWidthHeight(g)}}function swapWidthHeight(g){_.each(g.nodes(),function(v){swapWidthHeightOne(g.node(v))});_.each(g.edges(),function(e){swapWidthHeightOne(g.edge(e))})}function swapWidthHeightOne(attrs){var w=attrs.width;attrs.width=attrs.height;attrs.height=w}function reverseY(g){_.each(g.nodes(),function(v){reverseYOne(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,reverseYOne);if(_.has(edge,"y")){reverseYOne(edge)}})}function reverseYOne(attrs){attrs.y=-attrs.y}function swapXY(g){_.each(g.nodes(),function(v){swapXYOne(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,swapXYOne);if(_.has(edge,"x")){swapXYOne(edge)}})}function swapXYOne(attrs){var x=attrs.x;attrs.x=attrs.y;attrs.y=x}},{"./lodash":38}],33:[function(require,module,exports){
+/*
+ * Simple doubly linked list implementation derived from Cormen, et al.,
+ * "Introduction to Algorithms".
+ */
+module.exports=List;function List(){var sentinel={};sentinel._next=sentinel._prev=sentinel;this._sentinel=sentinel}List.prototype.dequeue=function(){var sentinel=this._sentinel,entry=sentinel._prev;if(entry!==sentinel){unlink(entry);return entry}};List.prototype.enqueue=function(entry){var sentinel=this._sentinel;if(entry._prev&&entry._next){unlink(entry)}entry._next=sentinel._next;sentinel._next._prev=entry;sentinel._next=entry;entry._prev=sentinel};List.prototype.toString=function(){var strs=[],sentinel=this._sentinel,curr=sentinel._prev;while(curr!==sentinel){strs.push(JSON.stringify(curr,filterOutLinks));curr=curr._prev}return"["+strs.join(", ")+"]"};function unlink(entry){entry._prev._next=entry._next;entry._next._prev=entry._prev;delete entry._next;delete entry._prev}function filterOutLinks(k,v){if(k!=="_next"&&k!=="_prev"){return v}}},{}],34:[function(require,module,exports){var _=require("./lodash"),util=require("./util"),Graph=require("./graphlib").Graph;module.exports={debugOrdering:debugOrdering};
+/* istanbul ignore next */function debugOrdering(g){var layerMatrix=util.buildLayerMatrix(g);var h=new Graph({compound:true,multigraph:true}).setGraph({});_.each(g.nodes(),function(v){h.setNode(v,{label:v});h.setParent(v,"layer"+g.node(v).rank)});_.each(g.edges(),function(e){h.setEdge(e.v,e.w,{},e.name)});_.each(layerMatrix,function(layer,i){var layerV="layer"+i;h.setNode(layerV,{rank:"same"});_.reduce(layer,function(u,v){h.setEdge(u,v,{style:"invis"});return v})});return h}},{"./graphlib":35,"./lodash":38,"./util":57}],35:[function(require,module,exports){
+/* global window */
+var graphlib;if(typeof require==="function"){try{graphlib=require("graphlib")}catch(e){}}if(!graphlib){graphlib=window.graphlib}module.exports=graphlib},{graphlib:59}],36:[function(require,module,exports){var _=require("./lodash"),Graph=require("./graphlib").Graph,List=require("./data/list");
+/*
+ * A greedy heuristic for finding a feedback arc set for a graph. A feedback
+ * arc set is a set of edges that can be removed to make a graph acyclic.
+ * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, "A fast and
+ * effective heuristic for the feedback arc set problem." This implementation
+ * adjusts that from the paper to allow for weighted edges.
+ */module.exports=greedyFAS;var DEFAULT_WEIGHT_FN=_.constant(1);function greedyFAS(g,weightFn){if(g.nodeCount()<=1){return[]}var state=buildState(g,weightFn||DEFAULT_WEIGHT_FN);var results=doGreedyFAS(state.graph,state.buckets,state.zeroIdx);
+// Expand multi-edges
+return _.flatten(_.map(results,function(e){return g.outEdges(e.v,e.w)}),true)}function doGreedyFAS(g,buckets,zeroIdx){var results=[],sources=buckets[buckets.length-1],sinks=buckets[0];var entry;while(g.nodeCount()){while(entry=sinks.dequeue()){removeNode(g,buckets,zeroIdx,entry)}while(entry=sources.dequeue()){removeNode(g,buckets,zeroIdx,entry)}if(g.nodeCount()){for(var i=buckets.length-2;i>0;--i){entry=buckets[i].dequeue();if(entry){results=results.concat(removeNode(g,buckets,zeroIdx,entry,true));break}}}}return results}function removeNode(g,buckets,zeroIdx,entry,collectPredecessors){var results=collectPredecessors?[]:undefined;_.each(g.inEdges(entry.v),function(edge){var weight=g.edge(edge),uEntry=g.node(edge.v);if(collectPredecessors){results.push({v:edge.v,w:edge.w})}uEntry.out-=weight;assignBucket(buckets,zeroIdx,uEntry)});_.each(g.outEdges(entry.v),function(edge){var weight=g.edge(edge),w=edge.w,wEntry=g.node(w);wEntry["in"]-=weight;assignBucket(buckets,zeroIdx,wEntry)});g.removeNode(entry.v);return results}function buildState(g,weightFn){var fasGraph=new Graph,maxIn=0,maxOut=0;_.each(g.nodes(),function(v){fasGraph.setNode(v,{v:v,in:0,out:0})});
+// Aggregate weights on nodes, but also sum the weights across multi-edges
+// into a single edge for the fasGraph.
+_.each(g.edges(),function(e){var prevWeight=fasGraph.edge(e.v,e.w)||0,weight=weightFn(e),edgeWeight=prevWeight+weight;fasGraph.setEdge(e.v,e.w,edgeWeight);maxOut=Math.max(maxOut,fasGraph.node(e.v).out+=weight);maxIn=Math.max(maxIn,fasGraph.node(e.w)["in"]+=weight)});var buckets=_.range(maxOut+maxIn+3).map(function(){return new List});var zeroIdx=maxIn+1;_.each(fasGraph.nodes(),function(v){assignBucket(buckets,zeroIdx,fasGraph.node(v))});return{graph:fasGraph,buckets:buckets,zeroIdx:zeroIdx}}function assignBucket(buckets,zeroIdx,entry){if(!entry.out){buckets[0].enqueue(entry)}else if(!entry["in"]){buckets[buckets.length-1].enqueue(entry)}else{buckets[entry.out-entry["in"]+zeroIdx].enqueue(entry)}}},{"./data/list":33,"./graphlib":35,"./lodash":38}],37:[function(require,module,exports){"use strict";var _=require("./lodash"),acyclic=require("./acyclic"),normalize=require("./normalize"),rank=require("./rank"),normalizeRanks=require("./util").normalizeRanks,parentDummyChains=require("./parent-dummy-chains"),removeEmptyRanks=require("./util").removeEmptyRanks,nestingGraph=require("./nesting-graph"),addBorderSegments=require("./add-border-segments"),coordinateSystem=require("./coordinate-system"),order=require("./order"),position=require("./position"),util=require("./util"),Graph=require("./graphlib").Graph;module.exports=layout;function layout(g,opts){var time=opts&&opts.debugTiming?util.time:util.notime;time("layout",function(){var layoutGraph=time(" buildLayoutGraph",function(){return buildLayoutGraph(g)});time(" runLayout",function(){runLayout(layoutGraph,time)});time(" updateInputGraph",function(){updateInputGraph(g,layoutGraph)})})}function runLayout(g,time){time(" makeSpaceForEdgeLabels",function(){makeSpaceForEdgeLabels(g)});time(" removeSelfEdges",function(){removeSelfEdges(g)});time(" acyclic",function(){acyclic.run(g)});time(" nestingGraph.run",function(){nestingGraph.run(g)});time(" rank",function(){rank(util.asNonCompoundGraph(g))});time(" injectEdgeLabelProxies",function(){injectEdgeLabelProxies(g)});time(" removeEmptyRanks",function(){removeEmptyRanks(g)});time(" nestingGraph.cleanup",function(){nestingGraph.cleanup(g)});time(" normalizeRanks",function(){normalizeRanks(g)});time(" assignRankMinMax",function(){assignRankMinMax(g)});time(" removeEdgeLabelProxies",function(){removeEdgeLabelProxies(g)});time(" normalize.run",function(){normalize.run(g)});time(" parentDummyChains",function(){parentDummyChains(g)});time(" addBorderSegments",function(){addBorderSegments(g)});time(" order",function(){order(g)});time(" insertSelfEdges",function(){insertSelfEdges(g)});time(" adjustCoordinateSystem",function(){coordinateSystem.adjust(g)});time(" position",function(){position(g)});time(" positionSelfEdges",function(){positionSelfEdges(g)});time(" removeBorderNodes",function(){removeBorderNodes(g)});time(" normalize.undo",function(){normalize.undo(g)});time(" fixupEdgeLabelCoords",function(){fixupEdgeLabelCoords(g)});time(" undoCoordinateSystem",function(){coordinateSystem.undo(g)});time(" translateGraph",function(){translateGraph(g)});time(" assignNodeIntersects",function(){assignNodeIntersects(g)});time(" reversePoints",function(){reversePointsForReversedEdges(g)});time(" acyclic.undo",function(){acyclic.undo(g)})}
+/*
+ * Copies final layout information from the layout graph back to the input
+ * graph. This process only copies whitelisted attributes from the layout graph
+ * to the input graph, so it serves as a good place to determine what
+ * attributes can influence layout.
+ */function updateInputGraph(inputGraph,layoutGraph){_.each(inputGraph.nodes(),function(v){var inputLabel=inputGraph.node(v),layoutLabel=layoutGraph.node(v);if(inputLabel){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y;if(layoutGraph.children(v).length){inputLabel.width=layoutLabel.width;inputLabel.height=layoutLabel.height}}});_.each(inputGraph.edges(),function(e){var inputLabel=inputGraph.edge(e),layoutLabel=layoutGraph.edge(e);inputLabel.points=layoutLabel.points;if(_.has(layoutLabel,"x")){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y}});inputGraph.graph().width=layoutGraph.graph().width;inputGraph.graph().height=layoutGraph.graph().height}var graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"],graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},graphAttrs=["acyclicer","ranker","rankdir","align"],nodeNumAttrs=["width","height"],nodeDefaults={width:0,height:0},edgeNumAttrs=["minlen","weight","width","height","labeloffset"],edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},edgeAttrs=["labelpos"];
+/*
+ * Constructs a new graph from the input graph, which can be used for layout.
+ * This process copies only whitelisted attributes from the input graph to the
+ * layout graph. Thus this function serves as a good place to determine what
+ * attributes can influence layout.
+ */function buildLayoutGraph(inputGraph){var g=new Graph({multigraph:true,compound:true}),graph=canonicalize(inputGraph.graph());g.setGraph(_.merge({},graphDefaults,selectNumberAttrs(graph,graphNumAttrs),_.pick(graph,graphAttrs)));_.each(inputGraph.nodes(),function(v){var node=canonicalize(inputGraph.node(v));g.setNode(v,_.defaults(selectNumberAttrs(node,nodeNumAttrs),nodeDefaults));g.setParent(v,inputGraph.parent(v))});_.each(inputGraph.edges(),function(e){var edge=canonicalize(inputGraph.edge(e));g.setEdge(e,_.merge({},edgeDefaults,selectNumberAttrs(edge,edgeNumAttrs),_.pick(edge,edgeAttrs)))});return g}
+/*
+ * This idea comes from the Gansner paper: to account for edge labels in our
+ * layout we split each rank in half by doubling minlen and halving ranksep.
+ * Then we can place labels at these mid-points between nodes.
+ *
+ * We also add some minimal padding to the width to push the label for the edge
+ * away from the edge itself a bit.
+ */function makeSpaceForEdgeLabels(g){var graph=g.graph();graph.ranksep/=2;_.each(g.edges(),function(e){var edge=g.edge(e);edge.minlen*=2;if(edge.labelpos.toLowerCase()!=="c"){if(graph.rankdir==="TB"||graph.rankdir==="BT"){edge.width+=edge.labeloffset}else{edge.height+=edge.labeloffset}}})}
+/*
+ * Creates temporary dummy nodes that capture the rank in which each edge's
+ * label is going to, if it has one of non-zero width and height. We do this
+ * so that we can safely remove empty ranks while preserving balance for the
+ * label's position.
+ */function injectEdgeLabelProxies(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.width&&edge.height){var v=g.node(e.v),w=g.node(e.w),label={rank:(w.rank-v.rank)/2+v.rank,e:e};util.addDummyNode(g,"edge-proxy",label,"_ep")}})}function assignRankMinMax(g){var maxRank=0;_.each(g.nodes(),function(v){var node=g.node(v);if(node.borderTop){node.minRank=g.node(node.borderTop).rank;node.maxRank=g.node(node.borderBottom).rank;maxRank=_.max(maxRank,node.maxRank)}});g.graph().maxRank=maxRank}function removeEdgeLabelProxies(g){_.each(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="edge-proxy"){g.edge(node.e).labelRank=node.rank;g.removeNode(v)}})}function translateGraph(g){var minX=Number.POSITIVE_INFINITY,maxX=0,minY=Number.POSITIVE_INFINITY,maxY=0,graphLabel=g.graph(),marginX=graphLabel.marginx||0,marginY=graphLabel.marginy||0;function getExtremes(attrs){var x=attrs.x,y=attrs.y,w=attrs.width,h=attrs.height;minX=Math.min(minX,x-w/2);maxX=Math.max(maxX,x+w/2);minY=Math.min(minY,y-h/2);maxY=Math.max(maxY,y+h/2)}_.each(g.nodes(),function(v){getExtremes(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){getExtremes(edge)}});minX-=marginX;minY-=marginY;_.each(g.nodes(),function(v){var node=g.node(v);node.x-=minX;node.y-=minY});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,function(p){p.x-=minX;p.y-=minY});if(_.has(edge,"x")){edge.x-=minX}if(_.has(edge,"y")){edge.y-=minY}});graphLabel.width=maxX-minX+marginX;graphLabel.height=maxY-minY+marginY}function assignNodeIntersects(g){_.each(g.edges(),function(e){var edge=g.edge(e),nodeV=g.node(e.v),nodeW=g.node(e.w),p1,p2;if(!edge.points){edge.points=[];p1=nodeW;p2=nodeV}else{p1=edge.points[0];p2=edge.points[edge.points.length-1]}edge.points.unshift(util.intersectRect(nodeV,p1));edge.points.push(util.intersectRect(nodeW,p2))})}function fixupEdgeLabelCoords(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){if(edge.labelpos==="l"||edge.labelpos==="r"){edge.width-=edge.labeloffset}switch(edge.labelpos){case"l":edge.x-=edge.width/2+edge.labeloffset;break;case"r":edge.x+=edge.width/2+edge.labeloffset;break}}})}function reversePointsForReversedEdges(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.reversed){edge.points.reverse()}})}function removeBorderNodes(g){_.each(g.nodes(),function(v){if(g.children(v).length){var node=g.node(v),t=g.node(node.borderTop),b=g.node(node.borderBottom),l=g.node(_.last(node.borderLeft)),r=g.node(_.last(node.borderRight));node.width=Math.abs(r.x-l.x);node.height=Math.abs(b.y-t.y);node.x=l.x+node.width/2;node.y=t.y+node.height/2}});_.each(g.nodes(),function(v){if(g.node(v).dummy==="border"){g.removeNode(v)}})}function removeSelfEdges(g){_.each(g.edges(),function(e){if(e.v===e.w){var node=g.node(e.v);if(!node.selfEdges){node.selfEdges=[]}node.selfEdges.push({e:e,label:g.edge(e)});g.removeEdge(e)}})}function insertSelfEdges(g){var layers=util.buildLayerMatrix(g);_.each(layers,function(layer){var orderShift=0;_.each(layer,function(v,i){var node=g.node(v);node.order=i+orderShift;_.each(node.selfEdges,function(selfEdge){util.addDummyNode(g,"selfedge",{width:selfEdge.label.width,height:selfEdge.label.height,rank:node.rank,order:i+ ++orderShift,e:selfEdge.e,label:selfEdge.label},"_se")});delete node.selfEdges})})}function positionSelfEdges(g){_.each(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="selfedge"){var selfNode=g.node(node.e.v),x=selfNode.x+selfNode.width/2,y=selfNode.y,dx=node.x-x,dy=selfNode.height/2;g.setEdge(node.e,node.label);g.removeNode(v);node.label.points=[{x:x+2*dx/3,y:y-dy},{x:x+5*dx/6,y:y-dy},{x:x+dx,y:y},{x:x+5*dx/6,y:y+dy},{x:x+2*dx/3,y:y+dy}];node.label.x=node.x;node.label.y=node.y}})}function selectNumberAttrs(obj,attrs){return _.mapValues(_.pick(obj,attrs),Number)}function canonicalize(attrs){var newAttrs={};_.each(attrs,function(v,k){newAttrs[k.toLowerCase()]=v});return newAttrs}},{"./acyclic":30,"./add-border-segments":31,"./coordinate-system":32,"./graphlib":35,"./lodash":38,"./nesting-graph":39,"./normalize":40,"./order":45,"./parent-dummy-chains":50,"./position":52,"./rank":54,"./util":57}],38:[function(require,module,exports){
+/* global window */
+var lodash;if(typeof require==="function"){try{lodash=require("lodash")}catch(e){}}if(!lodash){lodash=window._}module.exports=lodash},{lodash:79}],39:[function(require,module,exports){var _=require("./lodash"),util=require("./util");module.exports={run:run,cleanup:cleanup};
+/*
+ * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs,
+ * adds appropriate edges to ensure that all cluster nodes are placed between
+ * these boundries, and ensures that the graph is connected.
+ *
+ * In addition we ensure, through the use of the minlen property, that nodes
+ * and subgraph border nodes to not end up on the same rank.
+ *
+ * Preconditions:
+ *
+ * 1. Input graph is a DAG
+ * 2. Nodes in the input graph has a minlen attribute
+ *
+ * Postconditions:
+ *
+ * 1. Input graph is connected.
+ * 2. Dummy nodes are added for the tops and bottoms of subgraphs.
+ * 3. The minlen attribute for nodes is adjusted to ensure nodes do not
+ * get placed on the same rank as subgraph border nodes.
+ *
+ * The nesting graph idea comes from Sander, "Layout of Compound Directed
+ * Graphs."
+ */function run(g){var root=util.addDummyNode(g,"root",{},"_root"),depths=treeDepths(g),height=_.max(depths)-1,nodeSep=2*height+1;g.graph().nestingRoot=root;
+// Multiply minlen by nodeSep to align nodes on non-border ranks.
+_.each(g.edges(),function(e){g.edge(e).minlen*=nodeSep});
+// Calculate a weight that is sufficient to keep subgraphs vertically compact
+var weight=sumWeights(g)+1;
+// Create border nodes and link them up
+_.each(g.children(),function(child){dfs(g,root,nodeSep,weight,height,depths,child)});
+// Save the multiplier for node layers for later removal of empty border
+// layers.
+g.graph().nodeRankFactor=nodeSep}function dfs(g,root,nodeSep,weight,height,depths,v){var children=g.children(v);if(!children.length){if(v!==root){g.setEdge(root,v,{weight:0,minlen:nodeSep})}return}var top=util.addBorderNode(g,"_bt"),bottom=util.addBorderNode(g,"_bb"),label=g.node(v);g.setParent(top,v);label.borderTop=top;g.setParent(bottom,v);label.borderBottom=bottom;_.each(children,function(child){dfs(g,root,nodeSep,weight,height,depths,child);var childNode=g.node(child),childTop=childNode.borderTop?childNode.borderTop:child,childBottom=childNode.borderBottom?childNode.borderBottom:child,thisWeight=childNode.borderTop?weight:2*weight,minlen=childTop!==childBottom?1:height-depths[v]+1;g.setEdge(top,childTop,{weight:thisWeight,minlen:minlen,nestingEdge:true});g.setEdge(childBottom,bottom,{weight:thisWeight,minlen:minlen,nestingEdge:true})});if(!g.parent(v)){g.setEdge(root,top,{weight:0,minlen:height+depths[v]})}}function treeDepths(g){var depths={};function dfs(v,depth){var children=g.children(v);if(children&&children.length){_.each(children,function(child){dfs(child,depth+1)})}depths[v]=depth}_.each(g.children(),function(v){dfs(v,1)});return depths}function sumWeights(g){return _.reduce(g.edges(),function(acc,e){return acc+g.edge(e).weight},0)}function cleanup(g){var graphLabel=g.graph();g.removeNode(graphLabel.nestingRoot);delete graphLabel.nestingRoot;_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.nestingEdge){g.removeEdge(e)}})}},{"./lodash":38,"./util":57}],40:[function(require,module,exports){"use strict";var _=require("./lodash"),util=require("./util");module.exports={run:run,undo:undo};
+/*
+ * Breaks any long edges in the graph into short segments that span 1 layer
+ * each. This operation is undoable with the denormalize function.
+ *
+ * Pre-conditions:
+ *
+ * 1. The input graph is a DAG.
+ * 2. Each node in the graph has a "rank" property.
+ *
+ * Post-condition:
+ *
+ * 1. All edges in the graph have a length of 1.
+ * 2. Dummy nodes are added where edges have been split into segments.
+ * 3. The graph is augmented with a "dummyChains" attribute which contains
+ * the first dummy in each chain of dummy nodes produced.
+ */function run(g){g.graph().dummyChains=[];_.each(g.edges(),function(edge){normalizeEdge(g,edge)})}function normalizeEdge(g,e){var v=e.v,vRank=g.node(v).rank,w=e.w,wRank=g.node(w).rank,name=e.name,edgeLabel=g.edge(e),labelRank=edgeLabel.labelRank;if(wRank===vRank+1)return;g.removeEdge(e);var dummy,attrs,i;for(i=0,++vRank;vRank<wRank;++i,++vRank){edgeLabel.points=[];attrs={width:0,height:0,edgeLabel:edgeLabel,edgeObj:e,rank:vRank};dummy=util.addDummyNode(g,"edge",attrs,"_d");if(vRank===labelRank){attrs.width=edgeLabel.width;attrs.height=edgeLabel.height;attrs.dummy="edge-label";attrs.labelpos=edgeLabel.labelpos}g.setEdge(v,dummy,{weight:edgeLabel.weight},name);if(i===0){g.graph().dummyChains.push(dummy)}v=dummy}g.setEdge(v,w,{weight:edgeLabel.weight},name)}function undo(g){_.each(g.graph().dummyChains,function(v){var node=g.node(v),origLabel=node.edgeLabel,w;g.setEdge(node.edgeObj,origLabel);while(node.dummy){w=g.successors(v)[0];g.removeNode(v);origLabel.points.push({x:node.x,y:node.y});if(node.dummy==="edge-label"){origLabel.x=node.x;origLabel.y=node.y;origLabel.width=node.width;origLabel.height=node.height}v=w;node=g.node(v)}})}},{"./lodash":38,"./util":57}],41:[function(require,module,exports){var _=require("../lodash");module.exports=addSubgraphConstraints;function addSubgraphConstraints(g,cg,vs){var prev={},rootPrev;_.each(vs,function(v){var child=g.parent(v),parent,prevChild;while(child){parent=g.parent(child);if(parent){prevChild=prev[parent];prev[parent]=child}else{prevChild=rootPrev;rootPrev=child}if(prevChild&&prevChild!==child){cg.setEdge(prevChild,child);return}child=parent}});
+/*
+ function dfs(v) {
+ var children = v ? g.children(v) : g.children();
+ if (children.length) {
+ var min = Number.POSITIVE_INFINITY,
+ subgraphs = [];
+ _.each(children, function(child) {
+ var childMin = dfs(child);
+ if (g.children(child).length) {
+ subgraphs.push({ v: child, order: childMin });
+ }
+ min = Math.min(min, childMin);
+ });
+ _.reduce(_.sortBy(subgraphs, "order"), function(prev, curr) {
+ cg.setEdge(prev.v, curr.v);
+ return curr;
+ });
+ return min;
+ }
+ return g.node(v).order;
+ }
+ dfs(undefined);
+ */}},{"../lodash":38}],42:[function(require,module,exports){var _=require("../lodash");module.exports=barycenter;function barycenter(g,movable){return _.map(movable,function(v){var inV=g.inEdges(v);if(!inV.length){return{v:v}}else{var result=_.reduce(inV,function(acc,e){var edge=g.edge(e),nodeU=g.node(e.v);return{sum:acc.sum+edge.weight*nodeU.order,weight:acc.weight+edge.weight}},{sum:0,weight:0});return{v:v,barycenter:result.sum/result.weight,weight:result.weight}}})}},{"../lodash":38}],43:[function(require,module,exports){var _=require("../lodash"),Graph=require("../graphlib").Graph;module.exports=buildLayerGraph;
+/*
+ * Constructs a graph that can be used to sort a layer of nodes. The graph will
+ * contain all base and subgraph nodes from the request layer in their original
+ * hierarchy and any edges that are incident on these nodes and are of the type
+ * requested by the "relationship" parameter.
+ *
+ * Nodes from the requested rank that do not have parents are assigned a root
+ * node in the output graph, which is set in the root graph attribute. This
+ * makes it easy to walk the hierarchy of movable nodes during ordering.
+ *
+ * Pre-conditions:
+ *
+ * 1. Input graph is a DAG
+ * 2. Base nodes in the input graph have a rank attribute
+ * 3. Subgraph nodes in the input graph has minRank and maxRank attributes
+ * 4. Edges have an assigned weight
+ *
+ * Post-conditions:
+ *
+ * 1. Output graph has all nodes in the movable rank with preserved
+ * hierarchy.
+ * 2. Root nodes in the movable layer are made children of the node
+ * indicated by the root attribute of the graph.
+ * 3. Non-movable nodes incident on movable nodes, selected by the
+ * relationship parameter, are included in the graph (without hierarchy).
+ * 4. Edges incident on movable nodes, selected by the relationship
+ * parameter, are added to the output graph.
+ * 5. The weights for copied edges are aggregated as need, since the output
+ * graph is not a multi-graph.
+ */function buildLayerGraph(g,rank,relationship){var root=createRootNode(g),result=new Graph({compound:true}).setGraph({root:root}).setDefaultNodeLabel(function(v){return g.node(v)});_.each(g.nodes(),function(v){var node=g.node(v),parent=g.parent(v);if(node.rank===rank||node.minRank<=rank&&rank<=node.maxRank){result.setNode(v);result.setParent(v,parent||root);
+// This assumes we have only short edges!
+_.each(g[relationship](v),function(e){var u=e.v===v?e.w:e.v,edge=result.edge(u,v),weight=!_.isUndefined(edge)?edge.weight:0;result.setEdge(u,v,{weight:g.edge(e).weight+weight})});if(_.has(node,"minRank")){result.setNode(v,{borderLeft:node.borderLeft[rank],borderRight:node.borderRight[rank]})}}});return result}function createRootNode(g){var v;while(g.hasNode(v=_.uniqueId("_root")));return v}},{"../graphlib":35,"../lodash":38}],44:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=crossCount;
+/*
+ * A function that takes a layering (an array of layers, each with an array of
+ * ordererd nodes) and a graph and returns a weighted crossing count.
+ *
+ * Pre-conditions:
+ *
+ * 1. Input graph must be simple (not a multigraph), directed, and include
+ * only simple edges.
+ * 2. Edges in the input graph must have assigned weights.
+ *
+ * Post-conditions:
+ *
+ * 1. The graph and layering matrix are left unchanged.
+ *
+ * This algorithm is derived from Barth, et al., "Bilayer Cross Counting."
+ */function crossCount(g,layering){var cc=0;for(var i=1;i<layering.length;++i){cc+=twoLayerCrossCount(g,layering[i-1],layering[i])}return cc}function twoLayerCrossCount(g,northLayer,southLayer){
+// Sort all of the edges between the north and south layers by their position
+// in the north layer and then the south. Map these edges to the position of
+// their head in the south layer.
+var southPos=_.zipObject(southLayer,_.map(southLayer,function(v,i){return i}));var southEntries=_.flatten(_.map(northLayer,function(v){return _.chain(g.outEdges(v)).map(function(e){return{pos:southPos[e.w],weight:g.edge(e).weight}}).sortBy("pos").value()}),true);
+// Build the accumulator tree
+var firstIndex=1;while(firstIndex<southLayer.length)firstIndex<<=1;var treeSize=2*firstIndex-1;firstIndex-=1;var tree=_.map(new Array(treeSize),function(){return 0});
+// Calculate the weighted crossings
+var cc=0;_.each(southEntries.forEach(function(entry){var index=entry.pos+firstIndex;tree[index]+=entry.weight;var weightSum=0;while(index>0){if(index%2){weightSum+=tree[index+1]}index=index-1>>1;tree[index]+=entry.weight}cc+=entry.weight*weightSum}));return cc}},{"../lodash":38}],45:[function(require,module,exports){"use strict";var _=require("../lodash"),initOrder=require("./init-order"),crossCount=require("./cross-count"),sortSubgraph=require("./sort-subgraph"),buildLayerGraph=require("./build-layer-graph"),addSubgraphConstraints=require("./add-subgraph-constraints"),Graph=require("../graphlib").Graph,util=require("../util");module.exports=order;
+/*
+ * Applies heuristics to minimize edge crossings in the graph and sets the best
+ * order solution as an order attribute on each node.
+ *
+ * Pre-conditions:
+ *
+ * 1. Graph must be DAG
+ * 2. Graph nodes must be objects with a "rank" attribute
+ * 3. Graph edges must have the "weight" attribute
+ *
+ * Post-conditions:
+ *
+ * 1. Graph nodes will have an "order" attribute based on the results of the
+ * algorithm.
+ */function order(g){var maxRank=util.maxRank(g),downLayerGraphs=buildLayerGraphs(g,_.range(1,maxRank+1),"inEdges"),upLayerGraphs=buildLayerGraphs(g,_.range(maxRank-1,-1,-1),"outEdges");var layering=initOrder(g);assignOrder(g,layering);var bestCC=Number.POSITIVE_INFINITY,best;for(var i=0,lastBest=0;lastBest<4;++i,++lastBest){sweepLayerGraphs(i%2?downLayerGraphs:upLayerGraphs,i%4>=2);layering=util.buildLayerMatrix(g);var cc=crossCount(g,layering);if(cc<bestCC){lastBest=0;best=_.cloneDeep(layering);bestCC=cc}}assignOrder(g,best)}function buildLayerGraphs(g,ranks,relationship){return _.map(ranks,function(rank){return buildLayerGraph(g,rank,relationship)})}function sweepLayerGraphs(layerGraphs,biasRight){var cg=new Graph;_.each(layerGraphs,function(lg){var root=lg.graph().root;var sorted=sortSubgraph(lg,root,cg,biasRight);_.each(sorted.vs,function(v,i){lg.node(v).order=i});addSubgraphConstraints(lg,cg,sorted.vs)})}function assignOrder(g,layering){_.each(layering,function(layer){_.each(layer,function(v,i){g.node(v).order=i})})}},{"../graphlib":35,"../lodash":38,"../util":57,"./add-subgraph-constraints":41,"./build-layer-graph":43,"./cross-count":44,"./init-order":46,"./sort-subgraph":48}],46:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=initOrder;
+/*
+ * Assigns an initial order value for each node by performing a DFS search
+ * starting from nodes in the first rank. Nodes are assigned an order in their
+ * rank as they are first visited.
+ *
+ * This approach comes from Gansner, et al., "A Technique for Drawing Directed
+ * Graphs."
+ *
+ * Returns a layering matrix with an array per layer and each layer sorted by
+ * the order of its nodes.
+ */function initOrder(g){var visited={},simpleNodes=_.filter(g.nodes(),function(v){return!g.children(v).length}),maxRank=_.max(_.map(simpleNodes,function(v){return g.node(v).rank})),layers=_.map(_.range(maxRank+1),function(){return[]});function dfs(v){if(_.has(visited,v))return;visited[v]=true;var node=g.node(v);layers[node.rank].push(v);_.each(g.successors(v),dfs)}var orderedVs=_.sortBy(simpleNodes,function(v){return g.node(v).rank});_.each(orderedVs,dfs);return layers}},{"../lodash":38}],47:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports=resolveConflicts;
+/*
+ * Given a list of entries of the form {v, barycenter, weight} and a
+ * constraint graph this function will resolve any conflicts between the
+ * constraint graph and the barycenters for the entries. If the barycenters for
+ * an entry would violate a constraint in the constraint graph then we coalesce
+ * the nodes in the conflict into a new node that respects the contraint and
+ * aggregates barycenter and weight information.
+ *
+ * This implementation is based on the description in Forster, "A Fast and
+ * Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it
+ * differs in some specific details.
+ *
+ * Pre-conditions:
+ *
+ * 1. Each entry has the form {v, barycenter, weight}, or if the node has
+ * no barycenter, then {v}.
+ *
+ * Returns:
+ *
+ * A new list of entries of the form {vs, i, barycenter, weight}. The list
+ * `vs` may either be a singleton or it may be an aggregation of nodes
+ * ordered such that they do not violate constraints from the constraint
+ * graph. The property `i` is the lowest original index of any of the
+ * elements in `vs`.
+ */function resolveConflicts(entries,cg){var mappedEntries={};_.each(entries,function(entry,i){var tmp=mappedEntries[entry.v]={indegree:0,in:[],out:[],vs:[entry.v],i:i};if(!_.isUndefined(entry.barycenter)){tmp.barycenter=entry.barycenter;tmp.weight=entry.weight}});_.each(cg.edges(),function(e){var entryV=mappedEntries[e.v],entryW=mappedEntries[e.w];if(!_.isUndefined(entryV)&&!_.isUndefined(entryW)){entryW.indegree++;entryV.out.push(mappedEntries[e.w])}});var sourceSet=_.filter(mappedEntries,function(entry){return!entry.indegree});return doResolveConflicts(sourceSet)}function doResolveConflicts(sourceSet){var entries=[];function handleIn(vEntry){return function(uEntry){if(uEntry.merged){return}if(_.isUndefined(uEntry.barycenter)||_.isUndefined(vEntry.barycenter)||uEntry.barycenter>=vEntry.barycenter){mergeEntries(vEntry,uEntry)}}}function handleOut(vEntry){return function(wEntry){wEntry["in"].push(vEntry);if(--wEntry.indegree===0){sourceSet.push(wEntry)}}}while(sourceSet.length){var entry=sourceSet.pop();entries.push(entry);_.each(entry["in"].reverse(),handleIn(entry));_.each(entry.out,handleOut(entry))}return _.chain(entries).filter(function(entry){return!entry.merged}).map(function(entry){return _.pick(entry,["vs","i","barycenter","weight"])}).value()}function mergeEntries(target,source){var sum=0,weight=0;if(target.weight){sum+=target.barycenter*target.weight;weight+=target.weight}if(source.weight){sum+=source.barycenter*source.weight;weight+=source.weight}target.vs=source.vs.concat(target.vs);target.barycenter=sum/weight;target.weight=weight;target.i=Math.min(source.i,target.i);source.merged=true}},{"../lodash":38}],48:[function(require,module,exports){var _=require("../lodash"),barycenter=require("./barycenter"),resolveConflicts=require("./resolve-conflicts"),sort=require("./sort");module.exports=sortSubgraph;function sortSubgraph(g,v,cg,biasRight){var movable=g.children(v),node=g.node(v),bl=node?node.borderLeft:undefined,br=node?node.borderRight:undefined,subgraphs={};if(bl){movable=_.filter(movable,function(w){return w!==bl&&w!==br})}var barycenters=barycenter(g,movable);_.each(barycenters,function(entry){if(g.children(entry.v).length){var subgraphResult=sortSubgraph(g,entry.v,cg,biasRight);subgraphs[entry.v]=subgraphResult;if(_.has(subgraphResult,"barycenter")){mergeBarycenters(entry,subgraphResult)}}});var entries=resolveConflicts(barycenters,cg);expandSubgraphs(entries,subgraphs);var result=sort(entries,biasRight);if(bl){result.vs=_.flatten([bl,result.vs,br],true);if(g.predecessors(bl).length){var blPred=g.node(g.predecessors(bl)[0]),brPred=g.node(g.predecessors(br)[0]);if(!_.has(result,"barycenter")){result.barycenter=0;result.weight=0}result.barycenter=(result.barycenter*result.weight+blPred.order+brPred.order)/(result.weight+2);result.weight+=2}}return result}function expandSubgraphs(entries,subgraphs){_.each(entries,function(entry){entry.vs=_.flatten(entry.vs.map(function(v){if(subgraphs[v]){return subgraphs[v].vs}return v}),true)})}function mergeBarycenters(target,other){if(!_.isUndefined(target.barycenter)){target.barycenter=(target.barycenter*target.weight+other.barycenter*other.weight)/(target.weight+other.weight);target.weight+=other.weight}else{target.barycenter=other.barycenter;target.weight=other.weight}}},{"../lodash":38,"./barycenter":42,"./resolve-conflicts":47,"./sort":49}],49:[function(require,module,exports){var _=require("../lodash"),util=require("../util");module.exports=sort;function sort(entries,biasRight){var parts=util.partition(entries,function(entry){return _.has(entry,"barycenter")});var sortable=parts.lhs,unsortable=_.sortBy(parts.rhs,function(entry){return-entry.i}),vs=[],sum=0,weight=0,vsIndex=0;sortable.sort(compareWithBias(!!biasRight));vsIndex=consumeUnsortable(vs,unsortable,vsIndex);_.each(sortable,function(entry){vsIndex+=entry.vs.length;vs.push(entry.vs);sum+=entry.barycenter*entry.weight;weight+=entry.weight;vsIndex=consumeUnsortable(vs,unsortable,vsIndex)});var result={vs:_.flatten(vs,true)};if(weight){result.barycenter=sum/weight;result.weight=weight}return result}function consumeUnsortable(vs,unsortable,index){var last;while(unsortable.length&&(last=_.last(unsortable)).i<=index){unsortable.pop();vs.push(last.vs);index++}return index}function compareWithBias(bias){return function(entryV,entryW){if(entryV.barycenter<entryW.barycenter){return-1}else if(entryV.barycenter>entryW.barycenter){return 1}return!bias?entryV.i-entryW.i:entryW.i-entryV.i}}},{"../lodash":38,"../util":57}],50:[function(require,module,exports){var _=require("./lodash");module.exports=parentDummyChains;function parentDummyChains(g){var postorderNums=postorder(g);_.each(g.graph().dummyChains,function(v){var node=g.node(v),edgeObj=node.edgeObj,pathData=findPath(g,postorderNums,edgeObj.v,edgeObj.w),path=pathData.path,lca=pathData.lca,pathIdx=0,pathV=path[pathIdx],ascending=true;while(v!==edgeObj.w){node=g.node(v);if(ascending){while((pathV=path[pathIdx])!==lca&&g.node(pathV).maxRank<node.rank){pathIdx++}if(pathV===lca){ascending=false}}if(!ascending){while(pathIdx<path.length-1&&g.node(pathV=path[pathIdx+1]).minRank<=node.rank){pathIdx++}pathV=path[pathIdx]}g.setParent(v,pathV);v=g.successors(v)[0]}})}
+// Find a path from v to w through the lowest common ancestor (LCA). Return the
+// full path and the LCA.
+function findPath(g,postorderNums,v,w){var vPath=[],wPath=[],low=Math.min(postorderNums[v].low,postorderNums[w].low),lim=Math.max(postorderNums[v].lim,postorderNums[w].lim),parent,lca;
+// Traverse up from v to find the LCA
+parent=v;do{parent=g.parent(parent);vPath.push(parent)}while(parent&&(postorderNums[parent].low>low||lim>postorderNums[parent].lim));lca=parent;
+// Traverse from w to LCA
+parent=w;while((parent=g.parent(parent))!==lca){wPath.push(parent)}return{path:vPath.concat(wPath.reverse()),lca:lca}}function postorder(g){var result={},lim=0;function dfs(v){var low=lim;_.each(g.children(v),dfs);result[v]={low:low,lim:lim++}}_.each(g.children(),dfs);return result}},{"./lodash":38}],51:[function(require,module,exports){"use strict";var _=require("../lodash"),Graph=require("../graphlib").Graph,util=require("../util");
+/*
+ * This module provides coordinate assignment based on Brandes and Köpf, "Fast
+ * and Simple Horizontal Coordinate Assignment."
+ */module.exports={positionX:positionX,findType1Conflicts:findType1Conflicts,findType2Conflicts:findType2Conflicts,addConflict:addConflict,hasConflict:hasConflict,verticalAlignment:verticalAlignment,horizontalCompaction:horizontalCompaction,alignCoordinates:alignCoordinates,findSmallestWidthAlignment:findSmallestWidthAlignment,balance:balance};
+/*
+ * Marks all edges in the graph with a type-1 conflict with the "type1Conflict"
+ * property. A type-1 conflict is one where a non-inner segment crosses an
+ * inner segment. An inner segment is an edge with both incident nodes marked
+ * with the "dummy" property.
+ *
+ * This algorithm scans layer by layer, starting with the second, for type-1
+ * conflicts between the current layer and the previous layer. For each layer
+ * it scans the nodes from left to right until it reaches one that is incident
+ * on an inner segment. It then scans predecessors to determine if they have
+ * edges that cross that inner segment. At the end a final scan is done for all
+ * nodes on the current rank to see if they cross the last visited inner
+ * segment.
+ *
+ * This algorithm (safely) assumes that a dummy node will only be incident on a
+ * single node in the layers being scanned.
+ */function findType1Conflicts(g,layering){var conflicts={};function visitLayer(prevLayer,layer){var
+// last visited node in the previous layer that is incident on an inner
+// segment.
+k0=0,
+// Tracks the last node in this layer scanned for crossings with a type-1
+// segment.
+scanPos=0,prevLayerLength=prevLayer.length,lastNode=_.last(layer);_.each(layer,function(v,i){var w=findOtherInnerSegmentNode(g,v),k1=w?g.node(w).order:prevLayerLength;if(w||v===lastNode){_.each(layer.slice(scanPos,i+1),function(scanNode){_.each(g.predecessors(scanNode),function(u){var uLabel=g.node(u),uPos=uLabel.order;if((uPos<k0||k1<uPos)&&!(uLabel.dummy&&g.node(scanNode).dummy)){addConflict(conflicts,u,scanNode)}})});scanPos=i+1;k0=k1}});return layer}_.reduce(layering,visitLayer);return conflicts}function findType2Conflicts(g,layering){var conflicts={};function scan(south,southPos,southEnd,prevNorthBorder,nextNorthBorder){var v;_.each(_.range(southPos,southEnd),function(i){v=south[i];if(g.node(v).dummy){_.each(g.predecessors(v),function(u){var uNode=g.node(u);if(uNode.dummy&&(uNode.order<prevNorthBorder||uNode.order>nextNorthBorder)){addConflict(conflicts,u,v)}})}})}function visitLayer(north,south){var prevNorthPos=-1,nextNorthPos,southPos=0;_.each(south,function(v,southLookahead){if(g.node(v).dummy==="border"){var predecessors=g.predecessors(v);if(predecessors.length){nextNorthPos=g.node(predecessors[0]).order;scan(south,southPos,southLookahead,prevNorthPos,nextNorthPos);southPos=southLookahead;prevNorthPos=nextNorthPos}}scan(south,southPos,south.length,nextNorthPos,north.length)});return south}_.reduce(layering,visitLayer);return conflicts}function findOtherInnerSegmentNode(g,v){if(g.node(v).dummy){return _.find(g.predecessors(v),function(u){return g.node(u).dummy})}}function addConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}var conflictsV=conflicts[v];if(!conflictsV){conflicts[v]=conflictsV={}}conflictsV[w]=true}function hasConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}return _.has(conflicts[v],w)}
+/*
+ * Try to align nodes into vertical "blocks" where possible. This algorithm
+ * attempts to align a node with one of its median neighbors. If the edge
+ * connecting a neighbor is a type-1 conflict then we ignore that possibility.
+ * If a previous node has already formed a block with a node after the node
+ * we're trying to form a block with, we also ignore that possibility - our
+ * blocks would be split in that scenario.
+ */function verticalAlignment(g,layering,conflicts,neighborFn){var root={},align={},pos={};
+// We cache the position here based on the layering because the graph and
+// layering may be out of sync. The layering matrix is manipulated to
+// generate different extreme alignments.
+_.each(layering,function(layer){_.each(layer,function(v,order){root[v]=v;align[v]=v;pos[v]=order})});_.each(layering,function(layer){var prevIdx=-1;_.each(layer,function(v){var ws=neighborFn(v);if(ws.length){ws=_.sortBy(ws,function(w){return pos[w]});var mp=(ws.length-1)/2;for(var i=Math.floor(mp),il=Math.ceil(mp);i<=il;++i){var w=ws[i];if(align[v]===v&&prevIdx<pos[w]&&!hasConflict(conflicts,v,w)){align[w]=v;align[v]=root[v]=root[w];prevIdx=pos[w]}}}})});return{root:root,align:align}}function horizontalCompaction(g,layering,root,align,reverseSep){
+// This portion of the algorithm differs from BK due to a number of problems.
+// Instead of their algorithm we construct a new block graph and do two
+// sweeps. The first sweep places blocks with the smallest possible
+// coordinates. The second sweep removes unused space by moving blocks to the
+// greatest coordinates without violating separation.
+var xs={},blockG=buildBlockGraph(g,layering,root,reverseSep);
+// First pass, assign smallest coordinates via DFS
+var visited={};function pass1(v){if(!_.has(visited,v)){visited[v]=true;xs[v]=_.reduce(blockG.inEdges(v),function(max,e){pass1(e.v);return Math.max(max,xs[e.v]+blockG.edge(e))},0)}}_.each(blockG.nodes(),pass1);var borderType=reverseSep?"borderLeft":"borderRight";function pass2(v){if(visited[v]!==2){visited[v]++;var node=g.node(v);var min=_.reduce(blockG.outEdges(v),function(min,e){pass2(e.w);return Math.min(min,xs[e.w]-blockG.edge(e))},Number.POSITIVE_INFINITY);if(min!==Number.POSITIVE_INFINITY&&node.borderType!==borderType){xs[v]=Math.max(xs[v],min)}}}_.each(blockG.nodes(),pass2);
+// Assign x coordinates to all nodes
+_.each(align,function(v){xs[v]=xs[root[v]]});return xs}function buildBlockGraph(g,layering,root,reverseSep){var blockGraph=new Graph,graphLabel=g.graph(),sepFn=sep(graphLabel.nodesep,graphLabel.edgesep,reverseSep);_.each(layering,function(layer){var u;_.each(layer,function(v){var vRoot=root[v];blockGraph.setNode(vRoot);if(u){var uRoot=root[u],prevMax=blockGraph.edge(uRoot,vRoot);blockGraph.setEdge(uRoot,vRoot,Math.max(sepFn(g,v,u),prevMax||0))}u=v})});return blockGraph}
+/*
+ * Returns the alignment that has the smallest width of the given alignments.
+ */function findSmallestWidthAlignment(g,xss){return _.min(xss,function(xs){var min=_.min(xs,function(x,v){return x-width(g,v)/2}),max=_.max(xs,function(x,v){return x+width(g,v)/2});return max-min})}
+/*
+ * Align the coordinates of each of the layout alignments such that
+ * left-biased alignments have their minimum coordinate at the same point as
+ * the minimum coordinate of the smallest width alignment and right-biased
+ * alignments have their maximum coordinate at the same point as the maximum
+ * coordinate of the smallest width alignment.
+ */function alignCoordinates(xss,alignTo){var alignToMin=_.min(alignTo),alignToMax=_.max(alignTo);_.each(["u","d"],function(vert){_.each(["l","r"],function(horiz){var alignment=vert+horiz,xs=xss[alignment],delta;if(xs===alignTo)return;delta=horiz==="l"?alignToMin-_.min(xs):alignToMax-_.max(xs);if(delta){xss[alignment]=_.mapValues(xs,function(x){return x+delta})}})})}function balance(xss,align){return _.mapValues(xss.ul,function(ignore,v){if(align){return xss[align.toLowerCase()][v]}else{var xs=_.sortBy(_.pluck(xss,v));return(xs[1]+xs[2])/2}})}function positionX(g){var layering=util.buildLayerMatrix(g),conflicts=_.merge(findType1Conflicts(g,layering),findType2Conflicts(g,layering));var xss={},adjustedLayering;_.each(["u","d"],function(vert){adjustedLayering=vert==="u"?layering:_.values(layering).reverse();_.each(["l","r"],function(horiz){if(horiz==="r"){adjustedLayering=_.map(adjustedLayering,function(inner){return _.values(inner).reverse()})}var neighborFn=_.bind(vert==="u"?g.predecessors:g.successors,g);var align=verticalAlignment(g,adjustedLayering,conflicts,neighborFn);var xs=horizontalCompaction(g,adjustedLayering,align.root,align.align,horiz==="r");if(horiz==="r"){xs=_.mapValues(xs,function(x){return-x})}xss[vert+horiz]=xs})});var smallestWidth=findSmallestWidthAlignment(g,xss);alignCoordinates(xss,smallestWidth);return balance(xss,g.graph().align)}function sep(nodeSep,edgeSep,reverseSep){return function(g,v,w){var vLabel=g.node(v),wLabel=g.node(w),sum=0,delta;sum+=vLabel.width/2;if(_.has(vLabel,"labelpos")){switch(vLabel.labelpos.toLowerCase()){case"l":delta=-vLabel.width/2;break;case"r":delta=vLabel.width/2;break}}if(delta){sum+=reverseSep?delta:-delta}delta=0;sum+=(vLabel.dummy?edgeSep:nodeSep)/2;sum+=(wLabel.dummy?edgeSep:nodeSep)/2;sum+=wLabel.width/2;if(_.has(wLabel,"labelpos")){switch(wLabel.labelpos.toLowerCase()){case"l":delta=wLabel.width/2;break;case"r":delta=-wLabel.width/2;break}}if(delta){sum+=reverseSep?delta:-delta}delta=0;return sum}}function width(g,v){return g.node(v).width}},{"../graphlib":35,"../lodash":38,"../util":57}],52:[function(require,module,exports){"use strict";var _=require("../lodash"),util=require("../util"),positionX=require("./bk").positionX;module.exports=position;function position(g){g=util.asNonCompoundGraph(g);positionY(g);_.each(positionX(g),function(x,v){g.node(v).x=x})}function positionY(g){var layering=util.buildLayerMatrix(g),rankSep=g.graph().ranksep,prevY=0;_.each(layering,function(layer){var maxHeight=_.max(_.map(layer,function(v){return g.node(v).height}));_.each(layer,function(v){g.node(v).y=prevY+maxHeight/2});prevY+=maxHeight+rankSep})}},{"../lodash":38,"../util":57,"./bk":51}],53:[function(require,module,exports){"use strict";var _=require("../lodash"),Graph=require("../graphlib").Graph,slack=require("./util").slack;module.exports=feasibleTree;
+/*
+ * Constructs a spanning tree with tight edges and adjusted the input node's
+ * ranks to achieve this. A tight edge is one that is has a length that matches
+ * its "minlen" attribute.
+ *
+ * The basic structure for this function is derived from Gansner, et al., "A
+ * Technique for Drawing Directed Graphs."
+ *
+ * Pre-conditions:
+ *
+ * 1. Graph must be a DAG.
+ * 2. Graph must be connected.
+ * 3. Graph must have at least one node.
+ * 5. Graph nodes must have been previously assigned a "rank" property that
+ * respects the "minlen" property of incident edges.
+ * 6. Graph edges must have a "minlen" property.
+ *
+ * Post-conditions:
+ *
+ * - Graph nodes will have their rank adjusted to ensure that all edges are
+ * tight.
+ *
+ * Returns a tree (undirected graph) that is constructed using only "tight"
+ * edges.
+ */function feasibleTree(g){var t=new Graph({directed:false});
+// Choose arbitrary node from which to start our tree
+var start=g.nodes()[0],size=g.nodeCount();t.setNode(start,{});var edge,delta;while(tightTree(t,g)<size){edge=findMinSlackEdge(t,g);delta=t.hasNode(edge.v)?slack(g,edge):-slack(g,edge);shiftRanks(t,g,delta)}return t}
+/*
+ * Finds a maximal tree of tight edges and returns the number of nodes in the
+ * tree.
+ */function tightTree(t,g){function dfs(v){_.each(g.nodeEdges(v),function(e){var edgeV=e.v,w=v===edgeV?e.w:edgeV;if(!t.hasNode(w)&&!slack(g,e)){t.setNode(w,{});t.setEdge(v,w,{});dfs(w)}})}_.each(t.nodes(),dfs);return t.nodeCount()}
+/*
+ * Finds the edge with the smallest slack that is incident on tree and returns
+ * it.
+ */function findMinSlackEdge(t,g){return _.min(g.edges(),function(e){if(t.hasNode(e.v)!==t.hasNode(e.w)){return slack(g,e)}})}function shiftRanks(t,g,delta){_.each(t.nodes(),function(v){g.node(v).rank+=delta})}},{"../graphlib":35,"../lodash":38,"./util":56}],54:[function(require,module,exports){"use strict";var rankUtil=require("./util"),longestPath=rankUtil.longestPath,feasibleTree=require("./feasible-tree"),networkSimplex=require("./network-simplex");module.exports=rank;
+/*
+ * Assigns a rank to each node in the input graph that respects the "minlen"
+ * constraint specified on edges between nodes.
+ *
+ * This basic structure is derived from Gansner, et al., "A Technique for
+ * Drawing Directed Graphs."
+ *
+ * Pre-conditions:
+ *
+ * 1. Graph must be a connected DAG
+ * 2. Graph nodes must be objects
+ * 3. Graph edges must have "weight" and "minlen" attributes
+ *
+ * Post-conditions:
+ *
+ * 1. Graph nodes will have a "rank" attribute based on the results of the
+ * algorithm. Ranks can start at any index (including negative), we'll
+ * fix them up later.
+ */function rank(g){switch(g.graph().ranker){case"network-simplex":networkSimplexRanker(g);break;case"tight-tree":tightTreeRanker(g);break;case"longest-path":longestPathRanker(g);break;default:networkSimplexRanker(g)}}
+// A fast and simple ranker, but results are far from optimal.
+var longestPathRanker=longestPath;function tightTreeRanker(g){longestPath(g);feasibleTree(g)}function networkSimplexRanker(g){networkSimplex(g)}},{"./feasible-tree":53,"./network-simplex":55,"./util":56}],55:[function(require,module,exports){"use strict";var _=require("../lodash"),feasibleTree=require("./feasible-tree"),slack=require("./util").slack,initRank=require("./util").longestPath,preorder=require("../graphlib").alg.preorder,postorder=require("../graphlib").alg.postorder,simplify=require("../util").simplify;module.exports=networkSimplex;
+// Expose some internals for testing purposes
+networkSimplex.initLowLimValues=initLowLimValues;networkSimplex.initCutValues=initCutValues;networkSimplex.calcCutValue=calcCutValue;networkSimplex.leaveEdge=leaveEdge;networkSimplex.enterEdge=enterEdge;networkSimplex.exchangeEdges=exchangeEdges;
+/*
+ * The network simplex algorithm assigns ranks to each node in the input graph
+ * and iteratively improves the ranking to reduce the length of edges.
+ *
+ * Preconditions:
+ *
+ * 1. The input graph must be a DAG.
+ * 2. All nodes in the graph must have an object value.
+ * 3. All edges in the graph must have "minlen" and "weight" attributes.
+ *
+ * Postconditions:
+ *
+ * 1. All nodes in the graph will have an assigned "rank" attribute that has
+ * been optimized by the network simplex algorithm. Ranks start at 0.
+ *
+ *
+ * A rough sketch of the algorithm is as follows:
+ *
+ * 1. Assign initial ranks to each node. We use the longest path algorithm,
+ * which assigns ranks to the lowest position possible. In general this
+ * leads to very wide bottom ranks and unnecessarily long edges.
+ * 2. Construct a feasible tight tree. A tight tree is one such that all
+ * edges in the tree have no slack (difference between length of edge
+ * and minlen for the edge). This by itself greatly improves the assigned
+ * rankings by shorting edges.
+ * 3. Iteratively find edges that have negative cut values. Generally a
+ * negative cut value indicates that the edge could be removed and a new
+ * tree edge could be added to produce a more compact graph.
+ *
+ * Much of the algorithms here are derived from Gansner, et al., "A Technique
+ * for Drawing Directed Graphs." The structure of the file roughly follows the
+ * structure of the overall algorithm.
+ */function networkSimplex(g){g=simplify(g);initRank(g);var t=feasibleTree(g);initLowLimValues(t);initCutValues(t,g);var e,f;while(e=leaveEdge(t)){f=enterEdge(t,g,e);exchangeEdges(t,g,e,f)}}
+/*
+ * Initializes cut values for all edges in the tree.
+ */function initCutValues(t,g){var vs=postorder(t,t.nodes());vs=vs.slice(0,vs.length-1);_.each(vs,function(v){assignCutValue(t,g,v)})}function assignCutValue(t,g,child){var childLab=t.node(child),parent=childLab.parent;t.edge(child,parent).cutvalue=calcCutValue(t,g,child)}
+/*
+ * Given the tight tree, its graph, and a child in the graph calculate and
+ * return the cut value for the edge between the child and its parent.
+ */function calcCutValue(t,g,child){var childLab=t.node(child),parent=childLab.parent,
+// True if the child is on the tail end of the edge in the directed graph
+childIsTail=true,
+// The graph's view of the tree edge we're inspecting
+graphEdge=g.edge(child,parent),
+// The accumulated cut value for the edge between this node and its parent
+cutValue=0;if(!graphEdge){childIsTail=false;graphEdge=g.edge(parent,child)}cutValue=graphEdge.weight;_.each(g.nodeEdges(child),function(e){var isOutEdge=e.v===child,other=isOutEdge?e.w:e.v;if(other!==parent){var pointsToHead=isOutEdge===childIsTail,otherWeight=g.edge(e).weight;cutValue+=pointsToHead?otherWeight:-otherWeight;if(isTreeEdge(t,child,other)){var otherCutValue=t.edge(child,other).cutvalue;cutValue+=pointsToHead?-otherCutValue:otherCutValue}}});return cutValue}function initLowLimValues(tree,root){if(arguments.length<2){root=tree.nodes()[0]}dfsAssignLowLim(tree,{},1,root)}function dfsAssignLowLim(tree,visited,nextLim,v,parent){var low=nextLim,label=tree.node(v);visited[v]=true;_.each(tree.neighbors(v),function(w){if(!_.has(visited,w)){nextLim=dfsAssignLowLim(tree,visited,nextLim,w,v)}});label.low=low;label.lim=nextLim++;if(parent){label.parent=parent}else{
+// TODO should be able to remove this when we incrementally update low lim
+delete label.parent}return nextLim}function leaveEdge(tree){return _.find(tree.edges(),function(e){return tree.edge(e).cutvalue<0})}function enterEdge(t,g,edge){var v=edge.v,w=edge.w;
+// For the rest of this function we assume that v is the tail and w is the
+// head, so if we don't have this edge in the graph we should flip it to
+// match the correct orientation.
+if(!g.hasEdge(v,w)){v=edge.w;w=edge.v}var vLabel=t.node(v),wLabel=t.node(w),tailLabel=vLabel,flip=false;
+// If the root is in the tail of the edge then we need to flip the logic that
+// checks for the head and tail nodes in the candidates function below.
+if(vLabel.lim>wLabel.lim){tailLabel=wLabel;flip=true}var candidates=_.filter(g.edges(),function(edge){return flip===isDescendant(t,t.node(edge.v),tailLabel)&&flip!==isDescendant(t,t.node(edge.w),tailLabel)});return _.min(candidates,function(edge){return slack(g,edge)})}function exchangeEdges(t,g,e,f){var v=e.v,w=e.w;t.removeEdge(v,w);t.setEdge(f.v,f.w,{});initLowLimValues(t);initCutValues(t,g);updateRanks(t,g)}function updateRanks(t,g){var root=_.find(t.nodes(),function(v){return!g.node(v).parent}),vs=preorder(t,root);vs=vs.slice(1);_.each(vs,function(v){var parent=t.node(v).parent,edge=g.edge(v,parent),flipped=false;if(!edge){edge=g.edge(parent,v);flipped=true}g.node(v).rank=g.node(parent).rank+(flipped?edge.minlen:-edge.minlen)})}
+/*
+ * Returns true if the edge is in the tree.
+ */function isTreeEdge(tree,u,v){return tree.hasEdge(u,v)}
+/*
+ * Returns true if the specified node is descendant of the root node per the
+ * assigned low and lim attributes in the tree.
+ */function isDescendant(tree,vLabel,rootLabel){return rootLabel.low<=vLabel.lim&&vLabel.lim<=rootLabel.lim}},{"../graphlib":35,"../lodash":38,"../util":57,"./feasible-tree":53,"./util":56}],56:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports={longestPath:longestPath,slack:slack};
+/*
+ * Initializes ranks for the input graph using the longest path algorithm. This
+ * algorithm scales well and is fast in practice, it yields rather poor
+ * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom
+ * ranks wide and leaving edges longer than necessary. However, due to its
+ * speed, this algorithm is good for getting an initial ranking that can be fed
+ * into other algorithms.
+ *
+ * This algorithm does not normalize layers because it will be used by other
+ * algorithms in most cases. If using this algorithm directly, be sure to
+ * run normalize at the end.
+ *
+ * Pre-conditions:
+ *
+ * 1. Input graph is a DAG.
+ * 2. Input graph node labels can be assigned properties.
+ *
+ * Post-conditions:
+ *
+ * 1. Each node will be assign an (unnormalized) "rank" property.
+ */function longestPath(g){var visited={};function dfs(v){var label=g.node(v);if(_.has(visited,v)){return label.rank}visited[v]=true;var rank=_.min(_.map(g.outEdges(v),function(e){return dfs(e.w)-g.edge(e).minlen}));if(rank===Number.POSITIVE_INFINITY){rank=0}return label.rank=rank}_.each(g.sources(),dfs)}
+/*
+ * Returns the amount of slack for the given edge. The slack is defined as the
+ * difference between the length of the edge and its minimum length.
+ */function slack(g,e){return g.node(e.w).rank-g.node(e.v).rank-g.edge(e).minlen}},{"../lodash":38}],57:[function(require,module,exports){"use strict";var _=require("./lodash"),Graph=require("./graphlib").Graph;module.exports={addDummyNode:addDummyNode,simplify:simplify,asNonCompoundGraph:asNonCompoundGraph,successorWeights:successorWeights,predecessorWeights:predecessorWeights,intersectRect:intersectRect,buildLayerMatrix:buildLayerMatrix,normalizeRanks:normalizeRanks,removeEmptyRanks:removeEmptyRanks,addBorderNode:addBorderNode,maxRank:maxRank,partition:partition,time:time,notime:notime};
+/*
+ * Adds a dummy node to the graph and return v.
+ */function addDummyNode(g,type,attrs,name){var v;do{v=_.uniqueId(name)}while(g.hasNode(v));attrs.dummy=type;g.setNode(v,attrs);return v}
+/*
+ * Returns a new graph with only simple edges. Handles aggregation of data
+ * associated with multi-edges.
+ */function simplify(g){var simplified=(new Graph).setGraph(g.graph());_.each(g.nodes(),function(v){simplified.setNode(v,g.node(v))});_.each(g.edges(),function(e){var simpleLabel=simplified.edge(e.v,e.w)||{weight:0,minlen:1},label=g.edge(e);simplified.setEdge(e.v,e.w,{weight:simpleLabel.weight+label.weight,minlen:Math.max(simpleLabel.minlen,label.minlen)})});return simplified}function asNonCompoundGraph(g){var simplified=new Graph({multigraph:g.isMultigraph()}).setGraph(g.graph());_.each(g.nodes(),function(v){if(!g.children(v).length){simplified.setNode(v,g.node(v))}});_.each(g.edges(),function(e){simplified.setEdge(e,g.edge(e))});return simplified}function successorWeights(g){var weightMap=_.map(g.nodes(),function(v){var sucs={};_.each(g.outEdges(v),function(e){sucs[e.w]=(sucs[e.w]||0)+g.edge(e).weight});return sucs});return _.zipObject(g.nodes(),weightMap)}function predecessorWeights(g){var weightMap=_.map(g.nodes(),function(v){var preds={};_.each(g.inEdges(v),function(e){preds[e.v]=(preds[e.v]||0)+g.edge(e).weight});return preds});return _.zipObject(g.nodes(),weightMap)}
+/*
+ * Finds where a line starting at point ({x, y}) would intersect a rectangle
+ * ({x, y, width, height}) if it were pointing at the rectangle's center.
+ */function intersectRect(rect,point){var x=rect.x;var y=rect.y;
+// Rectangle intersection algorithm from:
+// http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes
+var dx=point.x-x;var dy=point.y-y;var w=rect.width/2;var h=rect.height/2;if(!dx&&!dy){throw new Error("Not possible to find intersection inside of the rectangle")}var sx,sy;if(Math.abs(dy)*w>Math.abs(dx)*h){
+// Intersection is top or bottom of rect.
+if(dy<0){h=-h}sx=h*dx/dy;sy=h}else{
+// Intersection is left or right of rect.
+if(dx<0){w=-w}sx=w;sy=w*dy/dx}return{x:x+sx,y:y+sy}}
+/*
+ * Given a DAG with each node assigned "rank" and "order" properties, this
+ * function will produce a matrix with the ids of each node.
+ */function buildLayerMatrix(g){var layering=_.map(_.range(maxRank(g)+1),function(){return[]});_.each(g.nodes(),function(v){var node=g.node(v),rank=node.rank;if(!_.isUndefined(rank)){layering[rank][node.order]=v}});return layering}
+/*
+ * Adjusts the ranks for all nodes in the graph such that all nodes v have
+ * rank(v) >= 0 and at least one node w has rank(w) = 0.
+ */function normalizeRanks(g){var min=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));_.each(g.nodes(),function(v){var node=g.node(v);if(_.has(node,"rank")){node.rank-=min}})}function removeEmptyRanks(g){
+// Ranks may not start at 0, so we need to offset them
+var offset=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));var layers=[];_.each(g.nodes(),function(v){var rank=g.node(v).rank-offset;if(!layers[rank]){layers[rank]=[]}layers[rank].push(v)});var delta=0,nodeRankFactor=g.graph().nodeRankFactor;_.each(layers,function(vs,i){if(_.isUndefined(vs)&&i%nodeRankFactor!==0){--delta}else if(delta){_.each(vs,function(v){g.node(v).rank+=delta})}})}function addBorderNode(g,prefix,rank,order){var node={width:0,height:0};if(arguments.length>=4){node.rank=rank;node.order=order}return addDummyNode(g,"border",node,prefix)}function maxRank(g){return _.max(_.map(g.nodes(),function(v){var rank=g.node(v).rank;if(!_.isUndefined(rank)){return rank}}))}
+/*
+ * Partition a collection into two groups: `lhs` and `rhs`. If the supplied
+ * function returns true for an entry it goes into `lhs`. Otherwise it goes
+ * into `rhs.
+ */function partition(collection,fn){var result={lhs:[],rhs:[]};_.each(collection,function(value){if(fn(value)){result.lhs.push(value)}else{result.rhs.push(value)}});return result}
+/*
+ * Returns a new function that wraps `fn` with a timer. The wrapper logs the
+ * time it takes to execute the function.
+ */function time(name,fn){var start=_.now();try{return fn()}finally{console.log(name+" time: "+(_.now()-start)+"ms")}}function notime(name,fn){return fn()}},{"./graphlib":35,"./lodash":38}],58:[function(require,module,exports){module.exports="0.7.4"},{}],59:[function(require,module,exports){
+/**
+ * Copyright (c) 2014, Chris Pettitt
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the copyright holder nor the names of its contributors
+ * may be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+var lib=require("./lib");module.exports={Graph:lib.Graph,json:require("./lib/json"),alg:require("./lib/alg"),version:lib.version}},{"./lib":75,"./lib/alg":66,"./lib/json":76}],60:[function(require,module,exports){var _=require("../lodash");module.exports=components;function components(g){var visited={},cmpts=[],cmpt;function dfs(v){if(_.has(visited,v))return;visited[v]=true;cmpt.push(v);_.each(g.successors(v),dfs);_.each(g.predecessors(v),dfs)}_.each(g.nodes(),function(v){cmpt=[];dfs(v);if(cmpt.length){cmpts.push(cmpt)}});return cmpts}},{"../lodash":77}],61:[function(require,module,exports){var _=require("../lodash");module.exports=dfs;
+/*
+ * A helper that preforms a pre- or post-order traversal on the input graph
+ * and returns the nodes in the order they were visited. This algorithm treats
+ * the input as undirected.
+ *
+ * Order must be one of "pre" or "post".
+ */function dfs(g,vs,order){if(!_.isArray(vs)){vs=[vs]}var acc=[],visited={};_.each(vs,function(v){if(!g.hasNode(v)){throw new Error("Graph does not have node: "+v)}doDfs(g,v,order==="post",visited,acc)});return acc}function doDfs(g,v,postorder,visited,acc){if(!_.has(visited,v)){visited[v]=true;if(!postorder){acc.push(v)}_.each(g.neighbors(v),function(w){doDfs(g,w,postorder,visited,acc)});if(postorder){acc.push(v)}}}},{"../lodash":77}],62:[function(require,module,exports){var dijkstra=require("./dijkstra"),_=require("../lodash");module.exports=dijkstraAll;function dijkstraAll(g,weightFunc,edgeFunc){return _.transform(g.nodes(),function(acc,v){acc[v]=dijkstra(g,v,weightFunc,edgeFunc)},{})}},{"../lodash":77,"./dijkstra":63}],63:[function(require,module,exports){var _=require("../lodash"),PriorityQueue=require("../data/priority-queue");module.exports=dijkstra;var DEFAULT_WEIGHT_FUNC=_.constant(1);function dijkstra(g,source,weightFn,edgeFn){return runDijkstra(g,String(source),weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runDijkstra(g,source,weightFn,edgeFn){var results={},pq=new PriorityQueue,v,vEntry;var updateNeighbors=function(edge){var w=edge.v!==v?edge.v:edge.w,wEntry=results[w],weight=weightFn(edge),distance=vEntry.distance+weight;if(weight<0){throw new Error("dijkstra does not allow negative edge weights. "+"Bad edge: "+edge+" Weight: "+weight)}if(distance<wEntry.distance){wEntry.distance=distance;wEntry.predecessor=v;pq.decrease(w,distance)}};g.nodes().forEach(function(v){var distance=v===source?0:Number.POSITIVE_INFINITY;results[v]={distance:distance};pq.add(v,distance)});while(pq.size()>0){v=pq.removeMin();vEntry=results[v];if(vEntry.distance===Number.POSITIVE_INFINITY){break}edgeFn(v).forEach(updateNeighbors)}return results}},{"../data/priority-queue":73,"../lodash":77}],64:[function(require,module,exports){var _=require("../lodash"),tarjan=require("./tarjan");module.exports=findCycles;function findCycles(g){return _.filter(tarjan(g),function(cmpt){return cmpt.length>1||cmpt.length===1&&g.hasEdge(cmpt[0],cmpt[0])})}},{"../lodash":77,"./tarjan":71}],65:[function(require,module,exports){var _=require("../lodash");module.exports=floydWarshall;var DEFAULT_WEIGHT_FUNC=_.constant(1);function floydWarshall(g,weightFn,edgeFn){return runFloydWarshall(g,weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runFloydWarshall(g,weightFn,edgeFn){var results={},nodes=g.nodes();nodes.forEach(function(v){results[v]={};results[v][v]={distance:0};nodes.forEach(function(w){if(v!==w){results[v][w]={distance:Number.POSITIVE_INFINITY}}});edgeFn(v).forEach(function(edge){var w=edge.v===v?edge.w:edge.v,d=weightFn(edge);results[v][w]={distance:d,predecessor:v}})});nodes.forEach(function(k){var rowK=results[k];nodes.forEach(function(i){var rowI=results[i];nodes.forEach(function(j){var ik=rowI[k];var kj=rowK[j];var ij=rowI[j];var altDistance=ik.distance+kj.distance;if(altDistance<ij.distance){ij.distance=altDistance;ij.predecessor=kj.predecessor}})})});return results}},{"../lodash":77}],66:[function(require,module,exports){module.exports={components:require("./components"),dijkstra:require("./dijkstra"),dijkstraAll:require("./dijkstra-all"),findCycles:require("./find-cycles"),floydWarshall:require("./floyd-warshall"),isAcyclic:require("./is-acyclic"),postorder:require("./postorder"),preorder:require("./preorder"),prim:require("./prim"),tarjan:require("./tarjan"),topsort:require("./topsort")}},{"./components":60,"./dijkstra":63,"./dijkstra-all":62,"./find-cycles":64,"./floyd-warshall":65,"./is-acyclic":67,"./postorder":68,"./preorder":69,"./prim":70,"./tarjan":71,"./topsort":72}],67:[function(require,module,exports){var topsort=require("./topsort");module.exports=isAcyclic;function isAcyclic(g){try{topsort(g)}catch(e){if(e instanceof topsort.CycleException){return false}throw e}return true}},{"./topsort":72}],68:[function(require,module,exports){var dfs=require("./dfs");module.exports=postorder;function postorder(g,vs){return dfs(g,vs,"post")}},{"./dfs":61}],69:[function(require,module,exports){var dfs=require("./dfs");module.exports=preorder;function preorder(g,vs){return dfs(g,vs,"pre")}},{"./dfs":61}],70:[function(require,module,exports){var _=require("../lodash"),Graph=require("../graph"),PriorityQueue=require("../data/priority-queue");module.exports=prim;function prim(g,weightFunc){var result=new Graph,parents={},pq=new PriorityQueue,v;function updateNeighbors(edge){var w=edge.v===v?edge.w:edge.v,pri=pq.priority(w);if(pri!==undefined){var edgeWeight=weightFunc(edge);if(edgeWeight<pri){parents[w]=v;pq.decrease(w,edgeWeight)}}}if(g.nodeCount()===0){return result}_.each(g.nodes(),function(v){pq.add(v,Number.POSITIVE_INFINITY);result.setNode(v)});
+// Start from an arbitrary node
+pq.decrease(g.nodes()[0],0);var init=false;while(pq.size()>0){v=pq.removeMin();if(_.has(parents,v)){result.setEdge(v,parents[v])}else if(init){throw new Error("Input graph is not connected: "+g)}else{init=true}g.nodeEdges(v).forEach(updateNeighbors)}return result}},{"../data/priority-queue":73,"../graph":74,"../lodash":77}],71:[function(require,module,exports){var _=require("../lodash");module.exports=tarjan;function tarjan(g){var index=0,stack=[],visited={},// node id -> { onStack, lowlink, index }
+results=[];function dfs(v){var entry=visited[v]={onStack:true,lowlink:index,index:index++};stack.push(v);g.successors(v).forEach(function(w){if(!_.has(visited,w)){dfs(w);entry.lowlink=Math.min(entry.lowlink,visited[w].lowlink)}else if(visited[w].onStack){entry.lowlink=Math.min(entry.lowlink,visited[w].index)}});if(entry.lowlink===entry.index){var cmpt=[],w;do{w=stack.pop();visited[w].onStack=false;cmpt.push(w)}while(v!==w);results.push(cmpt)}}g.nodes().forEach(function(v){if(!_.has(visited,v)){dfs(v)}});return results}},{"../lodash":77}],72:[function(require,module,exports){var _=require("../lodash");module.exports=topsort;topsort.CycleException=CycleException;function topsort(g){var visited={},stack={},results=[];function visit(node){if(_.has(stack,node)){throw new CycleException}if(!_.has(visited,node)){stack[node]=true;visited[node]=true;_.each(g.predecessors(node),visit);delete stack[node];results.push(node)}}_.each(g.sinks(),visit);if(_.size(visited)!==g.nodeCount()){throw new CycleException}return results}function CycleException(){}},{"../lodash":77}],73:[function(require,module,exports){var _=require("../lodash");module.exports=PriorityQueue;
+/**
+ * A min-priority queue data structure. This algorithm is derived from Cormen,
+ * et al., "Introduction to Algorithms". The basic idea of a min-priority
+ * queue is that you can efficiently (in O(1) time) get the smallest key in
+ * the queue. Adding and removing elements takes O(log n) time. A key can
+ * have its priority decreased in O(log n) time.
+ */function PriorityQueue(){this._arr=[];this._keyIndices={}}
+/**
+ * Returns the number of elements in the queue. Takes `O(1)` time.
+ */PriorityQueue.prototype.size=function(){return this._arr.length};
+/**
+ * Returns the keys that are in the queue. Takes `O(n)` time.
+ */PriorityQueue.prototype.keys=function(){return this._arr.map(function(x){return x.key})};
+/**
+ * Returns `true` if **key** is in the queue and `false` if not.
+ */PriorityQueue.prototype.has=function(key){return _.has(this._keyIndices,key)};
+/**
+ * Returns the priority for **key**. If **key** is not present in the queue
+ * then this function returns `undefined`. Takes `O(1)` time.
+ *
+ * @param {Object} key
+ */PriorityQueue.prototype.priority=function(key){var index=this._keyIndices[key];if(index!==undefined){return this._arr[index].priority}};
+/**
+ * Returns the key for the minimum element in this queue. If the queue is
+ * empty this function throws an Error. Takes `O(1)` time.
+ */PriorityQueue.prototype.min=function(){if(this.size()===0){throw new Error("Queue underflow")}return this._arr[0].key};
+/**
+ * Inserts a new key into the priority queue. If the key already exists in
+ * the queue this function returns `false`; otherwise it will return `true`.
+ * Takes `O(n)` time.
+ *
+ * @param {Object} key the key to add
+ * @param {Number} priority the initial priority for the key
+ */PriorityQueue.prototype.add=function(key,priority){var keyIndices=this._keyIndices;key=String(key);if(!_.has(keyIndices,key)){var arr=this._arr;var index=arr.length;keyIndices[key]=index;arr.push({key:key,priority:priority});this._decrease(index);return true}return false};
+/**
+ * Removes and returns the smallest key in the queue. Takes `O(log n)` time.
+ */PriorityQueue.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var min=this._arr.pop();delete this._keyIndices[min.key];this._heapify(0);return min.key};
+/**
+ * Decreases the priority for **key** to **priority**. If the new priority is
+ * greater than the previous priority, this function will throw an Error.
+ *
+ * @param {Object} key the key for which to raise priority
+ * @param {Number} priority the new priority for the key
+ */PriorityQueue.prototype.decrease=function(key,priority){var index=this._keyIndices[key];if(priority>this._arr[index].priority){throw new Error("New priority is greater than current priority. "+"Key: "+key+" Old: "+this._arr[index].priority+" New: "+priority)}this._arr[index].priority=priority;this._decrease(index)};PriorityQueue.prototype._heapify=function(i){var arr=this._arr;var l=2*i,r=l+1,largest=i;if(l<arr.length){largest=arr[l].priority<arr[largest].priority?l:largest;if(r<arr.length){largest=arr[r].priority<arr[largest].priority?r:largest}if(largest!==i){this._swap(i,largest);this._heapify(largest)}}};PriorityQueue.prototype._decrease=function(index){var arr=this._arr;var priority=arr[index].priority;var parent;while(index!==0){parent=index>>1;if(arr[parent].priority<priority){break}this._swap(index,parent);index=parent}};PriorityQueue.prototype._swap=function(i,j){var arr=this._arr;var keyIndices=this._keyIndices;var origArrI=arr[i];var origArrJ=arr[j];arr[i]=origArrJ;arr[j]=origArrI;keyIndices[origArrJ.key]=i;keyIndices[origArrI.key]=j}},{"../lodash":77}],74:[function(require,module,exports){"use strict";var _=require("./lodash");module.exports=Graph;var DEFAULT_EDGE_NAME="\0",GRAPH_NODE="\0",EDGE_KEY_DELIM="";
+// Implementation notes:
+//
+// * Node id query functions should return string ids for the nodes
+// * Edge id query functions should return an "edgeObj", edge object, that is
+// composed of enough information to uniquely identify an edge: {v, w, name}.
+// * Internally we use an "edgeId", a stringified form of the edgeObj, to
+// reference edges. This is because we need a performant way to look these
+// edges up and, object properties, which have string keys, are the closest
+// we're going to get to a performant hashtable in JavaScript.
+function Graph(opts){this._isDirected=_.has(opts,"directed")?opts.directed:true;this._isMultigraph=_.has(opts,"multigraph")?opts.multigraph:false;this._isCompound=_.has(opts,"compound")?opts.compound:false;
+// Label for the graph itself
+this._label=undefined;
+// Defaults to be set when creating a new node
+this._defaultNodeLabelFn=_.constant(undefined);
+// Defaults to be set when creating a new edge
+this._defaultEdgeLabelFn=_.constant(undefined);
+// v -> label
+this._nodes={};if(this._isCompound){
+// v -> parent
+this._parent={};
+// v -> children
+this._children={};this._children[GRAPH_NODE]={}}
+// v -> edgeObj
+this._in={};
+// u -> v -> Number
+this._preds={};
+// v -> edgeObj
+this._out={};
+// v -> w -> Number
+this._sucs={};
+// e -> edgeObj
+this._edgeObjs={};
+// e -> label
+this._edgeLabels={}}
+/* Number of nodes in the graph. Should only be changed by the implementation. */Graph.prototype._nodeCount=0;
+/* Number of edges in the graph. Should only be changed by the implementation. */Graph.prototype._edgeCount=0;
+/* === Graph functions ========= */Graph.prototype.isDirected=function(){return this._isDirected};Graph.prototype.isMultigraph=function(){return this._isMultigraph};Graph.prototype.isCompound=function(){return this._isCompound};Graph.prototype.setGraph=function(label){this._label=label;return this};Graph.prototype.graph=function(){return this._label};
+/* === Node functions ========== */Graph.prototype.setDefaultNodeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultNodeLabelFn=newDefault;return this};Graph.prototype.nodeCount=function(){return this._nodeCount};Graph.prototype.nodes=function(){return _.keys(this._nodes)};Graph.prototype.sources=function(){return _.filter(this.nodes(),function(v){return _.isEmpty(this._in[v])},this)};Graph.prototype.sinks=function(){return _.filter(this.nodes(),function(v){return _.isEmpty(this._out[v])},this)};Graph.prototype.setNodes=function(vs,value){var args=arguments;_.each(vs,function(v){if(args.length>1){this.setNode(v,value)}else{this.setNode(v)}},this);return this};Graph.prototype.setNode=function(v,value){if(_.has(this._nodes,v)){if(arguments.length>1){this._nodes[v]=value}return this}this._nodes[v]=arguments.length>1?value:this._defaultNodeLabelFn(v);if(this._isCompound){this._parent[v]=GRAPH_NODE;this._children[v]={};this._children[GRAPH_NODE][v]=true}this._in[v]={};this._preds[v]={};this._out[v]={};this._sucs[v]={};++this._nodeCount;return this};Graph.prototype.node=function(v){return this._nodes[v]};Graph.prototype.hasNode=function(v){return _.has(this._nodes,v)};Graph.prototype.removeNode=function(v){var self=this;if(_.has(this._nodes,v)){var removeEdge=function(e){self.removeEdge(self._edgeObjs[e])};delete this._nodes[v];if(this._isCompound){this._removeFromParentsChildList(v);delete this._parent[v];_.each(this.children(v),function(child){this.setParent(child)},this);delete this._children[v]}_.each(_.keys(this._in[v]),removeEdge);delete this._in[v];delete this._preds[v];_.each(_.keys(this._out[v]),removeEdge);delete this._out[v];delete this._sucs[v];--this._nodeCount}return this};Graph.prototype.setParent=function(v,parent){if(!this._isCompound){throw new Error("Cannot set parent in a non-compound graph")}if(_.isUndefined(parent)){parent=GRAPH_NODE}else{
+// Coerce parent to string
+parent+="";for(var ancestor=parent;!_.isUndefined(ancestor);ancestor=this.parent(ancestor)){if(ancestor===v){throw new Error("Setting "+parent+" as parent of "+v+" would create create a cycle")}}this.setNode(parent)}this.setNode(v);this._removeFromParentsChildList(v);this._parent[v]=parent;this._children[parent][v]=true;return this};Graph.prototype._removeFromParentsChildList=function(v){delete this._children[this._parent[v]][v]};Graph.prototype.parent=function(v){if(this._isCompound){var parent=this._parent[v];if(parent!==GRAPH_NODE){return parent}}};Graph.prototype.children=function(v){if(_.isUndefined(v)){v=GRAPH_NODE}if(this._isCompound){var children=this._children[v];if(children){return _.keys(children)}}else if(v===GRAPH_NODE){return this.nodes()}else if(this.hasNode(v)){return[]}};Graph.prototype.predecessors=function(v){var predsV=this._preds[v];if(predsV){return _.keys(predsV)}};Graph.prototype.successors=function(v){var sucsV=this._sucs[v];if(sucsV){return _.keys(sucsV)}};Graph.prototype.neighbors=function(v){var preds=this.predecessors(v);if(preds){return _.union(preds,this.successors(v))}};Graph.prototype.filterNodes=function(filter){var copy=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});copy.setGraph(this.graph());_.each(this._nodes,function(value,v){if(filter(v)){copy.setNode(v,value)}},this);_.each(this._edgeObjs,function(e){if(copy.hasNode(e.v)&&copy.hasNode(e.w)){copy.setEdge(e,this.edge(e))}},this);var self=this;var parents={};function findParent(v){var parent=self.parent(v);if(parent===undefined||copy.hasNode(parent)){parents[v]=parent;return parent}else if(parent in parents){return parents[parent]}else{return findParent(parent)}}if(this._isCompound){_.each(copy.nodes(),function(v){copy.setParent(v,findParent(v))})}return copy};
+/* === Edge functions ========== */Graph.prototype.setDefaultEdgeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultEdgeLabelFn=newDefault;return this};Graph.prototype.edgeCount=function(){return this._edgeCount};Graph.prototype.edges=function(){return _.values(this._edgeObjs)};Graph.prototype.setPath=function(vs,value){var self=this,args=arguments;_.reduce(vs,function(v,w){if(args.length>1){self.setEdge(v,w,value)}else{self.setEdge(v,w)}return w});return this};
+/*
+ * setEdge(v, w, [value, [name]])
+ * setEdge({ v, w, [name] }, [value])
+ */Graph.prototype.setEdge=function(){var v,w,name,value,valueSpecified=false,arg0=arguments[0];if(typeof arg0==="object"&&arg0!==null&&"v"in arg0){v=arg0.v;w=arg0.w;name=arg0.name;if(arguments.length===2){value=arguments[1];valueSpecified=true}}else{v=arg0;w=arguments[1];name=arguments[3];if(arguments.length>2){value=arguments[2];valueSpecified=true}}v=""+v;w=""+w;if(!_.isUndefined(name)){name=""+name}var e=edgeArgsToId(this._isDirected,v,w,name);if(_.has(this._edgeLabels,e)){if(valueSpecified){this._edgeLabels[e]=value}return this}if(!_.isUndefined(name)&&!this._isMultigraph){throw new Error("Cannot set a named edge when isMultigraph = false")}
+// It didn't exist, so we need to create it.
+// First ensure the nodes exist.
+this.setNode(v);this.setNode(w);this._edgeLabels[e]=valueSpecified?value:this._defaultEdgeLabelFn(v,w,name);var edgeObj=edgeArgsToObj(this._isDirected,v,w,name);
+// Ensure we add undirected edges in a consistent way.
+v=edgeObj.v;w=edgeObj.w;Object.freeze(edgeObj);this._edgeObjs[e]=edgeObj;incrementOrInitEntry(this._preds[w],v);incrementOrInitEntry(this._sucs[v],w);this._in[w][e]=edgeObj;this._out[v][e]=edgeObj;this._edgeCount++;return this};Graph.prototype.edge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return this._edgeLabels[e]};Graph.prototype.hasEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return _.has(this._edgeLabels,e)};Graph.prototype.removeEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name),edge=this._edgeObjs[e];if(edge){v=edge.v;w=edge.w;delete this._edgeLabels[e];delete this._edgeObjs[e];decrementOrRemoveEntry(this._preds[w],v);decrementOrRemoveEntry(this._sucs[v],w);delete this._in[w][e];delete this._out[v][e];this._edgeCount--}return this};Graph.prototype.inEdges=function(v,u){var inV=this._in[v];if(inV){var edges=_.values(inV);if(!u){return edges}return _.filter(edges,function(edge){return edge.v===u})}};Graph.prototype.outEdges=function(v,w){var outV=this._out[v];if(outV){var edges=_.values(outV);if(!w){return edges}return _.filter(edges,function(edge){return edge.w===w})}};Graph.prototype.nodeEdges=function(v,w){var inEdges=this.inEdges(v,w);if(inEdges){return inEdges.concat(this.outEdges(v,w))}};function incrementOrInitEntry(map,k){if(map[k]){map[k]++}else{map[k]=1}}function decrementOrRemoveEntry(map,k){if(!--map[k]){delete map[k]}}function edgeArgsToId(isDirected,v_,w_,name){var v=""+v_;var w=""+w_;if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}return v+EDGE_KEY_DELIM+w+EDGE_KEY_DELIM+(_.isUndefined(name)?DEFAULT_EDGE_NAME:name)}function edgeArgsToObj(isDirected,v_,w_,name){var v=""+v_;var w=""+w_;if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}var edgeObj={v:v,w:w};if(name){edgeObj.name=name}return edgeObj}function edgeObjToId(isDirected,edgeObj){return edgeArgsToId(isDirected,edgeObj.v,edgeObj.w,edgeObj.name)}},{"./lodash":77}],75:[function(require,module,exports){
+// Includes only the "core" of graphlib
+module.exports={Graph:require("./graph"),version:require("./version")}},{"./graph":74,"./version":78}],76:[function(require,module,exports){var _=require("./lodash"),Graph=require("./graph");module.exports={write:write,read:read};function write(g){var json={options:{directed:g.isDirected(),multigraph:g.isMultigraph(),compound:g.isCompound()},nodes:writeNodes(g),edges:writeEdges(g)};if(!_.isUndefined(g.graph())){json.value=_.clone(g.graph())}return json}function writeNodes(g){return _.map(g.nodes(),function(v){var nodeValue=g.node(v),parent=g.parent(v),node={v:v};if(!_.isUndefined(nodeValue)){node.value=nodeValue}if(!_.isUndefined(parent)){node.parent=parent}return node})}function writeEdges(g){return _.map(g.edges(),function(e){var edgeValue=g.edge(e),edge={v:e.v,w:e.w};if(!_.isUndefined(e.name)){edge.name=e.name}if(!_.isUndefined(edgeValue)){edge.value=edgeValue}return edge})}function read(json){var g=new Graph(json.options).setGraph(json.value);_.each(json.nodes,function(entry){g.setNode(entry.v,entry.value);if(entry.parent){g.setParent(entry.v,entry.parent)}});_.each(json.edges,function(entry){g.setEdge({v:entry.v,w:entry.w,name:entry.name},entry.value)});return g}},{"./graph":74,"./lodash":77}],77:[function(require,module,exports){arguments[4][38][0].apply(exports,arguments)},{dup:38,lodash:79}],78:[function(require,module,exports){module.exports="1.0.7"},{}],79:[function(require,module,exports){(function(global){(function(){
+/** Used as a safe reference for `undefined` in pre-ES5 environments. */
+var undefined;
+/** Used as the semantic version number. */var VERSION="3.10.1";
+/** Used to compose bitmasks for wrapper metadata. */var BIND_FLAG=1,BIND_KEY_FLAG=2,CURRY_BOUND_FLAG=4,CURRY_FLAG=8,CURRY_RIGHT_FLAG=16,PARTIAL_FLAG=32,PARTIAL_RIGHT_FLAG=64,ARY_FLAG=128,REARG_FLAG=256;
+/** Used as default options for `_.trunc`. */var DEFAULT_TRUNC_LENGTH=30,DEFAULT_TRUNC_OMISSION="...";
+/** Used to detect when a function becomes hot. */var HOT_COUNT=150,HOT_SPAN=16;
+/** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE=200;
+/** Used to indicate the type of lazy iteratees. */var LAZY_FILTER_FLAG=1,LAZY_MAP_FLAG=2;
+/** Used as the `TypeError` message for "Functions" methods. */var FUNC_ERROR_TEXT="Expected a function";
+/** Used as the internal argument placeholder. */var PLACEHOLDER="__lodash_placeholder__";
+/** `Object#toString` result references. */var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";
+/** Used to match empty string literals in compiled template source. */var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;
+/** Used to match HTML entities and HTML characters. */var reEscapedHtml=/&(?:amp|lt|gt|quot|#39|#96);/g,reUnescapedHtml=/[&<>"'`]/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source);
+/** Used to match template delimiters. */var reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g;
+/** Used to match property names within property paths. */var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
+/**
+ * Used to match `RegExp` [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns)
+ * and those outlined by [`EscapeRegExpPattern`](http://ecma-international.org/ecma-262/6.0/#sec-escaperegexppattern).
+ */var reRegExpChars=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,reHasRegExpChars=RegExp(reRegExpChars.source);
+/** Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). */var reComboMark=/[\u0300-\u036f\ufe20-\ufe23]/g;
+/** Used to match backslashes in property paths. */var reEscapeChar=/\\(\\)?/g;
+/** Used to match [ES template delimiters](http://ecma-international.org/ecma-262/6.0/#sec-template-literal-lexical-components). */var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
+/** Used to match `RegExp` flags from their coerced string values. */var reFlags=/\w*$/;
+/** Used to detect hexadecimal string values. */var reHasHexPrefix=/^0[xX]/;
+/** Used to detect host constructors (Safari > 5). */var reIsHostCtor=/^\[object .+?Constructor\]$/;
+/** Used to detect unsigned integer values. */var reIsUint=/^\d+$/;
+/** Used to match latin-1 supplementary letters (excluding mathematical operators). */var reLatin1=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;
+/** Used to ensure capturing order of template delimiters. */var reNoMatch=/($^)/;
+/** Used to match unescaped characters in compiled string literals. */var reUnescapedString=/['\n\r\u2028\u2029\\]/g;
+/** Used to match words to create compound words. */var reWords=function(){var upper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",lower="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(upper+"+(?="+upper+lower+")|"+upper+"?"+lower+"|"+upper+"+|[0-9]+","g")}();
+/** Used to assign default `context` object properties. */var contextProps=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"];
+/** Used to make template sourceURLs easier to identify. */var templateCounter=-1;
+/** Used to identify `toStringTag` values of typed arrays. */var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;
+/** Used to identify `toStringTag` values supported by `_.clone`. */var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;
+/** Used to map latin-1 supplementary letters to basic latin letters. */var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"};
+/** Used to map characters to HTML entities. */var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"};
+/** Used to map HTML entities to characters. */var htmlUnescapes={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"};
+/** Used to determine if values are of the language type `Object`. */var objectTypes={function:true,object:true};
+/** Used to escape characters for inclusion in compiled regexes. */var regexpEscapes={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"};
+/** Used to escape characters for inclusion in compiled string literals. */var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};
+/** Detect free variable `exports`. */var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;
+/** Detect free variable `module`. */var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;
+/** Detect free variable `global` from Node.js. */var freeGlobal=freeExports&&freeModule&&typeof global=="object"&&global&&global.Object&&global;
+/** Detect free variable `self`. */var freeSelf=objectTypes[typeof self]&&self&&self.Object&&self;
+/** Detect free variable `window`. */var freeWindow=objectTypes[typeof window]&&window&&window.Object&&window;
+/** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;
+/**
+ * Used as a reference to the global object.
+ *
+ * The `this` value is used if it's the global object to avoid Greasemonkey's
+ * restricted `window` object, otherwise the `window` object is used.
+ */var root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this;
+/*--------------------------------------------------------------------------*/
+/**
+ * The base implementation of `compareAscending` which compares values and
+ * sorts them in ascending order without guaranteeing a stable sort.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {number} Returns the sort order indicator for `value`.
+ */function baseCompareAscending(value,other){if(value!==other){var valIsNull=value===null,valIsUndef=value===undefined,valIsReflexive=value===value;var othIsNull=other===null,othIsUndef=other===undefined,othIsReflexive=other===other;if(value>other&&!othIsNull||!valIsReflexive||valIsNull&&!othIsUndef&&othIsReflexive||valIsUndef&&othIsReflexive){return 1}if(value<other&&!valIsNull||!othIsReflexive||othIsNull&&!valIsUndef&&valIsReflexive||othIsUndef&&valIsReflexive){return-1}}return 0}
+/**
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
+ * support for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */function baseFindIndex(array,predicate,fromRight){var length=array.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}
+/**
+ * The base implementation of `_.indexOf` without support for binary searches.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */function baseIndexOf(array,value,fromIndex){if(value!==value){return indexOfNaN(array,fromIndex)}var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}
+/**
+ * The base implementation of `_.isFunction` without support for environments
+ * with incorrect `typeof` results.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ */function baseIsFunction(value){
+// Avoid a Chakra JIT bug in compatibility modes of IE 11.
+// See https://github.com/jashkenas/underscore/issues/1621 for more details.
+return typeof value=="function"||false}
+/**
+ * Converts `value` to a string if it's not one. An empty string is returned
+ * for `null` or `undefined` values.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ */function baseToString(value){return value==null?"":value+""}
+/**
+ * Used by `_.trim` and `_.trimLeft` to get the index of the first character
+ * of `string` that is not found in `chars`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @param {string} chars The characters to find.
+ * @returns {number} Returns the index of the first character not found in `chars`.
+ */function charsLeftIndex(string,chars){var index=-1,length=string.length;while(++index<length&&chars.indexOf(string.charAt(index))>-1){}return index}
+/**
+ * Used by `_.trim` and `_.trimRight` to get the index of the last character
+ * of `string` that is not found in `chars`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @param {string} chars The characters to find.
+ * @returns {number} Returns the index of the last character not found in `chars`.
+ */function charsRightIndex(string,chars){var index=string.length;while(index--&&chars.indexOf(string.charAt(index))>-1){}return index}
+/**
+ * Used by `_.sortBy` to compare transformed elements of a collection and stable
+ * sort them in ascending order.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @returns {number} Returns the sort order indicator for `object`.
+ */function compareAscending(object,other){return baseCompareAscending(object.criteria,other.criteria)||object.index-other.index}
+/**
+ * Used by `_.sortByOrder` to compare multiple properties of a value to another
+ * and stable sort them.
+ *
+ * If `orders` is unspecified, all valuess are sorted in ascending order. Otherwise,
+ * a value is sorted in ascending order if its corresponding order is "asc", and
+ * descending if "desc".
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {boolean[]} orders The order to sort by for each property.
+ * @returns {number} Returns the sort order indicator for `object`.
+ */function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index<length){var result=baseCompareAscending(objCriteria[index],othCriteria[index]);if(result){if(index>=ordersLength){return result}var order=orders[index];return result*(order==="asc"||order===true?1:-1)}}
+// Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
+// that causes it, under certain circumstances, to provide the same value for
+// `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
+// for more details.
+//
+// This also ensures a stable sort in V8 and other engines.
+// See https://code.google.com/p/v8/issues/detail?id=90 for more details.
+return object.index-other.index}
+/**
+ * Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters.
+ *
+ * @private
+ * @param {string} letter The matched letter to deburr.
+ * @returns {string} Returns the deburred letter.
+ */function deburrLetter(letter){return deburredLetters[letter]}
+/**
+ * Used by `_.escape` to convert characters to HTML entities.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @returns {string} Returns the escaped character.
+ */function escapeHtmlChar(chr){return htmlEscapes[chr]}
+/**
+ * Used by `_.escapeRegExp` to escape characters for inclusion in compiled regexes.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @param {string} leadingChar The capture group for a leading character.
+ * @param {string} whitespaceChar The capture group for a whitespace character.
+ * @returns {string} Returns the escaped character.
+ */function escapeRegExpChar(chr,leadingChar,whitespaceChar){if(leadingChar){chr=regexpEscapes[chr]}else if(whitespaceChar){chr=stringEscapes[chr]}return"\\"+chr}
+/**
+ * Used by `_.template` to escape characters for inclusion in compiled string literals.
+ *
+ * @private
+ * @param {string} chr The matched character to escape.
+ * @returns {string} Returns the escaped character.
+ */function escapeStringChar(chr){return"\\"+stringEscapes[chr]}
+/**
+ * Gets the index at which the first occurrence of `NaN` is found in `array`.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {number} fromIndex The index to search from.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched `NaN`, else `-1`.
+ */function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index<length){var other=array[index];if(other!==other){return index}}return-1}
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */function isObjectLike(value){return!!value&&typeof value=="object"}
+/**
+ * Used by `trimmedLeftIndex` and `trimmedRightIndex` to determine if a
+ * character code is whitespace.
+ *
+ * @private
+ * @param {number} charCode The character code to inspect.
+ * @returns {boolean} Returns `true` if `charCode` is whitespace, else `false`.
+ */function isSpace(charCode){return charCode<=160&&(charCode>=9&&charCode<=13)||charCode==32||charCode==160||charCode==5760||charCode==6158||charCode>=8192&&(charCode<=8202||charCode==8232||charCode==8233||charCode==8239||charCode==8287||charCode==12288||charCode==65279)}
+/**
+ * Replaces all `placeholder` elements in `array` with an internal placeholder
+ * and returns an array of their indexes.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {*} placeholder The placeholder to replace.
+ * @returns {Array} Returns the new array of placeholder indexes.
+ */function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){if(array[index]===placeholder){array[index]=PLACEHOLDER;result[++resIndex]=index}}return result}
+/**
+ * An implementation of `_.uniq` optimized for sorted arrays without support
+ * for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The function invoked per iteration.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ */function sortedUniq(array,iteratee){var seen,index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){var value=array[index],computed=iteratee?iteratee(value,index,array):value;if(!index||seen!==computed){seen=computed;result[++resIndex]=value}}return result}
+/**
+ * Used by `_.trim` and `_.trimLeft` to get the index of the first non-whitespace
+ * character of `string`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the index of the first non-whitespace character.
+ */function trimmedLeftIndex(string){var index=-1,length=string.length;while(++index<length&&isSpace(string.charCodeAt(index))){}return index}
+/**
+ * Used by `_.trim` and `_.trimRight` to get the index of the last non-whitespace
+ * character of `string`.
+ *
+ * @private
+ * @param {string} string The string to inspect.
+ * @returns {number} Returns the index of the last non-whitespace character.
+ */function trimmedRightIndex(string){var index=string.length;while(index--&&isSpace(string.charCodeAt(index))){}return index}
+/**
+ * Used by `_.unescape` to convert HTML entities to characters.
+ *
+ * @private
+ * @param {string} chr The matched character to unescape.
+ * @returns {string} Returns the unescaped character.
+ */function unescapeHtmlChar(chr){return htmlUnescapes[chr]}
+/*--------------------------------------------------------------------------*/
+/**
+ * Create a new pristine `lodash` function using the given `context` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} [context=root] The context object.
+ * @returns {Function} Returns a new `lodash` function.
+ * @example
+ *
+ * _.mixin({ 'foo': _.constant('foo') });
+ *
+ * var lodash = _.runInContext();
+ * lodash.mixin({ 'bar': lodash.constant('bar') });
+ *
+ * _.isFunction(_.foo);
+ * // => true
+ * _.isFunction(_.bar);
+ * // => false
+ *
+ * lodash.isFunction(lodash.foo);
+ * // => false
+ * lodash.isFunction(lodash.bar);
+ * // => true
+ *
+ * // using `context` to mock `Date#getTime` use in `_.now`
+ * var mock = _.runInContext({
+ * 'Date': function() {
+ * return { 'getTime': getTimeMock };
+ * }
+ * });
+ *
+ * // or creating a suped-up `defer` in Node.js
+ * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
+ */function runInContext(context){
+// Avoid issues with some ES3 environments that attempt to use values, named
+// after built-in constructors like `Object`, for the creation of literals.
+// ES5 clears this up by stating that literals must use built-in constructors.
+// See https://es5.github.io/#x11.1.5 for more details.
+context=context?_.defaults(root.Object(),context,_.pick(root,contextProps)):root;
+/** Native constructor references. */var Array=context.Array,Date=context.Date,Error=context.Error,Function=context.Function,Math=context.Math,Number=context.Number,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError;
+/** Used for native method references. */var arrayProto=Array.prototype,objectProto=Object.prototype,stringProto=String.prototype;
+/** Used to resolve the decompiled source of functions. */var fnToString=Function.prototype.toString;
+/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;
+/** Used to generate unique IDs. */var idCounter=0;
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */var objToString=objectProto.toString;
+/** Used to restore the original `_` reference in `_.noConflict`. */var oldDash=root._;
+/** Used to detect if a method is native. */var reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");
+/** Native method references. */var ArrayBuffer=context.ArrayBuffer,clearTimeout=context.clearTimeout,parseFloat=context.parseFloat,pow=Math.pow,propertyIsEnumerable=objectProto.propertyIsEnumerable,Set=getNative(context,"Set"),setTimeout=context.setTimeout,splice=arrayProto.splice,Uint8Array=context.Uint8Array,WeakMap=getNative(context,"WeakMap");
+/* Native method references for those with the same name as other `lodash` methods. */var nativeCeil=Math.ceil,nativeCreate=getNative(Object,"create"),nativeFloor=Math.floor,nativeIsArray=getNative(Array,"isArray"),nativeIsFinite=context.isFinite,nativeKeys=getNative(Object,"keys"),nativeMax=Math.max,nativeMin=Math.min,nativeNow=getNative(Date,"now"),nativeParseInt=context.parseInt,nativeRandom=Math.random;
+/** Used as references for `-Infinity` and `Infinity`. */var NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,POSITIVE_INFINITY=Number.POSITIVE_INFINITY;
+/** Used as references for the maximum length and index of an array. */var MAX_ARRAY_LENGTH=4294967295,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1;
+/**
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+ * of an array-like value.
+ */var MAX_SAFE_INTEGER=9007199254740991;
+/** Used to store function metadata. */var metaMap=WeakMap&&new WeakMap;
+/** Used to lookup unminified function names. */var realNames={};
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a `lodash` object which wraps `value` to enable implicit chaining.
+ * Methods that operate on and return arrays, collections, and functions can
+ * be chained together. Methods that retrieve a single value or may return a
+ * primitive value will automatically end the chain returning the unwrapped
+ * value. Explicit chaining may be enabled using `_.chain`. The execution of
+ * chained methods is lazy, that is, execution is deferred until `_#value`
+ * is implicitly or explicitly called.
+ *
+ * Lazy evaluation allows several methods to support shortcut fusion. Shortcut
+ * fusion is an optimization strategy which merge iteratee calls; this can help
+ * to avoid the creation of intermediate data structures and greatly reduce the
+ * number of iteratee executions.
+ *
+ * Chaining is supported in custom builds as long as the `_#value` method is
+ * directly or indirectly included in the build.
+ *
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
+ *
+ * The wrapper `Array` methods are:
+ * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`,
+ * `splice`, and `unshift`
+ *
+ * The wrapper `String` methods are:
+ * `replace` and `split`
+ *
+ * The wrapper methods that support shortcut fusion are:
+ * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`,
+ * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`,
+ * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`,
+ * and `where`
+ *
+ * The chainable wrapper methods are:
+ * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`,
+ * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`,
+ * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defaultsDeep`,
+ * `defer`, `delay`, `difference`, `drop`, `dropRight`, `dropRightWhile`,
+ * `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`,
+ * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
+ * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
+ * `invoke`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`,
+ * `matchesProperty`, `memoize`, `merge`, `method`, `methodOf`, `mixin`,
+ * `modArgs`, `negate`, `omit`, `once`, `pairs`, `partial`, `partialRight`,
+ * `partition`, `pick`, `plant`, `pluck`, `property`, `propertyOf`, `pull`,
+ * `pullAt`, `push`, `range`, `rearg`, `reject`, `remove`, `rest`, `restParam`,
+ * `reverse`, `set`, `shuffle`, `slice`, `sort`, `sortBy`, `sortByAll`,
+ * `sortByOrder`, `splice`, `spread`, `take`, `takeRight`, `takeRightWhile`,
+ * `takeWhile`, `tap`, `throttle`, `thru`, `times`, `toArray`, `toPlainObject`,
+ * `transform`, `union`, `uniq`, `unshift`, `unzip`, `unzipWith`, `values`,
+ * `valuesIn`, `where`, `without`, `wrap`, `xor`, `zip`, `zipObject`, `zipWith`
+ *
+ * The wrapper methods that are **not** chainable by default are:
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clone`, `cloneDeep`,
+ * `deburr`, `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`,
+ * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`,
+ * `floor`, `get`, `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`,
+ * `inRange`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
+ * `isEmpty`, `isEqual`, `isError`, `isFinite` `isFunction`, `isMatch`,
+ * `isNative`, `isNaN`, `isNull`, `isNumber`, `isObject`, `isPlainObject`,
+ * `isRegExp`, `isString`, `isUndefined`, `isTypedArray`, `join`, `kebabCase`,
+ * `last`, `lastIndexOf`, `lt`, `lte`, `max`, `min`, `noConflict`, `noop`,
+ * `now`, `pad`, `padLeft`, `padRight`, `parseInt`, `pop`, `random`, `reduce`,
+ * `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `shift`, `size`,
+ * `snakeCase`, `some`, `sortedIndex`, `sortedLastIndex`, `startCase`,
+ * `startsWith`, `sum`, `template`, `trim`, `trimLeft`, `trimRight`, `trunc`,
+ * `unescape`, `uniqueId`, `value`, and `words`
+ *
+ * The wrapper method `sample` will return a wrapped value when `n` is provided,
+ * otherwise an unwrapped value is returned.
+ *
+ * @name _
+ * @constructor
+ * @category Chain
+ * @param {*} value The value to wrap in a `lodash` instance.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var wrapped = _([1, 2, 3]);
+ *
+ * // returns an unwrapped value
+ * wrapped.reduce(function(total, n) {
+ * return total + n;
+ * });
+ * // => 6
+ *
+ * // returns a wrapped value
+ * var squares = wrapped.map(function(n) {
+ * return n * n;
+ * });
+ *
+ * _.isArray(squares);
+ * // => false
+ *
+ * _.isArray(squares.value());
+ * // => true
+ */function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__chain__")&&hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}
+/**
+ * The function whose prototype all chaining wrappers inherit from.
+ *
+ * @private
+ */function baseLodash(){
+// No operation performed.
+}
+/**
+ * The base constructor for creating `lodash` wrapper objects.
+ *
+ * @private
+ * @param {*} value The value to wrap.
+ * @param {boolean} [chainAll] Enable chaining for all wrapper methods.
+ * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value.
+ */function LodashWrapper(value,chainAll,actions){this.__wrapped__=value;this.__actions__=actions||[];this.__chain__=!!chainAll}
+/**
+ * An object environment feature flags.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */var support=lodash.support={};
+/**
+ * By default, the template delimiters used by lodash are like those in
+ * embedded Ruby (ERB). Change the following template settings to use
+ * alternative delimiters.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */lodash.templateSettings={
+/**
+ * Used to detect `data` property values to be HTML-escaped.
+ *
+ * @memberOf _.templateSettings
+ * @type RegExp
+ */
+escape:reEscape,
+/**
+ * Used to detect code to be evaluated.
+ *
+ * @memberOf _.templateSettings
+ * @type RegExp
+ */
+evaluate:reEvaluate,
+/**
+ * Used to detect `data` property values to inject.
+ *
+ * @memberOf _.templateSettings
+ * @type RegExp
+ */
+interpolate:reInterpolate,
+/**
+ * Used to reference the data object in the template text.
+ *
+ * @memberOf _.templateSettings
+ * @type string
+ */
+variable:"",
+/**
+ * Used to import variables into the compiled template.
+ *
+ * @memberOf _.templateSettings
+ * @type Object
+ */
+imports:{
+/**
+ * A reference to the `lodash` function.
+ *
+ * @memberOf _.templateSettings.imports
+ * @type Function
+ */
+_:lodash}};
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
+ *
+ * @private
+ * @param {*} value The value to wrap.
+ */function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=POSITIVE_INFINITY;this.__views__=[]}
+/**
+ * Creates a clone of the lazy wrapper object.
+ *
+ * @private
+ * @name clone
+ * @memberOf LazyWrapper
+ * @returns {Object} Returns the cloned `LazyWrapper` object.
+ */function lazyClone(){var result=new LazyWrapper(this.__wrapped__);result.__actions__=arrayCopy(this.__actions__);result.__dir__=this.__dir__;result.__filtered__=this.__filtered__;result.__iteratees__=arrayCopy(this.__iteratees__);result.__takeCount__=this.__takeCount__;result.__views__=arrayCopy(this.__views__);return result}
+/**
+ * Reverses the direction of lazy iteration.
+ *
+ * @private
+ * @name reverse
+ * @memberOf LazyWrapper
+ * @returns {Object} Returns the new reversed `LazyWrapper` object.
+ */function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1;result.__filtered__=true}else{result=this.clone();result.__dir__*=-1}return result}
+/**
+ * Extracts the unwrapped value from its lazy wrapper.
+ *
+ * @private
+ * @name value
+ * @memberOf LazyWrapper
+ * @returns {*} Returns the unwrapped value.
+ */function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||arrLength<LARGE_ARRAY_SIZE||arrLength==length&&takeCount==length){return baseWrapperValue(isRight&&isArr?array.reverse():array,this.__actions__)}var result=[];outer:while(length--&&resIndex<takeCount){index+=dir;var iterIndex=-1,value=array[index];while(++iterIndex<iterLength){var data=iteratees[iterIndex],iteratee=data.iteratee,type=data.type,computed=iteratee(value);if(type==LAZY_MAP_FLAG){value=computed}else if(!computed){if(type==LAZY_FILTER_FLAG){continue outer}else{break outer}}}result[resIndex++]=value}return result}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a cache object to store key/value pairs.
+ *
+ * @private
+ * @static
+ * @name Cache
+ * @memberOf _.memoize
+ */function MapCache(){this.__data__={}}
+/**
+ * Removes `key` and its value from the cache.
+ *
+ * @private
+ * @name delete
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the value to remove.
+ * @returns {boolean} Returns `true` if the entry was removed successfully, else `false`.
+ */function mapDelete(key){return this.has(key)&&delete this.__data__[key]}
+/**
+ * Gets the cached value for `key`.
+ *
+ * @private
+ * @name get
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the value to get.
+ * @returns {*} Returns the cached value.
+ */function mapGet(key){return key=="__proto__"?undefined:this.__data__[key]}
+/**
+ * Checks if a cached value for `key` exists.
+ *
+ * @private
+ * @name has
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */function mapHas(key){return key!="__proto__"&&hasOwnProperty.call(this.__data__,key)}
+/**
+ * Sets `value` to `key` of the cache.
+ *
+ * @private
+ * @name set
+ * @memberOf _.memoize.Cache
+ * @param {string} key The key of the value to cache.
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache object.
+ */function mapSet(key,value){if(key!="__proto__"){this.__data__[key]=value}return this}
+/*------------------------------------------------------------------------*/
+/**
+ *
+ * Creates a cache object to store unique values.
+ *
+ * @private
+ * @param {Array} [values] The values to cache.
+ */function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}
+/**
+ * Checks if `value` is in `cache` mimicking the return signature of
+ * `_.indexOf` by returning `0` if the value is found, else `-1`.
+ *
+ * @private
+ * @param {Object} cache The cache to search.
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `0` if `value` is found, else `-1`.
+ */function cacheIndexOf(cache,value){var data=cache.data,result=typeof value=="string"||isObject(value)?data.set.has(value):data.hash[value];return result?0:-1}
+/**
+ * Adds `value` to the cache.
+ *
+ * @private
+ * @name push
+ * @memberOf SetCache
+ * @param {*} value The value to cache.
+ */function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a new array joining `array` with `other`.
+ *
+ * @private
+ * @param {Array} array The array to join.
+ * @param {Array} other The other array to join.
+ * @returns {Array} Returns the new concatenated array.
+ */function arrayConcat(array,other){var index=-1,length=array.length,othIndex=-1,othLength=other.length,result=Array(length+othLength);while(++index<length){result[index]=array[index]}while(++othIndex<othLength){result[index++]=other[othIndex]}return result}
+/**
+ * Copies the values of `source` to `array`.
+ *
+ * @private
+ * @param {Array} source The array to copy values from.
+ * @param {Array} [array=[]] The array to copy values to.
+ * @returns {Array} Returns `array`.
+ */function arrayCopy(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}
+/**
+ * A specialized version of `_.forEach` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */function arrayEach(array,iteratee){var index=-1,length=array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}
+/**
+ * A specialized version of `_.forEachRight` for arrays without support for
+ * callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */function arrayEachRight(array,iteratee){var length=array.length;while(length--){if(iteratee(array[length],length,array)===false){break}}return array}
+/**
+ * A specialized version of `_.every` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`.
+ */function arrayEvery(array,predicate){var index=-1,length=array.length;while(++index<length){if(!predicate(array[index],index,array)){return false}}return true}
+/**
+ * A specialized version of `baseExtremum` for arrays which invokes `iteratee`
+ * with one argument: (value).
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} comparator The function used to compare values.
+ * @param {*} exValue The initial extremum value.
+ * @returns {*} Returns the extremum value.
+ */function arrayExtremum(array,iteratee,comparator,exValue){var index=-1,length=array.length,computed=exValue,result=computed;while(++index<length){var value=array[index],current=+iteratee(value);if(comparator(current,computed)){computed=current;result=value}}return result}
+/**
+ * A specialized version of `_.filter` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */function arrayFilter(array,predicate){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){var value=array[index];if(predicate(value,index,array)){result[++resIndex]=value}}return result}
+/**
+ * A specialized version of `_.map` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */function arrayMap(array,iteratee){var index=-1,length=array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}
+/**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */function arrayPush(array,values){var index=-1,length=values.length,offset=array.length;while(++index<length){array[offset+index]=values[index]}return array}
+/**
+ * A specialized version of `_.reduce` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initFromArray] Specify using the first element of `array`
+ * as the initial value.
+ * @returns {*} Returns the accumulated value.
+ */function arrayReduce(array,iteratee,accumulator,initFromArray){var index=-1,length=array.length;if(initFromArray&&length){accumulator=array[++index]}while(++index<length){accumulator=iteratee(accumulator,array[index],index,array)}return accumulator}
+/**
+ * A specialized version of `_.reduceRight` for arrays without support for
+ * callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initFromArray] Specify using the last element of `array`
+ * as the initial value.
+ * @returns {*} Returns the accumulated value.
+ */function arrayReduceRight(array,iteratee,accumulator,initFromArray){var length=array.length;if(initFromArray&&length){accumulator=array[--length]}while(length--){accumulator=iteratee(accumulator,array[length],length,array)}return accumulator}
+/**
+ * A specialized version of `_.some` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */function arraySome(array,predicate){var index=-1,length=array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}
+/**
+ * A specialized version of `_.sum` for arrays without support for callback
+ * shorthands and `this` binding..
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {number} Returns the sum.
+ */function arraySum(array,iteratee){var length=array.length,result=0;while(length--){result+=+iteratee(array[length])||0}return result}
+/**
+ * Used by `_.defaults` to customize its `_.assign` use.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @returns {*} Returns the value to assign to the destination object.
+ */function assignDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:objectValue}
+/**
+ * Used by `_.template` to customize its `_.assign` use.
+ *
+ * **Note:** This function is like `assignDefaults` except that it ignores
+ * inherited property values when checking if a property is `undefined`.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @param {string} key The key associated with the object and source values.
+ * @param {Object} object The destination object.
+ * @returns {*} Returns the value to assign to the destination object.
+ */function assignOwnDefaults(objectValue,sourceValue,key,object){return objectValue===undefined||!hasOwnProperty.call(object,key)?sourceValue:objectValue}
+/**
+ * A specialized version of `_.assign` for customizing assigned values without
+ * support for argument juggling, multiple sources, and `this` binding `customizer`
+ * functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {Function} customizer The function to customize assigned values.
+ * @returns {Object} Returns `object`.
+ */function assignWith(object,source,customizer){var index=-1,props=keys(source),length=props.length;while(++index<length){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);if((result===result?result!==value:value===value)||value===undefined&&!(key in object)){object[key]=result}}return object}
+/**
+ * The base implementation of `_.assign` without support for argument juggling,
+ * multiple sources, and `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */function baseAssign(object,source){return source==null?object:baseCopy(source,keys(source),object)}
+/**
+ * The base implementation of `_.at` without support for string collections
+ * and individual key arguments.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {number[]|string[]} props The property names or indexes of elements to pick.
+ * @returns {Array} Returns the new array of picked elements.
+ */function baseAt(collection,props){var index=-1,isNil=collection==null,isArr=!isNil&&isArrayLike(collection),length=isArr?collection.length:0,propsLength=props.length,result=Array(propsLength);while(++index<propsLength){var key=props[index];if(isArr){result[index]=isIndex(key,length)?collection[key]:undefined}else{result[index]=isNil?undefined:collection[key]}}return result}
+/**
+ * Copies properties of `source` to `object`.
+ *
+ * @private
+ * @param {Object} source The object to copy properties from.
+ * @param {Array} props The property names to copy.
+ * @param {Object} [object={}] The object to copy properties to.
+ * @returns {Object} Returns `object`.
+ */function baseCopy(source,props,object){object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];object[key]=source[key]}return object}
+/**
+ * The base implementation of `_.callback` which supports specifying the
+ * number of arguments to provide to `func`.
+ *
+ * @private
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {number} [argCount] The number of arguments to provide to `func`.
+ * @returns {Function} Returns the callback.
+ */function baseCallback(func,thisArg,argCount){var type=typeof func;if(type=="function"){return thisArg===undefined?func:bindCallback(func,thisArg,argCount)}if(func==null){return identity}if(type=="object"){return baseMatches(func)}return thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}
+/**
+ * The base implementation of `_.clone` without support for argument juggling
+ * and `this` binding `customizer` functions.
+ *
+ * @private
+ * @param {*} value The value to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {string} [key] The key of `value`.
+ * @param {Object} [object] The object `value` belongs to.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates clones with source counterparts.
+ * @returns {*} Returns the cloned value.
+ */function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer){result=object?customizer(value,key,object):customizer(value)}if(result!==undefined){return result}if(!isObject(value)){return value}var isArr=isArray(value);if(isArr){result=initCloneArray(value);if(!isDeep){return arrayCopy(value,result)}}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag==objectTag||tag==argsTag||isFunc&&!object){result=initCloneObject(isFunc?{}:value);if(!isDeep){return baseAssign(result,value)}}else{return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{}}}
+// Check for circular references and return its corresponding clone.
+stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}
+// Add the source value to the stack of traversed objects and associate it with its clone.
+stackA.push(value);stackB.push(result);
+// Recursively populate clone (susceptible to call stack limits).
+// Recursively populate clone (susceptible to call stack limits).
+(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)});return result}
+/**
+ * The base implementation of `_.create` without support for assigning
+ * properties to the created object.
+ *
+ * @private
+ * @param {Object} prototype The object to inherit from.
+ * @returns {Object} Returns the new object.
+ */var baseCreate=function(){function object(){}return function(prototype){if(isObject(prototype)){object.prototype=prototype;var result=new object;object.prototype=undefined}return result||{}}}();
+/**
+ * The base implementation of `_.delay` and `_.defer` which accepts an index
+ * of where to slice the arguments to provide to `func`.
+ *
+ * @private
+ * @param {Function} func The function to delay.
+ * @param {number} wait The number of milliseconds to delay invocation.
+ * @param {Object} args The arguments provide to `func`.
+ * @returns {number} Returns the timer id.
+ */function baseDelay(func,wait,args){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return setTimeout(function(){func.apply(undefined,args)},wait)}
+/**
+ * The base implementation of `_.difference` which accepts a single array
+ * of values to exclude.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Array} values The values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ */function baseDifference(array,values){var length=array?array.length:0,result=[];if(!length){return result}var index=-1,indexOf=getIndexOf(),isCommon=indexOf==baseIndexOf,cache=isCommon&&values.length>=LARGE_ARRAY_SIZE?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++index<length){var value=array[index];if(isCommon&&value===value){var valuesIndex=valuesLength;while(valuesIndex--){if(values[valuesIndex]===value){continue outer}}result.push(value)}else if(indexOf(values,value,0)<0){result.push(value)}}return result}
+/**
+ * The base implementation of `_.forEach` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array|Object|string} Returns `collection`.
+ */var baseEach=createBaseEach(baseForOwn);
+/**
+ * The base implementation of `_.forEachRight` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array|Object|string} Returns `collection`.
+ */var baseEachRight=createBaseEach(baseForOwnRight,true);
+/**
+ * The base implementation of `_.every` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`
+ */function baseEvery(collection,predicate){var result=true;baseEach(collection,function(value,index,collection){result=!!predicate(value,index,collection);return result});return result}
+/**
+ * Gets the extremum value of `collection` invoking `iteratee` for each value
+ * in `collection` to generate the criterion by which the value is ranked.
+ * The `iteratee` is invoked with three arguments: (value, index|key, collection).
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} comparator The function used to compare values.
+ * @param {*} exValue The initial extremum value.
+ * @returns {*} Returns the extremum value.
+ */function baseExtremum(collection,iteratee,comparator,exValue){var computed=exValue,result=computed;baseEach(collection,function(value,index,collection){var current=+iteratee(value,index,collection);if(comparator(current,computed)||current===exValue&&current===result){computed=current;result=value}});return result}
+/**
+ * The base implementation of `_.fill` without an iteratee call guard.
+ *
+ * @private
+ * @param {Array} array The array to fill.
+ * @param {*} value The value to fill `array` with.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns `array`.
+ */function baseFill(array,value,start,end){var length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end>>>0;start>>>=0;while(start<length){array[start++]=value}return array}
+/**
+ * The base implementation of `_.filter` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Array} Returns the new filtered array.
+ */function baseFilter(collection,predicate){var result=[];baseEach(collection,function(value,index,collection){if(predicate(value,index,collection)){result.push(value)}});return result}
+/**
+ * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,
+ * without support for callback shorthands and `this` binding, which iterates
+ * over `collection` using the provided `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @param {boolean} [retKey] Specify returning the key of the found element
+ * instead of the element itself.
+ * @returns {*} Returns the found element or its key, else `undefined`.
+ */function baseFind(collection,predicate,eachFunc,retKey){var result;eachFunc(collection,function(value,key,collection){if(predicate(value,key,collection)){result=retKey?key:value;return false}});return result}
+/**
+ * The base implementation of `_.flatten` with added support for restricting
+ * flattening and specifying the start index.
+ *
+ * @private
+ * @param {Array} array The array to flatten.
+ * @param {boolean} [isDeep] Specify a deep flatten.
+ * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
+ * @param {Array} [result=[]] The initial result value.
+ * @returns {Array} Returns the new flattened array.
+ */function baseFlatten(array,isDeep,isStrict,result){result||(result=[]);var index=-1,length=array.length;while(++index<length){var value=array[index];if(isObjectLike(value)&&isArrayLike(value)&&(isStrict||isArray(value)||isArguments(value))){if(isDeep){
+// Recursively flatten arrays (susceptible to call stack limits).
+baseFlatten(value,isDeep,isStrict,result)}else{arrayPush(result,value)}}else if(!isStrict){result[result.length]=value}}return result}
+/**
+ * The base implementation of `baseForIn` and `baseForOwn` which iterates
+ * over `object` properties returned by `keysFunc` invoking `iteratee` for
+ * each property. Iteratee functions may exit iteration early by explicitly
+ * returning `false`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */var baseFor=createBaseFor();
+/**
+ * This function is like `baseFor` except that it iterates over properties
+ * in the opposite order.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */var baseForRight=createBaseFor(true);
+/**
+ * The base implementation of `_.forIn` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}
+/**
+ * The base implementation of `_.forOwn` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}
+/**
+ * The base implementation of `_.forOwnRight` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */function baseForOwnRight(object,iteratee){return baseForRight(object,iteratee,keys)}
+/**
+ * The base implementation of `_.functions` which creates an array of
+ * `object` function property names filtered from those provided.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Array} props The property names to filter.
+ * @returns {Array} Returns the new array of filtered property names.
+ */function baseFunctions(object,props){var index=-1,length=props.length,resIndex=-1,result=[];while(++index<length){var key=props[index];if(isFunction(object[key])){result[++resIndex]=key}}return result}
+/**
+ * The base implementation of `get` without support for string paths
+ * and default values.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} path The path of the property to get.
+ * @param {string} [pathKey] The key representation of path.
+ * @returns {*} Returns the resolved value.
+ */function baseGet(object,path,pathKey){if(object==null){return}if(pathKey!==undefined&&pathKey in toObject(object)){path=[pathKey]}var index=0,length=path.length;while(object!=null&&index<length){object=object[path[index++]]}return index&&index==length?object:undefined}
+/**
+ * The base implementation of `_.isEqual` without support for `this` binding
+ * `customizer` functions.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {Function} [customizer] The function to customize comparing values.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ */function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other){return true}if(value==null||other==null||!isObject(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}
+/**
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
+ * deep comparisons and tracks traversed objects enabling objects with circular
+ * references to be compared.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing objects.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA=[]] Tracks traversed `value` objects.
+ * @param {Array} [stackB=[]] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;if(!objIsArr){objTag=objToString.call(object);if(objTag==argsTag){objTag=objectTag}else if(objTag!=objectTag){objIsArr=isTypedArray(object)}}if(!othIsArr){othTag=objToString.call(other);if(othTag==argsTag){othTag=objectTag}else if(othTag!=objectTag){othIsArr=isTypedArray(other)}}var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!(objIsArr||objIsObj)){return equalByTag(object,other,objTag)}if(!isLoose){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){return equalFunc(objIsWrapped?object.value():object,othIsWrapped?other.value():other,customizer,isLoose,stackA,stackB)}}if(!isSameTag){return false}
+// Assume cyclic values are equal.
+// For more information on detecting circular references see https://es5.github.io/#JO.
+stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==object){return stackB[length]==other}}
+// Add `object` and `other` to the stack of traversed objects.
+stackA.push(object);stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);stackA.pop();stackB.pop();return result}
+/**
+ * The base implementation of `_.isMatch` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Array} matchData The propery names, values, and compare flags to match.
+ * @param {Function} [customizer] The function to customize comparing objects.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ */function baseIsMatch(object,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=toObject(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false}}else{var result=customizer?customizer(objValue,srcValue,key):undefined;if(!(result===undefined?baseIsEqual(srcValue,objValue,customizer,true):result)){return false}}}return true}
+/**
+ * The base implementation of `_.map` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
+ */function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)});return result}
+/**
+ * The base implementation of `_.matches` which does not clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ */function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){var key=matchData[0][0],value=matchData[0][1];return function(object){if(object==null){return false}return object[key]===value&&(value!==undefined||key in toObject(object))}}return function(object){return baseIsMatch(object,matchData)}}
+/**
+ * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
+ *
+ * @private
+ * @param {string} path The path of the property to get.
+ * @param {*} srcValue The value to compare.
+ * @returns {Function} Returns the new function.
+ */function baseMatchesProperty(path,srcValue){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(srcValue),pathKey=path+"";path=toPath(path);return function(object){if(object==null){return false}var key=pathKey;object=toObject(object);if((isArr||!isCommon)&&!(key in object)){object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}key=last(path);object=toObject(object)}return object[key]===srcValue?srcValue!==undefined||key in object:baseIsEqual(srcValue,object[key],undefined,true)}}
+/**
+ * The base implementation of `_.merge` without support for argument juggling,
+ * multiple sources, and `this` binding `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {Function} [customizer] The function to customize merged values.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates values with source counterparts.
+ * @returns {Object} Returns `object`.
+ */function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object)){return object}var isSrcArr=isArrayLike(source)&&(isArray(source)||isTypedArray(source)),props=isSrcArr?undefined:keys(source);arrayEach(props||source,function(srcValue,key){if(props){key=srcValue;srcValue=source[key]}if(isObjectLike(srcValue)){stackA||(stackA=[]);stackB||(stackB=[]);baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB)}else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;if(isCommon){result=srcValue}if((result!==undefined||isSrcArr&&!(key in object))&&(isCommon||(result===result?result!==value:value===value))){object[key]=result}}});return object}
+/**
+ * A specialized version of `baseMerge` for arrays and objects which performs
+ * deep merges and tracks traversed objects enabling objects with circular
+ * references to be merged.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @param {string} key The key of the value to merge.
+ * @param {Function} mergeFunc The function to merge values.
+ * @param {Function} [customizer] The function to customize merged values.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates values with source counterparts.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){var length=stackA.length,srcValue=source[key];while(length--){if(stackA[length]==srcValue){object[key]=stackB[length];return}}var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;if(isCommon){result=srcValue;if(isArrayLike(srcValue)&&(isArray(srcValue)||isTypedArray(srcValue))){result=isArray(value)?value:isArrayLike(value)?arrayCopy(value):[]}else if(isPlainObject(srcValue)||isArguments(srcValue)){result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}}else{isCommon=false}}
+// Add the source value to the stack of traversed objects and associate
+// it with its merged value.
+stackA.push(srcValue);stackB.push(result);if(isCommon){
+// Recursively merge objects and arrays (susceptible to call stack limits).
+object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB)}else if(result===result?result!==value:value===value){object[key]=result}}
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */function baseProperty(key){return function(object){return object==null?undefined:object[key]}}
+/**
+ * A specialized version of `baseProperty` which supports deep paths.
+ *
+ * @private
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ */function basePropertyDeep(path){var pathKey=path+"";path=toPath(path);return function(object){return baseGet(object,path,pathKey)}}
+/**
+ * The base implementation of `_.pullAt` without support for individual
+ * index arguments and capturing the removed elements.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {number[]} indexes The indexes of elements to remove.
+ * @returns {Array} Returns `array`.
+ */function basePullAt(array,indexes){var length=array?indexes.length:0;while(length--){var index=indexes[length];if(index!=previous&&isIndex(index)){var previous=index;splice.call(array,index,1)}}return array}
+/**
+ * The base implementation of `_.random` without support for argument juggling
+ * and returning floating-point numbers.
+ *
+ * @private
+ * @param {number} min The minimum possible value.
+ * @param {number} max The maximum possible value.
+ * @returns {number} Returns the random number.
+ */function baseRandom(min,max){return min+nativeFloor(nativeRandom()*(max-min+1))}
+/**
+ * The base implementation of `_.reduce` and `_.reduceRight` without support
+ * for callback shorthands and `this` binding, which iterates over `collection`
+ * using the provided `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} accumulator The initial value.
+ * @param {boolean} initFromCollection Specify using the first or last element
+ * of `collection` as the initial value.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @returns {*} Returns the accumulated value.
+ */function baseReduce(collection,iteratee,accumulator,initFromCollection,eachFunc){eachFunc(collection,function(value,index,collection){accumulator=initFromCollection?(initFromCollection=false,value):iteratee(accumulator,value,index,collection)});return accumulator}
+/**
+ * The base implementation of `setData` without support for hot loop detection.
+ *
+ * @private
+ * @param {Function} func The function to associate metadata with.
+ * @param {*} data The metadata.
+ * @returns {Function} Returns `func`.
+ */var baseSetData=!metaMap?identity:function(func,data){metaMap.set(func,data);return func};
+/**
+ * The base implementation of `_.slice` without an iteratee call guard.
+ *
+ * @private
+ * @param {Array} array The array to slice.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the slice of `array`.
+ */function baseSlice(array,start,end){var index=-1,length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index<length){result[index]=array[index+start]}return result}
+/**
+ * The base implementation of `_.some` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */function baseSome(collection,predicate){var result;baseEach(collection,function(value,index,collection){result=predicate(value,index,collection);return!result});return!!result}
+/**
+ * The base implementation of `_.sortBy` which uses `comparer` to define
+ * the sort order of `array` and replaces criteria objects with their
+ * corresponding values.
+ *
+ * @private
+ * @param {Array} array The array to sort.
+ * @param {Function} comparer The function to define sort order.
+ * @returns {Array} Returns `array`.
+ */function baseSortBy(array,comparer){var length=array.length;array.sort(comparer);while(length--){array[length]=array[length].value}return array}
+/**
+ * The base implementation of `_.sortByOrder` without param guards.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+ * @param {boolean[]} orders The sort orders of `iteratees`.
+ * @returns {Array} Returns the new sorted array.
+ */function baseSortByOrder(collection,iteratees,orders){var callback=getCallback(),index=-1;iteratees=arrayMap(iteratees,function(iteratee){return callback(iteratee)});var result=baseMap(collection,function(value){var criteria=arrayMap(iteratees,function(iteratee){return iteratee(value)});return{criteria:criteria,index:++index,value:value}});return baseSortBy(result,function(object,other){return compareMultiple(object,other,orders)})}
+/**
+ * The base implementation of `_.sum` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {number} Returns the sum.
+ */function baseSum(collection,iteratee){var result=0;baseEach(collection,function(value,index,collection){result+=+iteratee(value,index,collection)||0});return result}
+/**
+ * The base implementation of `_.uniq` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The function invoked per iteration.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ */function baseUniq(array,iteratee){var index=-1,indexOf=getIndexOf(),length=array.length,isCommon=indexOf==baseIndexOf,isLarge=isCommon&&length>=LARGE_ARRAY_SIZE,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index<length){var value=array[index],computed=iteratee?iteratee(value,index,array):value;if(isCommon&&value===value){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee){seen.push(computed)}result.push(value)}else if(indexOf(seen,computed,0)<0){if(iteratee||isLarge){seen.push(computed)}result.push(value)}}return result}
+/**
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
+ * array of `object` property values corresponding to the property names
+ * of `props`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} props The property names to get values for.
+ * @returns {Object} Returns the array of property values.
+ */function baseValues(object,props){var index=-1,length=props.length,result=Array(length);while(++index<length){result[index]=object[props[index]]}return result}
+/**
+ * The base implementation of `_.dropRightWhile`, `_.dropWhile`, `_.takeRightWhile`,
+ * and `_.takeWhile` without support for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to query.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {boolean} [isDrop] Specify dropping elements instead of taking them.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Array} Returns the slice of `array`.
+ */function baseWhile(array,predicate,isDrop,fromRight){var length=array.length,index=fromRight?length:-1;while((fromRight?index--:++index<length)&&predicate(array[index],index,array)){}return isDrop?baseSlice(array,fromRight?0:index,fromRight?index+1:length):baseSlice(array,fromRight?index+1:0,fromRight?length:index)}
+/**
+ * The base implementation of `wrapperValue` which returns the result of
+ * performing a sequence of actions on the unwrapped `value`, where each
+ * successive action is supplied the return value of the previous.
+ *
+ * @private
+ * @param {*} value The unwrapped value.
+ * @param {Array} actions Actions to peform to resolve the unwrapped value.
+ * @returns {*} Returns the resolved value.
+ */function baseWrapperValue(value,actions){var result=value;if(result instanceof LazyWrapper){result=result.value()}var index=-1,length=actions.length;while(++index<length){var action=actions[index];result=action.func.apply(action.thisArg,arrayPush([result],action.args))}return result}
+/**
+ * Performs a binary search of `array` to determine the index at which `value`
+ * should be inserted into `array` in order to maintain its sort order.
+ *
+ * @private
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {boolean} [retHighest] Specify returning the highest qualified index.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ */function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(typeof value=="number"&&value===value&&high<=HALF_MAX_ARRAY_LENGTH){while(low<high){var mid=low+high>>>1,computed=array[mid];if((retHighest?computed<=value:computed<value)&&computed!==null){low=mid+1}else{high=mid}}return high}return binaryIndexBy(array,value,identity,retHighest)}
+/**
+ * This function is like `binaryIndex` except that it invokes `iteratee` for
+ * `value` and each element of `array` to compute their sort ranking. The
+ * iteratee is invoked with one argument; (value).
+ *
+ * @private
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {boolean} [retHighest] Specify returning the highest qualified index.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ */function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsNull=value===null,valIsUndef=value===undefined;while(low<high){var mid=nativeFloor((low+high)/2),computed=iteratee(array[mid]),isDef=computed!==undefined,isReflexive=computed===computed;if(valIsNaN){var setLow=isReflexive||retHighest}else if(valIsNull){setLow=isReflexive&&isDef&&(retHighest||computed!=null)}else if(valIsUndef){setLow=isReflexive&&(retHighest||isDef)}else if(computed==null){setLow=false}else{setLow=retHighest?computed<=value:computed<value}if(setLow){low=mid+1}else{high=mid}}return nativeMin(high,MAX_ARRAY_INDEX)}
+/**
+ * A specialized version of `baseCallback` which only supports `this` binding
+ * and specifying the number of arguments to provide to `func`.
+ *
+ * @private
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {number} [argCount] The number of arguments to provide to `func`.
+ * @returns {Function} Returns the callback.
+ */function bindCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(thisArg===undefined){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}
+/**
+ * Creates a clone of the given array buffer.
+ *
+ * @private
+ * @param {ArrayBuffer} buffer The array buffer to clone.
+ * @returns {ArrayBuffer} Returns the cloned array buffer.
+ */function bufferClone(buffer){var result=new ArrayBuffer(buffer.byteLength),view=new Uint8Array(result);view.set(new Uint8Array(buffer));return result}
+/**
+ * Creates an array that is the composition of partially applied arguments,
+ * placeholders, and provided arguments into a single array of arguments.
+ *
+ * @private
+ * @param {Array|Object} args The provided arguments.
+ * @param {Array} partials The arguments to prepend to those provided.
+ * @param {Array} holders The `partials` placeholder indexes.
+ * @returns {Array} Returns the new array of composed arguments.
+ */function composeArgs(args,partials,holders){var holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),leftIndex=-1,leftLength=partials.length,result=Array(leftLength+argsLength);while(++leftIndex<leftLength){result[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){result[holders[argsIndex]]=args[argsIndex]}while(argsLength--){result[leftIndex++]=args[argsIndex++]}return result}
+/**
+ * This function is like `composeArgs` except that the arguments composition
+ * is tailored for `_.partialRight`.
+ *
+ * @private
+ * @param {Array|Object} args The provided arguments.
+ * @param {Array} partials The arguments to append to those provided.
+ * @param {Array} holders The `partials` placeholder indexes.
+ * @returns {Array} Returns the new array of composed arguments.
+ */function composeArgsRight(args,partials,holders){var holdersIndex=-1,holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),rightIndex=-1,rightLength=partials.length,result=Array(argsLength+rightLength);while(++argsIndex<argsLength){result[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){result[offset+holders[holdersIndex]]=args[argsIndex++]}return result}
+/**
+ * Creates a `_.countBy`, `_.groupBy`, `_.indexBy`, or `_.partition` function.
+ *
+ * @private
+ * @param {Function} setter The function to set keys and values of the accumulator object.
+ * @param {Function} [initializer] The function to initialize the accumulator object.
+ * @returns {Function} Returns the new aggregator function.
+ */function createAggregator(setter,initializer){return function(collection,iteratee,thisArg){var result=initializer?initializer():{};iteratee=getCallback(iteratee,thisArg,3);if(isArray(collection)){var index=-1,length=collection.length;while(++index<length){var value=collection[index];setter(result,value,iteratee(value,index,collection),collection)}}else{baseEach(collection,function(value,key,collection){setter(result,value,iteratee(value,key,collection),collection)})}return result}}
+/**
+ * Creates a `_.assign`, `_.defaults`, or `_.merge` function.
+ *
+ * @private
+ * @param {Function} assigner The function to assign values.
+ * @returns {Function} Returns the new assigner function.
+ */function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=object==null?0:sources.length,customizer=length>2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index<length){var source=sources[index];if(source){assigner(object,source,customizer)}}return object})}
+/**
+ * Creates a `baseEach` or `baseEachRight` function.
+ *
+ * @private
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new base function.
+ */function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length)){return eachFunc(collection,iteratee)}var index=fromRight?length:-1,iterable=toObject(collection);while(fromRight?index--:++index<length){if(iteratee(iterable[index],index,iterable)===false){break}}return collection}}
+/**
+ * Creates a base function for `_.forIn` or `_.forInRight`.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new base function.
+ */function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}
+/**
+ * Creates a function that wraps `func` and invokes it with the `this`
+ * binding of `thisArg`.
+ *
+ * @private
+ * @param {Function} func The function to bind.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @returns {Function} Returns the new bound function.
+ */function createBindWrapper(func,thisArg){var Ctor=createCtorWrapper(func);function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(thisArg,arguments)}return wrapper}
+/**
+ * Creates a `Set` cache object to optimize linear searches of large arrays.
+ *
+ * @private
+ * @param {Array} [values] The values to cache.
+ * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
+ */function createCache(values){return nativeCreate&&Set?new SetCache(values):null}
+/**
+ * Creates a function that produces compound words out of the words in a
+ * given string.
+ *
+ * @private
+ * @param {Function} callback The function to combine each word.
+ * @returns {Function} Returns the new compounder function.
+ */function createCompounder(callback){return function(string){var index=-1,array=words(deburr(string)),length=array.length,result="";while(++index<length){result=callback(result,array[index],index)}return result}}
+/**
+ * Creates a function that produces an instance of `Ctor` regardless of
+ * whether it was invoked as part of a `new` expression or by `call` or `apply`.
+ *
+ * @private
+ * @param {Function} Ctor The constructor to wrap.
+ * @returns {Function} Returns the new wrapped function.
+ */function createCtorWrapper(Ctor){return function(){
+// Use a `switch` statement to work with class constructors.
+// See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
+// for more details.
+var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);
+// Mimic the constructor's `return` behavior.
+// See https://es5.github.io/#x13.2.2 for more details.
+return isObject(result)?result:thisBinding}}
+/**
+ * Creates a `_.curry` or `_.curryRight` function.
+ *
+ * @private
+ * @param {boolean} flag The curry bit flag.
+ * @returns {Function} Returns the new curry function.
+ */function createCurry(flag){function curryFunc(func,arity,guard){if(guard&&isIterateeCall(func,arity,guard)){arity=undefined}var result=createWrapper(func,flag,undefined,undefined,undefined,undefined,undefined,arity);result.placeholder=curryFunc.placeholder;return result}return curryFunc}
+/**
+ * Creates a `_.defaults` or `_.defaultsDeep` function.
+ *
+ * @private
+ * @param {Function} assigner The function to assign values.
+ * @param {Function} customizer The function to customize assigned values.
+ * @returns {Function} Returns the new defaults function.
+ */function createDefaults(assigner,customizer){return restParam(function(args){var object=args[0];if(object==null){return object}args.push(customizer);return assigner.apply(undefined,args)})}
+/**
+ * Creates a `_.max` or `_.min` function.
+ *
+ * @private
+ * @param {Function} comparator The function used to compare values.
+ * @param {*} exValue The initial extremum value.
+ * @returns {Function} Returns the new extremum function.
+ */function createExtremum(comparator,exValue){return function(collection,iteratee,thisArg){if(thisArg&&isIterateeCall(collection,iteratee,thisArg)){iteratee=undefined}iteratee=getCallback(iteratee,thisArg,3);if(iteratee.length==1){collection=isArray(collection)?collection:toIterable(collection);var result=arrayExtremum(collection,iteratee,comparator,exValue);if(!(collection.length&&result===exValue)){return result}}return baseExtremum(collection,iteratee,comparator,exValue)}}
+/**
+ * Creates a `_.find` or `_.findLast` function.
+ *
+ * @private
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new find function.
+ */function createFind(eachFunc,fromRight){return function(collection,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);if(isArray(collection)){var index=baseFindIndex(collection,predicate,fromRight);return index>-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}
+/**
+ * Creates a `_.findIndex` or `_.findLastIndex` function.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new find function.
+ */function createFindIndex(fromRight){return function(array,predicate,thisArg){if(!(array&&array.length)){return-1}predicate=getCallback(predicate,thisArg,3);return baseFindIndex(array,predicate,fromRight)}}
+/**
+ * Creates a `_.findKey` or `_.findLastKey` function.
+ *
+ * @private
+ * @param {Function} objectFunc The function to iterate over an object.
+ * @returns {Function} Returns the new find function.
+ */function createFindKey(objectFunc){return function(object,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);return baseFind(object,predicate,objectFunc,true)}}
+/**
+ * Creates a `_.flow` or `_.flowRight` function.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new flow function.
+ */function createFlow(fromRight){return function(){var wrapper,length=arguments.length,index=fromRight?length:-1,leftIndex=0,funcs=Array(length);while(fromRight?index--:++index<length){var func=funcs[leftIndex++]=arguments[index];if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}if(!wrapper&&LodashWrapper.prototype.thru&&getFuncName(func)=="wrapper"){wrapper=new LodashWrapper([],true)}}index=wrapper?-1:length;while(++index<length){func=funcs[index];var funcName=getFuncName(func),data=funcName=="wrapper"?getData(func):undefined;if(data&&isLaziable(data[0])&&data[1]==(ARY_FLAG|CURRY_FLAG|PARTIAL_FLAG|REARG_FLAG)&&!data[4].length&&data[9]==1){wrapper=wrapper[getFuncName(data[0])].apply(wrapper,data[3])}else{wrapper=func.length==1&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}}return function(){var args=arguments,value=args[0];if(wrapper&&args.length==1&&isArray(value)&&value.length>=LARGE_ARRAY_SIZE){return wrapper.plant(value).value()}var index=0,result=length?funcs[index].apply(this,args):value;while(++index<length){result=funcs[index].call(this,result)}return result}}}
+/**
+ * Creates a function for `_.forEach` or `_.forEachRight`.
+ *
+ * @private
+ * @param {Function} arrayFunc The function to iterate over an array.
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @returns {Function} Returns the new each function.
+ */function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}
+/**
+ * Creates a function for `_.forIn` or `_.forInRight`.
+ *
+ * @private
+ * @param {Function} objectFunc The function to iterate over an object.
+ * @returns {Function} Returns the new each function.
+ */function createForIn(objectFunc){return function(object,iteratee,thisArg){if(typeof iteratee!="function"||thisArg!==undefined){iteratee=bindCallback(iteratee,thisArg,3)}return objectFunc(object,iteratee,keysIn)}}
+/**
+ * Creates a function for `_.forOwn` or `_.forOwnRight`.
+ *
+ * @private
+ * @param {Function} objectFunc The function to iterate over an object.
+ * @returns {Function} Returns the new each function.
+ */function createForOwn(objectFunc){return function(object,iteratee,thisArg){if(typeof iteratee!="function"||thisArg!==undefined){iteratee=bindCallback(iteratee,thisArg,3)}return objectFunc(object,iteratee)}}
+/**
+ * Creates a function for `_.mapKeys` or `_.mapValues`.
+ *
+ * @private
+ * @param {boolean} [isMapKeys] Specify mapping keys instead of values.
+ * @returns {Function} Returns the new map function.
+ */function createObjectMapper(isMapKeys){return function(object,iteratee,thisArg){var result={};iteratee=getCallback(iteratee,thisArg,3);baseForOwn(object,function(value,key,object){var mapped=iteratee(value,key,object);key=isMapKeys?mapped:key;value=isMapKeys?value:mapped;result[key]=value});return result}}
+/**
+ * Creates a function for `_.padLeft` or `_.padRight`.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify padding from the right.
+ * @returns {Function} Returns the new pad function.
+ */function createPadDir(fromRight){return function(string,length,chars){string=baseToString(string);return(fromRight?string:"")+createPadding(string,length,chars)+(fromRight?"":string)}}
+/**
+ * Creates a `_.partial` or `_.partialRight` function.
+ *
+ * @private
+ * @param {boolean} flag The partial bit flag.
+ * @returns {Function} Returns the new partial function.
+ */function createPartial(flag){var partialFunc=restParam(function(func,partials){var holders=replaceHolders(partials,partialFunc.placeholder);return createWrapper(func,flag,undefined,partials,holders)});return partialFunc}
+/**
+ * Creates a function for `_.reduce` or `_.reduceRight`.
+ *
+ * @private
+ * @param {Function} arrayFunc The function to iterate over an array.
+ * @param {Function} eachFunc The function to iterate over a collection.
+ * @returns {Function} Returns the new each function.
+ */function createReduce(arrayFunc,eachFunc){return function(collection,iteratee,accumulator,thisArg){var initFromArray=arguments.length<3;return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee,accumulator,initFromArray):baseReduce(collection,getCallback(iteratee,thisArg,4),accumulator,initFromArray,eachFunc)}}
+/**
+ * Creates a function that wraps `func` and invokes it with optional `this`
+ * binding of, partial application, and currying.
+ *
+ * @private
+ * @param {Function|string} func The function or method name to reference.
+ * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to prepend to those provided to the new function.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [partialsRight] The arguments to append to those provided to the new function.
+ * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */function createHybridWrapper(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=bitmask&ARY_FLAG,isBind=bitmask&BIND_FLAG,isBindKey=bitmask&BIND_KEY_FLAG,isCurry=bitmask&CURRY_FLAG,isCurryBound=bitmask&CURRY_BOUND_FLAG,isCurryRight=bitmask&CURRY_RIGHT_FLAG,Ctor=isBindKey?undefined:createCtorWrapper(func);function wrapper(){
+// Avoid `arguments` object use disqualifying optimizations by
+// converting it to an array before providing it to other functions.
+var length=arguments.length,index=length,args=Array(length);while(index--){args[index]=arguments[index]}if(partials){args=composeArgs(args,partials,holders)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight)}if(isCurry||isCurryRight){var placeholder=wrapper.placeholder,argsHolders=replaceHolders(args,placeholder);length-=argsHolders.length;if(length<arity){var newArgPos=argPos?arrayCopy(argPos):undefined,newArity=nativeMax(arity-length,0),newsHolders=isCurry?argsHolders:undefined,newHoldersRight=isCurry?undefined:argsHolders,newPartials=isCurry?args:undefined,newPartialsRight=isCurry?undefined:args;bitmask|=isCurry?PARTIAL_FLAG:PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?PARTIAL_RIGHT_FLAG:PARTIAL_FLAG);if(!isCurryBound){bitmask&=~(BIND_FLAG|BIND_KEY_FLAG)}var newData=[func,bitmask,thisArg,newPartials,newsHolders,newPartialsRight,newHoldersRight,newArgPos,ary,newArity],result=createHybridWrapper.apply(undefined,newData);if(isLaziable(func)){setData(result,newData)}result.placeholder=placeholder;return result}}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;if(argPos){args=reorder(args,argPos)}if(isAry&&ary<args.length){args.length=ary}if(this&&this!==root&&this instanceof wrapper){fn=Ctor||createCtorWrapper(func)}return fn.apply(thisBinding,args)}return wrapper}
+/**
+ * Creates the padding required for `string` based on the given `length`.
+ * The `chars` string is truncated if the number of characters exceeds `length`.
+ *
+ * @private
+ * @param {string} string The string to create padding for.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the pad for `string`.
+ */function createPadding(string,length,chars){var strLength=string.length;length=+length;if(strLength>=length||!nativeIsFinite(length)){return""}var padLength=length-strLength;chars=chars==null?" ":chars+"";return repeat(chars,nativeCeil(padLength/chars.length)).slice(0,padLength)}
+/**
+ * Creates a function that wraps `func` and invokes it with the optional `this`
+ * binding of `thisArg` and the `partials` prepended to those provided to
+ * the wrapper.
+ *
+ * @private
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {Array} partials The arguments to prepend to those provided to the new function.
+ * @returns {Function} Returns the new bound function.
+ */function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){
+// Avoid `arguments` object use disqualifying optimizations by
+// converting it to an array before providing it `func`.
+var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength);while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,args)}return wrapper}
+/**
+ * Creates a `_.ceil`, `_.floor`, or `_.round` function.
+ *
+ * @private
+ * @param {string} methodName The name of the `Math` method to use when rounding.
+ * @returns {Function} Returns the new round function.
+ */function createRound(methodName){var func=Math[methodName];return function(number,precision){precision=precision===undefined?0:+precision||0;if(precision){precision=pow(10,precision);return func(number*precision)/precision}return func(number)}}
+/**
+ * Creates a `_.sortedIndex` or `_.sortedLastIndex` function.
+ *
+ * @private
+ * @param {boolean} [retHighest] Specify returning the highest qualified index.
+ * @returns {Function} Returns the new index function.
+ */function createSortedIndex(retHighest){return function(array,value,iteratee,thisArg){var callback=getCallback(iteratee);return iteratee==null&&callback===baseCallback?binaryIndex(array,value,retHighest):binaryIndexBy(array,value,callback(iteratee,thisArg,1),retHighest)}}
+/**
+ * Creates a function that either curries or invokes `func` with optional
+ * `this` binding and partially applied arguments.
+ *
+ * @private
+ * @param {Function|string} func The function or method name to reference.
+ * @param {number} bitmask The bitmask of flags.
+ * The bitmask may be composed of the following flags:
+ * 1 - `_.bind`
+ * 2 - `_.bindKey`
+ * 4 - `_.curry` or `_.curryRight` of a bound function
+ * 8 - `_.curry`
+ * 16 - `_.curryRight`
+ * 32 - `_.partial`
+ * 64 - `_.partialRight`
+ * 128 - `_.rearg`
+ * 256 - `_.ary`
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to be partially applied.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */function createWrapper(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(PARTIAL_FLAG|PARTIAL_RIGHT_FLAG);partials=holders=undefined}length-=holders?holders.length:0;if(bitmask&PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func),newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data){mergeData(newData,data);bitmask=newData[1];arity=newData[9]}newData[9]=arity==null?isBindKey?0:func.length:nativeMax(arity-length,0)||0;if(bitmask==BIND_FLAG){var result=createBindWrapper(newData[0],newData[2])}else if((bitmask==PARTIAL_FLAG||bitmask==(BIND_FLAG|PARTIAL_FLAG))&&!newData[4].length){result=createPartialWrapper.apply(undefined,newData)}else{result=createHybridWrapper.apply(undefined,newData)}var setter=data?baseSetData:setData;return setter(result,newData)}
+/**
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Array} array The array to compare.
+ * @param {Array} other The other array to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing arrays.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
+ */function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength)){return false}
+// Ignore non-index properties.
+while(++index<arrLength){var arrValue=array[index],othValue=other[index],result=customizer?customizer(isLoose?othValue:arrValue,isLoose?arrValue:othValue,index):undefined;if(result!==undefined){if(result){continue}return false}
+// Recursively compare arrays (susceptible to call stack limits).
+if(isLoose){if(!arraySome(other,function(othValue){return arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)})){return false}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))){return false}}return true}
+/**
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
+ * the same `toStringTag`.
+ *
+ * **Note:** This function only supports comparing values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {string} tag The `toStringTag` of the objects to compare.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:
+// Coerce dates and booleans to numbers, dates to milliseconds and booleans
+// to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
+return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:
+// Treat `NaN` vs. `NaN` as equal.
+return object!=+object?other!=+other:object==+other;case regexpTag:case stringTag:
+// Coerce regexes to strings and treat strings primitives and string
+// objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
+return object==other+""}return false}
+/**
+ * A specialized version of `baseIsEqualDeep` for objects with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing values.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isLoose?key in other:hasOwnProperty.call(other,key))){return false}}var skipCtor=isLoose;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key],result=customizer?customizer(isLoose?othValue:objValue,isLoose?objValue:othValue,key):undefined;
+// Recursively compare objects (susceptible to call stack limits).
+if(!(result===undefined?equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB):result)){return false}skipCtor||(skipCtor=key=="constructor")}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;
+// Non `Object` object instances with different constructors are not equal.
+if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){return false}}return true}
+/**
+ * Gets the appropriate "callback" function. If the `_.callback` method is
+ * customized this function returns the custom method, otherwise it returns
+ * the `baseCallback` function. If arguments are provided the chosen function
+ * is invoked with them and its result is returned.
+ *
+ * @private
+ * @returns {Function} Returns the chosen function or its result.
+ */function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;result=result===callback?baseCallback:result;return argCount?result(func,thisArg,argCount):result}
+/**
+ * Gets metadata for `func`.
+ *
+ * @private
+ * @param {Function} func The function to query.
+ * @returns {*} Returns the metadata for `func`.
+ */var getData=!metaMap?noop:function(func){return metaMap.get(func)};
+/**
+ * Gets the name of `func`.
+ *
+ * @private
+ * @param {Function} func The function to query.
+ * @returns {string} Returns the function name.
+ */function getFuncName(func){var result=func.name,array=realNames[result],length=array?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result}
+/**
+ * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
+ * customized this function returns the custom method, otherwise it returns
+ * the `baseIndexOf` function. If arguments are provided the chosen function
+ * is invoked with them and its result is returned.
+ *
+ * @private
+ * @returns {Function|number} Returns the chosen function or its result.
+ */function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;result=result===indexOf?baseIndexOf:result;return collection?result(collection,target,fromIndex):result}
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */var getLength=baseProperty("length");
+/**
+ * Gets the propery names, values, and compare flags of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the match data of `object`.
+ */function getMatchData(object){var result=pairs(object),length=result.length;while(length--){result[length][2]=isStrictComparable(result[length][1])}return result}
+/**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}
+/**
+ * Gets the view, applying any `transforms` to the `start` and `end` positions.
+ *
+ * @private
+ * @param {number} start The start of the view.
+ * @param {number} end The end of the view.
+ * @param {Array} transforms The transformations to apply to the view.
+ * @returns {Object} Returns an object containing the `start` and `end`
+ * positions of the view.
+ */function getView(start,end,transforms){var index=-1,length=transforms.length;while(++index<length){var data=transforms[index],size=data.size;switch(data.type){case"drop":start+=size;break;case"dropRight":end-=size;break;case"take":end=nativeMin(end,start+size);break;case"takeRight":start=nativeMax(start,end-size);break}}return{start:start,end:end}}
+/**
+ * Initializes an array clone.
+ *
+ * @private
+ * @param {Array} array The array to clone.
+ * @returns {Array} Returns the initialized clone.
+ */function initCloneArray(array){var length=array.length,result=new array.constructor(length);
+// Add array properties assigned by `RegExp#exec`.
+if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result.index=array.index;result.input=array.input}return result}
+/**
+ * Initializes an object clone.
+ *
+ * @private
+ * @param {Object} object The object to clone.
+ * @returns {Object} Returns the initialized clone.
+ */function initCloneObject(object){var Ctor=object.constructor;if(!(typeof Ctor=="function"&&Ctor instanceof Ctor)){Ctor=Object}return new Ctor}
+/**
+ * Initializes an object clone based on its `toStringTag`.
+ *
+ * **Note:** This function only supports cloning values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to clone.
+ * @param {string} tag The `toStringTag` of the object to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the initialized clone.
+ */function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}
+/**
+ * Invokes the method at `path` on `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {Array} args The arguments to invoke the method with.
+ * @returns {*} Returns the result of the invoked method.
+ */function invokePath(object,path,args){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));path=last(path)}var func=object==null?object:object[path];return func==null?undefined:func.apply(object,args)}
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */function isArrayLike(value){return value!=null&&isLength(getLength(value))}
+/**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}
+/**
+ * Checks if the provided arguments are from an iteratee call.
+ *
+ * @private
+ * @param {*} value The potential iteratee value argument.
+ * @param {*} index The potential iteratee index or key argument.
+ * @param {*} object The potential iteratee object argument.
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
+ */function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){var other=object[index];return value===value?value===other:other!==other}return false}
+/**
+ * Checks if `value` is a property name and not a property path.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {Object} [object] The object to query keys on.
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
+ */function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}
+/**
+ * Checks if `func` has a lazy counterpart.
+ *
+ * @private
+ * @param {Function} func The function to check.
+ * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
+ */function isLaziable(func){var funcName=getFuncName(func);if(!(funcName in LazyWrapper.prototype)){return false}var other=lodash[funcName];if(func===other){return true}var data=getData(other);return!!data&&func===data[0]}
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}
+/**
+ * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` if suitable for strict
+ * equality comparisons, else `false`.
+ */function isStrictComparable(value){return value===value&&!isObject(value)}
+/**
+ * Merges the function metadata of `source` into `data`.
+ *
+ * Merging metadata reduces the number of wrappers required to invoke a function.
+ * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
+ * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg`
+ * augment function arguments, making the order in which they are executed important,
+ * preventing the merging of metadata. However, we make an exception for a safe
+ * common case where curried functions have `_.ary` and or `_.rearg` applied.
+ *
+ * @private
+ * @param {Array} data The destination metadata.
+ * @param {Array} source The source metadata.
+ * @returns {Array} Returns `data`.
+ */function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<ARY_FLAG;var isCombo=srcBitmask==ARY_FLAG&&bitmask==CURRY_FLAG||srcBitmask==ARY_FLAG&&bitmask==REARG_FLAG&&data[7].length<=source[8]||srcBitmask==(ARY_FLAG|REARG_FLAG)&&bitmask==CURRY_FLAG;
+// Exit early if metadata can't be merged.
+if(!(isCommon||isCombo)){return data}
+// Use source `thisArg` if available.
+if(srcBitmask&BIND_FLAG){data[2]=source[2];
+// Set when currying a bound function.
+newBitmask|=bitmask&BIND_FLAG?0:CURRY_BOUND_FLAG}
+// Compose partial arguments.
+var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):arrayCopy(value);data[4]=partials?replaceHolders(data[3],PLACEHOLDER):arrayCopy(source[4])}
+// Compose partial right arguments.
+value=source[5];if(value){partials=data[5];data[5]=partials?composeArgsRight(partials,value,source[6]):arrayCopy(value);data[6]=partials?replaceHolders(data[5],PLACEHOLDER):arrayCopy(source[6])}
+// Use source `argPos` if available.
+value=source[7];if(value){data[7]=arrayCopy(value)}
+// Use source `ary` if it's smaller.
+if(srcBitmask&ARY_FLAG){data[8]=data[8]==null?source[8]:nativeMin(data[8],source[8])}
+// Use source `arity` if one is not provided.
+if(data[9]==null){data[9]=source[9]}
+// Use source `func` and merge bitmasks.
+data[0]=source[0];data[1]=newBitmask;return data}
+/**
+ * Used by `_.defaultsDeep` to customize its `_.merge` use.
+ *
+ * @private
+ * @param {*} objectValue The destination object property value.
+ * @param {*} sourceValue The source object property value.
+ * @returns {*} Returns the value to assign to the destination object.
+ */function mergeDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:merge(objectValue,sourceValue,mergeDefaults)}
+/**
+ * A specialized version of `_.pick` which picks `object` properties specified
+ * by `props`.
+ *
+ * @private
+ * @param {Object} object The source object.
+ * @param {string[]} props The property names to pick.
+ * @returns {Object} Returns the new object.
+ */function pickByArray(object,props){object=toObject(object);var index=-1,length=props.length,result={};while(++index<length){var key=props[index];if(key in object){result[key]=object[key]}}return result}
+/**
+ * A specialized version of `_.pick` which picks `object` properties `predicate`
+ * returns truthy for.
+ *
+ * @private
+ * @param {Object} object The source object.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {Object} Returns the new object.
+ */function pickByCallback(object,predicate){var result={};baseForIn(object,function(value,key,object){if(predicate(value,key,object)){result[key]=value}});return result}
+/**
+ * Reorder `array` according to the specified indexes where the element at
+ * the first index is assigned as the first element, the element at
+ * the second index is assigned as the second element, and so on.
+ *
+ * @private
+ * @param {Array} array The array to reorder.
+ * @param {Array} indexes The arranged array indexes.
+ * @returns {Array} Returns `array`.
+ */function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=arrayCopy(array);while(length--){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}
+/**
+ * Sets metadata for `func`.
+ *
+ * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
+ * period of time, it will trip its breaker and transition to an identity function
+ * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
+ * for more details.
+ *
+ * @private
+ * @param {Function} func The function to associate metadata with.
+ * @param {*} data The metadata.
+ * @returns {Function} Returns `func`.
+ */var setData=function(){var count=0,lastCalled=0;return function(key,value){var stamp=now(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return key}}else{count=0}return baseSetData(key,value)}}();
+/**
+ * A fallback implementation of `Object.keys` which creates an array of the
+ * own enumerable property names of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index<propsLength){var key=props[index];if(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key)){result.push(key)}}return result}
+/**
+ * Converts `value` to an array-like object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Array|Object} Returns the array-like object.
+ */function toIterable(value){if(value==null){return[]}if(!isArrayLike(value)){return values(value)}return isObject(value)?value:Object(value)}
+/**
+ * Converts `value` to an object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Object} Returns the object.
+ */function toObject(value){return isObject(value)?value:Object(value)}
+/**
+ * Converts `value` to property path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Array} Returns the property path array.
+ */function toPath(value){if(isArray(value)){return value}var result=[];baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)});return result}
+/**
+ * Creates a clone of `wrapper`.
+ *
+ * @private
+ * @param {Object} wrapper The wrapper to clone.
+ * @returns {Object} Returns the cloned wrapper.
+ */function wrapperClone(wrapper){return wrapper instanceof LazyWrapper?wrapper.clone():new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__,arrayCopy(wrapper.__actions__))}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates an array of elements split into groups the length of `size`.
+ * If `collection` can't be split evenly, the final chunk will be the remaining
+ * elements.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to process.
+ * @param {number} [size=1] The length of each chunk.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the new array containing chunks.
+ * @example
+ *
+ * _.chunk(['a', 'b', 'c', 'd'], 2);
+ * // => [['a', 'b'], ['c', 'd']]
+ *
+ * _.chunk(['a', 'b', 'c', 'd'], 3);
+ * // => [['a', 'b', 'c'], ['d']]
+ */function chunk(array,size,guard){if(guard?isIterateeCall(array,size,guard):size==null){size=1}else{size=nativeMax(nativeFloor(size)||1,1)}var index=0,length=array?array.length:0,resIndex=-1,result=Array(nativeCeil(length/size));while(index<length){result[++resIndex]=baseSlice(array,index,index+=size)}return result}
+/**
+ * Creates an array with all falsey values removed. The values `false`, `null`,
+ * `0`, `""`, `undefined`, and `NaN` are falsey.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to compact.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.compact([0, 1, false, 2, '', 3]);
+ * // => [1, 2, 3]
+ */function compact(array){var index=-1,length=array?array.length:0,resIndex=-1,result=[];while(++index<length){var value=array[index];if(value){result[++resIndex]=value}}return result}
+/**
+ * Creates an array of unique `array` values not included in the other
+ * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {...Array} [values] The arrays of values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.difference([1, 2, 3], [4, 2]);
+ * // => [1, 3]
+ */var difference=restParam(function(array,values){return isObjectLike(array)&&isArrayLike(array)?baseDifference(array,baseFlatten(values,false,true)):[]});
+/**
+ * Creates a slice of `array` with `n` elements dropped from the beginning.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to drop.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.drop([1, 2, 3]);
+ * // => [2, 3]
+ *
+ * _.drop([1, 2, 3], 2);
+ * // => [3]
+ *
+ * _.drop([1, 2, 3], 5);
+ * // => []
+ *
+ * _.drop([1, 2, 3], 0);
+ * // => [1, 2, 3]
+ */function drop(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}return baseSlice(array,n<0?0:n)}
+/**
+ * Creates a slice of `array` with `n` elements dropped from the end.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to drop.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.dropRight([1, 2, 3]);
+ * // => [1, 2]
+ *
+ * _.dropRight([1, 2, 3], 2);
+ * // => [1]
+ *
+ * _.dropRight([1, 2, 3], 5);
+ * // => []
+ *
+ * _.dropRight([1, 2, 3], 0);
+ * // => [1, 2, 3]
+ */function dropRight(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}n=length-(+n||0);return baseSlice(array,0,n<0?0:n)}
+/**
+ * Creates a slice of `array` excluding elements dropped from the end.
+ * Elements are dropped until `predicate` returns falsey. The predicate is
+ * bound to `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that match the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.dropRightWhile([1, 2, 3], function(n) {
+ * return n > 1;
+ * });
+ * // => [1]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.dropRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user');
+ * // => ['barney', 'fred']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.dropRightWhile(users, 'active', false), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.dropRightWhile(users, 'active'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */function dropRightWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3),true,true):[]}
+/**
+ * Creates a slice of `array` excluding elements dropped from the beginning.
+ * Elements are dropped until `predicate` returns falsey. The predicate is
+ * bound to `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.dropWhile([1, 2, 3], function(n) {
+ * return n < 3;
+ * });
+ * // => [3]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.dropWhile(users, { 'user': 'barney', 'active': false }), 'user');
+ * // => ['fred', 'pebbles']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.dropWhile(users, 'active', false), 'user');
+ * // => ['pebbles']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.dropWhile(users, 'active'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */function dropWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3),true):[]}
+/**
+ * Fills elements of `array` with `value` from `start` up to, but not
+ * including, `end`.
+ *
+ * **Note:** This method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to fill.
+ * @param {*} value The value to fill `array` with.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = [1, 2, 3];
+ *
+ * _.fill(array, 'a');
+ * console.log(array);
+ * // => ['a', 'a', 'a']
+ *
+ * _.fill(Array(3), 2);
+ * // => [2, 2, 2]
+ *
+ * _.fill([4, 6, 8], '*', 1, 2);
+ * // => [4, '*', 8]
+ */function fill(array,value,start,end){var length=array?array.length:0;if(!length){return[]}if(start&&typeof start!="number"&&isIterateeCall(array,value,start)){start=0;end=length}return baseFill(array,value,start,end)}
+/**
+ * This method is like `_.find` except that it returns the index of the first
+ * element `predicate` returns truthy for instead of the element itself.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {number} Returns the index of the found element, else `-1`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * _.findIndex(users, function(chr) {
+ * return chr.user == 'barney';
+ * });
+ * // => 0
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findIndex(users, { 'user': 'fred', 'active': false });
+ * // => 1
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findIndex(users, 'active', false);
+ * // => 0
+ *
+ * // using the `_.property` callback shorthand
+ * _.findIndex(users, 'active');
+ * // => 2
+ */var findIndex=createFindIndex();
+/**
+ * This method is like `_.findIndex` except that it iterates over elements
+ * of `collection` from right to left.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {number} Returns the index of the found element, else `-1`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': false }
+ * ];
+ *
+ * _.findLastIndex(users, function(chr) {
+ * return chr.user == 'pebbles';
+ * });
+ * // => 2
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findLastIndex(users, { 'user': 'barney', 'active': true });
+ * // => 0
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findLastIndex(users, 'active', false);
+ * // => 2
+ *
+ * // using the `_.property` callback shorthand
+ * _.findLastIndex(users, 'active');
+ * // => 0
+ */var findLastIndex=createFindIndex(true);
+/**
+ * Gets the first element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @alias head
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {*} Returns the first element of `array`.
+ * @example
+ *
+ * _.first([1, 2, 3]);
+ * // => 1
+ *
+ * _.first([]);
+ * // => undefined
+ */function first(array){return array?array[0]:undefined}
+/**
+ * Flattens a nested array. If `isDeep` is `true` the array is recursively
+ * flattened, otherwise it is only flattened a single level.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to flatten.
+ * @param {boolean} [isDeep] Specify a deep flatten.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the new flattened array.
+ * @example
+ *
+ * _.flatten([1, [2, 3, [4]]]);
+ * // => [1, 2, 3, [4]]
+ *
+ * // using `isDeep`
+ * _.flatten([1, [2, 3, [4]]], true);
+ * // => [1, 2, 3, 4]
+ */function flatten(array,isDeep,guard){var length=array?array.length:0;if(guard&&isIterateeCall(array,isDeep,guard)){isDeep=false}return length?baseFlatten(array,isDeep):[]}
+/**
+ * Recursively flattens a nested array.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to recursively flatten.
+ * @returns {Array} Returns the new flattened array.
+ * @example
+ *
+ * _.flattenDeep([1, [2, 3, [4]]]);
+ * // => [1, 2, 3, 4]
+ */function flattenDeep(array){var length=array?array.length:0;return length?baseFlatten(array,true):[]}
+/**
+ * Gets the index at which the first occurrence of `value` is found in `array`
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+ * from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
+ * performs a faster binary search.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {boolean|number} [fromIndex=0] The index to search from or `true`
+ * to perform a binary search on a sorted array.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ * @example
+ *
+ * _.indexOf([1, 2, 1, 2], 2);
+ * // => 1
+ *
+ * // using `fromIndex`
+ * _.indexOf([1, 2, 1, 2], 2, 2);
+ * // => 3
+ *
+ * // performing a binary search
+ * _.indexOf([1, 1, 2, 2], 2, true);
+ * // => 2
+ */function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length){return-1}if(typeof fromIndex=="number"){fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex}else if(fromIndex){var index=binaryIndex(array,value);if(index<length&&(value===value?value===array[index]:array[index]!==array[index])){return index}return-1}return baseIndexOf(array,value,fromIndex||0)}
+/**
+ * Gets all but the last element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.initial([1, 2, 3]);
+ * // => [1, 2]
+ */function initial(array){return dropRight(array,1)}
+/**
+ * Creates an array of unique values that are included in all of the provided
+ * arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of shared values.
+ * @example
+ * _.intersection([1, 2], [4, 2], [2, 1]);
+ * // => [2]
+ */var intersection=restParam(function(arrays){var othLength=arrays.length,othIndex=othLength,caches=Array(length),indexOf=getIndexOf(),isCommon=indexOf==baseIndexOf,result=[];while(othIndex--){var value=arrays[othIndex]=isArrayLike(value=arrays[othIndex])?value:[];caches[othIndex]=isCommon&&value.length>=120?createCache(othIndex&&value):null}var array=arrays[0],index=-1,length=array?array.length:0,seen=caches[0];outer:while(++index<length){value=array[index];if((seen?cacheIndexOf(seen,value):indexOf(result,value,0))<0){var othIndex=othLength;while(--othIndex){var cache=caches[othIndex];if((cache?cacheIndexOf(cache,value):indexOf(arrays[othIndex],value,0))<0){continue outer}}if(seen){seen.push(value)}result.push(value)}}return result});
+/**
+ * Gets the last element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {*} Returns the last element of `array`.
+ * @example
+ *
+ * _.last([1, 2, 3]);
+ * // => 3
+ */function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}
+/**
+ * This method is like `_.indexOf` except that it iterates over elements of
+ * `array` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {boolean|number} [fromIndex=array.length-1] The index to search from
+ * or `true` to perform a binary search on a sorted array.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ * @example
+ *
+ * _.lastIndexOf([1, 2, 1, 2], 2);
+ * // => 3
+ *
+ * // using `fromIndex`
+ * _.lastIndexOf([1, 2, 1, 2], 2, 2);
+ * // => 1
+ *
+ * // performing a binary search
+ * _.lastIndexOf([1, 1, 2, 2], 2, true);
+ * // => 3
+ */function lastIndexOf(array,value,fromIndex){var length=array?array.length:0;if(!length){return-1}var index=length;if(typeof fromIndex=="number"){index=(fromIndex<0?nativeMax(length+fromIndex,0):nativeMin(fromIndex||0,length-1))+1}else if(fromIndex){index=binaryIndex(array,value,true)-1;var other=array[index];if(value===value?value===other:other!==other){return index}return-1}if(value!==value){return indexOfNaN(array,index,true)}while(index--){if(array[index]===value){return index}}return-1}
+/**
+ * Removes all provided values from `array` using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * **Note:** Unlike `_.without`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {...*} [values] The values to remove.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = [1, 2, 3, 1, 2, 3];
+ *
+ * _.pull(array, 2, 3);
+ * console.log(array);
+ * // => [1, 1]
+ */function pull(){var args=arguments,array=args[0];if(!(array&&array.length)){return array}var index=0,indexOf=getIndexOf(),length=args.length;while(++index<length){var fromIndex=0,value=args[index];while((fromIndex=indexOf(array,value,fromIndex))>-1){splice.call(array,fromIndex,1)}}return array}
+/**
+ * Removes elements from `array` corresponding to the given indexes and returns
+ * an array of the removed elements. Indexes may be specified as an array of
+ * indexes or as individual arguments.
+ *
+ * **Note:** Unlike `_.at`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {...(number|number[])} [indexes] The indexes of elements to remove,
+ * specified as individual indexes or arrays of indexes.
+ * @returns {Array} Returns the new array of removed elements.
+ * @example
+ *
+ * var array = [5, 10, 15, 20];
+ * var evens = _.pullAt(array, 1, 3);
+ *
+ * console.log(array);
+ * // => [5, 15]
+ *
+ * console.log(evens);
+ * // => [10, 20]
+ */var pullAt=restParam(function(array,indexes){indexes=baseFlatten(indexes);var result=baseAt(array,indexes);basePullAt(array,indexes.sort(baseCompareAscending));return result});
+/**
+ * Removes all elements from `array` that `predicate` returns truthy for
+ * and returns an array of the removed elements. The predicate is bound to
+ * `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * **Note:** Unlike `_.filter`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new array of removed elements.
+ * @example
+ *
+ * var array = [1, 2, 3, 4];
+ * var evens = _.remove(array, function(n) {
+ * return n % 2 == 0;
+ * });
+ *
+ * console.log(array);
+ * // => [1, 3]
+ *
+ * console.log(evens);
+ * // => [2, 4]
+ */function remove(array,predicate,thisArg){var result=[];if(!(array&&array.length)){return result}var index=-1,indexes=[],length=array.length;predicate=getCallback(predicate,thisArg,3);while(++index<length){var value=array[index];if(predicate(value,index,array)){result.push(value);indexes.push(index)}}basePullAt(array,indexes);return result}
+/**
+ * Gets all but the first element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @alias tail
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.rest([1, 2, 3]);
+ * // => [2, 3]
+ */function rest(array){return drop(array,1)}
+/**
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
+ *
+ * **Note:** This method is used instead of `Array#slice` to support node
+ * lists in IE < 9 and to ensure dense arrays are returned.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to slice.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the slice of `array`.
+ */function slice(array,start,end){var length=array?array.length:0;if(!length){return[]}if(end&&typeof end!="number"&&isIterateeCall(array,start,end)){start=0;end=length}return baseSlice(array,start,end)}
+/**
+ * Uses a binary search to determine the lowest index at which `value` should
+ * be inserted into `array` in order to maintain its sort order. If an iteratee
+ * function is provided it is invoked for `value` and each element of `array`
+ * to compute their sort ranking. The iteratee is bound to `thisArg` and
+ * invoked with one argument; (value).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ * @example
+ *
+ * _.sortedIndex([30, 50], 40);
+ * // => 1
+ *
+ * _.sortedIndex([4, 4, 5, 5], 5);
+ * // => 2
+ *
+ * var dict = { 'data': { 'thirty': 30, 'forty': 40, 'fifty': 50 } };
+ *
+ * // using an iteratee function
+ * _.sortedIndex(['thirty', 'fifty'], 'forty', function(word) {
+ * return this.data[word];
+ * }, dict);
+ * // => 1
+ *
+ * // using the `_.property` callback shorthand
+ * _.sortedIndex([{ 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
+ * // => 1
+ */var sortedIndex=createSortedIndex();
+/**
+ * This method is like `_.sortedIndex` except that it returns the highest
+ * index at which `value` should be inserted into `array` in order to
+ * maintain its sort order.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The sorted array to inspect.
+ * @param {*} value The value to evaluate.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {number} Returns the index at which `value` should be inserted
+ * into `array`.
+ * @example
+ *
+ * _.sortedLastIndex([4, 4, 5, 5], 5);
+ * // => 4
+ */var sortedLastIndex=createSortedIndex(true);
+/**
+ * Creates a slice of `array` with `n` elements taken from the beginning.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to take.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.take([1, 2, 3]);
+ * // => [1]
+ *
+ * _.take([1, 2, 3], 2);
+ * // => [1, 2]
+ *
+ * _.take([1, 2, 3], 5);
+ * // => [1, 2, 3]
+ *
+ * _.take([1, 2, 3], 0);
+ * // => []
+ */function take(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}return baseSlice(array,0,n<0?0:n)}
+/**
+ * Creates a slice of `array` with `n` elements taken from the end.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {number} [n=1] The number of elements to take.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.takeRight([1, 2, 3]);
+ * // => [3]
+ *
+ * _.takeRight([1, 2, 3], 2);
+ * // => [2, 3]
+ *
+ * _.takeRight([1, 2, 3], 5);
+ * // => [1, 2, 3]
+ *
+ * _.takeRight([1, 2, 3], 0);
+ * // => []
+ */function takeRight(array,n,guard){var length=array?array.length:0;if(!length){return[]}if(guard?isIterateeCall(array,n,guard):n==null){n=1}n=length-(+n||0);return baseSlice(array,n<0?0:n)}
+/**
+ * Creates a slice of `array` with elements taken from the end. Elements are
+ * taken until `predicate` returns falsey. The predicate is bound to `thisArg`
+ * and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.takeRightWhile([1, 2, 3], function(n) {
+ * return n > 1;
+ * });
+ * // => [2, 3]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false },
+ * { 'user': 'pebbles', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.takeRightWhile(users, { 'user': 'pebbles', 'active': false }), 'user');
+ * // => ['pebbles']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.takeRightWhile(users, 'active', false), 'user');
+ * // => ['fred', 'pebbles']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.takeRightWhile(users, 'active'), 'user');
+ * // => []
+ */function takeRightWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3),false,true):[]}
+/**
+ * Creates a slice of `array` with elements taken from the beginning. Elements
+ * are taken until `predicate` returns falsey. The predicate is bound to
+ * `thisArg` and invoked with three arguments: (value, index, array).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the slice of `array`.
+ * @example
+ *
+ * _.takeWhile([1, 2, 3], function(n) {
+ * return n < 3;
+ * });
+ * // => [1, 2]
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false},
+ * { 'user': 'pebbles', 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.takeWhile(users, { 'user': 'barney', 'active': false }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.takeWhile(users, 'active', false), 'user');
+ * // => ['barney', 'fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.takeWhile(users, 'active'), 'user');
+ * // => []
+ */function takeWhile(array,predicate,thisArg){return array&&array.length?baseWhile(array,getCallback(predicate,thisArg,3)):[]}
+/**
+ * Creates an array of unique values, in order, from all of the provided arrays
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of combined values.
+ * @example
+ *
+ * _.union([1, 2], [4, 2], [2, 1]);
+ * // => [1, 2, 4]
+ */var union=restParam(function(arrays){return baseUniq(baseFlatten(arrays,false,true))});
+/**
+ * Creates a duplicate-free version of an array, using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons, in which only the first occurence of each element
+ * is kept. Providing `true` for `isSorted` performs a faster search algorithm
+ * for sorted arrays. If an iteratee function is provided it is invoked for
+ * each element in the array to generate the criterion by which uniqueness
+ * is computed. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, array).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias unique
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {boolean} [isSorted] Specify the array is sorted.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ * @example
+ *
+ * _.uniq([2, 1, 2]);
+ * // => [2, 1]
+ *
+ * // using `isSorted`
+ * _.uniq([1, 1, 2], true);
+ * // => [1, 2]
+ *
+ * // using an iteratee function
+ * _.uniq([1, 2.5, 1.5, 2], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => [1, 2.5]
+ *
+ * // using the `_.property` callback shorthand
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */function uniq(array,isSorted,iteratee,thisArg){var length=array?array.length:0;if(!length){return[]}if(isSorted!=null&&typeof isSorted!="boolean"){thisArg=iteratee;iteratee=isIterateeCall(array,isSorted,thisArg)?undefined:isSorted;isSorted=false}var callback=getCallback();if(!(iteratee==null&&callback===baseCallback)){iteratee=callback(iteratee,thisArg,3)}return isSorted&&getIndexOf()==baseIndexOf?sortedUniq(array,iteratee):baseUniq(array,iteratee)}
+/**
+ * This method is like `_.zip` except that it accepts an array of grouped
+ * elements and creates an array regrouping the elements to their pre-zip
+ * configuration.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array of grouped elements to process.
+ * @returns {Array} Returns the new array of regrouped elements.
+ * @example
+ *
+ * var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]);
+ * // => [['fred', 30, true], ['barney', 40, false]]
+ *
+ * _.unzip(zipped);
+ * // => [['fred', 'barney'], [30, 40], [true, false]]
+ */function unzip(array){if(!(array&&array.length)){return[]}var index=-1,length=0;array=arrayFilter(array,function(group){if(isArrayLike(group)){length=nativeMax(group.length,length);return true}});var result=Array(length);while(++index<length){result[index]=arrayMap(array,baseProperty(index))}return result}
+/**
+ * This method is like `_.unzip` except that it accepts an iteratee to specify
+ * how regrouped values should be combined. The `iteratee` is bound to `thisArg`
+ * and invoked with four arguments: (accumulator, value, index, group).
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array of grouped elements to process.
+ * @param {Function} [iteratee] The function to combine regrouped values.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new array of regrouped elements.
+ * @example
+ *
+ * var zipped = _.zip([1, 2], [10, 20], [100, 200]);
+ * // => [[1, 10, 100], [2, 20, 200]]
+ *
+ * _.unzipWith(zipped, _.add);
+ * // => [3, 30, 300]
+ */function unzipWith(array,iteratee,thisArg){var length=array?array.length:0;if(!length){return[]}var result=unzip(array);if(iteratee==null){return result}iteratee=bindCallback(iteratee,thisArg,4);return arrayMap(result,function(group){return arrayReduce(group,iteratee,undefined,true)})}
+/**
+ * Creates an array excluding all provided values using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to filter.
+ * @param {...*} [values] The values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.without([1, 2, 1, 3], 1, 2);
+ * // => [3]
+ */var without=restParam(function(array,values){return isArrayLike(array)?baseDifference(array,values):[]});
+/**
+ * Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
+ * of the provided arrays.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of values.
+ * @example
+ *
+ * _.xor([1, 2], [4, 2]);
+ * // => [1, 4]
+ */function xor(){var index=-1,length=arguments.length;while(++index<length){var array=arguments[index];if(isArrayLike(array)){var result=result?arrayPush(baseDifference(result,array),baseDifference(array,result)):array}}return result?baseUniq(result):[]}
+/**
+ * Creates an array of grouped elements, the first of which contains the first
+ * elements of the given arrays, the second of which contains the second elements
+ * of the given arrays, and so on.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to process.
+ * @returns {Array} Returns the new array of grouped elements.
+ * @example
+ *
+ * _.zip(['fred', 'barney'], [30, 40], [true, false]);
+ * // => [['fred', 30, true], ['barney', 40, false]]
+ */var zip=restParam(unzip);
+/**
+ * The inverse of `_.pairs`; this method returns an object composed from arrays
+ * of property names and values. Provide either a single two dimensional array,
+ * e.g. `[[key1, value1], [key2, value2]]` or two arrays, one of property names
+ * and one of corresponding values.
+ *
+ * @static
+ * @memberOf _
+ * @alias object
+ * @category Array
+ * @param {Array} props The property names.
+ * @param {Array} [values=[]] The property values.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * _.zipObject([['fred', 30], ['barney', 40]]);
+ * // => { 'fred': 30, 'barney': 40 }
+ *
+ * _.zipObject(['fred', 'barney'], [30, 40]);
+ * // => { 'fred': 30, 'barney': 40 }
+ */function zipObject(props,values){var index=-1,length=props?props.length:0,result={};if(length&&!values&&!isArray(props[0])){values=[]}while(++index<length){var key=props[index];if(values){result[key]=values[index]}else if(key){result[key[0]]=key[1]}}return result}
+/**
+ * This method is like `_.zip` except that it accepts an iteratee to specify
+ * how grouped values should be combined. The `iteratee` is bound to `thisArg`
+ * and invoked with four arguments: (accumulator, value, index, group).
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to process.
+ * @param {Function} [iteratee] The function to combine grouped values.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new array of grouped elements.
+ * @example
+ *
+ * _.zipWith([1, 2], [10, 20], [100, 200], _.add);
+ * // => [111, 222]
+ */var zipWith=restParam(function(arrays){var length=arrays.length,iteratee=length>2?arrays[length-2]:undefined,thisArg=length>1?arrays[length-1]:undefined;if(length>2&&typeof iteratee=="function"){length-=2}else{iteratee=length>1&&typeof thisArg=="function"?(--length,thisArg):undefined;thisArg=undefined}arrays.length=length;return unzipWith(arrays,iteratee,thisArg)});
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a `lodash` object that wraps `value` with explicit method
+ * chaining enabled.
+ *
+ * @static
+ * @memberOf _
+ * @category Chain
+ * @param {*} value The value to wrap.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 },
+ * { 'user': 'pebbles', 'age': 1 }
+ * ];
+ *
+ * var youngest = _.chain(users)
+ * .sortBy('age')
+ * .map(function(chr) {
+ * return chr.user + ' is ' + chr.age;
+ * })
+ * .first()
+ * .value();
+ * // => 'pebbles is 1'
+ */function chain(value){var result=lodash(value);result.__chain__=true;return result}
+/**
+ * This method invokes `interceptor` and returns `value`. The interceptor is
+ * bound to `thisArg` and invoked with one argument; (value). The purpose of
+ * this method is to "tap into" a method chain in order to perform operations
+ * on intermediate results within the chain.
+ *
+ * @static
+ * @memberOf _
+ * @category Chain
+ * @param {*} value The value to provide to `interceptor`.
+ * @param {Function} interceptor The function to invoke.
+ * @param {*} [thisArg] The `this` binding of `interceptor`.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * _([1, 2, 3])
+ * .tap(function(array) {
+ * array.pop();
+ * })
+ * .reverse()
+ * .value();
+ * // => [2, 1]
+ */function tap(value,interceptor,thisArg){interceptor.call(thisArg,value);return value}
+/**
+ * This method is like `_.tap` except that it returns the result of `interceptor`.
+ *
+ * @static
+ * @memberOf _
+ * @category Chain
+ * @param {*} value The value to provide to `interceptor`.
+ * @param {Function} interceptor The function to invoke.
+ * @param {*} [thisArg] The `this` binding of `interceptor`.
+ * @returns {*} Returns the result of `interceptor`.
+ * @example
+ *
+ * _(' abc ')
+ * .chain()
+ * .trim()
+ * .thru(function(value) {
+ * return [value];
+ * })
+ * .value();
+ * // => ['abc']
+ */function thru(value,interceptor,thisArg){return interceptor.call(thisArg,value)}
+/**
+ * Enables explicit method chaining on the wrapper object.
+ *
+ * @name chain
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * // without explicit chaining
+ * _(users).first();
+ * // => { 'user': 'barney', 'age': 36 }
+ *
+ * // with explicit chaining
+ * _(users).chain()
+ * .first()
+ * .pick('user')
+ * .value();
+ * // => { 'user': 'barney' }
+ */function wrapperChain(){return chain(this)}
+/**
+ * Executes the chained sequence and returns the wrapped result.
+ *
+ * @name commit
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var array = [1, 2];
+ * var wrapped = _(array).push(3);
+ *
+ * console.log(array);
+ * // => [1, 2]
+ *
+ * wrapped = wrapped.commit();
+ * console.log(array);
+ * // => [1, 2, 3]
+ *
+ * wrapped.last();
+ * // => 3
+ *
+ * console.log(array);
+ * // => [1, 2, 3]
+ */function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}
+/**
+ * Creates a new array joining a wrapped array with any additional arrays
+ * and/or values.
+ *
+ * @name concat
+ * @memberOf _
+ * @category Chain
+ * @param {...*} [values] The values to concatenate.
+ * @returns {Array} Returns the new concatenated array.
+ * @example
+ *
+ * var array = [1];
+ * var wrapped = _(array).concat(2, [3], [[4]]);
+ *
+ * console.log(wrapped.value());
+ * // => [1, 2, 3, [4]]
+ *
+ * console.log(array);
+ * // => [1]
+ */var wrapperConcat=restParam(function(values){values=baseFlatten(values);return this.thru(function(array){return arrayConcat(isArray(array)?array:[toObject(array)],values)})});
+/**
+ * Creates a clone of the chained sequence planting `value` as the wrapped value.
+ *
+ * @name plant
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * var array = [1, 2];
+ * var wrapped = _(array).map(function(value) {
+ * return Math.pow(value, 2);
+ * });
+ *
+ * var other = [3, 4];
+ * var otherWrapped = wrapped.plant(other);
+ *
+ * otherWrapped.value();
+ * // => [9, 16]
+ *
+ * wrapped.value();
+ * // => [1, 4]
+ */function wrapperPlant(value){var result,parent=this;while(parent instanceof baseLodash){var clone=wrapperClone(parent);if(result){previous.__wrapped__=clone}else{result=clone}var previous=clone;parent=parent.__wrapped__}previous.__wrapped__=value;return result}
+/**
+ * Reverses the wrapped array so the first element becomes the last, the
+ * second element becomes the second to last, and so on.
+ *
+ * **Note:** This method mutates the wrapped array.
+ *
+ * @name reverse
+ * @memberOf _
+ * @category Chain
+ * @returns {Object} Returns the new reversed `lodash` wrapper instance.
+ * @example
+ *
+ * var array = [1, 2, 3];
+ *
+ * _(array).reverse().value()
+ * // => [3, 2, 1]
+ *
+ * console.log(array);
+ * // => [3, 2, 1]
+ */function wrapperReverse(){var value=this.__wrapped__;var interceptor=function(value){return wrapped&&wrapped.__dir__<0?value:value.reverse()};if(value instanceof LazyWrapper){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({func:thru,args:[interceptor],thisArg:undefined});return new LodashWrapper(wrapped,this.__chain__)}return this.thru(interceptor)}
+/**
+ * Produces the result of coercing the unwrapped value to a string.
+ *
+ * @name toString
+ * @memberOf _
+ * @category Chain
+ * @returns {string} Returns the coerced string value.
+ * @example
+ *
+ * _([1, 2, 3]).toString();
+ * // => '1,2,3'
+ */function wrapperToString(){return this.value()+""}
+/**
+ * Executes the chained sequence to extract the unwrapped value.
+ *
+ * @name value
+ * @memberOf _
+ * @alias run, toJSON, valueOf
+ * @category Chain
+ * @returns {*} Returns the resolved unwrapped value.
+ * @example
+ *
+ * _([1, 2, 3]).value();
+ * // => [1, 2, 3]
+ */function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates an array of elements corresponding to the given keys, or indexes,
+ * of `collection`. Keys may be specified as individual arguments or as arrays
+ * of keys.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {...(number|number[]|string|string[])} [props] The property names
+ * or indexes of elements to pick, specified individually or in arrays.
+ * @returns {Array} Returns the new array of picked elements.
+ * @example
+ *
+ * _.at(['a', 'b', 'c'], [0, 2]);
+ * // => ['a', 'c']
+ *
+ * _.at(['barney', 'fred', 'pebbles'], 0, 2);
+ * // => ['barney', 'pebbles']
+ */var at=restParam(function(collection,props){return baseAt(collection,baseFlatten(props))});
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through `iteratee`. The corresponding value
+ * of each key is the number of times the key was returned by `iteratee`.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * _.countBy([4.3, 6.1, 6.4], function(n) {
+ * return Math.floor(n);
+ * });
+ * // => { '4': 1, '6': 2 }
+ *
+ * _.countBy([4.3, 6.1, 6.4], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => { '4': 1, '6': 2 }
+ *
+ * _.countBy(['one', 'two', 'three'], 'length');
+ * // => { '3': 2, '5': 1 }
+ */var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:result[key]=1});
+/**
+ * Checks if `predicate` returns truthy for **all** elements of `collection`.
+ * The predicate is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias all
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
+ * else `false`.
+ * @example
+ *
+ * _.every([true, 1, null, 'yes'], Boolean);
+ * // => false
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': false },
+ * { 'user': 'fred', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.every(users, { 'user': 'barney', 'active': false });
+ * // => false
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.every(users, 'active', false);
+ * // => true
+ *
+ * // using the `_.property` callback shorthand
+ * _.every(users, 'active');
+ * // => false
+ */function every(collection,predicate,thisArg){var func=isArray(collection)?arrayEvery:baseEvery;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}
+/**
+ * Iterates over elements of `collection`, returning an array of all elements
+ * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+ * invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias select
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * _.filter([4, 5, 6], function(n) {
+ * return n % 2 == 0;
+ * });
+ * // => [4, 6]
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.filter(users, 'active', false), 'user');
+ * // => ['fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.filter(users, 'active'), 'user');
+ * // => ['barney']
+ */function filter(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,predicate)}
+/**
+ * Iterates over elements of `collection`, returning the first element
+ * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+ * invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias detect
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false },
+ * { 'user': 'pebbles', 'age': 1, 'active': true }
+ * ];
+ *
+ * _.result(_.find(users, function(chr) {
+ * return chr.age < 40;
+ * }), 'user');
+ * // => 'barney'
+ *
+ * // using the `_.matches` callback shorthand
+ * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');
+ * // => 'pebbles'
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.result(_.find(users, 'active', false), 'user');
+ * // => 'fred'
+ *
+ * // using the `_.property` callback shorthand
+ * _.result(_.find(users, 'active'), 'user');
+ * // => 'barney'
+ */var find=createFind(baseEach);
+/**
+ * This method is like `_.find` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * _.findLast([1, 2, 3, 4], function(n) {
+ * return n % 2 == 1;
+ * });
+ * // => 3
+ */var findLast=createFind(baseEachRight,true);
+/**
+ * Performs a deep comparison between each element in `collection` and the
+ * source object, returning the first element that has equivalent property
+ * values.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Object} source The object of property values to match.
+ * @returns {*} Returns the matched element, else `undefined`.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false }
+ * ];
+ *
+ * _.result(_.findWhere(users, { 'age': 36, 'active': true }), 'user');
+ * // => 'barney'
+ *
+ * _.result(_.findWhere(users, { 'age': 40, 'active': false }), 'user');
+ * // => 'fred'
+ */function findWhere(collection,source){return find(collection,baseMatches(source))}
+/**
+ * Iterates over elements of `collection` invoking `iteratee` for each element.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection). Iteratee functions may exit iteration early
+ * by explicitly returning `false`.
+ *
+ * **Note:** As with other "Collections" methods, objects with a "length" property
+ * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
+ * may be used for object iteration.
+ *
+ * @static
+ * @memberOf _
+ * @alias each
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array|Object|string} Returns `collection`.
+ * @example
+ *
+ * _([1, 2]).forEach(function(n) {
+ * console.log(n);
+ * }).value();
+ * // => logs each value from left to right and returns the array
+ *
+ * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) {
+ * console.log(n, key);
+ * });
+ * // => logs each value-key pair and returns the object (iteration order is not guaranteed)
+ */var forEach=createForEach(arrayEach,baseEach);
+/**
+ * This method is like `_.forEach` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias eachRight
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array|Object|string} Returns `collection`.
+ * @example
+ *
+ * _([1, 2]).forEachRight(function(n) {
+ * console.log(n);
+ * }).value();
+ * // => logs each value from right to left and returns the array
+ */var forEachRight=createForEach(arrayEachRight,baseEachRight);
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through `iteratee`. The corresponding value
+ * of each key is an array of the elements responsible for generating the key.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * _.groupBy([4.2, 6.1, 6.4], function(n) {
+ * return Math.floor(n);
+ * });
+ * // => { '4': [4.2], '6': [6.1, 6.4] }
+ *
+ * _.groupBy([4.2, 6.1, 6.4], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => { '4': [4.2], '6': [6.1, 6.4] }
+ *
+ * // using the `_.property` callback shorthand
+ * _.groupBy(['one', 'two', 'three'], 'length');
+ * // => { '3': ['one', 'two'], '5': ['three'] }
+ */var groupBy=createAggregator(function(result,value,key){if(hasOwnProperty.call(result,key)){result[key].push(value)}else{result[key]=[value]}});
+/**
+ * Checks if `value` is in `collection` using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+ * from the end of `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @alias contains, include
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {*} target The value to search for.
+ * @param {number} [fromIndex=0] The index to search from.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+ * @returns {boolean} Returns `true` if a matching element is found, else `false`.
+ * @example
+ *
+ * _.includes([1, 2, 3], 1);
+ * // => true
+ *
+ * _.includes([1, 2, 3], 1, 2);
+ * // => false
+ *
+ * _.includes({ 'user': 'fred', 'age': 40 }, 'fred');
+ * // => true
+ *
+ * _.includes('pebbles', 'eb');
+ * // => true
+ */function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<=length&&collection.indexOf(target,fromIndex)>-1:!!length&&getIndexOf(collection,target,fromIndex)>-1}
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through `iteratee`. The corresponding value
+ * of each key is the last element responsible for generating the key. The
+ * iteratee function is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * var keyData = [
+ * { 'dir': 'left', 'code': 97 },
+ * { 'dir': 'right', 'code': 100 }
+ * ];
+ *
+ * _.indexBy(keyData, 'dir');
+ * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
+ *
+ * _.indexBy(keyData, function(object) {
+ * return String.fromCharCode(object.code);
+ * });
+ * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
+ *
+ * _.indexBy(keyData, function(object) {
+ * return this.fromCharCode(object.code);
+ * }, String);
+ * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
+ */var indexBy=createAggregator(function(result,value,key){result[key]=value});
+/**
+ * Invokes the method at `path` of each element in `collection`, returning
+ * an array of the results of each invoked method. Any additional arguments
+ * are provided to each invoked method. If `methodName` is a function it is
+ * invoked for, and `this` bound to, each element in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|Function|string} path The path of the method to invoke or
+ * the function invoked per iteration.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Array} Returns the array of results.
+ * @example
+ *
+ * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
+ * // => [[1, 5, 7], [1, 2, 3]]
+ *
+ * _.invoke([123, 456], String.prototype.split, '');
+ * // => [['1', '2', '3'], ['4', '5', '6']]
+ */var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:undefined;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});
+/**
+ * Creates an array of values by running each element in `collection` through
+ * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
+ *
+ * The guarded methods are:
+ * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
+ * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
+ * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
+ * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
+ * `sum`, `uniq`, and `words`
+ *
+ * @static
+ * @memberOf _
+ * @alias collect
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new mapped array.
+ * @example
+ *
+ * function timesThree(n) {
+ * return n * 3;
+ * }
+ *
+ * _.map([1, 2], timesThree);
+ * // => [3, 6]
+ *
+ * _.map({ 'a': 1, 'b': 2 }, timesThree);
+ * // => [3, 6] (iteration order is not guaranteed)
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * // using the `_.property` callback shorthand
+ * _.map(users, 'user');
+ * // => ['barney', 'fred']
+ */function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;iteratee=getCallback(iteratee,thisArg,3);return func(collection,iteratee)}
+/**
+ * Creates an array of elements split into two groups, the first of which
+ * contains elements `predicate` returns truthy for, while the second of which
+ * contains elements `predicate` returns falsey for. The predicate is bound
+ * to `thisArg` and invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the array of grouped elements.
+ * @example
+ *
+ * _.partition([1, 2, 3], function(n) {
+ * return n % 2;
+ * });
+ * // => [[1, 3], [2]]
+ *
+ * _.partition([1.2, 2.3, 3.4], function(n) {
+ * return this.floor(n) % 2;
+ * }, Math);
+ * // => [[1.2, 3.4], [2.3]]
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': false },
+ * { 'user': 'fred', 'age': 40, 'active': true },
+ * { 'user': 'pebbles', 'age': 1, 'active': false }
+ * ];
+ *
+ * var mapper = function(array) {
+ * return _.pluck(array, 'user');
+ * };
+ *
+ * // using the `_.matches` callback shorthand
+ * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper);
+ * // => [['pebbles'], ['barney', 'fred']]
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.map(_.partition(users, 'active', false), mapper);
+ * // => [['barney', 'pebbles'], ['fred']]
+ *
+ * // using the `_.property` callback shorthand
+ * _.map(_.partition(users, 'active'), mapper);
+ * // => [['fred'], ['barney', 'pebbles']]
+ */var partition=createAggregator(function(result,value,key){result[key?0:1].push(value)},function(){return[[],[]]});
+/**
+ * Gets the property value of `path` from all elements in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|string} path The path of the property to pluck.
+ * @returns {Array} Returns the property values.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * _.pluck(users, 'user');
+ * // => ['barney', 'fred']
+ *
+ * var userIndex = _.indexBy(users, 'user');
+ * _.pluck(userIndex, 'age');
+ * // => [36, 40] (iteration order is not guaranteed)
+ */function pluck(collection,path){return map(collection,property(path))}
+/**
+ * Reduces `collection` to a value which is the accumulated result of running
+ * each element in `collection` through `iteratee`, where each successive
+ * invocation is supplied the return value of the previous. If `accumulator`
+ * is not provided the first element of `collection` is used as the initial
+ * value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
+ * (accumulator, value, index|key, collection).
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
+ *
+ * The guarded methods are:
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`,
+ * and `sortByOrder`
+ *
+ * @static
+ * @memberOf _
+ * @alias foldl, inject
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * _.reduce([1, 2], function(total, n) {
+ * return total + n;
+ * });
+ * // => 3
+ *
+ * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) {
+ * result[key] = n * 3;
+ * return result;
+ * }, {});
+ * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed)
+ */var reduce=createReduce(arrayReduce,baseEach);
+/**
+ * This method is like `_.reduce` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias foldr
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * var array = [[0, 1], [2, 3], [4, 5]];
+ *
+ * _.reduceRight(array, function(flattened, other) {
+ * return flattened.concat(other);
+ * }, []);
+ * // => [4, 5, 2, 3, 0, 1]
+ */var reduceRight=createReduce(arrayReduceRight,baseEachRight);
+/**
+ * The opposite of `_.filter`; this method returns the elements of `collection`
+ * that `predicate` does **not** return truthy for.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * _.reject([1, 2, 3, 4], function(n) {
+ * return n % 2 == 0;
+ * });
+ * // => [1, 3]
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': false },
+ * { 'user': 'fred', 'age': 40, 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.reject(users, 'active', false), 'user');
+ * // => ['fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.reject(users, 'active'), 'user');
+ * // => ['barney']
+ */function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,function(value,index,collection){return!predicate(value,index,collection)})}
+/**
+ * Gets a random element or `n` random elements from a collection.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to sample.
+ * @param {number} [n] The number of elements to sample.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {*} Returns the random sample(s).
+ * @example
+ *
+ * _.sample([1, 2, 3, 4]);
+ * // => 2
+ *
+ * _.sample([1, 2, 3, 4], 2);
+ * // => [3, 1]
+ */function sample(collection,n,guard){if(guard?isIterateeCall(collection,n,guard):n==null){collection=toIterable(collection);var length=collection.length;return length>0?collection[baseRandom(0,length-1)]:undefined}var index=-1,result=toArray(collection),length=result.length,lastIndex=length-1;n=nativeMin(n<0?0:+n||0,length);while(++index<n){var rand=baseRandom(index,lastIndex),value=result[rand];result[rand]=result[index];result[index]=value}result.length=n;return result}
+/**
+ * Creates an array of shuffled values, using a version of the
+ * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to shuffle.
+ * @returns {Array} Returns the new shuffled array.
+ * @example
+ *
+ * _.shuffle([1, 2, 3, 4]);
+ * // => [4, 1, 3, 2]
+ */function shuffle(collection){return sample(collection,POSITIVE_INFINITY)}
+/**
+ * Gets the size of `collection` by returning its length for array-like
+ * values or the number of own enumerable properties for objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to inspect.
+ * @returns {number} Returns the size of `collection`.
+ * @example
+ *
+ * _.size([1, 2, 3]);
+ * // => 3
+ *
+ * _.size({ 'a': 1, 'b': 2 });
+ * // => 2
+ *
+ * _.size('pebbles');
+ * // => 7
+ */function size(collection){var length=collection?getLength(collection):0;return isLength(length)?length:keys(collection).length}
+/**
+ * Checks if `predicate` returns truthy for **any** element of `collection`.
+ * The function returns as soon as it finds a passing value and does not iterate
+ * over the entire collection. The predicate is bound to `thisArg` and invoked
+ * with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias any
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ * @example
+ *
+ * _.some([null, 0, 'yes', false], Boolean);
+ * // => true
+ *
+ * var users = [
+ * { 'user': 'barney', 'active': true },
+ * { 'user': 'fred', 'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.some(users, { 'user': 'barney', 'active': false });
+ * // => false
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.some(users, 'active', false);
+ * // => true
+ *
+ * // using the `_.property` callback shorthand
+ * _.some(users, 'active');
+ * // => true
+ */function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}
+/**
+ * Creates an array of elements, sorted in ascending order by the results of
+ * running each element in a collection through `iteratee`. This method performs
+ * a stable sort, that is, it preserves the original sort order of equal elements.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * _.sortBy([1, 2, 3], function(n) {
+ * return Math.sin(n);
+ * });
+ * // => [3, 1, 2]
+ *
+ * _.sortBy([1, 2, 3], function(n) {
+ * return this.sin(n);
+ * }, Math);
+ * // => [3, 1, 2]
+ *
+ * var users = [
+ * { 'user': 'fred' },
+ * { 'user': 'pebbles' },
+ * { 'user': 'barney' }
+ * ];
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.sortBy(users, 'user'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */function sortBy(collection,iteratee,thisArg){if(collection==null){return[]}if(thisArg&&isIterateeCall(collection,iteratee,thisArg)){iteratee=undefined}var index=-1;iteratee=getCallback(iteratee,thisArg,3);var result=baseMap(collection,function(value,key,collection){return{criteria:iteratee(value,key,collection),index:++index,value:value}});return baseSortBy(result,compareAscending)}
+/**
+ * This method is like `_.sortBy` except that it can sort by multiple iteratees
+ * or property names.
+ *
+ * If a property name is provided for an iteratee the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If an object is provided for an iteratee the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees
+ * The iteratees to sort by, specified as individual values or arrays of values.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'fred', 'age': 48 },
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 42 },
+ * { 'user': 'barney', 'age': 34 }
+ * ];
+ *
+ * _.map(_.sortByAll(users, ['user', 'age']), _.values);
+ * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]]
+ *
+ * _.map(_.sortByAll(users, 'user', function(chr) {
+ * return Math.floor(chr.age / 10);
+ * }), _.values);
+ * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+ */var sortByAll=restParam(function(collection,iteratees){if(collection==null){return[]}var guard=iteratees[2];if(guard&&isIterateeCall(iteratees[0],iteratees[1],guard)){iteratees.length=1}return baseSortByOrder(collection,baseFlatten(iteratees),[])});
+/**
+ * This method is like `_.sortByAll` except that it allows specifying the
+ * sort orders of the iteratees to sort by. If `orders` is unspecified, all
+ * values are sorted in ascending order. Otherwise, a value is sorted in
+ * ascending order if its corresponding order is "asc", and descending if "desc".
+ *
+ * If a property name is provided for an iteratee the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If an object is provided for an iteratee the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+ * @param {boolean[]} [orders] The sort orders of `iteratees`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'fred', 'age': 48 },
+ * { 'user': 'barney', 'age': 34 },
+ * { 'user': 'fred', 'age': 42 },
+ * { 'user': 'barney', 'age': 36 }
+ * ];
+ *
+ * // sort by `user` in ascending order and by `age` in descending order
+ * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values);
+ * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+ */function sortByOrder(collection,iteratees,orders,guard){if(collection==null){return[]}if(guard&&isIterateeCall(iteratees,orders,guard)){orders=undefined}if(!isArray(iteratees)){iteratees=iteratees==null?[]:[iteratees]}if(!isArray(orders)){orders=orders==null?[]:[orders]}return baseSortByOrder(collection,iteratees,orders)}
+/**
+ * Performs a deep comparison between each element in `collection` and the
+ * source object, returning an array of all elements that have equivalent
+ * property values.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Object} source The object of property values to match.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] },
+ * { 'user': 'fred', 'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] }
+ * ];
+ *
+ * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user');
+ * // => ['barney']
+ *
+ * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user');
+ * // => ['fred']
+ */function where(collection,source){return filter(collection,baseMatches(source))}
+/*------------------------------------------------------------------------*/
+/**
+ * Gets the number of milliseconds that have elapsed since the Unix epoch
+ * (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @category Date
+ * @example
+ *
+ * _.defer(function(stamp) {
+ * console.log(_.now() - stamp);
+ * }, _.now());
+ * // => logs the number of milliseconds it took for the deferred function to be invoked
+ */var now=nativeNow||function(){return(new Date).getTime()};
+/*------------------------------------------------------------------------*/
+/**
+ * The opposite of `_.before`; this method creates a function that invokes
+ * `func` once it is called `n` or more times.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {number} n The number of calls before `func` is invoked.
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * var saves = ['profile', 'settings'];
+ *
+ * var done = _.after(saves.length, function() {
+ * console.log('done saving!');
+ * });
+ *
+ * _.forEach(saves, function(type) {
+ * asyncSave({ 'type': type, 'complete': done });
+ * });
+ * // => logs 'done saving!' after the two async saves have completed
+ */function after(n,func){if(typeof func!="function"){if(typeof n=="function"){var temp=n;n=func;func=temp}else{throw new TypeError(FUNC_ERROR_TEXT)}}n=nativeIsFinite(n=+n)?n:0;return function(){if(--n<1){return func.apply(this,arguments)}}}
+/**
+ * Creates a function that accepts up to `n` arguments ignoring any
+ * additional arguments.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to cap arguments for.
+ * @param {number} [n=func.length] The arity cap.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * _.map(['6', '8', '10'], _.ary(parseInt, 1));
+ * // => [6, 8, 10]
+ */function ary(func,n,guard){if(guard&&isIterateeCall(func,n,guard)){n=undefined}n=func&&n==null?func.length:nativeMax(+n||0,0);return createWrapper(func,ARY_FLAG,undefined,undefined,undefined,undefined,n)}
+/**
+ * Creates a function that invokes `func`, with the `this` binding and arguments
+ * of the created function, while it is called less than `n` times. Subsequent
+ * calls to the created function return the result of the last `func` invocation.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {number} n The number of calls at which `func` is no longer invoked.
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * jQuery('#add').on('click', _.before(5, addContactToList));
+ * // => allows adding up to 4 contacts to the list
+ */function before(n,func){var result;if(typeof func!="function"){if(typeof n=="function"){var temp=n;n=func;func=temp}else{throw new TypeError(FUNC_ERROR_TEXT)}}return function(){if(--n>0){result=func.apply(this,arguments)}if(n<=1){func=undefined}return result}}
+/**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and prepends any additional `_.bind` arguments to those provided to the
+ * bound function.
+ *
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** Unlike native `Function#bind` this method does not set the "length"
+ * property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * var greet = function(greeting, punctuation) {
+ * return greeting + ' ' + this.user + punctuation;
+ * };
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * var bound = _.bind(greet, object, 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * // using placeholders
+ * var bound = _.bind(greet, object, _, '!');
+ * bound('hi');
+ * // => 'hi fred!'
+ */var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});
+/**
+ * Binds methods of an object to the object itself, overwriting the existing
+ * method. Method names may be specified as individual arguments or as arrays
+ * of method names. If no method names are provided all enumerable function
+ * properties, own and inherited, of `object` are bound.
+ *
+ * **Note:** This method does not set the "length" property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Object} object The object to bind and assign the bound methods to.
+ * @param {...(string|string[])} [methodNames] The object method names to bind,
+ * specified as individual method names or arrays of method names.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var view = {
+ * 'label': 'docs',
+ * 'onClick': function() {
+ * console.log('clicked ' + this.label);
+ * }
+ * };
+ *
+ * _.bindAll(view);
+ * jQuery('#docs').on('click', view.onClick);
+ * // => logs 'clicked docs' when the element is clicked
+ */var bindAll=restParam(function(object,methodNames){methodNames=methodNames.length?baseFlatten(methodNames):functions(object);var index=-1,length=methodNames.length;while(++index<length){var key=methodNames[index];object[key]=createWrapper(object[key],BIND_FLAG,object)}return object});
+/**
+ * Creates a function that invokes the method at `object[key]` and prepends
+ * any additional `_.bindKey` arguments to those provided to the bound function.
+ *
+ * This method differs from `_.bind` by allowing bound functions to reference
+ * methods that may be redefined or don't yet exist.
+ * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
+ * for more details.
+ *
+ * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Object} object The object the method belongs to.
+ * @param {string} key The key of the method.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * var object = {
+ * 'user': 'fred',
+ * 'greet': function(greeting, punctuation) {
+ * return greeting + ' ' + this.user + punctuation;
+ * }
+ * };
+ *
+ * var bound = _.bindKey(object, 'greet', 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * object.greet = function(greeting, punctuation) {
+ * return greeting + 'ya ' + this.user + punctuation;
+ * };
+ *
+ * bound('!');
+ * // => 'hiya fred!'
+ *
+ * // using placeholders
+ * var bound = _.bindKey(object, 'greet', _, '!');
+ * bound('hi');
+ * // => 'hiya fred!'
+ */var bindKey=restParam(function(object,key,partials){var bitmask=BIND_FLAG|BIND_KEY_FLAG;if(partials.length){var holders=replaceHolders(partials,bindKey.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(key,bitmask,object,partials,holders)});
+/**
+ * Creates a function that accepts one or more arguments of `func` that when
+ * called either invokes `func` returning its result, if all `func` arguments
+ * have been provided, or returns a function that accepts one or more of the
+ * remaining `func` arguments, and so on. The arity of `func` may be specified
+ * if `func.length` is not sufficient.
+ *
+ * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for provided arguments.
+ *
+ * **Note:** This method does not set the "length" property of curried functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to curry.
+ * @param {number} [arity=func.length] The arity of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new curried function.
+ * @example
+ *
+ * var abc = function(a, b, c) {
+ * return [a, b, c];
+ * };
+ *
+ * var curried = _.curry(abc);
+ *
+ * curried(1)(2)(3);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2)(3);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2, 3);
+ * // => [1, 2, 3]
+ *
+ * // using placeholders
+ * curried(1)(_, 3)(2);
+ * // => [1, 2, 3]
+ */var curry=createCurry(CURRY_FLAG);
+/**
+ * This method is like `_.curry` except that arguments are applied to `func`
+ * in the manner of `_.partialRight` instead of `_.partial`.
+ *
+ * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for provided arguments.
+ *
+ * **Note:** This method does not set the "length" property of curried functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to curry.
+ * @param {number} [arity=func.length] The arity of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new curried function.
+ * @example
+ *
+ * var abc = function(a, b, c) {
+ * return [a, b, c];
+ * };
+ *
+ * var curried = _.curryRight(abc);
+ *
+ * curried(3)(2)(1);
+ * // => [1, 2, 3]
+ *
+ * curried(2, 3)(1);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2, 3);
+ * // => [1, 2, 3]
+ *
+ * // using placeholders
+ * curried(3)(1, _)(2);
+ * // => [1, 2, 3]
+ */var curryRight=createCurry(CURRY_RIGHT_FLAG);
+/**
+ * Creates a debounced function that delays invoking `func` until after `wait`
+ * milliseconds have elapsed since the last time the debounced function was
+ * invoked. The debounced function comes with a `cancel` method to cancel
+ * delayed invocations. Provide an options object to indicate that `func`
+ * should be invoked on the leading and/or trailing edge of the `wait` timeout.
+ * Subsequent calls to the debounced function return the result of the last
+ * `func` invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+ * on the trailing edge of the timeout only if the the debounced function is
+ * invoked more than once during the `wait` timeout.
+ *
+ * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * for details over the differences between `_.debounce` and `_.throttle`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to debounce.
+ * @param {number} [wait=0] The number of milliseconds to delay.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.leading=false] Specify invoking on the leading
+ * edge of the timeout.
+ * @param {number} [options.maxWait] The maximum time `func` is allowed to be
+ * delayed before it is invoked.
+ * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+ * edge of the timeout.
+ * @returns {Function} Returns the new debounced function.
+ * @example
+ *
+ * // avoid costly calculations while the window size is in flux
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+ *
+ * // invoke `sendMail` when the click event is fired, debouncing subsequent calls
+ * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
+ * 'leading': true,
+ * 'trailing': false
+ * }));
+ *
+ * // ensure `batchLog` is invoked once after 1 second of debounced calls
+ * var source = new EventSource('/stream');
+ * jQuery(source).on('message', _.debounce(batchLog, 250, {
+ * 'maxWait': 1000
+ * }));
+ *
+ * // cancel a debounced call
+ * var todoChanges = _.debounce(batchLog, 1000);
+ * Object.observe(models.todo, todoChanges);
+ *
+ * Object.observe(models, function(changes) {
+ * if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
+ * todoChanges.cancel();
+ * }
+ * }, ['delete']);
+ *
+ * // ...at some point `models.todo` is changed
+ * models.todo.completed = true;
+ *
+ * // ...before 1 second has passed `models.todo` is deleted
+ * // which cancels the debounced `todoChanges` call
+ * delete models.todo;
+ */function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=false,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}wait=wait<0?0:+wait||0;if(options===true){var leading=true;trailing=false}else if(isObject(options)){leading=!!options.leading;maxWait="maxWait"in options&&nativeMax(+options.maxWait||0,wait);trailing="trailing"in options?!!options.trailing:trailing}function cancel(){if(timeoutId){clearTimeout(timeoutId)}if(maxTimeoutId){clearTimeout(maxTimeoutId)}lastCalled=0;maxTimeoutId=timeoutId=trailingCall=undefined}function complete(isCalled,id){if(id){clearTimeout(id)}maxTimeoutId=timeoutId=trailingCall=undefined;if(isCalled){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=undefined}}}function delayed(){var remaining=wait-(now()-stamp);if(remaining<=0||remaining>wait){complete(trailingCall,maxTimeoutId)}else{timeoutId=setTimeout(delayed,remaining)}}function maxDelayed(){complete(trailing,timeoutId)}function debounced(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0||remaining>maxWait;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=undefined}return result}debounced.cancel=cancel;return debounced}
+/**
+ * Defers invoking the `func` until the current call stack has cleared. Any
+ * additional arguments are provided to `func` when it is invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to defer.
+ * @param {...*} [args] The arguments to invoke the function with.
+ * @returns {number} Returns the timer id.
+ * @example
+ *
+ * _.defer(function(text) {
+ * console.log(text);
+ * }, 'deferred');
+ * // logs 'deferred' after one or more milliseconds
+ */var defer=restParam(function(func,args){return baseDelay(func,1,args)});
+/**
+ * Invokes `func` after `wait` milliseconds. Any additional arguments are
+ * provided to `func` when it is invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to delay.
+ * @param {number} wait The number of milliseconds to delay invocation.
+ * @param {...*} [args] The arguments to invoke the function with.
+ * @returns {number} Returns the timer id.
+ * @example
+ *
+ * _.delay(function(text) {
+ * console.log(text);
+ * }, 1000, 'later');
+ * // => logs 'later' after one second
+ */var delay=restParam(function(func,wait,args){return baseDelay(func,wait,args)});
+/**
+ * Creates a function that returns the result of invoking the provided
+ * functions with the `this` binding of the created function, where each
+ * successive invocation is supplied the return value of the previous.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {...Function} [funcs] Functions to invoke.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var addSquare = _.flow(_.add, square);
+ * addSquare(1, 2);
+ * // => 9
+ */var flow=createFlow();
+/**
+ * This method is like `_.flow` except that it creates a function that
+ * invokes the provided functions from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias backflow, compose
+ * @category Function
+ * @param {...Function} [funcs] Functions to invoke.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var addSquare = _.flowRight(square, _.add);
+ * addSquare(1, 2);
+ * // => 9
+ */var flowRight=createFlow(true);
+/**
+ * Creates a function that memoizes the result of `func`. If `resolver` is
+ * provided it determines the cache key for storing the result based on the
+ * arguments provided to the memoized function. By default, the first argument
+ * provided to the memoized function is coerced to a string and used as the
+ * cache key. The `func` is invoked with the `this` binding of the memoized
+ * function.
+ *
+ * **Note:** The cache is exposed as the `cache` property on the memoized
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
+ * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
+ * method interface of `get`, `has`, and `set`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to have its output memoized.
+ * @param {Function} [resolver] The function to resolve the cache key.
+ * @returns {Function} Returns the new memoizing function.
+ * @example
+ *
+ * var upperCase = _.memoize(function(string) {
+ * return string.toUpperCase();
+ * });
+ *
+ * upperCase('fred');
+ * // => 'FRED'
+ *
+ * // modifying the result cache
+ * upperCase.cache.set('fred', 'BARNEY');
+ * upperCase('fred');
+ * // => 'BARNEY'
+ *
+ * // replacing `_.memoize.Cache`
+ * var object = { 'user': 'fred' };
+ * var other = { 'user': 'barney' };
+ * var identity = _.memoize(_.identity);
+ *
+ * identity(object);
+ * // => { 'user': 'fred' }
+ * identity(other);
+ * // => { 'user': 'fred' }
+ *
+ * _.memoize.Cache = WeakMap;
+ * var identity = _.memoize(_.identity);
+ *
+ * identity(object);
+ * // => { 'user': 'fred' }
+ * identity(other);
+ * // => { 'user': 'barney' }
+ */function memoize(func,resolver){if(typeof func!="function"||resolver&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result);return result};memoized.cache=new memoize.Cache;return memoized}
+/**
+ * Creates a function that runs each argument through a corresponding
+ * transform function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to wrap.
+ * @param {...(Function|Function[])} [transforms] The functions to transform
+ * arguments, specified as individual functions or arrays of functions.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function doubled(n) {
+ * return n * 2;
+ * }
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var modded = _.modArgs(function(x, y) {
+ * return [x, y];
+ * }, square, doubled);
+ *
+ * modded(1, 2);
+ * // => [1, 4]
+ *
+ * modded(5, 10);
+ * // => [25, 20]
+ */var modArgs=restParam(function(func,transforms){transforms=baseFlatten(transforms);if(typeof func!="function"||!arrayEvery(transforms,baseIsFunction)){throw new TypeError(FUNC_ERROR_TEXT)}var length=transforms.length;return restParam(function(args){var index=nativeMin(args.length,length);while(index--){args[index]=transforms[index](args[index])}return func.apply(this,args)})});
+/**
+ * Creates a function that negates the result of the predicate `func`. The
+ * `func` predicate is invoked with the `this` binding and arguments of the
+ * created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} predicate The predicate to negate.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function isEven(n) {
+ * return n % 2 == 0;
+ * }
+ *
+ * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
+ * // => [1, 3, 5]
+ */function negate(predicate){if(typeof predicate!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(){return!predicate.apply(this,arguments)}}
+/**
+ * Creates a function that is restricted to invoking `func` once. Repeat calls
+ * to the function return the value of the first call. The `func` is invoked
+ * with the `this` binding and arguments of the created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * var initialize = _.once(createApplication);
+ * initialize();
+ * initialize();
+ * // `initialize` invokes `createApplication` once
+ */function once(func){return before(2,func)}
+/**
+ * Creates a function that invokes `func` with `partial` arguments prepended
+ * to those provided to the new function. This method is like `_.bind` except
+ * it does **not** alter the `this` binding.
+ *
+ * The `_.partial.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** This method does not set the "length" property of partially
+ * applied functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new partially applied function.
+ * @example
+ *
+ * var greet = function(greeting, name) {
+ * return greeting + ' ' + name;
+ * };
+ *
+ * var sayHelloTo = _.partial(greet, 'hello');
+ * sayHelloTo('fred');
+ * // => 'hello fred'
+ *
+ * // using placeholders
+ * var greetFred = _.partial(greet, _, 'fred');
+ * greetFred('hi');
+ * // => 'hi fred'
+ */var partial=createPartial(PARTIAL_FLAG);
+/**
+ * This method is like `_.partial` except that partially applied arguments
+ * are appended to those provided to the new function.
+ *
+ * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** This method does not set the "length" property of partially
+ * applied functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new partially applied function.
+ * @example
+ *
+ * var greet = function(greeting, name) {
+ * return greeting + ' ' + name;
+ * };
+ *
+ * var greetFred = _.partialRight(greet, 'fred');
+ * greetFred('hi');
+ * // => 'hi fred'
+ *
+ * // using placeholders
+ * var sayHelloTo = _.partialRight(greet, 'hello', _);
+ * sayHelloTo('fred');
+ * // => 'hello fred'
+ */var partialRight=createPartial(PARTIAL_RIGHT_FLAG);
+/**
+ * Creates a function that invokes `func` with arguments arranged according
+ * to the specified indexes where the argument value at the first index is
+ * provided as the first argument, the argument value at the second index is
+ * provided as the second argument, and so on.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to rearrange arguments for.
+ * @param {...(number|number[])} indexes The arranged argument indexes,
+ * specified as individual indexes or arrays of indexes.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var rearged = _.rearg(function(a, b, c) {
+ * return [a, b, c];
+ * }, 2, 0, 1);
+ *
+ * rearged('b', 'c', 'a')
+ * // => ['a', 'b', 'c']
+ *
+ * var map = _.rearg(_.map, [1, 0]);
+ * map(function(n) {
+ * return n * 3;
+ * }, [1, 2, 3]);
+ * // => [3, 6, 9]
+ */var rearg=restParam(function(func,indexes){return createWrapper(func,REARG_FLAG,undefined,undefined,undefined,baseFlatten(indexes))});
+/**
+ * Creates a function that invokes `func` with the `this` binding of the
+ * created function and arguments from `start` and beyond provided as an array.
+ *
+ * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to apply a rest parameter to.
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.restParam(function(what, names) {
+ * return what + ' ' + _.initial(names).join(', ') +
+ * (_.size(names) > 1 ? ', & ' : '') + _.last(names);
+ * });
+ *
+ * say('hello', 'fred', 'barney', 'pebbles');
+ * // => 'hello fred, barney, & pebbles'
+ */function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++index<length){rest[index]=args[start+index]}switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);index=-1;while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=rest;return func.apply(this,otherArgs)}}
+/**
+ * Creates a function that invokes `func` with the `this` binding of the created
+ * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3).
+ *
+ * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to spread arguments over.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.spread(function(who, what) {
+ * return who + ' says ' + what;
+ * });
+ *
+ * say(['fred', 'hello']);
+ * // => 'fred says hello'
+ *
+ * // with a Promise
+ * var numbers = Promise.all([
+ * Promise.resolve(40),
+ * Promise.resolve(36)
+ * ]);
+ *
+ * numbers.then(_.spread(function(x, y) {
+ * return x + y;
+ * }));
+ * // => a Promise of 76
+ */function spread(func){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(array){return func.apply(this,array)}}
+/**
+ * Creates a throttled function that only invokes `func` at most once per
+ * every `wait` milliseconds. The throttled function comes with a `cancel`
+ * method to cancel delayed invocations. Provide an options object to indicate
+ * that `func` should be invoked on the leading and/or trailing edge of the
+ * `wait` timeout. Subsequent calls to the throttled function return the
+ * result of the last `func` call.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+ * on the trailing edge of the timeout only if the the throttled function is
+ * invoked more than once during the `wait` timeout.
+ *
+ * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * for details over the differences between `_.throttle` and `_.debounce`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to throttle.
+ * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.leading=true] Specify invoking on the leading
+ * edge of the timeout.
+ * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+ * edge of the timeout.
+ * @returns {Function} Returns the new throttled function.
+ * @example
+ *
+ * // avoid excessively updating the position while scrolling
+ * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+ *
+ * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes
+ * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
+ * 'trailing': false
+ * }));
+ *
+ * // cancel a trailing throttled call
+ * jQuery(window).on('popstate', throttled.cancel);
+ */function throttle(func,wait,options){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}if(options===false){leading=false}else if(isObject(options)){leading="leading"in options?!!options.leading:leading;trailing="trailing"in options?!!options.trailing:trailing}return debounce(func,wait,{leading:leading,maxWait:+wait,trailing:trailing})}
+/**
+ * Creates a function that provides `value` to the wrapper function as its
+ * first argument. Any additional arguments provided to the function are
+ * appended to those provided to the wrapper function. The wrapper is invoked
+ * with the `this` binding of the created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {*} value The value to wrap.
+ * @param {Function} wrapper The wrapper function.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var p = _.wrap(_.escape, function(func, text) {
+ * return '<p>' + func(text) + '</p>';
+ * });
+ *
+ * p('fred, barney, & pebbles');
+ * // => '<p>fred, barney, &amp; pebbles</p>'
+ */function wrap(value,wrapper){wrapper=wrapper==null?identity:wrapper;return createWrapper(wrapper,PARTIAL_FLAG,undefined,[value],[])}
+/*------------------------------------------------------------------------*/
+/**
+ * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,
+ * otherwise they are assigned by reference. If `customizer` is provided it is
+ * invoked to produce the cloned values. If `customizer` returns `undefined`
+ * cloning is handled by the method instead. The `customizer` is bound to
+ * `thisArg` and invoked with two argument; (value [, index|key, object]).
+ *
+ * **Note:** This method is loosely based on the
+ * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+ * The enumerable properties of `arguments` objects and objects created by
+ * constructors other than `Object` are cloned to plain `Object` objects. An
+ * empty object is returned for uncloneable values such as functions, DOM nodes,
+ * Maps, Sets, and WeakMaps.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {*} Returns the cloned value.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * var shallow = _.clone(users);
+ * shallow[0] === users[0];
+ * // => true
+ *
+ * var deep = _.clone(users, true);
+ * deep[0] === users[0];
+ * // => false
+ *
+ * // using a customizer callback
+ * var el = _.clone(document.body, function(value) {
+ * if (_.isElement(value)) {
+ * return value.cloneNode(false);
+ * }
+ * });
+ *
+ * el === document.body
+ * // => false
+ * el.nodeName
+ * // => BODY
+ * el.childNodes.length;
+ * // => 0
+ */function clone(value,isDeep,customizer,thisArg){if(isDeep&&typeof isDeep!="boolean"&&isIterateeCall(value,isDeep,customizer)){isDeep=false}else if(typeof isDeep=="function"){thisArg=customizer;customizer=isDeep;isDeep=false}return typeof customizer=="function"?baseClone(value,isDeep,bindCallback(customizer,thisArg,1)):baseClone(value,isDeep)}
+/**
+ * Creates a deep clone of `value`. If `customizer` is provided it is invoked
+ * to produce the cloned values. If `customizer` returns `undefined` cloning
+ * is handled by the method instead. The `customizer` is bound to `thisArg`
+ * and invoked with two argument; (value [, index|key, object]).
+ *
+ * **Note:** This method is loosely based on the
+ * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+ * The enumerable properties of `arguments` objects and objects created by
+ * constructors other than `Object` are cloned to plain `Object` objects. An
+ * empty object is returned for uncloneable values such as functions, DOM nodes,
+ * Maps, Sets, and WeakMaps.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {*} Returns the deep cloned value.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * var deep = _.cloneDeep(users);
+ * deep[0] === users[0];
+ * // => false
+ *
+ * // using a customizer callback
+ * var el = _.cloneDeep(document.body, function(value) {
+ * if (_.isElement(value)) {
+ * return value.cloneNode(true);
+ * }
+ * });
+ *
+ * el === document.body
+ * // => false
+ * el.nodeName
+ * // => BODY
+ * el.childNodes.length;
+ * // => 20
+ */function cloneDeep(value,customizer,thisArg){return typeof customizer=="function"?baseClone(value,true,bindCallback(customizer,thisArg,1)):baseClone(value,true)}
+/**
+ * Checks if `value` is greater than `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`.
+ * @example
+ *
+ * _.gt(3, 1);
+ * // => true
+ *
+ * _.gt(3, 3);
+ * // => false
+ *
+ * _.gt(1, 3);
+ * // => false
+ */function gt(value,other){return value>other}
+/**
+ * Checks if `value` is greater than or equal to `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`.
+ * @example
+ *
+ * _.gte(3, 1);
+ * // => true
+ *
+ * _.gte(3, 3);
+ * // => true
+ *
+ * _.gte(1, 3);
+ * // => false
+ */function gte(value,other){return value>=other}
+/**
+ * Checks if `value` is classified as an `arguments` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isArguments(function() { return arguments; }());
+ * // => true
+ *
+ * _.isArguments([1, 2, 3]);
+ * // => false
+ */function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}
+/**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(function() { return arguments; }());
+ * // => false
+ */var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};
+/**
+ * Checks if `value` is classified as a boolean primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isBoolean(false);
+ * // => true
+ *
+ * _.isBoolean(null);
+ * // => false
+ */function isBoolean(value){return value===true||value===false||isObjectLike(value)&&objToString.call(value)==boolTag}
+/**
+ * Checks if `value` is classified as a `Date` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isDate(new Date);
+ * // => true
+ *
+ * _.isDate('Mon April 23 2012');
+ * // => false
+ */function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}
+/**
+ * Checks if `value` is a DOM element.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
+ * @example
+ *
+ * _.isElement(document.body);
+ * // => true
+ *
+ * _.isElement('<body>');
+ * // => false
+ */function isElement(value){return!!value&&value.nodeType===1&&isObjectLike(value)&&!isPlainObject(value)}
+/**
+ * Checks if `value` is empty. A value is considered empty unless it is an
+ * `arguments` object, array, string, or jQuery-like collection with a length
+ * greater than `0` or an object with own enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {Array|Object|string} value The value to inspect.
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
+ * @example
+ *
+ * _.isEmpty(null);
+ * // => true
+ *
+ * _.isEmpty(true);
+ * // => true
+ *
+ * _.isEmpty(1);
+ * // => true
+ *
+ * _.isEmpty([1, 2, 3]);
+ * // => false
+ *
+ * _.isEmpty({ 'a': 1 });
+ * // => false
+ */function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}
+/**
+ * Performs a deep comparison between two values to determine if they are
+ * equivalent. If `customizer` is provided it is invoked to compare values.
+ * If `customizer` returns `undefined` comparisons are handled by the method
+ * instead. The `customizer` is bound to `thisArg` and invoked with three
+ * arguments: (value, other [, index|key]).
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. Functions and DOM nodes
+ * are **not** supported. Provide a customizer function to extend support
+ * for comparing other values.
+ *
+ * @static
+ * @memberOf _
+ * @alias eq
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {Function} [customizer] The function to customize value comparisons.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ * var other = { 'user': 'fred' };
+ *
+ * object == other;
+ * // => false
+ *
+ * _.isEqual(object, other);
+ * // => true
+ *
+ * // using a customizer callback
+ * var array = ['hello', 'goodbye'];
+ * var other = ['hi', 'goodbye'];
+ *
+ * _.isEqual(array, other, function(value, other) {
+ * if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {
+ * return true;
+ * }
+ * });
+ * // => true
+ */function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}
+/**
+ * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
+ * `SyntaxError`, `TypeError`, or `URIError` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
+ * @example
+ *
+ * _.isError(new Error);
+ * // => true
+ *
+ * _.isError(Error);
+ * // => false
+ */function isError(value){return isObjectLike(value)&&typeof value.message=="string"&&objToString.call(value)==errorTag}
+/**
+ * Checks if `value` is a finite primitive number.
+ *
+ * **Note:** This method is based on [`Number.isFinite`](http://ecma-international.org/ecma-262/6.0/#sec-number.isfinite).
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
+ * @example
+ *
+ * _.isFinite(10);
+ * // => true
+ *
+ * _.isFinite('10');
+ * // => false
+ *
+ * _.isFinite(true);
+ * // => false
+ *
+ * _.isFinite(Object(10));
+ * // => false
+ *
+ * _.isFinite(Infinity);
+ * // => false
+ */function isFinite(value){return typeof value=="number"&&nativeIsFinite(value)}
+/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */function isFunction(value){
+// The use of `Object#toString` avoids issues with the `typeof` operator
+// in older versions of Chrome and Safari which return 'function' for regexes
+// and Safari 8 equivalents which return 'object' for typed array constructors.
+return isObject(value)&&objToString.call(value)==funcTag}
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */function isObject(value){
+// Avoid a V8 JIT bug in Chrome 19-20.
+// See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+var type=typeof value;return!!value&&(type=="object"||type=="function")}
+/**
+ * Performs a deep comparison between `object` and `source` to determine if
+ * `object` contains equivalent property values. If `customizer` is provided
+ * it is invoked to compare values. If `customizer` returns `undefined`
+ * comparisons are handled by the method instead. The `customizer` is bound
+ * to `thisArg` and invoked with three arguments: (value, other, index|key).
+ *
+ * **Note:** This method supports comparing properties of arrays, booleans,
+ * `Date` objects, numbers, `Object` objects, regexes, and strings. Functions
+ * and DOM nodes are **not** supported. Provide a customizer function to extend
+ * support for comparing other values.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {Object} object The object to inspect.
+ * @param {Object} source The object of property values to match.
+ * @param {Function} [customizer] The function to customize value comparisons.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ * @example
+ *
+ * var object = { 'user': 'fred', 'age': 40 };
+ *
+ * _.isMatch(object, { 'age': 40 });
+ * // => true
+ *
+ * _.isMatch(object, { 'age': 36 });
+ * // => false
+ *
+ * // using a customizer callback
+ * var object = { 'greeting': 'hello' };
+ * var source = { 'greeting': 'hi' };
+ *
+ * _.isMatch(object, source, function(value, other) {
+ * return _.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/) || undefined;
+ * });
+ * // => true
+ */function isMatch(object,source,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;return baseIsMatch(object,getMatchData(source),customizer)}
+/**
+ * Checks if `value` is `NaN`.
+ *
+ * **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4)
+ * which returns `true` for `undefined` and other non-numeric values.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
+ * @example
+ *
+ * _.isNaN(NaN);
+ * // => true
+ *
+ * _.isNaN(new Number(NaN));
+ * // => true
+ *
+ * isNaN(undefined);
+ * // => true
+ *
+ * _.isNaN(undefined);
+ * // => false
+ */function isNaN(value){
+// An `NaN` primitive is the only value that is not equal to itself.
+// Perform the `toStringTag` check first to avoid errors with some host objects in IE.
+return isNumber(value)&&value!=+value}
+/**
+ * Checks if `value` is a native function.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+ * @example
+ *
+ * _.isNative(Array.prototype.push);
+ * // => true
+ *
+ * _.isNative(_);
+ * // => false
+ */function isNative(value){if(value==null){return false}if(isFunction(value)){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}
+/**
+ * Checks if `value` is `null`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
+ * @example
+ *
+ * _.isNull(null);
+ * // => true
+ *
+ * _.isNull(void 0);
+ * // => false
+ */function isNull(value){return value===null}
+/**
+ * Checks if `value` is classified as a `Number` primitive or object.
+ *
+ * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
+ * as numbers, use the `_.isFinite` method.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isNumber(8.4);
+ * // => true
+ *
+ * _.isNumber(NaN);
+ * // => true
+ *
+ * _.isNumber('8.4');
+ * // => false
+ */function isNumber(value){return typeof value=="number"||isObjectLike(value)&&objToString.call(value)==numberTag}
+/**
+ * Checks if `value` is a plain object, that is, an object created by the
+ * `Object` constructor or one with a `[[Prototype]]` of `null`.
+ *
+ * **Note:** This method assumes objects created by the `Object` constructor
+ * have no inherited enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * }
+ *
+ * _.isPlainObject(new Foo);
+ * // => false
+ *
+ * _.isPlainObject([1, 2, 3]);
+ * // => false
+ *
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
+ * // => true
+ *
+ * _.isPlainObject(Object.create(null));
+ * // => true
+ */function isPlainObject(value){var Ctor;
+// Exit early for non `Object` objects.
+if(!(isObjectLike(value)&&objToString.call(value)==objectTag&&!isArguments(value))||!hasOwnProperty.call(value,"constructor")&&(Ctor=value.constructor,typeof Ctor=="function"&&!(Ctor instanceof Ctor))){return false}
+// IE < 9 iterates inherited properties before own properties. If the first
+// iterated property is an object's own property then there are no inherited
+// enumerable properties.
+var result;
+// In most environments an object's own properties are iterated before
+// its inherited properties. If the last iterated property is an object's
+// own property then there are no inherited enumerable properties.
+baseForIn(value,function(subValue,key){result=key});return result===undefined||hasOwnProperty.call(value,result)}
+/**
+ * Checks if `value` is classified as a `RegExp` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isRegExp(/abc/);
+ * // => true
+ *
+ * _.isRegExp('/abc/');
+ * // => false
+ */function isRegExp(value){return isObject(value)&&objToString.call(value)==regexpTag}
+/**
+ * Checks if `value` is classified as a `String` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isString('abc');
+ * // => true
+ *
+ * _.isString(1);
+ * // => false
+ */function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}
+/**
+ * Checks if `value` is classified as a typed array.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isTypedArray(new Uint8Array);
+ * // => true
+ *
+ * _.isTypedArray([]);
+ * // => false
+ */function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}
+/**
+ * Checks if `value` is `undefined`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
+ * @example
+ *
+ * _.isUndefined(void 0);
+ * // => true
+ *
+ * _.isUndefined(null);
+ * // => false
+ */function isUndefined(value){return value===undefined}
+/**
+ * Checks if `value` is less than `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is less than `other`, else `false`.
+ * @example
+ *
+ * _.lt(1, 3);
+ * // => true
+ *
+ * _.lt(3, 3);
+ * // => false
+ *
+ * _.lt(3, 1);
+ * // => false
+ */function lt(value,other){return value<other}
+/**
+ * Checks if `value` is less than or equal to `other`.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`.
+ * @example
+ *
+ * _.lte(1, 3);
+ * // => true
+ *
+ * _.lte(3, 3);
+ * // => true
+ *
+ * _.lte(3, 1);
+ * // => false
+ */function lte(value,other){return value<=other}
+/**
+ * Converts `value` to an array.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {Array} Returns the converted array.
+ * @example
+ *
+ * (function() {
+ * return _.toArray(arguments).slice(1);
+ * }(1, 2, 3));
+ * // => [2, 3]
+ */function toArray(value){var length=value?getLength(value):0;if(!isLength(length)){return values(value)}if(!length){return[]}return arrayCopy(value)}
+/**
+ * Converts `value` to a plain object flattening inherited enumerable
+ * properties of `value` to own properties of the plain object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {Object} Returns the converted plain object.
+ * @example
+ *
+ * function Foo() {
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.assign({ 'a': 1 }, new Foo);
+ * // => { 'a': 1, 'b': 2 }
+ *
+ * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
+ * // => { 'a': 1, 'b': 2, 'c': 3 }
+ */function toPlainObject(value){return baseCopy(value,keysIn(value))}
+/*------------------------------------------------------------------------*/
+/**
+ * Recursively merges own enumerable properties of the source object(s), that
+ * don't resolve to `undefined` into the destination object. Subsequent sources
+ * overwrite property assignments of previous sources. If `customizer` is
+ * provided it is invoked to produce the merged values of the destination and
+ * source properties. If `customizer` returns `undefined` merging is handled
+ * by the method instead. The `customizer` is bound to `thisArg` and invoked
+ * with five arguments: (objectValue, sourceValue, key, object, source).
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @param {Function} [customizer] The function to customize assigned values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var users = {
+ * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
+ * };
+ *
+ * var ages = {
+ * 'data': [{ 'age': 36 }, { 'age': 40 }]
+ * };
+ *
+ * _.merge(users, ages);
+ * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
+ *
+ * // using a customizer callback
+ * var object = {
+ * 'fruits': ['apple'],
+ * 'vegetables': ['beet']
+ * };
+ *
+ * var other = {
+ * 'fruits': ['banana'],
+ * 'vegetables': ['carrot']
+ * };
+ *
+ * _.merge(object, other, function(a, b) {
+ * if (_.isArray(a)) {
+ * return a.concat(b);
+ * }
+ * });
+ * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
+ */var merge=createAssigner(baseMerge);
+/**
+ * Assigns own enumerable properties of source object(s) to the destination
+ * object. Subsequent sources overwrite property assignments of previous sources.
+ * If `customizer` is provided it is invoked to produce the assigned values.
+ * The `customizer` is bound to `thisArg` and invoked with five arguments:
+ * (objectValue, sourceValue, key, object, source).
+ *
+ * **Note:** This method mutates `object` and is based on
+ * [`Object.assign`](http://ecma-international.org/ecma-262/6.0/#sec-object.assign).
+ *
+ * @static
+ * @memberOf _
+ * @alias extend
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @param {Function} [customizer] The function to customize assigned values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
+ * // => { 'user': 'fred', 'age': 40 }
+ *
+ * // using a customizer callback
+ * var defaults = _.partialRight(_.assign, function(value, other) {
+ * return _.isUndefined(value) ? other : value;
+ * });
+ *
+ * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+ * // => { 'user': 'barney', 'age': 36 }
+ */var assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});
+/**
+ * Creates an object that inherits from the given `prototype` object. If a
+ * `properties` object is provided its own enumerable properties are assigned
+ * to the created object.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} prototype The object to inherit from.
+ * @param {Object} [properties] The properties to assign to the object.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * function Shape() {
+ * this.x = 0;
+ * this.y = 0;
+ * }
+ *
+ * function Circle() {
+ * Shape.call(this);
+ * }
+ *
+ * Circle.prototype = _.create(Shape.prototype, {
+ * 'constructor': Circle
+ * });
+ *
+ * var circle = new Circle;
+ * circle instanceof Circle;
+ * // => true
+ *
+ * circle instanceof Shape;
+ * // => true
+ */function create(prototype,properties,guard){var result=baseCreate(prototype);if(guard&&isIterateeCall(prototype,properties,guard)){properties=undefined}return properties?baseAssign(result,properties):result}
+/**
+ * Assigns own enumerable properties of source object(s) to the destination
+ * object for all destination properties that resolve to `undefined`. Once a
+ * property is set, additional values of the same property are ignored.
+ *
+ * **Note:** This method mutates `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+ * // => { 'user': 'barney', 'age': 36 }
+ */var defaults=createDefaults(assign,assignDefaults);
+/**
+ * This method is like `_.defaults` except that it recursively assigns
+ * default properties.
+ *
+ * **Note:** This method mutates `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } });
+ * // => { 'user': { 'name': 'barney', 'age': 36 } }
+ *
+ */var defaultsDeep=createDefaults(merge,mergeDefaults);
+/**
+ * This method is like `_.find` except that it returns the key of the first
+ * element `predicate` returns truthy for instead of the element itself.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {string|undefined} Returns the key of the matched element, else `undefined`.
+ * @example
+ *
+ * var users = {
+ * 'barney': { 'age': 36, 'active': true },
+ * 'fred': { 'age': 40, 'active': false },
+ * 'pebbles': { 'age': 1, 'active': true }
+ * };
+ *
+ * _.findKey(users, function(chr) {
+ * return chr.age < 40;
+ * });
+ * // => 'barney' (iteration order is not guaranteed)
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findKey(users, { 'age': 1, 'active': true });
+ * // => 'pebbles'
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findKey(users, 'active', false);
+ * // => 'fred'
+ *
+ * // using the `_.property` callback shorthand
+ * _.findKey(users, 'active');
+ * // => 'barney'
+ */var findKey=createFindKey(baseForOwn);
+/**
+ * This method is like `_.findKey` except that it iterates over elements of
+ * a collection in the opposite order.
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to search.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {string|undefined} Returns the key of the matched element, else `undefined`.
+ * @example
+ *
+ * var users = {
+ * 'barney': { 'age': 36, 'active': true },
+ * 'fred': { 'age': 40, 'active': false },
+ * 'pebbles': { 'age': 1, 'active': true }
+ * };
+ *
+ * _.findLastKey(users, function(chr) {
+ * return chr.age < 40;
+ * });
+ * // => returns `pebbles` assuming `_.findKey` returns `barney`
+ *
+ * // using the `_.matches` callback shorthand
+ * _.findLastKey(users, { 'age': 36, 'active': true });
+ * // => 'barney'
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.findLastKey(users, 'active', false);
+ * // => 'fred'
+ *
+ * // using the `_.property` callback shorthand
+ * _.findLastKey(users, 'active');
+ * // => 'pebbles'
+ */var findLastKey=createFindKey(baseForOwnRight);
+/**
+ * Iterates over own and inherited enumerable properties of an object invoking
+ * `iteratee` for each property. The `iteratee` is bound to `thisArg` and invoked
+ * with three arguments: (value, key, object). Iteratee functions may exit
+ * iteration early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forIn(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'a', 'b', and 'c' (iteration order is not guaranteed)
+ */var forIn=createForIn(baseFor);
+/**
+ * This method is like `_.forIn` except that it iterates over properties of
+ * `object` in the opposite order.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forInRight(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'c', 'b', and 'a' assuming `_.forIn ` logs 'a', 'b', and 'c'
+ */var forInRight=createForIn(baseForRight);
+/**
+ * Iterates over own enumerable properties of an object invoking `iteratee`
+ * for each property. The `iteratee` is bound to `thisArg` and invoked with
+ * three arguments: (value, key, object). Iteratee functions may exit iteration
+ * early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forOwn(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'a' and 'b' (iteration order is not guaranteed)
+ */var forOwn=createForOwn(baseForOwn);
+/**
+ * This method is like `_.forOwn` except that it iterates over properties of
+ * `object` in the opposite order.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.forOwnRight(new Foo, function(value, key) {
+ * console.log(key);
+ * });
+ * // => logs 'b' and 'a' assuming `_.forOwn` logs 'a' and 'b'
+ */var forOwnRight=createForOwn(baseForOwnRight);
+/**
+ * Creates an array of function property names from all enumerable properties,
+ * own and inherited, of `object`.
+ *
+ * @static
+ * @memberOf _
+ * @alias methods
+ * @category Object
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns the new array of property names.
+ * @example
+ *
+ * _.functions(_);
+ * // => ['after', 'ary', 'assign', ...]
+ */function functions(object){return baseFunctions(object,keysIn(object))}
+/**
+ * Gets the property value at `path` of `object`. If the resolved value is
+ * `undefined` the `defaultValue` is used in its place.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.get(object, 'a[0].b.c');
+ * // => 3
+ *
+ * _.get(object, ['a', '0', 'b', 'c']);
+ * // => 3
+ *
+ * _.get(object, 'a.b.c', 'default');
+ * // => 'default'
+ */function get(object,path,defaultValue){var result=object==null?undefined:baseGet(object,toPath(path),path+"");return result===undefined?defaultValue:result}
+/**
+ * Checks if `path` is a direct property.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path to check.
+ * @returns {boolean} Returns `true` if `path` is a direct property, else `false`.
+ * @example
+ *
+ * var object = { 'a': { 'b': { 'c': 3 } } };
+ *
+ * _.has(object, 'a');
+ * // => true
+ *
+ * _.has(object, 'a.b.c');
+ * // => true
+ *
+ * _.has(object, ['a', 'b', 'c']);
+ * // => true
+ */function has(object,path){if(object==null){return false}var result=hasOwnProperty.call(object,path);if(!result&&!isKey(path)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}path=last(path);result=hasOwnProperty.call(object,path)}return result||isLength(object.length)&&isIndex(path,object.length)&&(isArray(object)||isArguments(object))}
+/**
+ * Creates an object composed of the inverted keys and values of `object`.
+ * If `object` contains duplicate values, subsequent values overwrite property
+ * assignments of previous values unless `multiValue` is `true`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to invert.
+ * @param {boolean} [multiValue] Allow multiple values per key.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Object} Returns the new inverted object.
+ * @example
+ *
+ * var object = { 'a': 1, 'b': 2, 'c': 1 };
+ *
+ * _.invert(object);
+ * // => { '1': 'c', '2': 'b' }
+ *
+ * // with `multiValue`
+ * _.invert(object, true);
+ * // => { '1': ['a', 'c'], '2': ['b'] }
+ */function invert(object,multiValue,guard){if(guard&&isIterateeCall(object,multiValue,guard)){multiValue=undefined}var index=-1,props=keys(object),length=props.length,result={};while(++index<length){var key=props[index],value=object[key];if(multiValue){if(hasOwnProperty.call(result,value)){result[value].push(key)}else{result[value]=[key]}}else{result[value]=key}}return result}
+/**
+ * Creates an array of the own enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects. See the
+ * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
+ * for more details.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keys(new Foo);
+ * // => ['a', 'b'] (iteration order is not guaranteed)
+ *
+ * _.keys('hi');
+ * // => ['0', '1']
+ */var keys=!nativeKeys?shimKeys:function(object){var Ctor=object==null?undefined:object.constructor;if(typeof Ctor=="function"&&Ctor.prototype===object||typeof object!="function"&&isArrayLike(object)){return shimKeys(object)}return isObject(object)?nativeKeys(object):[]};
+/**
+ * Creates an array of the own and inherited enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keysIn(new Foo);
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
+ */function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}
+/**
+ * The opposite of `_.mapValues`; this method creates an object with the
+ * same values as `object` and keys generated by running each own enumerable
+ * property of `object` through `iteratee`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the new mapped object.
+ * @example
+ *
+ * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
+ * return key + value;
+ * });
+ * // => { 'a1': 1, 'b2': 2 }
+ */var mapKeys=createObjectMapper(true);
+/**
+ * Creates an object with the same keys as `object` and values generated by
+ * running each own enumerable property of `object` through `iteratee`. The
+ * iteratee function is bound to `thisArg` and invoked with three arguments:
+ * (value, key, object).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ * per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Object} Returns the new mapped object.
+ * @example
+ *
+ * _.mapValues({ 'a': 1, 'b': 2 }, function(n) {
+ * return n * 3;
+ * });
+ * // => { 'a': 3, 'b': 6 }
+ *
+ * var users = {
+ * 'fred': { 'user': 'fred', 'age': 40 },
+ * 'pebbles': { 'user': 'pebbles', 'age': 1 }
+ * };
+ *
+ * // using the `_.property` callback shorthand
+ * _.mapValues(users, 'age');
+ * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
+ */var mapValues=createObjectMapper();
+/**
+ * The opposite of `_.pick`; this method creates an object composed of the
+ * own and inherited enumerable properties of `object` that are not omitted.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The source object.
+ * @param {Function|...(string|string[])} [predicate] The function invoked per
+ * iteration or property names to omit, specified as individual property
+ * names or arrays of property names.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * var object = { 'user': 'fred', 'age': 40 };
+ *
+ * _.omit(object, 'age');
+ * // => { 'user': 'fred' }
+ *
+ * _.omit(object, _.isNumber);
+ * // => { 'user': 'fred' }
+ */var omit=restParam(function(object,props){if(object==null){return{}}if(typeof props[0]!="function"){var props=arrayMap(baseFlatten(props),String);return pickByArray(object,baseDifference(keysIn(object),props))}var predicate=bindCallback(props[0],props[1],3);return pickByCallback(object,function(value,key,object){return!predicate(value,key,object)})});
+/**
+ * Creates a two dimensional array of the key-value pairs for `object`,
+ * e.g. `[[key1, value1], [key2, value2]]`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the new array of key-value pairs.
+ * @example
+ *
+ * _.pairs({ 'barney': 36, 'fred': 40 });
+ * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
+ */function pairs(object){object=toObject(object);var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){var key=props[index];result[index]=[key,object[key]]}return result}
+/**
+ * Creates an object composed of the picked `object` properties. Property
+ * names may be specified as individual arguments or as arrays of property
+ * names. If `predicate` is provided it is invoked for each property of `object`
+ * picking the properties `predicate` returns truthy for. The predicate is
+ * bound to `thisArg` and invoked with three arguments: (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The source object.
+ * @param {Function|...(string|string[])} [predicate] The function invoked per
+ * iteration or property names to pick, specified as individual property
+ * names or arrays of property names.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Object} Returns the new object.
+ * @example
+ *
+ * var object = { 'user': 'fred', 'age': 40 };
+ *
+ * _.pick(object, 'user');
+ * // => { 'user': 'fred' }
+ *
+ * _.pick(object, _.isString);
+ * // => { 'user': 'fred' }
+ */var pick=restParam(function(object,props){if(object==null){return{}}return typeof props[0]=="function"?pickByCallback(object,bindCallback(props[0],props[1],3)):pickByArray(object,baseFlatten(props))});
+/**
+ * This method is like `_.get` except that if the resolved value is a function
+ * it is invoked with the `this` binding of its parent object and its result
+ * is returned.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @param {Array|string} path The path of the property to resolve.
+ * @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
+ *
+ * _.result(object, 'a[0].b.c1');
+ * // => 3
+ *
+ * _.result(object, 'a[0].b.c2');
+ * // => 4
+ *
+ * _.result(object, 'a.b.c', 'default');
+ * // => 'default'
+ *
+ * _.result(object, 'a.b.c', _.constant('default'));
+ * // => 'default'
+ */function result(object,path,defaultValue){var result=object==null?undefined:object[path];if(result===undefined){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));result=object==null?undefined:object[last(path)]}result=result===undefined?defaultValue:result}return isFunction(result)?result.call(object):result}
+/**
+ * Sets the property value of `path` on `object`. If a portion of `path`
+ * does not exist it is created.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to augment.
+ * @param {Array|string} path The path of the property to set.
+ * @param {*} value The value to set.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
+ *
+ * _.set(object, 'a[0].b.c', 4);
+ * console.log(object.a[0].b.c);
+ * // => 4
+ *
+ * _.set(object, 'x[0].y.z', 5);
+ * console.log(object.x[0].y.z);
+ * // => 5
+ */function set(object,path,value){if(object==null){return object}var pathKey=path+"";path=object[pathKey]!=null||isKey(path,object)?[pathKey]:toPath(path);var index=-1,length=path.length,lastIndex=length-1,nested=object;while(nested!=null&&++index<length){var key=path[index];if(isObject(nested)){if(index==lastIndex){nested[key]=value}else if(nested[key]==null){nested[key]=isIndex(path[index+1])?[]:{}}}nested=nested[key]}return object}
+/**
+ * An alternative to `_.reduce`; this method transforms `object` to a new
+ * `accumulator` object which is the result of running each of its own enumerable
+ * properties through `iteratee`, with each invocation potentially mutating
+ * the `accumulator` object. The `iteratee` is bound to `thisArg` and invoked
+ * with four arguments: (accumulator, value, key, object). Iteratee functions
+ * may exit iteration early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Array|Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The custom accumulator value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * _.transform([2, 3, 4], function(result, n) {
+ * result.push(n *= n);
+ * return n % 2 == 0;
+ * });
+ * // => [4, 9]
+ *
+ * _.transform({ 'a': 1, 'b': 2 }, function(result, n, key) {
+ * result[key] = n * 3;
+ * });
+ * // => { 'a': 3, 'b': 6 }
+ */function transform(object,iteratee,accumulator,thisArg){var isArr=isArray(object)||isTypedArray(object);iteratee=getCallback(iteratee,thisArg,4);if(accumulator==null){if(isArr||isObject(object)){var Ctor=object.constructor;if(isArr){accumulator=isArray(object)?new Ctor:[]}else{accumulator=baseCreate(isFunction(Ctor)?Ctor.prototype:undefined)}}else{accumulator={}}}(isArr?arrayEach:baseForOwn)(object,function(value,index,object){return iteratee(accumulator,value,index,object)});return accumulator}
+/**
+ * Creates an array of the own enumerable property values of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property values.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.values(new Foo);
+ * // => [1, 2] (iteration order is not guaranteed)
+ *
+ * _.values('hi');
+ * // => ['h', 'i']
+ */function values(object){return baseValues(object,keys(object))}
+/**
+ * Creates an array of the own and inherited enumerable property values
+ * of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property values.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.valuesIn(new Foo);
+ * // => [1, 2, 3] (iteration order is not guaranteed)
+ */function valuesIn(object){return baseValues(object,keysIn(object))}
+/*------------------------------------------------------------------------*/
+/**
+ * Checks if `n` is between `start` and up to but not including, `end`. If
+ * `end` is not specified it is set to `start` with `start` then set to `0`.
+ *
+ * @static
+ * @memberOf _
+ * @category Number
+ * @param {number} n The number to check.
+ * @param {number} [start=0] The start of the range.
+ * @param {number} end The end of the range.
+ * @returns {boolean} Returns `true` if `n` is in the range, else `false`.
+ * @example
+ *
+ * _.inRange(3, 2, 4);
+ * // => true
+ *
+ * _.inRange(4, 8);
+ * // => true
+ *
+ * _.inRange(4, 2);
+ * // => false
+ *
+ * _.inRange(2, 2);
+ * // => false
+ *
+ * _.inRange(1.2, 2);
+ * // => true
+ *
+ * _.inRange(5.2, 4);
+ * // => false
+ */function inRange(value,start,end){start=+start||0;if(end===undefined){end=start;start=0}else{end=+end||0}return value>=nativeMin(start,end)&&value<nativeMax(start,end)}
+/**
+ * Produces a random number between `min` and `max` (inclusive). If only one
+ * argument is provided a number between `0` and the given number is returned.
+ * If `floating` is `true`, or either `min` or `max` are floats, a floating-point
+ * number is returned instead of an integer.
+ *
+ * @static
+ * @memberOf _
+ * @category Number
+ * @param {number} [min=0] The minimum possible value.
+ * @param {number} [max=1] The maximum possible value.
+ * @param {boolean} [floating] Specify returning a floating-point number.
+ * @returns {number} Returns the random number.
+ * @example
+ *
+ * _.random(0, 5);
+ * // => an integer between 0 and 5
+ *
+ * _.random(5);
+ * // => also an integer between 0 and 5
+ *
+ * _.random(5, true);
+ * // => a floating-point number between 0 and 5
+ *
+ * _.random(1.2, 5.2);
+ * // => a floating-point number between 1.2 and 5.2
+ */function random(min,max,floating){if(floating&&isIterateeCall(min,max,floating)){max=floating=undefined}var noMin=min==null,noMax=max==null;if(floating==null){if(noMax&&typeof min=="boolean"){floating=min;min=1}else if(typeof max=="boolean"){floating=max;noMax=true}}if(noMin&&noMax){max=1;noMax=false}min=+min||0;if(noMax){max=min;min=0}else{max=+max||0}if(floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}
+/*------------------------------------------------------------------------*/
+/**
+ * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the camel cased string.
+ * @example
+ *
+ * _.camelCase('Foo Bar');
+ * // => 'fooBar'
+ *
+ * _.camelCase('--foo-bar');
+ * // => 'fooBar'
+ *
+ * _.camelCase('__foo_bar__');
+ * // => 'fooBar'
+ */var camelCase=createCompounder(function(result,word,index){word=word.toLowerCase();return result+(index?word.charAt(0).toUpperCase()+word.slice(1):word)});
+/**
+ * Capitalizes the first character of `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to capitalize.
+ * @returns {string} Returns the capitalized string.
+ * @example
+ *
+ * _.capitalize('fred');
+ * // => 'Fred'
+ */function capitalize(string){string=baseToString(string);return string&&string.charAt(0).toUpperCase()+string.slice(1)}
+/**
+ * Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
+ * to basic latin letters and removing [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to deburr.
+ * @returns {string} Returns the deburred string.
+ * @example
+ *
+ * _.deburr('déjà vu');
+ * // => 'deja vu'
+ */function deburr(string){string=baseToString(string);return string&&string.replace(reLatin1,deburrLetter).replace(reComboMark,"")}
+/**
+ * Checks if `string` ends with the given target string.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to search.
+ * @param {string} [target] The string to search for.
+ * @param {number} [position=string.length] The position to search from.
+ * @returns {boolean} Returns `true` if `string` ends with `target`, else `false`.
+ * @example
+ *
+ * _.endsWith('abc', 'c');
+ * // => true
+ *
+ * _.endsWith('abc', 'b');
+ * // => false
+ *
+ * _.endsWith('abc', 'b', 2);
+ * // => true
+ */function endsWith(string,target,position){string=baseToString(string);target=target+"";var length=string.length;position=position===undefined?length:nativeMin(position<0?0:+position||0,length);position-=target.length;return position>=0&&string.indexOf(target,position)==position}
+/**
+ * Converts the characters "&", "<", ">", '"', "'", and "\`", in `string` to
+ * their corresponding HTML entities.
+ *
+ * **Note:** No other characters are escaped. To escape additional characters
+ * use a third-party library like [_he_](https://mths.be/he).
+ *
+ * Though the ">" character is escaped for symmetry, characters like
+ * ">" and "/" don't need escaping in HTML and have no special meaning
+ * unless they're part of a tag or unquoted attribute value.
+ * See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
+ * (under "semi-related fun fact") for more details.
+ *
+ * Backticks are escaped because in Internet Explorer < 9, they can break out
+ * of attribute values or HTML comments. See [#59](https://html5sec.org/#59),
+ * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and
+ * [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/)
+ * for more details.
+ *
+ * When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping)
+ * to reduce XSS vectors.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to escape.
+ * @returns {string} Returns the escaped string.
+ * @example
+ *
+ * _.escape('fred, barney, & pebbles');
+ * // => 'fred, barney, &amp; pebbles'
+ */function escape(string){
+// Reset `lastIndex` because in IE < 9 `String#replace` does not.
+string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}
+/**
+ * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?",
+ * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to escape.
+ * @returns {string} Returns the escaped string.
+ * @example
+ *
+ * _.escapeRegExp('[lodash](https://lodash.com/)');
+ * // => '\[lodash\]\(https:\/\/lodash\.com\/\)'
+ */function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,escapeRegExpChar):string||"(?:)"}
+/**
+ * Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the kebab cased string.
+ * @example
+ *
+ * _.kebabCase('Foo Bar');
+ * // => 'foo-bar'
+ *
+ * _.kebabCase('fooBar');
+ * // => 'foo-bar'
+ *
+ * _.kebabCase('__foo_bar__');
+ * // => 'foo-bar'
+ */var kebabCase=createCompounder(function(result,word,index){return result+(index?"-":"")+word.toLowerCase()});
+/**
+ * Pads `string` on the left and right sides if it's shorter than `length`.
+ * Padding characters are truncated if they can't be evenly divided by `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.pad('abc', 8);
+ * // => ' abc '
+ *
+ * _.pad('abc', 8, '_-');
+ * // => '_-abc_-_'
+ *
+ * _.pad('abc', 3);
+ * // => 'abc'
+ */function pad(string,length,chars){string=baseToString(string);length=+length;var strLength=string.length;if(strLength>=length||!nativeIsFinite(length)){return string}var mid=(length-strLength)/2,leftLength=nativeFloor(mid),rightLength=nativeCeil(mid);chars=createPadding("",rightLength,chars);return chars.slice(0,leftLength)+string+chars}
+/**
+ * Pads `string` on the left side if it's shorter than `length`. Padding
+ * characters are truncated if they exceed `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.padLeft('abc', 6);
+ * // => ' abc'
+ *
+ * _.padLeft('abc', 6, '_-');
+ * // => '_-_abc'
+ *
+ * _.padLeft('abc', 3);
+ * // => 'abc'
+ */var padLeft=createPadDir();
+/**
+ * Pads `string` on the right side if it's shorter than `length`. Padding
+ * characters are truncated if they exceed `length`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to pad.
+ * @param {number} [length=0] The padding length.
+ * @param {string} [chars=' '] The string used as padding.
+ * @returns {string} Returns the padded string.
+ * @example
+ *
+ * _.padRight('abc', 6);
+ * // => 'abc '
+ *
+ * _.padRight('abc', 6, '_-');
+ * // => 'abc_-_'
+ *
+ * _.padRight('abc', 3);
+ * // => 'abc'
+ */var padRight=createPadDir(true);
+/**
+ * Converts `string` to an integer of the specified radix. If `radix` is
+ * `undefined` or `0`, a `radix` of `10` is used unless `value` is a hexadecimal,
+ * in which case a `radix` of `16` is used.
+ *
+ * **Note:** This method aligns with the [ES5 implementation](https://es5.github.io/#E)
+ * of `parseInt`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} string The string to convert.
+ * @param {number} [radix] The radix to interpret `value` by.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {number} Returns the converted integer.
+ * @example
+ *
+ * _.parseInt('08');
+ * // => 8
+ *
+ * _.map(['6', '08', '10'], _.parseInt);
+ * // => [6, 8, 10]
+ */function parseInt(string,radix,guard){
+// Firefox < 21 and Opera < 15 follow ES3 for `parseInt`.
+// Chrome fails to trim leading <BOM> whitespace characters.
+// See https://code.google.com/p/v8/issues/detail?id=3109 for more details.
+if(guard?isIterateeCall(string,radix,guard):radix==null){radix=0}else if(radix){radix=+radix}string=trim(string);return nativeParseInt(string,radix||(reHasHexPrefix.test(string)?16:10))}
+/**
+ * Repeats the given string `n` times.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to repeat.
+ * @param {number} [n=0] The number of times to repeat the string.
+ * @returns {string} Returns the repeated string.
+ * @example
+ *
+ * _.repeat('*', 3);
+ * // => '***'
+ *
+ * _.repeat('abc', 2);
+ * // => 'abcabc'
+ *
+ * _.repeat('abc', 0);
+ * // => ''
+ */function repeat(string,n){var result="";string=baseToString(string);n=+n;if(n<1||!string||!nativeIsFinite(n)){return result}
+// Leverage the exponentiation by squaring algorithm for a faster repeat.
+// See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
+do{if(n%2){result+=string}n=nativeFloor(n/2);string+=string}while(n);return result}
+/**
+ * Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the snake cased string.
+ * @example
+ *
+ * _.snakeCase('Foo Bar');
+ * // => 'foo_bar'
+ *
+ * _.snakeCase('fooBar');
+ * // => 'foo_bar'
+ *
+ * _.snakeCase('--foo-bar');
+ * // => 'foo_bar'
+ */var snakeCase=createCompounder(function(result,word,index){return result+(index?"_":"")+word.toLowerCase()});
+/**
+ * Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to convert.
+ * @returns {string} Returns the start cased string.
+ * @example
+ *
+ * _.startCase('--foo-bar');
+ * // => 'Foo Bar'
+ *
+ * _.startCase('fooBar');
+ * // => 'Foo Bar'
+ *
+ * _.startCase('__foo_bar__');
+ * // => 'Foo Bar'
+ */var startCase=createCompounder(function(result,word,index){return result+(index?" ":"")+(word.charAt(0).toUpperCase()+word.slice(1))});
+/**
+ * Checks if `string` starts with the given target string.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to search.
+ * @param {string} [target] The string to search for.
+ * @param {number} [position=0] The position to search from.
+ * @returns {boolean} Returns `true` if `string` starts with `target`, else `false`.
+ * @example
+ *
+ * _.startsWith('abc', 'a');
+ * // => true
+ *
+ * _.startsWith('abc', 'b');
+ * // => false
+ *
+ * _.startsWith('abc', 'b', 1);
+ * // => true
+ */function startsWith(string,target,position){string=baseToString(string);position=position==null?0:nativeMin(position<0?0:+position||0,string.length);return string.lastIndexOf(target,position)==position}
+/**
+ * Creates a compiled template function that can interpolate data properties
+ * in "interpolate" delimiters, HTML-escape interpolated data properties in
+ * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
+ * properties may be accessed as free variables in the template. If a setting
+ * object is provided it takes precedence over `_.templateSettings` values.
+ *
+ * **Note:** In the development build `_.template` utilizes
+ * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
+ * for easier debugging.
+ *
+ * For more information on precompiling templates see
+ * [lodash's custom builds documentation](https://lodash.com/custom-builds).
+ *
+ * For more information on Chrome extension sandboxes see
+ * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The template string.
+ * @param {Object} [options] The options object.
+ * @param {RegExp} [options.escape] The HTML "escape" delimiter.
+ * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
+ * @param {Object} [options.imports] An object to import into the template as free variables.
+ * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
+ * @param {string} [options.sourceURL] The sourceURL of the template's compiled source.
+ * @param {string} [options.variable] The data object variable name.
+ * @param- {Object} [otherOptions] Enables the legacy `options` param signature.
+ * @returns {Function} Returns the compiled template function.
+ * @example
+ *
+ * // using the "interpolate" delimiter to create a compiled template
+ * var compiled = _.template('hello <%= user %>!');
+ * compiled({ 'user': 'fred' });
+ * // => 'hello fred!'
+ *
+ * // using the HTML "escape" delimiter to escape data property values
+ * var compiled = _.template('<b><%- value %></b>');
+ * compiled({ 'value': '<script>' });
+ * // => '<b>&lt;script&gt;</b>'
+ *
+ * // using the "evaluate" delimiter to execute JavaScript and generate HTML
+ * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');
+ * compiled({ 'users': ['fred', 'barney'] });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the internal `print` function in "evaluate" delimiters
+ * var compiled = _.template('<% print("hello " + user); %>!');
+ * compiled({ 'user': 'barney' });
+ * // => 'hello barney!'
+ *
+ * // using the ES delimiter as an alternative to the default "interpolate" delimiter
+ * var compiled = _.template('hello ${ user }!');
+ * compiled({ 'user': 'pebbles' });
+ * // => 'hello pebbles!'
+ *
+ * // using custom template delimiters
+ * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
+ * var compiled = _.template('hello {{ user }}!');
+ * compiled({ 'user': 'mustache' });
+ * // => 'hello mustache!'
+ *
+ * // using backslashes to treat delimiters as plain text
+ * var compiled = _.template('<%= "\\<%- value %\\>" %>');
+ * compiled({ 'value': 'ignored' });
+ * // => '<%- value %>'
+ *
+ * // using the `imports` option to import `jQuery` as `jq`
+ * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';
+ * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
+ * compiled({ 'users': ['fred', 'barney'] });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the `sourceURL` option to specify a custom sourceURL for the template
+ * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });
+ * compiled(data);
+ * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
+ *
+ * // using the `variable` option to ensure a with-statement isn't used in the compiled template
+ * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });
+ * compiled.source;
+ * // => function(data) {
+ * // var __t, __p = '';
+ * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';
+ * // return __p;
+ * // }
+ *
+ * // using the `source` property to inline compiled templates for meaningful
+ * // line numbers in error messages and a stack trace
+ * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
+ * var JST = {\
+ * "main": ' + _.template(mainText).source + '\
+ * };\
+ * ');
+ */function template(string,options,otherOptions){
+// Based on John Resig's `tmpl` implementation (http://ejohn.org/blog/javascript-micro-templating/)
+// and Laura Doktorova's doT.js (https://github.com/olado/doT).
+var settings=lodash.templateSettings;if(otherOptions&&isIterateeCall(string,options,otherOptions)){options=otherOptions=undefined}string=baseToString(string);options=assignWith(baseAssign({},otherOptions||options),settings,assignOwnDefaults);var imports=assignWith(baseAssign({},options.imports),settings.imports,assignOwnDefaults),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";
+// Compile the regexp to match each delimiter.
+var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");
+// Use a sourceURL for easier debugging.
+var sourceURL="//# sourceURL="+("sourceURL"in options?options.sourceURL:"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);
+// Escape characters that can't be included in string literals.
+source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar);
+// Replace delimiters with snippets.
+if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;
+// The JS engine embedded in Adobe products requires returning the `match`
+// string in order to produce the correct `offset` value.
+return match});source+="';\n";
+// If `variable` is not specified wrap a with-statement around the generated
+// code to add the data object to the top of the scope chain.
+var variable=options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}
+// Cleanup code by stripping empty strings.
+source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");
+// Frame code as the function body.
+source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt(function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)});
+// Provide the compiled function's source by its `toString` method or
+// the `source` property as a convenience for inlining compiled templates.
+result.source=source;if(isError(result)){throw result}return result}
+/**
+ * Removes leading and trailing whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trim(' abc ');
+ * // => 'abc'
+ *
+ * _.trim('-_-abc-_-', '_-');
+ * // => 'abc'
+ *
+ * _.map([' foo ', ' bar '], _.trim);
+ * // => ['foo', 'bar']
+ */function trim(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string),trimmedRightIndex(string)+1)}chars=chars+"";return string.slice(charsLeftIndex(string,chars),charsRightIndex(string,chars)+1)}
+/**
+ * Removes leading whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trimLeft(' abc ');
+ * // => 'abc '
+ *
+ * _.trimLeft('-_-abc-_-', '_-');
+ * // => 'abc-_-'
+ */function trimLeft(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string))}return string.slice(charsLeftIndex(string,chars+""))}
+/**
+ * Removes trailing whitespace or specified characters from `string`.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to trim.
+ * @param {string} [chars=whitespace] The characters to trim.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the trimmed string.
+ * @example
+ *
+ * _.trimRight(' abc ');
+ * // => ' abc'
+ *
+ * _.trimRight('-_-abc-_-', '_-');
+ * // => '-_-abc'
+ */function trimRight(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(0,trimmedRightIndex(string)+1)}return string.slice(0,charsRightIndex(string,chars+"")+1)}
+/**
+ * Truncates `string` if it's longer than the given maximum string length.
+ * The last characters of the truncated string are replaced with the omission
+ * string which defaults to "...".
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to truncate.
+ * @param {Object|number} [options] The options object or maximum string length.
+ * @param {number} [options.length=30] The maximum string length.
+ * @param {string} [options.omission='...'] The string to indicate text is omitted.
+ * @param {RegExp|string} [options.separator] The separator pattern to truncate to.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {string} Returns the truncated string.
+ * @example
+ *
+ * _.trunc('hi-diddly-ho there, neighborino');
+ * // => 'hi-diddly-ho there, neighbo...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', 24);
+ * // => 'hi-diddly-ho there, n...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ * 'length': 24,
+ * 'separator': ' '
+ * });
+ * // => 'hi-diddly-ho there,...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ * 'length': 24,
+ * 'separator': /,? +/
+ * });
+ * // => 'hi-diddly-ho there...'
+ *
+ * _.trunc('hi-diddly-ho there, neighborino', {
+ * 'omission': ' [...]'
+ * });
+ * // => 'hi-diddly-ho there, neig [...]'
+ */function trunc(string,options,guard){if(guard&&isIterateeCall(string,options,guard)){options=undefined}var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(options!=null){if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?+options.length||0:length;omission="omission"in options?baseToString(options.omission):omission}else{length=+options||0}}string=baseToString(string);if(length>=string.length){return string}var end=length-omission.length;if(end<1){return omission}var result=string.slice(0,end);if(separator==null){return result+omission}if(isRegExp(separator)){if(string.slice(end).search(separator)){var match,newEnd,substring=string.slice(0,end);if(!separator.global){separator=RegExp(separator.source,(reFlags.exec(separator)||"")+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){newEnd=match.index}result=result.slice(0,newEnd==null?end:newEnd)}}else if(string.indexOf(separator,end)!=end){var index=result.lastIndexOf(separator);if(index>-1){result=result.slice(0,index)}}return result+omission}
+/**
+ * The inverse of `_.escape`; this method converts the HTML entities
+ * `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#39;`, and `&#96;` in `string` to their
+ * corresponding characters.
+ *
+ * **Note:** No other HTML entities are unescaped. To unescape additional HTML
+ * entities use a third-party library like [_he_](https://mths.be/he).
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to unescape.
+ * @returns {string} Returns the unescaped string.
+ * @example
+ *
+ * _.unescape('fred, barney, &amp; pebbles');
+ * // => 'fred, barney, & pebbles'
+ */function unescape(string){string=baseToString(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}
+/**
+ * Splits `string` into an array of its words.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to inspect.
+ * @param {RegExp|string} [pattern] The pattern to match words.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Array} Returns the words of `string`.
+ * @example
+ *
+ * _.words('fred, barney, & pebbles');
+ * // => ['fred', 'barney', 'pebbles']
+ *
+ * _.words('fred, barney, & pebbles', /[^, ]+/g);
+ * // => ['fred', 'barney', '&', 'pebbles']
+ */function words(string,pattern,guard){if(guard&&isIterateeCall(string,pattern,guard)){pattern=undefined}string=baseToString(string);return string.match(pattern||reWords)||[]}
+/*------------------------------------------------------------------------*/
+/**
+ * Attempts to invoke `func`, returning either the result or the caught error
+ * object. Any additional arguments are provided to `func` when it is invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Function} func The function to attempt.
+ * @returns {*} Returns the `func` result or error object.
+ * @example
+ *
+ * // avoid throwing errors for invalid selectors
+ * var elements = _.attempt(function(selector) {
+ * return document.querySelectorAll(selector);
+ * }, '>_>');
+ *
+ * if (_.isError(elements)) {
+ * elements = [];
+ * }
+ */var attempt=restParam(function(func,args){try{return func.apply(undefined,args)}catch(e){return isError(e)?e:new Error(e)}});
+/**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and arguments of the created function. If `func` is a property name the
+ * created callback returns the property value for a given element. If `func`
+ * is an object the created callback returns `true` for elements that contain
+ * the equivalent object properties, otherwise it returns `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias iteratee
+ * @category Utility
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the callback.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * // wrap to create custom callback shorthands
+ * _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
+ * var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
+ * if (!match) {
+ * return callback(func, thisArg);
+ * }
+ * return function(object) {
+ * return match[2] == 'gt'
+ * ? object[match[1]] > match[3]
+ * : object[match[1]] < match[3];
+ * };
+ * });
+ *
+ * _.filter(users, 'age__gt36');
+ * // => [{ 'user': 'fred', 'age': 40 }]
+ */function callback(func,thisArg,guard){if(guard&&isIterateeCall(func,thisArg,guard)){thisArg=undefined}return isObjectLike(func)?matches(func):baseCallback(func,thisArg)}
+/**
+ * Creates a function that returns `value`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value The value to return from the new function.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ * var getter = _.constant(object);
+ *
+ * getter() === object;
+ * // => true
+ */function constant(value){return function(){return value}}
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.identity(object) === object;
+ * // => true
+ */function identity(value){return value}
+/**
+ * Creates a function that performs a deep comparison between a given object
+ * and `source`, returning `true` if the given object has equivalent property
+ * values, else `false`.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36, 'active': true },
+ * { 'user': 'fred', 'age': 40, 'active': false }
+ * ];
+ *
+ * _.filter(users, _.matches({ 'age': 40, 'active': false }));
+ * // => [{ 'user': 'fred', 'age': 40, 'active': false }]
+ */function matches(source){return baseMatches(baseClone(source,true))}
+/**
+ * Creates a function that compares the property value of `path` on a given
+ * object to `value`.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @param {*} srcValue The value to match.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * _.find(users, _.matchesProperty('user', 'fred'));
+ * // => { 'user': 'fred' }
+ */function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,true))}
+/**
+ * Creates a function that invokes the method at `path` on a given object.
+ * Any additional arguments are provided to the invoked method.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the method to invoke.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ * { 'a': { 'b': { 'c': _.constant(2) } } },
+ * { 'a': { 'b': { 'c': _.constant(1) } } }
+ * ];
+ *
+ * _.map(objects, _.method('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.invoke(_.sortBy(objects, _.method(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */var method=restParam(function(path,args){return function(object){return invokePath(object,path,args)}});
+/**
+ * The opposite of `_.method`; this method creates a function that invokes
+ * the method at a given path on `object`. Any additional arguments are
+ * provided to the invoked method.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} object The object to query.
+ * @param {...*} [args] The arguments to invoke the method with.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var array = _.times(3, _.constant),
+ * object = { 'a': array, 'b': array, 'c': array };
+ *
+ * _.map(['a[2]', 'c[0]'], _.methodOf(object));
+ * // => [2, 0]
+ *
+ * _.map([['a', '2'], ['c', '0']], _.methodOf(object));
+ * // => [2, 0]
+ */var methodOf=restParam(function(object,args){return function(path){return invokePath(object,path,args)}});
+/**
+ * Adds all own enumerable function properties of a source object to the
+ * destination object. If `object` is a function then methods are added to
+ * its prototype as well.
+ *
+ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
+ * avoid conflicts caused by modifying the original.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Function|Object} [object=lodash] The destination object.
+ * @param {Object} source The object of functions to add.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.chain=true] Specify whether the functions added
+ * are chainable.
+ * @returns {Function|Object} Returns `object`.
+ * @example
+ *
+ * function vowels(string) {
+ * return _.filter(string, function(v) {
+ * return /[aeiou]/i.test(v);
+ * });
+ * }
+ *
+ * _.mixin({ 'vowels': vowels });
+ * _.vowels('fred');
+ * // => ['e']
+ *
+ * _('fred').vowels().value();
+ * // => ['e']
+ *
+ * _.mixin({ 'vowels': vowels }, { 'chain': false });
+ * _('fred').vowels();
+ * // => ['e']
+ */function mixin(object,source,options){if(options==null){var isObj=isObject(source),props=isObj?keys(source):undefined,methodNames=props&&props.length?baseFunctions(source,props):undefined;if(!(methodNames?methodNames.length:isObj)){methodNames=false;options=source;source=object;object=this}}if(!methodNames){methodNames=baseFunctions(source,keys(source))}var chain=true,index=-1,isFunc=isFunction(object),length=methodNames.length;if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}while(++index<length){var methodName=methodNames[index],func=source[methodName];object[methodName]=func;if(isFunc){object.prototype[methodName]=function(func){return function(){var chainAll=this.__chain__;if(chain||chainAll){var result=object(this.__wrapped__),actions=result.__actions__=arrayCopy(this.__actions__);actions.push({func:func,args:arguments,thisArg:object});result.__chain__=chainAll;return result}return func.apply(object,arrayPush([this.value()],arguments))}}(func)}}return object}
+/**
+ * Reverts the `_` variable to its previous value and returns a reference to
+ * the `lodash` function.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @returns {Function} Returns the `lodash` function.
+ * @example
+ *
+ * var lodash = _.noConflict();
+ */function noConflict(){root._=oldDash;return this}
+/**
+ * A no-operation function that returns `undefined` regardless of the
+ * arguments it receives.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.noop(object) === undefined;
+ * // => true
+ */function noop(){
+// No operation performed.
+}
+/**
+ * Creates a function that returns the property value at `path` on a
+ * given object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ * { 'a': { 'b': { 'c': 2 } } },
+ * { 'a': { 'b': { 'c': 1 } } }
+ * ];
+ *
+ * _.map(objects, _.property('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}
+/**
+ * The opposite of `_.property`; this method creates a function that returns
+ * the property value at a given path on `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Object} object The object to query.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var array = [0, 1, 2],
+ * object = { 'a': array, 'b': array, 'c': array };
+ *
+ * _.map(['a[2]', 'c[0]'], _.propertyOf(object));
+ * // => [2, 0]
+ *
+ * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
+ * // => [2, 0]
+ */function propertyOf(object){return function(path){return baseGet(object,toPath(path),path+"")}}
+/**
+ * Creates an array of numbers (positive and/or negative) progressing from
+ * `start` up to, but not including, `end`. If `end` is not specified it is
+ * set to `start` with `start` then set to `0`. If `end` is less than `start`
+ * a zero-length range is created unless a negative `step` is specified.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {number} [start=0] The start of the range.
+ * @param {number} end The end of the range.
+ * @param {number} [step=1] The value to increment or decrement by.
+ * @returns {Array} Returns the new array of numbers.
+ * @example
+ *
+ * _.range(4);
+ * // => [0, 1, 2, 3]
+ *
+ * _.range(1, 5);
+ * // => [1, 2, 3, 4]
+ *
+ * _.range(0, 20, 5);
+ * // => [0, 5, 10, 15]
+ *
+ * _.range(0, -4, -1);
+ * // => [0, -1, -2, -3]
+ *
+ * _.range(1, 4, 0);
+ * // => [1, 1, 1]
+ *
+ * _.range(0);
+ * // => []
+ */function range(start,end,step){if(step&&isIterateeCall(start,end,step)){end=step=undefined}start=+start||0;step=step==null?1:+step||0;if(end==null){end=start;start=0}else{end=+end||0}
+// Use `Array(length)` so engines like Chakra and V8 avoid slower modes.
+// See https://youtu.be/XAqIpGU8ZZk#t=17m25s for more details.
+var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);while(++index<length){result[index]=start;start+=step}return result}
+/**
+ * Invokes the iteratee function `n` times, returning an array of the results
+ * of each invocation. The `iteratee` is bound to `thisArg` and invoked with
+ * one argument; (index).
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {number} n The number of times to invoke `iteratee`.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the array of results.
+ * @example
+ *
+ * var diceRolls = _.times(3, _.partial(_.random, 1, 6, false));
+ * // => [3, 6, 4]
+ *
+ * _.times(3, function(n) {
+ * mage.castSpell(n);
+ * });
+ * // => invokes `mage.castSpell(n)` three times with `n` of `0`, `1`, and `2`
+ *
+ * _.times(3, function(n) {
+ * this.cast(n);
+ * }, mage);
+ * // => also invokes `mage.castSpell(n)` three times
+ */function times(n,iteratee,thisArg){n=nativeFloor(n);
+// Exit early to avoid a JSC JIT bug in Safari 8
+// where `Array(0)` is treated as `Array(1)`.
+if(n<1||!nativeIsFinite(n)){return[]}var index=-1,result=Array(nativeMin(n,MAX_ARRAY_LENGTH));iteratee=bindCallback(iteratee,thisArg,1);while(++index<n){if(index<MAX_ARRAY_LENGTH){result[index]=iteratee(index)}else{iteratee(index)}}return result}
+/**
+ * Generates a unique ID. If `prefix` is provided the ID is appended to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {string} [prefix] The value to prefix the ID with.
+ * @returns {string} Returns the unique ID.
+ * @example
+ *
+ * _.uniqueId('contact_');
+ * // => 'contact_104'
+ *
+ * _.uniqueId();
+ * // => '105'
+ */function uniqueId(prefix){var id=++idCounter;return baseToString(prefix)+id}
+/*------------------------------------------------------------------------*/
+/**
+ * Adds two numbers.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} augend The first number to add.
+ * @param {number} addend The second number to add.
+ * @returns {number} Returns the sum.
+ * @example
+ *
+ * _.add(6, 4);
+ * // => 10
+ */function add(augend,addend){return(+augend||0)+(+addend||0)}
+/**
+ * Calculates `n` rounded up to `precision`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} n The number to round up.
+ * @param {number} [precision=0] The precision to round up to.
+ * @returns {number} Returns the rounded up number.
+ * @example
+ *
+ * _.ceil(4.006);
+ * // => 5
+ *
+ * _.ceil(6.004, 2);
+ * // => 6.01
+ *
+ * _.ceil(6040, -2);
+ * // => 6100
+ */var ceil=createRound("ceil");
+/**
+ * Calculates `n` rounded down to `precision`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} n The number to round down.
+ * @param {number} [precision=0] The precision to round down to.
+ * @returns {number} Returns the rounded down number.
+ * @example
+ *
+ * _.floor(4.006);
+ * // => 4
+ *
+ * _.floor(0.046, 2);
+ * // => 0.04
+ *
+ * _.floor(4060, -2);
+ * // => 4000
+ */var floor=createRound("floor");
+/**
+ * Gets the maximum value of `collection`. If `collection` is empty or falsey
+ * `-Infinity` is returned. If an iteratee function is provided it is invoked
+ * for each value in `collection` to generate the criterion by which the value
+ * is ranked. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the maximum value.
+ * @example
+ *
+ * _.max([4, 2, 8, 6]);
+ * // => 8
+ *
+ * _.max([]);
+ * // => -Infinity
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * _.max(users, function(chr) {
+ * return chr.age;
+ * });
+ * // => { 'user': 'fred', 'age': 40 }
+ *
+ * // using the `_.property` callback shorthand
+ * _.max(users, 'age');
+ * // => { 'user': 'fred', 'age': 40 }
+ */var max=createExtremum(gt,NEGATIVE_INFINITY);
+/**
+ * Gets the minimum value of `collection`. If `collection` is empty or falsey
+ * `Infinity` is returned. If an iteratee function is provided it is invoked
+ * for each value in `collection` to generate the criterion by which the value
+ * is ranked. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the minimum value.
+ * @example
+ *
+ * _.min([4, 2, 8, 6]);
+ * // => 2
+ *
+ * _.min([]);
+ * // => Infinity
+ *
+ * var users = [
+ * { 'user': 'barney', 'age': 36 },
+ * { 'user': 'fred', 'age': 40 }
+ * ];
+ *
+ * _.min(users, function(chr) {
+ * return chr.age;
+ * });
+ * // => { 'user': 'barney', 'age': 36 }
+ *
+ * // using the `_.property` callback shorthand
+ * _.min(users, 'age');
+ * // => { 'user': 'barney', 'age': 36 }
+ */var min=createExtremum(lt,POSITIVE_INFINITY);
+/**
+ * Calculates `n` rounded to `precision`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {number} n The number to round.
+ * @param {number} [precision=0] The precision to round to.
+ * @returns {number} Returns the rounded number.
+ * @example
+ *
+ * _.round(4.006);
+ * // => 4
+ *
+ * _.round(4.006, 2);
+ * // => 4.01
+ *
+ * _.round(4060, -2);
+ * // => 4100
+ */var round=createRound("round");
+/**
+ * Gets the sum of the values in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Math
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {number} Returns the sum.
+ * @example
+ *
+ * _.sum([4, 6]);
+ * // => 10
+ *
+ * _.sum({ 'a': 4, 'b': 6 });
+ * // => 10
+ *
+ * var objects = [
+ * { 'n': 4 },
+ * { 'n': 6 }
+ * ];
+ *
+ * _.sum(objects, function(object) {
+ * return object.n;
+ * });
+ * // => 10
+ *
+ * // using the `_.property` callback shorthand
+ * _.sum(objects, 'n');
+ * // => 10
+ */function sum(collection,iteratee,thisArg){if(thisArg&&isIterateeCall(collection,iteratee,thisArg)){iteratee=undefined}iteratee=getCallback(iteratee,thisArg,3);return iteratee.length==1?arraySum(isArray(collection)?collection:toIterable(collection),iteratee):baseSum(collection,iteratee)}
+/*------------------------------------------------------------------------*/
+// Ensure wrappers are instances of `baseLodash`.
+lodash.prototype=baseLodash.prototype;LodashWrapper.prototype=baseCreate(baseLodash.prototype);LodashWrapper.prototype.constructor=LodashWrapper;LazyWrapper.prototype=baseCreate(baseLodash.prototype);LazyWrapper.prototype.constructor=LazyWrapper;
+// Add functions to the `Map` cache.
+MapCache.prototype["delete"]=mapDelete;MapCache.prototype.get=mapGet;MapCache.prototype.has=mapHas;MapCache.prototype.set=mapSet;
+// Add functions to the `Set` cache.
+SetCache.prototype.push=cachePush;
+// Assign cache to `_.memoize`.
+memoize.Cache=MapCache;
+// Add functions that return wrapped values when chaining.
+lodash.after=after;lodash.ary=ary;lodash.assign=assign;lodash.at=at;lodash.before=before;lodash.bind=bind;lodash.bindAll=bindAll;lodash.bindKey=bindKey;lodash.callback=callback;lodash.chain=chain;lodash.chunk=chunk;lodash.compact=compact;lodash.constant=constant;lodash.countBy=countBy;lodash.create=create;lodash.curry=curry;lodash.curryRight=curryRight;lodash.debounce=debounce;lodash.defaults=defaults;lodash.defaultsDeep=defaultsDeep;lodash.defer=defer;lodash.delay=delay;lodash.difference=difference;lodash.drop=drop;lodash.dropRight=dropRight;lodash.dropRightWhile=dropRightWhile;lodash.dropWhile=dropWhile;lodash.fill=fill;lodash.filter=filter;lodash.flatten=flatten;lodash.flattenDeep=flattenDeep;lodash.flow=flow;lodash.flowRight=flowRight;lodash.forEach=forEach;lodash.forEachRight=forEachRight;lodash.forIn=forIn;lodash.forInRight=forInRight;lodash.forOwn=forOwn;lodash.forOwnRight=forOwnRight;lodash.functions=functions;lodash.groupBy=groupBy;lodash.indexBy=indexBy;lodash.initial=initial;lodash.intersection=intersection;lodash.invert=invert;lodash.invoke=invoke;lodash.keys=keys;lodash.keysIn=keysIn;lodash.map=map;lodash.mapKeys=mapKeys;lodash.mapValues=mapValues;lodash.matches=matches;lodash.matchesProperty=matchesProperty;lodash.memoize=memoize;lodash.merge=merge;lodash.method=method;lodash.methodOf=methodOf;lodash.mixin=mixin;lodash.modArgs=modArgs;lodash.negate=negate;lodash.omit=omit;lodash.once=once;lodash.pairs=pairs;lodash.partial=partial;lodash.partialRight=partialRight;lodash.partition=partition;lodash.pick=pick;lodash.pluck=pluck;lodash.property=property;lodash.propertyOf=propertyOf;lodash.pull=pull;lodash.pullAt=pullAt;lodash.range=range;lodash.rearg=rearg;lodash.reject=reject;lodash.remove=remove;lodash.rest=rest;lodash.restParam=restParam;lodash.set=set;lodash.shuffle=shuffle;lodash.slice=slice;lodash.sortBy=sortBy;lodash.sortByAll=sortByAll;lodash.sortByOrder=sortByOrder;lodash.spread=spread;lodash.take=take;lodash.takeRight=takeRight;lodash.takeRightWhile=takeRightWhile;lodash.takeWhile=takeWhile;lodash.tap=tap;lodash.throttle=throttle;lodash.thru=thru;lodash.times=times;lodash.toArray=toArray;lodash.toPlainObject=toPlainObject;lodash.transform=transform;lodash.union=union;lodash.uniq=uniq;lodash.unzip=unzip;lodash.unzipWith=unzipWith;lodash.values=values;lodash.valuesIn=valuesIn;lodash.where=where;lodash.without=without;lodash.wrap=wrap;lodash.xor=xor;lodash.zip=zip;lodash.zipObject=zipObject;lodash.zipWith=zipWith;
+// Add aliases.
+lodash.backflow=flowRight;lodash.collect=map;lodash.compose=flowRight;lodash.each=forEach;lodash.eachRight=forEachRight;lodash.extend=assign;lodash.iteratee=callback;lodash.methods=functions;lodash.object=zipObject;lodash.select=filter;lodash.tail=rest;lodash.unique=uniq;
+// Add functions to `lodash.prototype`.
+mixin(lodash,lodash);
+/*------------------------------------------------------------------------*/
+// Add functions that return unwrapped values when chaining.
+lodash.add=add;lodash.attempt=attempt;lodash.camelCase=camelCase;lodash.capitalize=capitalize;lodash.ceil=ceil;lodash.clone=clone;lodash.cloneDeep=cloneDeep;lodash.deburr=deburr;lodash.endsWith=endsWith;lodash.escape=escape;lodash.escapeRegExp=escapeRegExp;lodash.every=every;lodash.find=find;lodash.findIndex=findIndex;lodash.findKey=findKey;lodash.findLast=findLast;lodash.findLastIndex=findLastIndex;lodash.findLastKey=findLastKey;lodash.findWhere=findWhere;lodash.first=first;lodash.floor=floor;lodash.get=get;lodash.gt=gt;lodash.gte=gte;lodash.has=has;lodash.identity=identity;lodash.includes=includes;lodash.indexOf=indexOf;lodash.inRange=inRange;lodash.isArguments=isArguments;lodash.isArray=isArray;lodash.isBoolean=isBoolean;lodash.isDate=isDate;lodash.isElement=isElement;lodash.isEmpty=isEmpty;lodash.isEqual=isEqual;lodash.isError=isError;lodash.isFinite=isFinite;lodash.isFunction=isFunction;lodash.isMatch=isMatch;lodash.isNaN=isNaN;lodash.isNative=isNative;lodash.isNull=isNull;lodash.isNumber=isNumber;lodash.isObject=isObject;lodash.isPlainObject=isPlainObject;lodash.isRegExp=isRegExp;lodash.isString=isString;lodash.isTypedArray=isTypedArray;lodash.isUndefined=isUndefined;lodash.kebabCase=kebabCase;lodash.last=last;lodash.lastIndexOf=lastIndexOf;lodash.lt=lt;lodash.lte=lte;lodash.max=max;lodash.min=min;lodash.noConflict=noConflict;lodash.noop=noop;lodash.now=now;lodash.pad=pad;lodash.padLeft=padLeft;lodash.padRight=padRight;lodash.parseInt=parseInt;lodash.random=random;lodash.reduce=reduce;lodash.reduceRight=reduceRight;lodash.repeat=repeat;lodash.result=result;lodash.round=round;lodash.runInContext=runInContext;lodash.size=size;lodash.snakeCase=snakeCase;lodash.some=some;lodash.sortedIndex=sortedIndex;lodash.sortedLastIndex=sortedLastIndex;lodash.startCase=startCase;lodash.startsWith=startsWith;lodash.sum=sum;lodash.template=template;lodash.trim=trim;lodash.trimLeft=trimLeft;lodash.trimRight=trimRight;lodash.trunc=trunc;lodash.unescape=unescape;lodash.uniqueId=uniqueId;lodash.words=words;
+// Add aliases.
+lodash.all=every;lodash.any=some;lodash.contains=includes;lodash.eq=isEqual;lodash.detect=find;lodash.foldl=reduce;lodash.foldr=reduceRight;lodash.head=first;lodash.include=includes;lodash.inject=reduce;mixin(lodash,function(){var source={};baseForOwn(lodash,function(func,methodName){if(!lodash.prototype[methodName]){source[methodName]=func}});return source}(),false);
+/*------------------------------------------------------------------------*/
+// Add functions capable of returning wrapped and unwrapped values when chaining.
+lodash.sample=sample;lodash.prototype.sample=function(n){if(!this.__chain__&&n==null){return sample(this.value())}return this.thru(function(value){return sample(value,n)})};
+/*------------------------------------------------------------------------*/
+/**
+ * The semantic version number.
+ *
+ * @static
+ * @memberOf _
+ * @type string
+ */lodash.VERSION=VERSION;
+// Assign default placeholders.
+arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],function(methodName){lodash[methodName].placeholder=lodash});
+// Add `LazyWrapper` methods for `_.drop` and `_.take` variants.
+arrayEach(["drop","take"],function(methodName,index){LazyWrapper.prototype[methodName]=function(n){var filtered=this.__filtered__;if(filtered&&!index){return new LazyWrapper(this)}n=n==null?1:nativeMax(nativeFloor(n)||0,0);var result=this.clone();if(filtered){result.__takeCount__=nativeMin(result.__takeCount__,n)}else{result.__views__.push({size:n,type:methodName+(result.__dir__<0?"Right":"")})}return result};LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}});
+// Add `LazyWrapper` methods that accept an `iteratee` value.
+arrayEach(["filter","map","takeWhile"],function(methodName,index){var type=index+1,isFilter=type!=LAZY_MAP_FLAG;LazyWrapper.prototype[methodName]=function(iteratee,thisArg){var result=this.clone();result.__iteratees__.push({iteratee:getCallback(iteratee,thisArg,1),type:type});result.__filtered__=result.__filtered__||isFilter;return result}});
+// Add `LazyWrapper` methods for `_.first` and `_.last`.
+arrayEach(["first","last"],function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}});
+// Add `LazyWrapper` methods for `_.initial` and `_.rest`.
+arrayEach(["initial","rest"],function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}});
+// Add `LazyWrapper` methods for `_.pluck` and `_.where`.
+arrayEach(["pluck","where"],function(methodName,index){var operationName=index?"filter":"map",createCallback=index?baseMatches:property;LazyWrapper.prototype[methodName]=function(value){return this[operationName](createCallback(value))}});LazyWrapper.prototype.compact=function(){return this.filter(identity)};LazyWrapper.prototype.reject=function(predicate,thisArg){predicate=getCallback(predicate,thisArg,1);return this.filter(function(value){return!predicate(value)})};LazyWrapper.prototype.slice=function(start,end){start=start==null?0:+start||0;var result=this;if(result.__filtered__&&(start>0||end<0)){return new LazyWrapper(result)}if(start<0){result=result.takeRight(-start)}else if(start){result=result.drop(start)}if(end!==undefined){end=+end||0;result=end<0?result.dropRight(-end):result.take(end-start)}return result};LazyWrapper.prototype.takeRightWhile=function(predicate,thisArg){return this.reverse().takeWhile(predicate,thisArg).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(POSITIVE_INFINITY)};
+// Add `LazyWrapper` methods to `lodash.prototype`.
+baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|map|reject)|While$/.test(methodName),retUnwrapped=/^(?:first|last)$/.test(methodName),lodashFunc=lodash[retUnwrapped?"take"+(methodName=="last"?"Right":""):methodName];if(!lodashFunc){return}lodash.prototype[methodName]=function(){var args=retUnwrapped?[1]:arguments,chainAll=this.__chain__,value=this.__wrapped__,isHybrid=!!this.__actions__.length,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value);if(useLazy&&checkIteratee&&typeof iteratee=="function"&&iteratee.length!=1){
+// Avoid lazy use if the iteratee has a "length" value other than `1`.
+isLazy=useLazy=false}var interceptor=function(value){return retUnwrapped&&chainAll?lodashFunc(value,1)[0]:lodashFunc.apply(undefined,arrayPush([value],args))};var action={func:thru,args:[interceptor],thisArg:undefined},onlyLazy=isLazy&&!isHybrid;if(retUnwrapped&&!chainAll){if(onlyLazy){value=value.clone();value.__actions__.push(action);return func.call(value)}return lodashFunc.call(undefined,this.value())[0]}if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);result.__actions__.push(action);return new LodashWrapper(result,chainAll)}return this.thru(interceptor)}});
+// Add `Array` and `String` methods to `lodash.prototype`.
+arrayEach(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(methodName){var func=(/^(?:replace|split)$/.test(methodName)?stringProto:arrayProto)[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:join|pop|replace|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){return func.apply(this.value(),args)}return this[chainName](function(value){return func.apply(value,args)})}});
+// Map minified function names to their real names.
+baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name,names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}});realNames[createHybridWrapper(undefined,BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}];
+// Add functions to the lazy wrapper.
+LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;
+// Add chaining functions to the `lodash` wrapper.
+lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.concat=wrapperConcat;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toString=wrapperToString;lodash.prototype.run=lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;
+// Add function aliases to the `lodash` wrapper.
+lodash.prototype.collect=lodash.prototype.map;lodash.prototype.head=lodash.prototype.first;lodash.prototype.select=lodash.prototype.filter;lodash.prototype.tail=lodash.prototype.rest;return lodash}
+/*--------------------------------------------------------------------------*/
+// Export lodash.
+var _=runInContext();
+// Some AMD build optimizers like r.js check for condition patterns like the following:
+if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){
+// Expose lodash to the global object when an AMD loader is present to avoid
+// errors in cases where lodash is loaded by a script tag and not intended
+// as an AMD module. See http://requirejs.org/docs/errors.html#mismatch for
+// more details.
+root._=_;
+// Define as an anonymous module so, through path mapping, it can be
+// referenced as the "underscore" module.
+define(function(){return _})}
+// Check for `exports` after `define` in case a build optimizer adds an `exports` object.
+else if(freeExports&&freeModule){
+// Export for Node.js or RingoJS.
+if(moduleExports){(freeModule.exports=_)._=_}
+// Export for Rhino with CommonJS support.
+else{freeExports._=_}}else{
+// Export for a browser or Rhino.
+root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}]},{},[1])(1)}); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/ext.mermaid.css b/www/wiki/extensions/Mermaid/res/ext.mermaid.css
new file mode 100644
index 00000000..d3c4435d
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/ext.mermaid.css
@@ -0,0 +1,12 @@
+/*!
+ * @file
+ * @ingroup SMW
+ *
+ * @licence GNU GPL v2+
+ * @author mwjames
+ */
+.mermaid-dots {
+ background: url('data:image/gif;base64,R0lGODlhIgAUAMQRAOjp6dTW19ze3+Xm54iKjevs7IKEh/f396Olp5ianPz8/Judn9fY2YGDhp+ho4CChdHT1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxRThFNDZFQ0RFQjJFMjExQUZCNUREQjU1MEFCRTI5OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNkVFNURCOUIyREYxMUUyQTBEQUNFNUIzREVGNjg0MyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNkVFNURCOEIyREYxMUUyQTBEQUNFNUIzREVGNjg0MyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMDhFNDZFQ0RFQjJFMjExQUZCNUREQjU1MEFCRTI5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRThFNDZFQ0RFQjJFMjExQUZCNUREQjU1MEFCRTI5OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAkyABEALAAAAAAiABQAAAVeYCSOZGmeaKqubOu+cCzPdM0iBIGYgCAUPB8Q5XgYHw4SAMKEAJRNJ8pwfBhIgagAq0U1qg1ukyFmkk+L6oI0iD5H7ebbdEgYEweSYhAIDEp7fX82hIWGh4iJiosoIQAh+QQJMgARACwAAAAAIgAUAAAFZGAkjmRpnmiqrmzrvnAsz3TNFoIAmAhBICZArpACQI6Q3cjxaD4cJCNSaRIgIQGSwfkwkAJXAYpxzY4a3Mb3ykBJjwPSgrsgDa5U0yAQGChIBwlNCQckCnt9NoqLjI2Oj5CRKSEAIfkEBTIAEQAsAAAAACIAFAAABWNgJI5kaZ5oqq5s675wLM90zRaCAJi4biIEAiIFgBghu1HxmBQ5HtCHAyU4QgKk6hE7MkQfBhTDyhWNt6TGt4FaGgckNwQ+WnwXqUEgMFCU9Hx+IwcJUAkHNomKi4yNjo+QKCEAOw==') no-repeat left center;
+ padding: 5px 0 5px 35px;
+ vertical-align: middle;
+}
diff --git a/www/wiki/extensions/Mermaid/res/ext.mermaid.js b/www/wiki/extensions/Mermaid/res/ext.mermaid.js
new file mode 100644
index 00000000..b2e2b906
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/ext.mermaid.js
@@ -0,0 +1,38 @@
+/*!
+ * @file
+ * @ingroup SMW
+ *
+ * @licence GNU GPL v2+
+ * @author mwjames
+ */
+
+/*global jQuery, mediaWiki, smw */
+/*jslint white: true */
+
+( function( $, mw ) {
+
+ 'use strict';
+
+ var config = mw.config.get( 'mermaid' );
+
+ mw.loader.using( [ 'mediawiki.api', 'ext.mermaid', 'ext.mermaid.theme.' + config.theme ] ).then( function () {
+
+ $( document ).ready( function() {
+
+ $( '.ext-mermaid' ).each( function() {
+
+ var that = $( this );
+
+ var id = 'ext-mermaid-' + ( new Date().getTime() );
+ var data = that.data( 'mermaid' );
+
+ that.find( '.mermaid-dots' ).hide();
+ that.append( '<div id=' + id + '> ' + data.content + ' </div>' );
+
+ mermaid.initialize( data.config );
+ mermaid.init( undefined, $( "#" + id ) );
+ } );
+ } );
+} );
+
+}( jQuery, mediaWiki ) );
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css
new file mode 100644
index 00000000..e8912f71
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.dark.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#323d47}.node circle,.node ellipse,.node polygon,.node rect{fill:#bdd5ea;stroke:#81b1db;stroke-width:1px}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#6d6d65!important;rx:4!important;stroke:hsla(0,0%,100%,.25)!important;stroke-width:1px!important}.cluster text{fill:#f9fffe}.actor{stroke:#81b1db;fill:#bdd5ea}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#d3d3d3}#arrowhead,#crosshead path{fill:#d3d3d3!important}#crosshead path{stroke:#d3d3d3!important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81b1db;fill:#bdd5ea}.labelText{fill:#323d47;stroke:none}.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#81b1db}.note{stroke:hsla(0,0%,100%,.25);fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:hsla(0,0%,100%,.3)}.section2{fill:#eae8b9}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#f9fffe}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:hsla(0,0%,100%,.3);opacity:.3;shape-rendering:crispEdges}.grid .tick text{fill:#d3d3d3;opacity:.5}.grid path{stroke-width:0}.today{fill:none;stroke:#db5757;stroke-width:2px}.task{stroke-width:1}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323d47}.task0,.task1,.task2,.task3{fill:#bdd5ea;stroke:hsla(0,0%,100%,.5)}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81b1db;stroke:hsla(0,0%,100%,.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323d47!important}.done0,.done1,.done2,.done3{fill:#d3d3d3}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323d47!important}.crit0,.crit1,.crit2,.crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#e83737;fill:#d3d3d3;stroke-width:1;cursor:pointer;shape-rendering:crispEdges}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#d3d3d3!important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#323d47!important}.titleText{text-anchor:middle;font-size:18px;fill:#d3d3d3}g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#bdd5ea;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}svg .classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:purple;stroke:purple;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#bdd5ea;stroke:purple;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:purple;stroke:purple;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#6d6d65;border:1px solid hsla(0,0%,100%,.25);border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css
new file mode 100644
index 00000000..f8a2fca3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.forest.min.css
@@ -0,0 +1 @@
+.mermaid .label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#cdffb2!important;rx:4!important;stroke:#6eaa49!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#13540c;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:.5}svg .classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css
new file mode 100644
index 00000000..a485f4ce
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#ececff;stroke:#ccf;stroke-width:1px}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#ffffde!important;rx:4!important;stroke:#aa3!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#ccf;fill:#ececff}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ececff}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:rgba(102,102,255,.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#9370db;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#ececff;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}svg .classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#ececff;stroke:#9370db;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js
new file mode 100644
index 00000000..637a9d4c
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.min.js
@@ -0,0 +1,28 @@
+!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=170)}([function(t,e,n){(function(t){!function(e,n){t.exports=n()}(0,function(){"use strict";function e(){return Mr.apply(null,arguments)}function r(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function i(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){var e;for(e in t)return!1;return!0}function o(t){return void 0===t}function u(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function s(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function c(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function l(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var n in e)l(e,n)&&(t[n]=e[n]);return l(e,"toString")&&(t.toString=e.toString),l(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,n,r){return ve(t,e,n,r,!0).utc()}function f(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function _(t){return null==t._pf&&(t._pf=f()),t._pf}function p(t){if(null==t._isValid){var e=_(t),n=Lr.call(e.parsedDateParts,function(t){return null!=t}),r=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(r=r&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return r;t._isValid=r}return t._isValid}function m(t){var e=h(NaN);return null!=t?d(_(e),t):_(e).userInvalidated=!0,e}function y(t,e){var n,r,i;if(o(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),o(e._i)||(t._i=e._i),o(e._f)||(t._f=e._f),o(e._l)||(t._l=e._l),o(e._strict)||(t._strict=e._strict),o(e._tzm)||(t._tzm=e._tzm),o(e._isUTC)||(t._isUTC=e._isUTC),o(e._offset)||(t._offset=e._offset),o(e._pf)||(t._pf=_(e)),o(e._locale)||(t._locale=e._locale),kr.length>0)for(n=0;n<kr.length;n++)r=kr[n],i=e[r],o(i)||(t[r]=i);return t}function g(t){y(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===wr&&(wr=!0,e.updateOffset(this),wr=!1)}function v(t){return t instanceof g||null!=t&&null!=t._isAMomentObject}function M(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function b(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=M(e)),n}function L(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;r<i;r++)(n&&t[r]!==e[r]||!n&&b(t[r])!==b(e[r]))&&o++;return o+a}function k(t){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function w(t,n){var r=!0;return d(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),r){for(var i,a=[],o=0;o<arguments.length;o++){if(i="","object"==typeof arguments[o]){i+="\n["+o+"] ";for(var u in arguments[0])i+=u+": "+arguments[0][u]+", ";i=i.slice(0,-2)}else i=arguments[o];a.push(i)}k(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),r=!1}return n.apply(this,arguments)},n)}function D(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),Dr[t]||(k(n),Dr[t]=!0)}function x(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function Y(t){var e,n;for(n in t)e=t[n],x(e)?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function T(t,e){var n,r=d({},t);for(n in e)l(e,n)&&(i(t[n])&&i(e[n])?(r[n]={},d(r[n],t[n]),d(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);for(n in t)l(t,n)&&!l(e,n)&&i(t[n])&&(r[n]=d({},r[n]));return r}function A(t){null!=t&&this.set(t)}function E(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return x(r)?r.call(e,n):r}function S(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function F(){return this._invalidDate}function C(t){return this._ordinal.replace("%d",t)}function j(t,e,n,r){var i=this._relativeTime[n];return x(i)?i(t,e,n,r):i.replace(/%d/i,t)}function H(t,e){var n=this._relativeTime[t>0?"future":"past"];return x(n)?n(e):n.replace(/%s/i,e)}function O(t,e){var n=t.toLowerCase();Cr[n]=Cr[n+"s"]=Cr[e]=t}function P(t){return"string"==typeof t?Cr[t]||Cr[t.toLowerCase()]:void 0}function N(t){var e,n,r={};for(n in t)l(t,n)&&(e=P(n))&&(r[e]=t[n]);return r}function B(t,e){jr[t]=e}function I(t){var e=[];for(var n in t)e.push({unit:n,priority:jr[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}function R(t,n){return function(r){return null!=r?(z(this,t,r),e.updateOffset(this,n),this):W(this,t)}}function W(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function z(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function q(t){return t=P(t),x(this[t])?this[t]():this}function U(t,e){if("object"==typeof t){t=N(t);for(var n=I(t),r=0;r<n.length;r++)this[n[r].unit](t[n[r].unit])}else if(t=P(t),x(this[t]))return this[t](e);return this}function $(t,e,n){var r=""+Math.abs(t),i=e-r.length;return(t>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function V(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(Nr[t]=i),e&&(Nr[e[0]]=function(){return $(i.apply(this,arguments),e[1],e[2])}),n&&(Nr[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function G(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function J(t){var e,n,r=t.match(Hr);for(e=0,n=r.length;e<n;e++)Nr[r[e]]?r[e]=Nr[r[e]]:r[e]=G(r[e]);return function(e){var i,a="";for(i=0;i<n;i++)a+=x(r[i])?r[i].call(e,t):r[i];return a}}function Z(t,e){return t.isValid()?(e=K(e,t.localeData()),Pr[e]=Pr[e]||J(e),Pr[e](t)):t.localeData().invalidDate()}function K(t,e){function n(t){return e.longDateFormat(t)||t}var r=5;for(Or.lastIndex=0;r>=0&&Or.test(t);)t=t.replace(Or,n),Or.lastIndex=0,r-=1;return t}function X(t,e,n){ni[t]=x(e)?e:function(t,r){return t&&n?n:e}}function Q(t,e){return l(ni,t)?ni[t](e._strict,e._locale):new RegExp(tt(t))}function tt(t){return et(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i}))}function et(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function nt(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),u(e)&&(r=function(t,n){n[e]=b(t)}),n=0;n<t.length;n++)ri[t[n]]=r}function rt(t,e){nt(t,function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)})}function it(t,e,n){null!=e&&l(ri,t)&&ri[t](e,n._a,n,t)}function at(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function ot(t,e){return t?r(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||_i).test(e)?"format":"standalone"][t.month()]:r(this._months)?this._months:this._months.standalone}function ut(t,e){return t?r(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[_i.test(e)?"format":"standalone"][t.month()]:r(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function st(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)a=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?(i=fi.call(this._shortMonthsParse,o),-1!==i?i:null):(i=fi.call(this._longMonthsParse,o),-1!==i?i:null):"MMM"===e?-1!==(i=fi.call(this._shortMonthsParse,o))?i:(i=fi.call(this._longMonthsParse,o),-1!==i?i:null):-1!==(i=fi.call(this._longMonthsParse,o))?i:(i=fi.call(this._shortMonthsParse,o),-1!==i?i:null)}function ct(t,e,n){var r,i,a;if(this._monthsParseExact)return st.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}}function lt(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=b(e);else if(e=t.localeData().monthsParse(e),!u(e))return t;return n=Math.min(t.date(),at(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function dt(t){return null!=t?(lt(this,t),e.updateOffset(this,!0),this):W(this,"Month")}function ht(){return at(this.year(),this.month())}function ft(t){return this._monthsParseExact?(l(this,"_monthsRegex")||pt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=yi),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)}function _t(t){return this._monthsParseExact?(l(this,"_monthsRegex")||pt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=gi),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)}function pt(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;e<12;e++)n=h([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)r[e]=et(r[e]),i[e]=et(i[e]);for(e=0;e<24;e++)a[e]=et(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function mt(t){return yt(t)?366:365}function yt(t){return t%4==0&&t%100!=0||t%400==0}function gt(){return yt(this.year())}function vt(t,e,n,r,i,a,o){var u=new Date(t,e,n,r,i,a,o);return t<100&&t>=0&&isFinite(u.getFullYear())&&u.setFullYear(t),u}function Mt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function bt(t,e,n){var r=7+e-n;return-(7+Mt(t,0,r).getUTCDay()-e)%7+r-1}function Lt(t,e,n,r,i){var a,o,u=(7+n-r)%7,s=bt(t,r,i),c=1+7*(e-1)+u+s;return c<=0?(a=t-1,o=mt(a)+c):c>mt(t)?(a=t+1,o=c-mt(t)):(a=t,o=c),{year:a,dayOfYear:o}}function kt(t,e,n){var r,i,a=bt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?(i=t.year()-1,r=o+wt(i,e,n)):o>wt(t.year(),e,n)?(r=o-wt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function wt(t,e,n){var r=bt(t,e,n),i=bt(t+1,e,n);return(mt(t)-r+i)/7}function Dt(t){return kt(t,this._week.dow,this._week.doy).week}function xt(){return this._week.dow}function Yt(){return this._week.doy}function Tt(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function At(t){var e=kt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Et(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function St(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Ft(t,e){return t?r(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:r(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ct(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}function jt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Ht(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?(i=fi.call(this._weekdaysParse,o),-1!==i?i:null):"ddd"===e?(i=fi.call(this._shortWeekdaysParse,o),-1!==i?i:null):(i=fi.call(this._minWeekdaysParse,o),-1!==i?i:null):"dddd"===e?-1!==(i=fi.call(this._weekdaysParse,o))?i:-1!==(i=fi.call(this._shortWeekdaysParse,o))?i:(i=fi.call(this._minWeekdaysParse,o),-1!==i?i:null):"ddd"===e?-1!==(i=fi.call(this._shortWeekdaysParse,o))?i:-1!==(i=fi.call(this._weekdaysParse,o))?i:(i=fi.call(this._minWeekdaysParse,o),-1!==i?i:null):-1!==(i=fi.call(this._minWeekdaysParse,o))?i:-1!==(i=fi.call(this._weekdaysParse,o))?i:(i=fi.call(this._shortWeekdaysParse,o),-1!==i?i:null)}function Ot(t,e,n){var r,i,a;if(this._weekdaysParseExact)return Ht.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}}function Pt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Et(t,this.localeData()),this.add(t-e,"d")):e}function Nt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Bt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=St(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function It(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=wi),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Rt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Di),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wt(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=xi),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function zt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],u=[],s=[],c=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),u.push(i),s.push(a),c.push(r),c.push(i),c.push(a);for(o.sort(t),u.sort(t),s.sort(t),c.sort(t),e=0;e<7;e++)u[e]=et(u[e]),s[e]=et(s[e]),c[e]=et(c[e]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function qt(){return this.hours()%12||12}function Ut(){return this.hours()||24}function $t(t,e){V(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function Vt(t,e){return e._meridiemParse}function Gt(t){return"p"===(t+"").toLowerCase().charAt(0)}function Jt(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function Zt(t){return t?t.toLowerCase().replace("_","-"):t}function Kt(t){for(var e,n,r,i,a=0;a<t.length;){for(i=Zt(t[a]).split("-"),e=i.length,n=Zt(t[a+1]),n=n?n.split("-"):null;e>0;){if(r=Xt(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&L(i,n,!0)>=e-1)break;e--}a++}return null}function Xt(e){var r=null;if(!Si[e]&&void 0!==t&&t&&t.exports)try{r=Yi._abbr,n(247)("./"+e),Qt(r)}catch(t){}return Si[e]}function Qt(t,e){var n;return t&&(n=o(e)?ne(t):te(t,e))&&(Yi=n),Yi._abbr}function te(t,e){if(null!==e){var n=Ei;if(e.abbr=t,null!=Si[t])D("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."),n=Si[t]._config;else if(null!=e.parentLocale){if(null==Si[e.parentLocale])return Fi[e.parentLocale]||(Fi[e.parentLocale]=[]),Fi[e.parentLocale].push({name:t,config:e}),null;n=Si[e.parentLocale]._config}return Si[t]=new A(T(n,e)),Fi[t]&&Fi[t].forEach(function(t){te(t.name,t.config)}),Qt(t),Si[t]}return delete Si[t],null}function ee(t,e){if(null!=e){var n,r=Ei;null!=Si[t]&&(r=Si[t]._config),e=T(r,e),n=new A(e),n.parentLocale=Si[t],Si[t]=n,Qt(t)}else null!=Si[t]&&(null!=Si[t].parentLocale?Si[t]=Si[t].parentLocale:null!=Si[t]&&delete Si[t]);return Si[t]}function ne(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Yi;if(!r(t)){if(e=Xt(t))return e;t=[t]}return Kt(t)}function re(){return Tr(Si)}function ie(t){var e,n=t._a;return n&&-2===_(t).overflow&&(e=n[ai]<0||n[ai]>11?ai:n[oi]<1||n[oi]>at(n[ii],n[ai])?oi:n[ui]<0||n[ui]>24||24===n[ui]&&(0!==n[si]||0!==n[ci]||0!==n[li])?ui:n[si]<0||n[si]>59?si:n[ci]<0||n[ci]>59?ci:n[li]<0||n[li]>999?li:-1,_(t)._overflowDayOfYear&&(e<ii||e>oi)&&(e=oi),_(t)._overflowWeeks&&-1===e&&(e=di),_(t)._overflowWeekday&&-1===e&&(e=hi),_(t).overflow=e),t}function ae(t){var e,n,r,i,a,o,u=t._i,s=Ci.exec(u)||ji.exec(u);if(s){for(_(t).iso=!0,e=0,n=Oi.length;e<n;e++)if(Oi[e][1].exec(s[1])){i=Oi[e][0],r=!1!==Oi[e][2];break}if(null==i)return void(t._isValid=!1);if(s[3]){for(e=0,n=Pi.length;e<n;e++)if(Pi[e][1].exec(s[3])){a=(s[2]||" ")+Pi[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(s[4]){if(!Hi.exec(s[4]))return void(t._isValid=!1);o="Z"}t._f=i+(a||"")+(o||""),he(t)}else t._isValid=!1}function oe(t){var e,n,r,i,a,o,u,s,c={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},l="YXWVUTSRQPONZABCDEFGHIKLM";if(e=t._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),n=Bi.exec(e)){if(r=n[1]?"ddd"+(5===n[1].length?", ":" "):"",i="D MMM "+(n[2].length>10?"YYYY ":"YY "),a="HH:mm"+(n[4]?":ss":""),n[1]){var d=new Date(n[2]),h=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][d.getDay()];if(n[1].substr(0,3)!==h)return _(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(n[5].length){case 2:0===s?u=" +0000":(s=l.indexOf(n[5][1].toUpperCase())-12,u=(s<0?" -":" +")+(""+s).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:u=c[n[5]];break;default:u=c[" GMT"]}n[5]=u,t._i=n.splice(1).join(""),o=" ZZ",t._f=r+i+a+o,he(t),_(t).rfc2822=!0}else t._isValid=!1}function ue(t){var n=Ni.exec(t._i);if(null!==n)return void(t._d=new Date(+n[1]));ae(t),!1===t._isValid&&(delete t._isValid,oe(t),!1===t._isValid&&(delete t._isValid,e.createFromInputFallback(t)))}function se(t,e,n){return null!=t?t:null!=e?e:n}function ce(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function le(t){var e,n,r,i,a=[];if(!t._d){for(r=ce(t),t._w&&null==t._a[oi]&&null==t._a[ai]&&de(t),null!=t._dayOfYear&&(i=se(t._a[ii],r[ii]),(t._dayOfYear>mt(i)||0===t._dayOfYear)&&(_(t)._overflowDayOfYear=!0),n=Mt(i,0,t._dayOfYear),t._a[ai]=n.getUTCMonth(),t._a[oi]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=a[e]=r[e];for(;e<7;e++)t._a[e]=a[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ui]&&0===t._a[si]&&0===t._a[ci]&&0===t._a[li]&&(t._nextDay=!0,t._a[ui]=0),t._d=(t._useUTC?Mt:vt).apply(null,a),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ui]=24)}}function de(t){var e,n,r,i,a,o,u,s;if(e=t._w,null!=e.GG||null!=e.W||null!=e.E)a=1,o=4,n=se(e.GG,t._a[ii],kt(Me(),1,4).year),r=se(e.W,1),((i=se(e.E,1))<1||i>7)&&(s=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var c=kt(Me(),a,o);n=se(e.gg,t._a[ii],c.year),r=se(e.w,c.week),null!=e.d?((i=e.d)<0||i>6)&&(s=!0):null!=e.e?(i=e.e+a,(e.e<0||e.e>6)&&(s=!0)):i=a}r<1||r>wt(n,a,o)?_(t)._overflowWeeks=!0:null!=s?_(t)._overflowWeekday=!0:(u=Lt(n,r,i,a,o),t._a[ii]=u.year,t._dayOfYear=u.dayOfYear)}function he(t){if(t._f===e.ISO_8601)return void ae(t);if(t._f===e.RFC_2822)return void oe(t);t._a=[],_(t).empty=!0;var n,r,i,a,o,u=""+t._i,s=u.length,c=0;for(i=K(t._f,t._locale).match(Hr)||[],n=0;n<i.length;n++)a=i[n],r=(u.match(Q(a,t))||[])[0],r&&(o=u.substr(0,u.indexOf(r)),o.length>0&&_(t).unusedInput.push(o),u=u.slice(u.indexOf(r)+r.length),c+=r.length),Nr[a]?(r?_(t).empty=!1:_(t).unusedTokens.push(a),it(a,r,t)):t._strict&&!r&&_(t).unusedTokens.push(a);_(t).charsLeftOver=s-c,u.length>0&&_(t).unusedInput.push(u),t._a[ui]<=12&&!0===_(t).bigHour&&t._a[ui]>0&&(_(t).bigHour=void 0),_(t).parsedDateParts=t._a.slice(0),_(t).meridiem=t._meridiem,t._a[ui]=fe(t._locale,t._a[ui],t._meridiem),le(t),ie(t)}function fe(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(r=t.isPM(n),r&&e<12&&(e+=12),r||12!==e||(e=0),e):e}function _e(t){var e,n,r,i,a;if(0===t._f.length)return _(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;i<t._f.length;i++)a=0,e=y({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],he(e),p(e)&&(a+=_(e).charsLeftOver,a+=10*_(e).unusedTokens.length,_(e).score=a,(null==r||a<r)&&(r=a,n=e));d(t,n||e)}function pe(t){if(!t._d){var e=N(t._i);t._a=c([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),le(t)}}function me(t){var e=new g(ie(ye(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function ye(t){var e=t._i,n=t._f;return t._locale=t._locale||ne(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),v(e)?new g(ie(e)):(s(e)?t._d=e:r(n)?_e(t):n?he(t):ge(t),p(t)||(t._d=null),t))}function ge(t){var n=t._i;o(n)?t._d=new Date(e.now()):s(n)?t._d=new Date(n.valueOf()):"string"==typeof n?ue(t):r(n)?(t._a=c(n.slice(0),function(t){return parseInt(t,10)}),le(t)):i(n)?pe(t):u(n)?t._d=new Date(n):e.createFromInputFallback(t)}function ve(t,e,n,o,u){var s={};return!0!==n&&!1!==n||(o=n,n=void 0),(i(t)&&a(t)||r(t)&&0===t.length)&&(t=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=u,s._l=n,s._i=t,s._f=e,s._strict=o,me(s)}function Me(t,e,n,r){return ve(t,e,n,r,!1)}function be(t,e){var n,i;if(1===e.length&&r(e[0])&&(e=e[0]),!e.length)return Me();for(n=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](n)||(n=e[i]);return n}function Le(){return be("isBefore",[].slice.call(arguments,0))}function ke(){return be("isAfter",[].slice.call(arguments,0))}function we(t){for(var e in t)if(-1===zi.indexOf(e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,r=0;r<zi.length;++r)if(t[zi[r]]){if(n)return!1;parseFloat(t[zi[r]])!==b(t[zi[r]])&&(n=!0)}return!0}function De(){return this._isValid}function xe(){return Ue(NaN)}function Ye(t){var e=N(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||0,o=e.day||0,u=e.hour||0,s=e.minute||0,c=e.second||0,l=e.millisecond||0;this._isValid=we(e),this._milliseconds=+l+1e3*c+6e4*s+1e3*u*60*60,this._days=+o+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=ne(),this._bubble()}function Te(t){return t instanceof Ye}function Ae(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ee(t,e){V(t,0,0,function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+$(~~(t/60),2)+e+$(~~t%60,2)})}function Se(t,e){var n=(e||"").match(t);if(null===n)return null;var r=n[n.length-1]||[],i=(r+"").match(qi)||["-",0,0],a=60*i[1]+b(i[2]);return 0===a?0:"+"===i[0]?a:-a}function Fe(t,n){var r,i;return n._isUTC?(r=n.clone(),i=(v(t)||s(t)?t.valueOf():Me(t).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+i),e.updateOffset(r,!1),r):Me(t).local()}function Ce(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function je(t,n,r){var i,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Se(Qr,t)))return this}else Math.abs(t)<16&&!r&&(t*=60);return!this._isUTC&&n&&(i=Ce(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),a!==t&&(!n||this._changeInProgress?Ze(this,Ue(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Ce(this)}function He(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Oe(t){return this.utcOffset(0,t)}function Pe(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ce(this),"m")),this}function Ne(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Se(Xr,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this}function Be(t){return!!this.isValid()&&(t=t?Me(t).utcOffset():0,(this.utcOffset()-t)%60==0)}function Ie(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Re(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(y(t,this),t=ye(t),t._a){var e=t._isUTC?h(t._a):Me(t._a);this._isDSTShifted=this.isValid()&&L(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function We(){return!!this.isValid()&&!this._isUTC}function ze(){return!!this.isValid()&&this._isUTC}function qe(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ue(t,e){var n,r,i,a=t,o=null;return Te(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:u(t)?(a={},e?a[e]=t:a.milliseconds=t):(o=Ui.exec(t))?(n="-"===o[1]?-1:1,a={y:0,d:b(o[oi])*n,h:b(o[ui])*n,m:b(o[si])*n,s:b(o[ci])*n,ms:b(Ae(1e3*o[li]))*n}):(o=$i.exec(t))?(n="-"===o[1]?-1:1,a={y:$e(o[2],n),M:$e(o[3],n),w:$e(o[4],n),d:$e(o[5],n),h:$e(o[6],n),m:$e(o[7],n),s:$e(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=Ge(Me(a.from),Me(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),r=new Ye(a),Te(t)&&l(t,"_locale")&&(r._locale=t._locale),r}function $e(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Ve(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Ge(t,e){var n;return t.isValid()&&e.isValid()?(e=Fe(e,t),t.isBefore(e)?n=Ve(t,e):(n=Ve(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Je(t,e){return function(n,r){var i,a;return null===r||isNaN(+r)||(D(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=n,n=r,r=a),n="string"==typeof n?+n:n,i=Ue(n,r),Ze(this,i,t),this}}function Ze(t,n,r,i){var a=n._milliseconds,o=Ae(n._days),u=Ae(n._months);t.isValid()&&(i=null==i||i,a&&t._d.setTime(t._d.valueOf()+a*r),o&&z(t,"Date",W(t,"Date")+o*r),u&&lt(t,W(t,"Month")+u*r),i&&e.updateOffset(t,o||u))}function Ke(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Xe(t,n){var r=t||Me(),i=Fe(r,this).startOf("day"),a=e.calendarFormat(this,i)||"sameElse",o=n&&(x(n[a])?n[a].call(this,r):n[a]);return this.format(o||this.localeData().calendar(a,this,Me(r)))}function Qe(){return new g(this)}function tn(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&(e=P(o(e)?"millisecond":e),"millisecond"===e?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())}function en(t,e){var n=v(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&(e=P(o(e)?"millisecond":e),"millisecond"===e?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())}function nn(t,e,n,r){return r=r||"()",("("===r[0]?this.isAfter(t,n):!this.isBefore(t,n))&&(")"===r[1]?this.isBefore(e,n):!this.isAfter(e,n))}function rn(t,e){var n,r=v(t)?t:Me(t);return!(!this.isValid()||!r.isValid())&&(e=P(e||"millisecond"),"millisecond"===e?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))}function an(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function on(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function un(t,e,n){var r,i,a,o;return this.isValid()?(r=Fe(t,this),r.isValid()?(i=6e4*(r.utcOffset()-this.utcOffset()),e=P(e),"year"===e||"month"===e||"quarter"===e?(o=sn(this,r),"quarter"===e?o/=3:"year"===e&&(o/=12)):(a=this-r,o="second"===e?a/1e3:"minute"===e?a/6e4:"hour"===e?a/36e5:"day"===e?(a-i)/864e5:"week"===e?(a-i)/6048e5:a),n?o:M(o)):NaN):NaN}function sn(t,e){var n,r,i=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(i,"months");return e-a<0?(n=t.clone().add(i-1,"months"),r=(e-a)/(a-n)):(n=t.clone().add(i+1,"months"),r=(e-a)/(n-a)),-(i+r)||0}function cn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ln(){if(!this.isValid())return null;var t=this.clone().utc();return t.year()<0||t.year()>9999?Z(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):x(Date.prototype.toISOString)?this.toDate().toISOString():Z(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function dn(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=e+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+i)}function hn(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=Z(this,t);return this.localeData().postformat(n)}function fn(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function _n(t){return this.from(Me(),t)}function pn(t,e){return this.isValid()&&(v(t)&&t.isValid()||Me(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function mn(t){return this.to(Me(),t)}function yn(t){var e;return void 0===t?this._locale._abbr:(e=ne(t),null!=e&&(this._locale=e),this)}function gn(){return this._locale}function vn(t){switch(t=P(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this}function Mn(t){return void 0===(t=P(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))}function bn(){return this._d.valueOf()-6e4*(this._offset||0)}function Ln(){return Math.floor(this.valueOf()/1e3)}function kn(){return new Date(this.valueOf())}function wn(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Dn(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function xn(){return this.isValid()?this.toISOString():null}function Yn(){return p(this)}function Tn(){return d({},_(this))}function An(){return _(this).overflow}function En(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Sn(t,e){V(0,[t,t.length],0,e)}function Fn(t){return On.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Cn(t){return On.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}function jn(){return wt(this.year(),1,4)}function Hn(){var t=this.localeData()._week;return wt(this.year(),t.dow,t.doy)}function On(t,e,n,r,i){var a;return null==t?kt(this,r,i).year:(a=wt(t,r,i),e>a&&(e=a),Pn.call(this,t,e,n,r,i))}function Pn(t,e,n,r,i){var a=Lt(t,e,n,r,i),o=Mt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Nn(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Bn(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function In(t,e){e[li]=b(1e3*("0."+t))}function Rn(){return this._isUTC?"UTC":""}function Wn(){return this._isUTC?"Coordinated Universal Time":""}function zn(t){return Me(1e3*t)}function qn(){return Me.apply(null,arguments).parseZone()}function Un(t){return t}function $n(t,e,n,r){var i=ne(),a=h().set(r,e);return i[n](a,t)}function Vn(t,e,n){if(u(t)&&(e=t,t=void 0),t=t||"",null!=e)return $n(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=$n(t,r,n,"month");return i}function Gn(t,e,n,r){"boolean"==typeof t?(u(e)&&(n=e,e=void 0),e=e||""):(e=t,n=e,t=!1,u(e)&&(n=e,e=void 0),e=e||"");var i=ne(),a=t?i._week.dow:0;if(null!=n)return $n(e,(n+a)%7,r,"day");var o,s=[];for(o=0;o<7;o++)s[o]=$n(e,(o+a)%7,r,"day");return s}function Jn(t,e){return Vn(t,e,"months")}function Zn(t,e){return Vn(t,e,"monthsShort")}function Kn(t,e,n){return Gn(t,e,n,"weekdays")}function Xn(t,e,n){return Gn(t,e,n,"weekdaysShort")}function Qn(t,e,n){return Gn(t,e,n,"weekdaysMin")}function tr(){var t=this._data;return this._milliseconds=ra(this._milliseconds),this._days=ra(this._days),this._months=ra(this._months),t.milliseconds=ra(t.milliseconds),t.seconds=ra(t.seconds),t.minutes=ra(t.minutes),t.hours=ra(t.hours),t.months=ra(t.months),t.years=ra(t.years),this}function er(t,e,n,r){var i=Ue(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function nr(t,e){return er(this,t,e,1)}function rr(t,e){return er(this,t,e,-1)}function ir(t){return t<0?Math.floor(t):Math.ceil(t)}function ar(){var t,e,n,r,i,a=this._milliseconds,o=this._days,u=this._months,s=this._data;return a>=0&&o>=0&&u>=0||a<=0&&o<=0&&u<=0||(a+=864e5*ir(ur(u)+o),o=0,u=0),s.milliseconds=a%1e3,t=M(a/1e3),s.seconds=t%60,e=M(t/60),s.minutes=e%60,n=M(e/60),s.hours=n%24,o+=M(n/24),i=M(or(o)),u+=i,o-=ir(ur(i)),r=M(u/12),u%=12,s.days=o,s.months=u,s.years=r,this}function or(t){return 4800*t/146097}function ur(t){return 146097*t/4800}function sr(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=P(t))||"year"===t)return e=this._days+r/864e5,n=this._months+or(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ur(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}}function cr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*b(this._months/12):NaN}function lr(t){return function(){return this.as(t)}}function dr(t){return t=P(t),this.isValid()?this[t+"s"]():NaN}function hr(t){return function(){return this.isValid()?this._data[t]:NaN}}function fr(){return M(this.days()/7)}function _r(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}function pr(t,e,n){var r=Ue(t).abs(),i=va(r.as("s")),a=va(r.as("m")),o=va(r.as("h")),u=va(r.as("d")),s=va(r.as("M")),c=va(r.as("y")),l=i<=Ma.ss&&["s",i]||i<Ma.s&&["ss",i]||a<=1&&["m"]||a<Ma.m&&["mm",a]||o<=1&&["h"]||o<Ma.h&&["hh",o]||u<=1&&["d"]||u<Ma.d&&["dd",u]||s<=1&&["M"]||s<Ma.M&&["MM",s]||c<=1&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,_r.apply(null,l)}function mr(t){return void 0===t?va:"function"==typeof t&&(va=t,!0)}function yr(t,e){return void 0!==Ma[t]&&(void 0===e?Ma[t]:(Ma[t]=e,"s"===t&&(Ma.ss=e-1),!0))}function gr(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=pr(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function vr(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n,r=ba(this._milliseconds)/1e3,i=ba(this._days),a=ba(this._months);t=M(r/60),e=M(t/60),r%=60,t%=60,n=M(a/12),a%=12;var o=n,u=a,s=i,c=e,l=t,d=r,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(o?o+"Y":"")+(u?u+"M":"")+(s?s+"D":"")+(c||l||d?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(d?d+"S":""):"P0D"}var Mr,br;br=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;r<n;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var Lr=br,kr=e.momentProperties=[],wr=!1,Dr={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var xr;xr=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)l(t,e)&&n.push(e);return n};var Yr,Tr=xr,Ar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Er={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"},Sr=/\d{1,2}/,Fr={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"},Cr={},jr={},Hr=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Or=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pr={},Nr={},Br=/\d/,Ir=/\d\d/,Rr=/\d{3}/,Wr=/\d{4}/,zr=/[+-]?\d{6}/,qr=/\d\d?/,Ur=/\d\d\d\d?/,$r=/\d\d\d\d\d\d?/,Vr=/\d{1,3}/,Gr=/\d{1,4}/,Jr=/[+-]?\d{1,6}/,Zr=/\d+/,Kr=/[+-]?\d+/,Xr=/Z|[+-]\d\d:?\d\d/gi,Qr=/Z|[+-]\d\d(?::?\d\d)?/gi,ti=/[+-]?\d+(\.\d{1,3})?/,ei=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ni={},ri={},ii=0,ai=1,oi=2,ui=3,si=4,ci=5,li=6,di=7,hi=8;Yr=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1};var fi=Yr;V("M",["MM",2],"Mo",function(){return this.month()+1}),V("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),V("MMMM",0,0,function(t){return this.localeData().months(this,t)}),O("month","M"),B("month",8),X("M",qr),X("MM",qr,Ir),X("MMM",function(t,e){return e.monthsShortRegex(t)}),X("MMMM",function(t,e){return e.monthsRegex(t)}),nt(["M","MM"],function(t,e){e[ai]=b(t)-1}),nt(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[ai]=i:_(n).invalidMonth=t});var _i=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,pi="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),mi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),yi=ei,gi=ei;V("Y",0,0,function(){var t=this.year();return t<=9999?""+t:"+"+t}),V(0,["YY",2],0,function(){return this.year()%100}),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),O("year","y"),B("year",1),X("Y",Kr),X("YY",qr,Ir),X("YYYY",Gr,Wr),X("YYYYY",Jr,zr),X("YYYYYY",Jr,zr),nt(["YYYYY","YYYYYY"],ii),nt("YYYY",function(t,n){n[ii]=2===t.length?e.parseTwoDigitYear(t):b(t)}),nt("YY",function(t,n){n[ii]=e.parseTwoDigitYear(t)}),nt("Y",function(t,e){e[ii]=parseInt(t,10)}),e.parseTwoDigitYear=function(t){return b(t)+(b(t)>68?1900:2e3)};var vi=R("FullYear",!0);V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),B("week",5),B("isoWeek",5),X("w",qr),X("ww",qr,Ir),X("W",qr),X("WW",qr,Ir),rt(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=b(t)});var Mi={dow:0,doy:6};V("d",0,"do","day"),V("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),V("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),V("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),B("day",11),B("weekday",11),B("isoWeekday",11),X("d",qr),X("e",qr),X("E",qr),X("dd",function(t,e){return e.weekdaysMinRegex(t)}),X("ddd",function(t,e){return e.weekdaysShortRegex(t)}),X("dddd",function(t,e){return e.weekdaysRegex(t)}),rt(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:_(n).invalidWeekday=t}),rt(["d","e","E"],function(t,e,n,r){e[r]=b(t)});var bi="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Li="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ki="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wi=ei,Di=ei,xi=ei;V("H",["HH",2],0,"hour"),V("h",["hh",2],0,qt),V("k",["kk",2],0,Ut),V("hmm",0,0,function(){return""+qt.apply(this)+$(this.minutes(),2)}),V("hmmss",0,0,function(){return""+qt.apply(this)+$(this.minutes(),2)+$(this.seconds(),2)}),V("Hmm",0,0,function(){return""+this.hours()+$(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours()+$(this.minutes(),2)+$(this.seconds(),2)}),$t("a",!0),$t("A",!1),O("hour","h"),B("hour",13),X("a",Vt),X("A",Vt),X("H",qr),X("h",qr),X("k",qr),X("HH",qr,Ir),X("hh",qr,Ir),X("kk",qr,Ir),X("hmm",Ur),X("hmmss",$r),X("Hmm",Ur),X("Hmmss",$r),nt(["H","HH"],ui),nt(["k","kk"],function(t,e,n){var r=b(t);e[ui]=24===r?0:r}),nt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),nt(["h","hh"],function(t,e,n){e[ui]=b(t),_(n).bigHour=!0}),nt("hmm",function(t,e,n){var r=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r)),_(n).bigHour=!0}),nt("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r,2)),e[ci]=b(t.substr(i)),_(n).bigHour=!0}),nt("Hmm",function(t,e,n){var r=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r))}),nt("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[ui]=b(t.substr(0,r)),e[si]=b(t.substr(r,2)),e[ci]=b(t.substr(i))});var Yi,Ti=/[ap]\.?m?\.?/i,Ai=R("Hours",!0),Ei={calendar:Ar,longDateFormat:Er,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:Sr,relativeTime:Fr,months:pi,monthsShort:mi,week:Mi,weekdays:bi,weekdaysMin:ki,weekdaysShort:Li,meridiemParse:Ti},Si={},Fi={},Ci=/^\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)?)?$/,ji=/^\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)?)?$/,Hi=/Z|[+-]\d\d(?::?\d\d)?/,Oi=[["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}/]],Pi=[["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/]],Ni=/^\/?Date\((\-?\d+)/i,Bi=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=w("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var Ii=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:m()}),Ri=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:m()}),Wi=function(){return Date.now?Date.now():+new Date},zi=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ee("Z",":"),Ee("ZZ",""),X("Z",Qr),X("ZZ",Qr),nt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Se(Qr,t)});var qi=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Ui=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$i=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ue.fn=Ye.prototype,Ue.invalid=xe;var Vi=Je(1,"add"),Gi=Je(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ji=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Sn("gggg","weekYear"),Sn("ggggg","weekYear"),Sn("GGGG","isoWeekYear"),Sn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),B("weekYear",1),B("isoWeekYear",1),X("G",Kr),X("g",Kr),X("GG",qr,Ir),X("gg",qr,Ir),X("GGGG",Gr,Wr),X("gggg",Gr,Wr),X("GGGGG",Jr,zr),X("ggggg",Jr,zr),rt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=b(t)}),rt(["gg","GG"],function(t,n,r,i){n[i]=e.parseTwoDigitYear(t)}),V("Q",0,"Qo","quarter"),O("quarter","Q"),B("quarter",7),X("Q",Br),nt("Q",function(t,e){e[ai]=3*(b(t)-1)}),V("D",["DD",2],"Do","date"),O("date","D"),B("date",9),X("D",qr),X("DD",qr,Ir),X("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),nt(["D","DD"],oi),nt("Do",function(t,e){e[oi]=b(t.match(qr)[0],10)});var Zi=R("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),B("dayOfYear",4),X("DDD",Vr),X("DDDD",Rr),nt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=b(t)}),V("m",["mm",2],0,"minute"),O("minute","m"),B("minute",14),X("m",qr),X("mm",qr,Ir),nt(["m","mm"],si);var Ki=R("Minutes",!1);V("s",["ss",2],0,"second"),O("second","s"),B("second",15),X("s",qr),X("ss",qr,Ir),nt(["s","ss"],ci);var Xi=R("Seconds",!1);V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),B("millisecond",16),X("S",Vr,Br),X("SS",Vr,Ir),X("SSS",Vr,Rr);var Qi;for(Qi="SSSS";Qi.length<=9;Qi+="S")X(Qi,Zr);for(Qi="S";Qi.length<=9;Qi+="S")nt(Qi,In);var ta=R("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var ea=g.prototype;ea.add=Vi,ea.calendar=Xe,ea.clone=Qe,ea.diff=un,ea.endOf=Mn,ea.format=hn,ea.from=fn,ea.fromNow=_n,ea.to=pn,ea.toNow=mn,ea.get=q,ea.invalidAt=An,ea.isAfter=tn,ea.isBefore=en,ea.isBetween=nn,ea.isSame=rn,ea.isSameOrAfter=an,ea.isSameOrBefore=on,ea.isValid=Yn,ea.lang=Ji,ea.locale=yn,ea.localeData=gn,ea.max=Ri,ea.min=Ii,ea.parsingFlags=Tn,ea.set=U,ea.startOf=vn,ea.subtract=Gi,ea.toArray=wn,ea.toObject=Dn,ea.toDate=kn,ea.toISOString=ln,ea.inspect=dn,ea.toJSON=xn,ea.toString=cn,ea.unix=Ln,ea.valueOf=bn,ea.creationData=En,ea.year=vi,ea.isLeapYear=gt,ea.weekYear=Fn,ea.isoWeekYear=Cn,ea.quarter=ea.quarters=Nn,ea.month=dt,ea.daysInMonth=ht,ea.week=ea.weeks=Tt,ea.isoWeek=ea.isoWeeks=At,ea.weeksInYear=Hn,ea.isoWeeksInYear=jn,ea.date=Zi,ea.day=ea.days=Pt,ea.weekday=Nt,ea.isoWeekday=Bt,ea.dayOfYear=Bn,ea.hour=ea.hours=Ai,ea.minute=ea.minutes=Ki,ea.second=ea.seconds=Xi,ea.millisecond=ea.milliseconds=ta,ea.utcOffset=je,ea.utc=Oe,ea.local=Pe,ea.parseZone=Ne,ea.hasAlignedHourOffset=Be,ea.isDST=Ie,ea.isLocal=We,ea.isUtcOffset=ze,ea.isUtc=qe,ea.isUTC=qe,ea.zoneAbbr=Rn,ea.zoneName=Wn,ea.dates=w("dates accessor is deprecated. Use date instead.",Zi),ea.months=w("months accessor is deprecated. Use month instead",dt),ea.years=w("years accessor is deprecated. Use year instead",vi),ea.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",He),ea.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Re);var na=A.prototype;na.calendar=E,na.longDateFormat=S,na.invalidDate=F,na.ordinal=C,na.preparse=Un,na.postformat=Un,na.relativeTime=j,na.pastFuture=H,na.set=Y,na.months=ot,na.monthsShort=ut,na.monthsParse=ct,na.monthsRegex=_t,na.monthsShortRegex=ft,na.week=Dt,na.firstDayOfYear=Yt,na.firstDayOfWeek=xt,na.weekdays=Ft,na.weekdaysMin=jt,na.weekdaysShort=Ct,na.weekdaysParse=Ot,na.weekdaysRegex=It,na.weekdaysShortRegex=Rt,na.weekdaysMinRegex=Wt,na.isPM=Gt,na.meridiem=Jt,Qt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===b(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),e.lang=w("moment.lang is deprecated. Use moment.locale instead.",Qt),e.langData=w("moment.langData is deprecated. Use moment.localeData instead.",ne);var ra=Math.abs,ia=lr("ms"),aa=lr("s"),oa=lr("m"),ua=lr("h"),sa=lr("d"),ca=lr("w"),la=lr("M"),da=lr("y"),ha=hr("milliseconds"),fa=hr("seconds"),_a=hr("minutes"),pa=hr("hours"),ma=hr("days"),ya=hr("months"),ga=hr("years"),va=Math.round,Ma={ss:44,s:45,m:45,h:22,d:26,M:11},ba=Math.abs,La=Ye.prototype;return La.isValid=De,La.abs=tr,La.add=nr,La.subtract=rr,La.as=sr,La.asMilliseconds=ia,La.asSeconds=aa,La.asMinutes=oa,La.asHours=ua,La.asDays=sa,La.asWeeks=ca,La.asMonths=la,La.asYears=da,La.valueOf=cr,La._bubble=ar,La.get=dr,La.milliseconds=ha,La.seconds=fa,La.minutes=_a,La.hours=pa,La.days=ma,La.weeks=fr,La.months=ya,La.years=ga,La.humanize=gr,La.toISOString=vr,La.toString=vr,La.toJSON=vr,La.locale=yn,La.localeData=gn,La.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",vr),La.lang=Ji,V("X",0,0,"unix"),V("x",0,0,"valueOf"),X("x",Kr),X("X",ti),nt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),nt("x",function(t,e,n){n._d=new Date(b(t))}),e.version="2.18.1",function(t){Mr=t}(Me),e.fn=ea,e.min=Le,e.max=ke,e.now=Wi,e.utc=h,e.unix=zn,e.months=Jn,e.isDate=s,e.locale=Qt,e.invalid=m,e.duration=Ue,e.isMoment=v,e.weekdays=Kn,e.parseZone=qn,e.localeData=ne,e.isDuration=Te,e.monthsShort=Zn,e.weekdaysMin=Qn,e.defineLocale=te,e.updateLocale=ee,e.locales=re,e.weekdaysShort=Xn,e.normalizeUnits=P,e.relativeTimeRounding=mr,e.relativeTimeThreshold=yr,e.calendarFormat=Ke,e.prototype=ea,e})}).call(e,n(4)(t))},function(t,e,n){var r;try{r=n(203)}catch(t){}r||(r=window._),t.exports=r},function(t,e){function n(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getSeconds(),i=t.getMilliseconds();return e<10&&(e="0"+e),n<10&&(n="0"+n),r<10&&(r="0"+r),i<100&&(i="0"+i),i<10&&(i="00"+i),e+":"+n+":"+r+" ("+i+")"}function r(t){return"%c "+n(new Date)+" :%c"+t+": "}var i=function(){},a=function(){},o=function(){},u=function(){},s=function(){};e.setLogLevel=function(t){t<6&&(e.Log.fatal=console.log.bind(console,r("FATAL"),"color:grey;","color: red;")),t<5&&(e.Log.error=console.log.bind(console,r("ERROR"),"color:grey;","color: red;")),t<4&&(e.Log.warn=console.log.bind(console,r("WARN"),"color:grey;","color: orange;")),t<3&&(e.Log.info=console.log.bind(console,r("INFO"),"color:grey;","color: info;")),t<2&&(e.Log.debug=console.log.bind(console,r("DEBUG"),"color:grey;","color: green;"))},e.Log={debug:i,info:a,warn:o,error:u,fatal:s}},function(t,e,n){"use strict";function r(t,e,n,r){var i;do{i=y.uniqueId(r)}while(t.hasNode(i));return n.dummy=e,t.setNode(i,n),i}function i(t){var e=(new g).setGraph(t.graph());return y.each(t.nodes(),function(n){e.setNode(n,t.node(n))}),y.each(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}function a(t){var e=new g({multigraph:t.isMultigraph()}).setGraph(t.graph());return y.each(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),y.each(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function o(t){var e=y.map(t.nodes(),function(e){var n={};return y.each(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return y.zipObject(t.nodes(),e)}function u(t){var e=y.map(t.nodes(),function(e){var n={};return y.each(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return y.zipObject(t.nodes(),e)}function s(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,o=t.width/2,u=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(a)*o>Math.abs(i)*u?(a<0&&(u=-u),s=u*i/a,c=u):(i<0&&(o=-o),s=o,c=o*a/i),{x:n+s,y:r+c}}function c(t){var e=y.map(y.range(f(t)+1),function(){return[]});return y.each(t.nodes(),function(n){var r=t.node(n),i=r.rank;y.isUndefined(i)||(e[i][r.order]=n)}),e}function l(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank}));y.each(t.nodes(),function(n){var r=t.node(n);y.has(r,"rank")&&(r.rank-=e)})}function d(t){var e=y.min(y.map(t.nodes(),function(e){return t.node(e).rank})),n=[];y.each(t.nodes(),function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=t.graph().nodeRankFactor;y.each(n,function(e,n){y.isUndefined(e)&&n%i!=0?--r:r&&y.each(e,function(e){t.node(e).rank+=r})})}function h(t,e,n,i){var a={width:0,height:0};return arguments.length>=4&&(a.rank=n,a.order=i),r(t,"border",a,e)}function f(t){return y.max(y.map(t.nodes(),function(e){var n=t.node(e).rank;if(!y.isUndefined(n))return n}))}function _(t,e){var n={lhs:[],rhs:[]};return y.each(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function p(t,e){var n=y.now();try{return e()}finally{console.log(t+" time: "+(y.now()-n)+"ms")}}function m(t,e){return e()}var y=n(1),g=n(8).Graph;t.exports={addDummyNode:r,simplify:i,asNonCompoundGraph:a,successorWeights:o,predecessorWeights:u,intersectRect:s,buildLayerMatrix:c,normalizeRanks:l,removeEmptyRanks:d,addBorderNode:h,maxRank:f,partition:_,time:p,notime:m}},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){var r;try{r=n(16)}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){var r;try{r=n(190)}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){function r(t,e){return!!t.children(e).length}function i(t){return a(t.v)+":"+a(t.w)+":"+a(t.name)}function a(t){return t?String(t).replace(l,"\\:"):""}function o(t,e){e&&t.attr("style",e)}function u(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))}function s(t,e){var n=e.graph();if(c.isPlainObject(n)){var r=n.transition;if(c.isFunction(r))return r(t)}return t}var c=n(14);t.exports={isSubgraph:r,edgeToId:i,applyStyle:o,applyClass:u,applyTransition:s};var l=/:/g},function(t,e,n){var r;try{r=n(188)}catch(t){}r||(r=window.graphlib),t.exports=r},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(24);t.exports=i,function(){var t=!1;if(t="tspans",i.selection.prototype.textwrap)return!1;void 0===t&&(t=!1),i.selection.prototype.textwrap=i.selection.enter.prototype.textwrap=function(e,n){n=parseInt(n)||0;var a,o=this,u=function(t){var e=t[0][0];if("rect"!==e.tagName.toString())return!1;var n={};return n.x=i.select(e).attr("x")||0,n.y=i.select(e).attr("y")||0,n.width=i.select(e).attr("width")||0,n.height=i.select(e).attr("height")||0,n.attr=t.attr,n},s=function(t){if(t.attr||(t.attr=function(t){if(this[t])return this[t]}),"object"===(void 0===t?"undefined":r(t))&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){return u(t)}return!1}(e);if(n&&(s=function(t,e){var n=t;return 0!==e&&(n.x=parseInt(n.x)+e,n.y=parseInt(n.y)+e,n.width-=2*e,n.height-=2*e),n}(s,n)),0!==o.length&&i&&e&&s){e=s;var c,l=function(t){var n=i.select(t[0].parentNode),r=n.select("text"),o=r.style("line-height"),u=r.text();r.remove();var s=n.append("foreignObject");s.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=s.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(u),o&&c.style("line-height",o),a=n.select("foreignObject")},d=function(t){var r,o=t[0],u=o.parentNode,s=i.select(o),c=o.getBBox().height,l=o.getBBox().width,d=c,h=s.style("line-height");if(r=h&&parseInt(h)?parseInt(h.replace("px","")):d,l>e.width){var f=s.text();if(s.text(""),f){var _,p;if(-1!==f.indexOf(" "))_=" ",p=f.split(" ");else{_="";var m=f.length,y=Math.ceil(l/e.width),g=Math.floor(m/y);g*y>=m||y++,p=[];for(var v,M,b=0;b<y;b++)M=b*g,v=f.substr(M,g),p.push(v)}var L=[],k=0,w={};for(b=0;b<p.length;b++){var D,x=p[b],Y=s.text(),T=o.getComputedTextLength();D=Y?Y+_+x:x,s.text(D);var A=o.getComputedTextLength();if(A>e.width&&Y&&""!==Y&&(k+=T,w={string:Y,width:T,offset:k},L.push(w),s.text(""),s.text(x),b===p.length-1&&(D=x,s.text(D),A=o.getComputedTextLength())),b===p.length-1){s.text("");var E=D;E&&""!==E&&(A-k>0&&(A-=k),w={string:E,width:A,offset:k},L.push(w))}}var S;for(s.text(""),b=0;b<L.length;b++)v=L[b].string,b*r<e.height-1.5*r&&(S=s.append("tspan").text(v),S.attr("dy",function(t){if(b>0)return r}),S.attr("x",function(){var t=e.x;return n&&(t+=n),t}))}}s.attr("y",function(){var t=e.y;return r&&(t+=r),n&&(t+=n),t}),s.attr("x",function(){var t=e.x;return n&&(t+=n),t}),a=i.select(u).selectAll("text")};t&&("foreignobjects"===t?c=l:"tspans"===t&&(c=d)),t||(c="undefined"!=typeof SVGForeignObjectElement?l:d);for(var h=0;h<o.length;h++){c(o[h])}return a}return o||!1}}()},function(t,e){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function a(t){if(d===clearTimeout)return clearTimeout(t);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function o(){p&&f&&(p=!1,f.length?_=f.concat(_):m=-1,_.length&&u())}function u(){if(!p){var t=i(o);p=!0;for(var e=_.length;e;){for(f=_,_=[];++m<e;)f&&f[m].run();m=-1,e=_.length}f=null,p=!1,a(t)}}function s(t,e){this.fun=t,this.array=e}function c(){}var l,d,h=t.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{d="function"==typeof clearTimeout?clearTimeout:r}catch(t){d=r}}();var f,_=[],p=!1,m=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];_.push(new s(t,e)),1!==_.length||p||i(u)},s.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=c,h.addListener=c,h.once=c,h.off=c,h.removeListener=c,h.removeAllListeners=c,h.emit=c,h.prependListener=c,h.prependOnceListener=c,h.listeners=function(t){return[]},h.binding=function(t){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(t){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},function(t,e){t.exports=fs},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<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}var i=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,a=function(t){return i.exec(t).slice(1)};e.resolve=function(){for(var e="",i=!1,a=arguments.length-1;a>=-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 e=n(r(e.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+e||"."},e.normalize=function(t){var i=e.isAbsolute(t),a="/"===o(t,-1);return t=n(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&a&&(t+="/"),(i?"/":"")+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<t.length&&""===t[e];e++);for(var n=t.length-1;n>=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),u=o,s=0;s<o;s++)if(i[s]!==a[s]){u=s;break}for(var c=[],s=u;s<i.length;s++)c.push("..");return c=c.concat(a.slice(u)),c.join("/")},e.sep="/",e.delimiter=":",e.dirname=function(t){var e=a(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},e.basename=function(t,e){var n=a(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){return a(t)[3]};var o="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(e,n(11))},function(t,e,n){const r=n(16);t.exports=r},function(t,e,n){const r=n(24);t.exports=r},function(t,e,n){(function(t,n){(function(){function r(t,e){return t.set(e[0],e[1]),t}function i(t,e){return t.add(e),t}function a(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function o(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i<a;){var o=t[i];e(r,o,n(o),t)}return r}function u(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function s(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function c(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function l(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}function d(t,e){return!!(null==t?0:t.length)&&L(t,e,0)>-1}function h(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function f(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function _(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function p(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function m(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function y(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function g(t){return t.split("")}function v(t){return t.match(Ne)||[]}function M(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function b(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}function L(t,e,n){return e===e?J(t,e,n):b(t,w,n)}function k(t,e,n,r){for(var i=n-1,a=t.length;++i<a;)if(r(t[i],e))return i;return-1}function w(t){return t!==t}function D(t,e){var n=null==t?0:t.length;return n?E(t,e)/n:Ct}function x(t){return function(e){return null==e?nt:e[t]}}function Y(t){return function(e){return null==t?nt:t[e]}}function T(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function A(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function E(t,e){for(var n,r=-1,i=t.length;++r<i;){var a=e(t[r]);a!==nt&&(n=n===nt?a:n+a)}return n}function S(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function F(t,e){return f(e,function(e){return[e,t[e]]})}function C(t){return function(e){return t(e)}}function j(t,e){return f(e,function(e){return t[e]})}function H(t,e){return t.has(e)}function O(t,e){for(var n=-1,r=t.length;++n<r&&L(e,t[n],0)>-1;);return n}function P(t,e){for(var n=t.length;n--&&L(e,t[n],0)>-1;);return n}function N(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function B(t){return"\\"+xn[t]}function I(t,e){return null==t?nt:t[e]}function R(t){return yn.test(t)}function W(t){return gn.test(t)}function z(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function q(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function U(t,e){return function(n){return t(e(n))}}function $(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n];o!==e&&o!==st||(t[n]=st,a[i++]=n)}return a}function V(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function G(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function J(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Z(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}function K(t){return R(t)?Q(t):zn(t)}function X(t){return R(t)?tt(t):g(t)}function Q(t){for(var e=pn.lastIndex=0;pn.test(t);)++e;return e}function tt(t){return t.match(pn)||[]}function et(t){return t.match(mn)||[]}var nt,rt=200,it="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",at="Expected a function",ot="__lodash_hash_undefined__",ut=500,st="__lodash_placeholder__",ct=1,lt=2,dt=4,ht=1,ft=2,_t=1,pt=2,mt=4,yt=8,gt=16,vt=32,Mt=64,bt=128,Lt=256,kt=512,wt=30,Dt="...",xt=800,Yt=16,Tt=1,At=2,Et=1/0,St=9007199254740991,Ft=1.7976931348623157e308,Ct=NaN,jt=4294967295,Ht=jt-1,Ot=jt>>>1,Pt=[["ary",bt],["bind",_t],["bindKey",pt],["curry",yt],["curryRight",gt],["flip",kt],["partial",vt],["partialRight",Mt],["rearg",Lt]],Nt="[object Arguments]",Bt="[object Array]",It="[object AsyncFunction]",Rt="[object Boolean]",Wt="[object Date]",zt="[object DOMException]",qt="[object Error]",Ut="[object Function]",$t="[object GeneratorFunction]",Vt="[object Map]",Gt="[object Number]",Jt="[object Null]",Zt="[object Object]",Kt="[object Proxy]",Xt="[object RegExp]",Qt="[object Set]",te="[object String]",ee="[object Symbol]",ne="[object Undefined]",re="[object WeakMap]",ie="[object WeakSet]",ae="[object ArrayBuffer]",oe="[object DataView]",ue="[object Float32Array]",se="[object Float64Array]",ce="[object Int8Array]",le="[object Int16Array]",de="[object Int32Array]",he="[object Uint8Array]",fe="[object Uint8ClampedArray]",_e="[object Uint16Array]",pe="[object Uint32Array]",me=/\b__p \+= '';/g,ye=/\b(__p \+=) '' \+/g,ge=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ve=/&(?:amp|lt|gt|quot|#39);/g,Me=/[&<>"']/g,be=RegExp(ve.source),Le=RegExp(Me.source),ke=/<%-([\s\S]+?)%>/g,we=/<%([\s\S]+?)%>/g,De=/<%=([\s\S]+?)%>/g,xe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ye=/^\w*$/,Te=/^\./,Ae=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ee=/[\\^$.*+?()[\]{}|]/g,Se=RegExp(Ee.source),Fe=/^\s+|\s+$/g,Ce=/^\s+/,je=/\s+$/,He=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Oe=/\{\n\/\* \[wrapped with (.+)\] \*/,Pe=/,? & /,Ne=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Be=/\\(\\)?/g,Ie=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Re=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,ze=/^0b[01]+$/i,qe=/^\[object .+?Constructor\]$/,Ue=/^0o[0-7]+$/i,$e=/^(?:0|[1-9]\d*)$/,Ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ge=/($^)/,Je=/['\n\r\u2028\u2029\\]/g,Ze="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ke="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xe="["+Ke+"]",Qe="["+Ze+"]",tn="[a-z\\xdf-\\xf6\\xf8-\\xff]",en="[^\\ud800-\\udfff"+Ke+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",nn="\\ud83c[\\udffb-\\udfff]",rn="(?:\\ud83c[\\udde6-\\uddff]){2}",an="[\\ud800-\\udbff][\\udc00-\\udfff]",on="[A-Z\\xc0-\\xd6\\xd8-\\xde]",un="(?:"+tn+"|"+en+")",sn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",cn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",rn,an].join("|")+")[\\ufe0e\\ufe0f]?"+sn+")*",ln="[\\ufe0e\\ufe0f]?"+sn+cn,dn="(?:"+["[\\u2700-\\u27bf]",rn,an].join("|")+")"+ln,hn="(?:"+["[^\\ud800-\\udfff]"+Qe+"?",Qe,rn,an,"[\\ud800-\\udfff]"].join("|")+")",fn=RegExp("['’]","g"),_n=RegExp(Qe,"g"),pn=RegExp(nn+"(?="+nn+")|"+hn+ln,"g"),mn=RegExp([on+"?"+tn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Xe,on,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Xe,on+un,"$"].join("|")+")",on+"?"+un+"+(?:['’](?:d|ll|m|re|s|t|ve))?",on+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",dn].join("|"),"g"),yn=RegExp("[\\u200d\\ud800-\\udfff"+Ze+"\\ufe0e\\ufe0f]"),gn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,vn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Mn=-1,bn={};bn[ue]=bn[se]=bn[ce]=bn[le]=bn[de]=bn[he]=bn[fe]=bn[_e]=bn[pe]=!0,bn[Nt]=bn[Bt]=bn[ae]=bn[Rt]=bn[oe]=bn[Wt]=bn[qt]=bn[Ut]=bn[Vt]=bn[Gt]=bn[Zt]=bn[Xt]=bn[Qt]=bn[te]=bn[re]=!1;var Ln={};Ln[Nt]=Ln[Bt]=Ln[ae]=Ln[oe]=Ln[Rt]=Ln[Wt]=Ln[ue]=Ln[se]=Ln[ce]=Ln[le]=Ln[de]=Ln[Vt]=Ln[Gt]=Ln[Zt]=Ln[Xt]=Ln[Qt]=Ln[te]=Ln[ee]=Ln[he]=Ln[fe]=Ln[_e]=Ln[pe]=!0,Ln[qt]=Ln[Ut]=Ln[re]=!1;var kn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},wn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Dn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},xn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Yn=parseFloat,Tn=parseInt,An="object"==typeof t&&t&&t.Object===Object&&t,En="object"==typeof self&&self&&self.Object===Object&&self,Sn=An||En||Function("return this")(),Fn="object"==typeof e&&e&&!e.nodeType&&e,Cn=Fn&&"object"==typeof n&&n&&!n.nodeType&&n,jn=Cn&&Cn.exports===Fn,Hn=jn&&An.process,On=function(){try{return Hn&&Hn.binding&&Hn.binding("util")}catch(t){}}(),Pn=On&&On.isArrayBuffer,Nn=On&&On.isDate,Bn=On&&On.isMap,In=On&&On.isRegExp,Rn=On&&On.isSet,Wn=On&&On.isTypedArray,zn=x("length"),qn=Y(kn),Un=Y(wn),$n=Y(Dn),Vn=function t(e){function n(t){if(as(t)&&!mh(t)&&!(t instanceof J)){if(t instanceof Y)return t;if(ml.call(t,"__wrapped__"))return eo(t)}return new Y(t)}function g(){}function Y(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=nt}function J(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=jt,this.__views__=[]}function Q(){var t=new J(this.__wrapped__);return t.__actions__=Pi(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Pi(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Pi(this.__views__),t}function tt(){if(this.__filtered__){var t=new J(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ne(){var t=this.__wrapped__.value(),e=this.__dir__,n=mh(t),r=e<0,i=n?t.length:0,a=xa(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,d=l.length,h=0,f=$l(s,this.__takeCount__);if(!n||!r&&i==s&&f==s)return gi(t,this.__actions__);var _=[];t:for(;s--&&h<f;){c+=e;for(var p=-1,m=t[c];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==At)m=M;else if(!M){if(v==Tt)continue t;break t}}_[h++]=m}return _}function Ze(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ke(){this.__data__=nd?nd(null):{},this.size=0}function Xe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function Qe(t){var e=this.__data__;if(nd){var n=e[t];return n===ot?nt:n}return ml.call(e,t)?e[t]:nt}function tn(t){var e=this.__data__;return nd?e[t]!==nt:ml.call(e,t)}function en(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=nd&&e===nt?ot:e,this}function nn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function rn(){this.__data__=[],this.size=0}function an(t){var e=this.__data__,n=Zn(e,t);return!(n<0)&&(n==e.length-1?e.pop():El.call(e,n,1),--this.size,!0)}function on(t){var e=this.__data__,n=Zn(e,t);return n<0?nt:e[n][1]}function un(t){return Zn(this.__data__,t)>-1}function sn(t,e){var n=this.__data__,r=Zn(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function cn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ln(){this.size=0,this.__data__={hash:new Ze,map:new(Xl||nn),string:new Ze}}function dn(t){var e=La(this,t).delete(t);return this.size-=e?1:0,e}function hn(t){return La(this,t).get(t)}function pn(t){return La(this,t).has(t)}function mn(t,e){var n=La(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function yn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new cn;++e<n;)this.add(t[e])}function gn(t){return this.__data__.set(t,ot),this}function kn(t){return this.__data__.has(t)}function wn(t){var e=this.__data__=new nn(t);this.size=e.size}function Dn(){this.__data__=new nn,this.size=0}function xn(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function An(t){return this.__data__.get(t)}function En(t){return this.__data__.has(t)}function Fn(t,e){var n=this.__data__;if(n instanceof nn){var r=n.__data__;if(!Xl||r.length<rt-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new cn(r)}return n.set(t,e),this.size=n.size,this}function Cn(t,e){var n=mh(t),r=!n&&ph(t),i=!n&&!r&&gh(t),a=!n&&!r&&!i&&kh(t),o=n||r||i||a,u=o?S(t.length,cl):[],s=u.length;for(var c in t)!e&&!ml.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ja(c,s))||u.push(c);return u}function Hn(t){var e=t.length;return e?t[Qr(0,e-1)]:nt}function On(t,e){return Ka(Pi(t),nr(e,0,t.length))}function zn(t){return Ka(Pi(t))}function Gn(t,e,n){(n===nt||Uu(t[e],n))&&(n!==nt||e in t)||tr(t,e,n)}function Jn(t,e,n){var r=t[e];ml.call(t,e)&&Uu(r,n)&&(n!==nt||e in t)||tr(t,e,n)}function Zn(t,e){for(var n=t.length;n--;)if(Uu(t[n][0],e))return n;return-1}function Kn(t,e,n,r){return _d(t,function(t,i,a){e(r,t,n(t),a)}),r}function Xn(t,e){return t&&Ni(e,Is(e),t)}function Qn(t,e){return t&&Ni(e,Rs(e),t)}function tr(t,e,n){"__proto__"==e&&jl?jl(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function er(t,e){for(var n=-1,r=e.length,i=nl(r),a=null==t;++n<r;)i[n]=a?nt:Ps(t,e[n]);return i}function nr(t,e,n){return t===t&&(n!==nt&&(t=t<=n?t:n),e!==nt&&(t=t>=e?t:e)),t}function rr(t,e,n,r,i,a){var o,s=e&ct,c=e&lt,l=e&dt;if(n&&(o=i?n(t,r,i,a):n(t)),o!==nt)return o;if(!is(t))return t;var d=mh(t);if(d){if(o=Aa(t),!s)return Pi(t,o)}else{var h=xd(t),f=h==Ut||h==$t;if(gh(t))return Di(t,s);if(h==Zt||h==Nt||f&&!i){if(o=c||f?{}:Ea(t),!s)return c?Ii(t,Qn(o,t)):Bi(t,Xn(o,t))}else{if(!Ln[h])return i?t:{};o=Sa(t,h,rr,s)}}a||(a=new wn);var _=a.get(t);if(_)return _;a.set(t,o);var p=l?c?ga:ya:c?Rs:Is,m=d?nt:p(t);return u(m||t,function(r,i){m&&(i=r,r=t[i]),Jn(o,i,rr(r,e,n,i,t,a))}),o}function ir(t){var e=Is(t);return function(n){return ar(n,t,e)}}function ar(t,e,n){var r=n.length;if(null==t)return!r;for(t=ul(t);r--;){var i=n[r],a=e[i],o=t[i];if(o===nt&&!(i in t)||!a(o))return!1}return!0}function or(t,e,n){if("function"!=typeof t)throw new ll(at);return Ad(function(){t.apply(nt,n)},e)}function ur(t,e,n,r){var i=-1,a=d,o=!0,u=t.length,s=[],c=e.length;if(!u)return s;n&&(e=f(e,C(n))),r?(a=h,o=!1):e.length>=rt&&(a=H,o=!1,e=new yn(e));t:for(;++i<u;){var l=t[i],_=null==n?l:n(l);if(l=r||0!==l?l:0,o&&_===_){for(var p=c;p--;)if(e[p]===_)continue t;s.push(l)}else a(e,_,r)||s.push(l)}return s}function sr(t,e){var n=!0;return _d(t,function(t,r,i){return n=!!e(t,r,i)}),n}function cr(t,e,n){for(var r=-1,i=t.length;++r<i;){var a=t[r],o=e(a);if(null!=o&&(u===nt?o===o&&!ms(o):n(o,u)))var u=o,s=a}return s}function lr(t,e,n,r){var i=t.length;for(n=Ls(n),n<0&&(n=-n>i?0:i+n),r=r===nt||r>i?i:Ls(r),r<0&&(r+=i),r=n>r?0:ks(r);n<r;)t[n++]=e;return t}function dr(t,e){var n=[];return _d(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function hr(t,e,n,r,i){var a=-1,o=t.length;for(n||(n=Ca),i||(i=[]);++a<o;){var u=t[a];e>0&&n(u)?e>1?hr(u,e-1,n,r,i):_(i,u):r||(i[i.length]=u)}return i}function fr(t,e){return t&&md(t,e,Is)}function _r(t,e){return t&&yd(t,e,Is)}function pr(t,e){return l(e,function(e){return es(t[e])})}function mr(t,e){e=ki(e,t);for(var n=0,r=e.length;null!=t&&n<r;)t=t[Xa(e[n++])];return n&&n==r?t:nt}function yr(t,e,n){var r=e(t);return mh(t)?r:_(r,n(t))}function gr(t){return null==t?t===nt?ne:Jt:Cl&&Cl in ul(t)?Da(t):Ua(t)}function vr(t,e){return t>e}function Mr(t,e){return null!=t&&ml.call(t,e)}function br(t,e){return null!=t&&e in ul(t)}function Lr(t,e,n){return t>=$l(e,n)&&t<Ul(e,n)}function kr(t,e,n){for(var r=n?h:d,i=t[0].length,a=t.length,o=a,u=nl(a),s=1/0,c=[];o--;){var l=t[o];o&&e&&(l=f(l,C(e))),s=$l(l.length,s),u[o]=!n&&(e||i>=120&&l.length>=120)?new yn(o&&l):nt}l=t[0];var _=-1,p=u[0];t:for(;++_<i&&c.length<s;){var m=l[_],y=e?e(m):m;if(m=n||0!==m?m:0,!(p?H(p,y):r(c,y,n))){for(o=a;--o;){var g=u[o];if(!(g?H(g,y):r(t[o],y,n)))continue t}p&&p.push(y),c.push(m)}}return c}function wr(t,e,n,r){return fr(t,function(t,i,a){e(r,n(t),i,a)}),r}function Dr(t,e,n){e=ki(e,t),t=Va(t,e);var r=null==t?t:t[Xa(bo(e))];return null==r?nt:a(r,t,n)}function xr(t){return as(t)&&gr(t)==Nt}function Yr(t){return as(t)&&gr(t)==ae}function Tr(t){return as(t)&&gr(t)==Wt}function Ar(t,e,n,r,i){return t===e||(null==t||null==e||!as(t)&&!as(e)?t!==t&&e!==e:Er(t,e,n,r,Ar,i))}function Er(t,e,n,r,i,a){var o=mh(t),u=mh(e),s=o?Bt:xd(t),c=u?Bt:xd(e);s=s==Nt?Zt:s,c=c==Nt?Zt:c;var l=s==Zt,d=c==Zt,h=s==c;if(h&&gh(t)){if(!gh(e))return!1;o=!0,l=!1}if(h&&!l)return a||(a=new wn),o||kh(t)?fa(t,e,n,r,i,a):_a(t,e,s,n,r,i,a);if(!(n&ht)){var f=l&&ml.call(t,"__wrapped__"),_=d&&ml.call(e,"__wrapped__");if(f||_){var p=f?t.value():t,m=_?e.value():e;return a||(a=new wn),i(p,m,n,r,a)}}return!!h&&(a||(a=new wn),pa(t,e,n,r,i,a))}function Sr(t){return as(t)&&xd(t)==Vt}function Fr(t,e,n,r){var i=n.length,a=i,o=!r;if(null==t)return!a;for(t=ul(t);i--;){var u=n[i];if(o&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<a;){u=n[i];var s=u[0],c=t[s],l=u[1];if(o&&u[2]){if(c===nt&&!(s in t))return!1}else{var d=new wn;if(r)var h=r(c,l,s,t,e,d);if(!(h===nt?Ar(l,c,ht|ft,r,d):h))return!1}}return!0}function Cr(t){return!(!is(t)||Ba(t))&&(es(t)?Ll:qe).test(Qa(t))}function jr(t){return as(t)&&gr(t)==Xt}function Hr(t){return as(t)&&xd(t)==Qt}function Or(t){return as(t)&&rs(t.length)&&!!bn[gr(t)]}function Pr(t){return"function"==typeof t?t:null==t?Ec:"object"==typeof t?mh(t)?zr(t[0],t[1]):Wr(t):Nc(t)}function Nr(t){if(!Ia(t))return ql(t);var e=[];for(var n in ul(t))ml.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Br(t){if(!is(t))return qa(t);var e=Ia(t),n=[];for(var r in t)("constructor"!=r||!e&&ml.call(t,r))&&n.push(r);return n}function Ir(t,e){return t<e}function Rr(t,e){var n=-1,r=$u(t)?nl(t.length):[];return _d(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function Wr(t){var e=ka(t);return 1==e.length&&e[0][2]?Wa(e[0][0],e[0][1]):function(n){return n===t||Fr(n,t,e)}}function zr(t,e){return Oa(t)&&Ra(e)?Wa(Xa(t),e):function(n){var r=Ps(n,t);return r===nt&&r===e?Bs(n,t):Ar(e,r,ht|ft)}}function qr(t,e,n,r,i){t!==e&&md(e,function(a,o){if(is(a))i||(i=new wn),Ur(t,e,o,n,qr,r,i);else{var u=r?r(t[o],a,o+"",t,e,i):nt;u===nt&&(u=a),Gn(t,o,u)}},Rs)}function Ur(t,e,n,r,i,a,o){var u=t[n],s=e[n],c=o.get(s);if(c)return void Gn(t,n,c);var l=a?a(u,s,n+"",t,e,o):nt,d=l===nt;if(d){var h=mh(s),f=!h&&gh(s),_=!h&&!f&&kh(s);l=s,h||f||_?mh(u)?l=u:Vu(u)?l=Pi(u):f?(d=!1,l=Di(s,!0)):_?(d=!1,l=Fi(s,!0)):l=[]:fs(s)||ph(s)?(l=u,ph(u)?l=Ds(u):(!is(u)||r&&es(u))&&(l=Ea(s))):d=!1}d&&(o.set(s,l),i(l,s,r,a,o),o.delete(s)),Gn(t,n,l)}function $r(t,e){var n=t.length;if(n)return e+=e<0?n:0,ja(e,n)?t[e]:nt}function Vr(t,e,n){var r=-1;return e=f(e.length?e:[Ec],C(ba())),A(Rr(t,function(t,n,i){return{criteria:f(e,function(e){return e(t)}),index:++r,value:t}}),function(t,e){return ji(t,e,n)})}function Gr(t,e){return Jr(t,e,function(e,n){return Bs(t,n)})}function Jr(t,e,n){for(var r=-1,i=e.length,a={};++r<i;){var o=e[r],u=mr(t,o);n(u,o)&&ai(a,ki(o,t),u)}return a}function Zr(t){return function(e){return mr(e,t)}}function Kr(t,e,n,r){var i=r?k:L,a=-1,o=e.length,u=t;for(t===e&&(e=Pi(e)),n&&(u=f(t,C(n)));++a<o;)for(var s=0,c=e[a],l=n?n(c):c;(s=i(u,l,s,r))>-1;)u!==t&&El.call(u,s,1),El.call(t,s,1);return t}function Xr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;ja(i)?El.call(t,i,1):pi(t,i)}}return t}function Qr(t,e){return t+Bl(Jl()*(e-t+1))}function ti(t,e,n,r){for(var i=-1,a=Ul(Nl((e-t)/(n||1)),0),o=nl(a);a--;)o[r?a:++i]=t,t+=n;return o}function ei(t,e){var n="";if(!t||e<1||e>St)return n;do{e%2&&(n+=t),(e=Bl(e/2))&&(t+=t)}while(e);return n}function ni(t,e){return Ed($a(t,e,Ec),t+"")}function ri(t){return Hn(Qs(t))}function ii(t,e){var n=Qs(t);return Ka(n,nr(e,0,n.length))}function ai(t,e,n,r){if(!is(t))return t;e=ki(e,t);for(var i=-1,a=e.length,o=a-1,u=t;null!=u&&++i<a;){var s=Xa(e[i]),c=n;if(i!=o){var l=u[s];c=r?r(l,s,u):nt,c===nt&&(c=is(l)?l:ja(e[i+1])?[]:{})}Jn(u,s,c),u=u[s]}return t}function oi(t){return Ka(Qs(t))}function ui(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=nl(i);++r<i;)a[r]=t[r+e];return a}function si(t,e){var n;return _d(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function ci(t,e,n){var r=0,i=null==t?r:t.length;if("number"==typeof e&&e===e&&i<=Ot){for(;r<i;){var a=r+i>>>1,o=t[a];null!==o&&!ms(o)&&(n?o<=e:o<e)?r=a+1:i=a}return i}return li(t,e,Ec,n)}function li(t,e,n,r){e=n(e);for(var i=0,a=null==t?0:t.length,o=e!==e,u=null===e,s=ms(e),c=e===nt;i<a;){var l=Bl((i+a)/2),d=n(t[l]),h=d!==nt,f=null===d,_=d===d,p=ms(d);if(o)var m=r||_;else m=c?_&&(r||h):u?_&&h&&(r||!f):s?_&&h&&!f&&(r||!p):!f&&!p&&(r?d<=e:d<e);m?i=l+1:a=l}return $l(a,Ht)}function di(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n],u=e?e(o):o;if(!n||!Uu(u,s)){var s=u;a[i++]=0===o?0:o}}return a}function hi(t){return"number"==typeof t?t:ms(t)?Ct:+t}function fi(t){if("string"==typeof t)return t;if(mh(t))return f(t,fi)+"";if(ms(t))return hd?hd.call(t):"";var e=t+"";return"0"==e&&1/t==-Et?"-0":e}function _i(t,e,n){var r=-1,i=d,a=t.length,o=!0,u=[],s=u;if(n)o=!1,i=h;else if(a>=rt){var c=e?null:Ld(t);if(c)return V(c);o=!1,i=H,s=new yn}else s=e?[]:u;t:for(;++r<a;){var l=t[r],f=e?e(l):l;if(l=n||0!==l?l:0,o&&f===f){for(var _=s.length;_--;)if(s[_]===f)continue t;e&&s.push(f),u.push(l)}else i(s,f,n)||(s!==u&&s.push(f),u.push(l))}return u}function pi(t,e){return e=ki(e,t),null==(t=Va(t,e))||delete t[Xa(bo(e))]}function mi(t,e,n,r){return ai(t,e,n(mr(t,e)),r)}function yi(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?ui(t,r?0:a,r?a+1:i):ui(t,r?a+1:0,r?i:a)}function gi(t,e){var n=t;return n instanceof J&&(n=n.value()),p(e,function(t,e){return e.func.apply(e.thisArg,_([t],e.args))},n)}function vi(t,e,n){var r=t.length;if(r<2)return r?_i(t[0]):[];for(var i=-1,a=nl(r);++i<r;)for(var o=t[i],u=-1;++u<r;)u!=i&&(a[i]=ur(a[i]||o,t[u],e,n));return _i(hr(a,1),e,n)}function Mi(t,e,n){for(var r=-1,i=t.length,a=e.length,o={};++r<i;){var u=r<a?e[r]:nt;n(o,t[r],u)}return o}function bi(t){return Vu(t)?t:[]}function Li(t){return"function"==typeof t?t:Ec}function ki(t,e){return mh(t)?t:Oa(t,e)?[t]:Sd(Ys(t))}function wi(t,e,n){var r=t.length;return n=n===nt?r:n,!e&&n>=r?t:ui(t,e,n)}function Di(t,e){if(e)return t.slice();var n=t.length,r=xl?xl(n):new t.constructor(n);return t.copy(r),r}function xi(t){var e=new t.constructor(t.byteLength);return new Dl(e).set(new Dl(t)),e}function Yi(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ti(t,e,n){return p(e?n(q(t),ct):q(t),r,new t.constructor)}function Ai(t){var e=new t.constructor(t.source,Re.exec(t));return e.lastIndex=t.lastIndex,e}function Ei(t,e,n){return p(e?n(V(t),ct):V(t),i,new t.constructor)}function Si(t){return dd?ul(dd.call(t)):{}}function Fi(t,e){var n=e?xi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ci(t,e){if(t!==e){var n=t!==nt,r=null===t,i=t===t,a=ms(t),o=e!==nt,u=null===e,s=e===e,c=ms(e);if(!u&&!c&&!a&&t>e||a&&o&&s&&!u&&!c||r&&o&&s||!n&&s||!i)return 1;if(!r&&!a&&!c&&t<e||c&&n&&i&&!r&&!a||u&&n&&i||!o&&i||!s)return-1}return 0}function ji(t,e,n){for(var r=-1,i=t.criteria,a=e.criteria,o=i.length,u=n.length;++r<o;){var s=Ci(i[r],a[r]);if(s){if(r>=u)return s;return s*("desc"==n[r]?-1:1)}}return t.index-e.index}function Hi(t,e,n,r){for(var i=-1,a=t.length,o=n.length,u=-1,s=e.length,c=Ul(a-o,0),l=nl(s+c),d=!r;++u<s;)l[u]=e[u];for(;++i<o;)(d||i<a)&&(l[n[i]]=t[i]);for(;c--;)l[u++]=t[i++];return l}function Oi(t,e,n,r){for(var i=-1,a=t.length,o=-1,u=n.length,s=-1,c=e.length,l=Ul(a-u,0),d=nl(l+c),h=!r;++i<l;)d[i]=t[i];for(var f=i;++s<c;)d[f+s]=e[s];for(;++o<u;)(h||i<a)&&(d[f+n[o]]=t[i++]);return d}function Pi(t,e){var n=-1,r=t.length;for(e||(e=nl(r));++n<r;)e[n]=t[n];return e}function Ni(t,e,n,r){var i=!n;n||(n={});for(var a=-1,o=e.length;++a<o;){var u=e[a],s=r?r(n[u],t[u],u,n,t):nt;s===nt&&(s=t[u]),i?tr(n,u,s):Jn(n,u,s)}return n}function Bi(t,e){return Ni(t,wd(t),e)}function Ii(t,e){return Ni(t,Dd(t),e)}function Ri(t,e){return function(n,r){var i=mh(n)?o:Kn,a=e?e():{};return i(n,t,ba(r,2),a)}}function Wi(t){return ni(function(e,n){var r=-1,i=n.length,a=i>1?n[i-1]:nt,o=i>2?n[2]:nt;for(a=t.length>3&&"function"==typeof a?(i--,a):nt,o&&Ha(n[0],n[1],o)&&(a=i<3?nt:a,i=1),e=ul(e);++r<i;){var u=n[r];u&&t(e,u,r,a)}return e})}function zi(t,e){return function(n,r){if(null==n)return n;if(!$u(n))return t(n,r);for(var i=n.length,a=e?i:-1,o=ul(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function qi(t){return function(e,n,r){for(var i=-1,a=ul(e),o=r(e),u=o.length;u--;){var s=o[t?u:++i];if(!1===n(a[s],s,a))break}return e}}function Ui(t,e,n){function r(){return(this&&this!==Sn&&this instanceof r?a:t).apply(i?n:this,arguments)}var i=e&_t,a=Gi(t);return r}function $i(t){return function(e){e=Ys(e);var n=R(e)?X(e):nt,r=n?n[0]:e.charAt(0),i=n?wi(n,1).join(""):e.slice(1);return r[t]()+i}}function Vi(t){return function(e){return p(Dc(ac(e).replace(fn,"")),t,"")}}function Gi(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=fd(t.prototype),r=t.apply(n,e);return is(r)?r:n}}function Ji(t,e,n){function r(){for(var o=arguments.length,u=nl(o),s=o,c=Ma(r);s--;)u[s]=arguments[s];var l=o<3&&u[0]!==c&&u[o-1]!==c?[]:$(u,c);return(o-=l.length)<n?oa(t,e,Xi,r.placeholder,nt,u,l,nt,nt,n-o):a(this&&this!==Sn&&this instanceof r?i:t,this,u)}var i=Gi(t);return r}function Zi(t){return function(e,n,r){var i=ul(e);if(!$u(e)){var a=ba(n,3);e=Is(e),n=function(t){return a(i[t],t,i)}}var o=t(e,n,r);return o>-1?i[a?e[o]:o]:nt}}function Ki(t){return ma(function(e){var n=e.length,r=n,i=Y.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if("function"!=typeof a)throw new ll(at);if(i&&!o&&"wrapper"==va(a))var o=new Y([],!0)}for(r=o?r:n;++r<n;){a=e[r];var u=va(a),s="wrapper"==u?kd(a):nt;o=s&&Na(s[0])&&s[1]==(bt|yt|vt|Lt)&&!s[4].length&&1==s[9]?o[va(s[0])].apply(o,s[3]):1==a.length&&Na(a)?o[u]():o.thru(a)}return function(){var t=arguments,r=t[0];if(o&&1==t.length&&mh(r))return o.plant(r).value();for(var i=0,a=n?e[i].apply(this,t):r;++i<n;)a=e[i].call(this,a);return a}})}function Xi(t,e,n,r,i,a,o,u,s,c){function l(){for(var y=arguments.length,g=nl(y),v=y;v--;)g[v]=arguments[v];if(_)var M=Ma(l),b=N(g,M);if(r&&(g=Hi(g,r,i,_)),a&&(g=Oi(g,a,o,_)),y-=b,_&&y<c){var L=$(g,M);return oa(t,e,Xi,l.placeholder,n,g,L,u,s,c-y)}var k=h?n:this,w=f?k[t]:t;return y=g.length,u?g=Ga(g,u):p&&y>1&&g.reverse(),d&&s<y&&(g.length=s),this&&this!==Sn&&this instanceof l&&(w=m||Gi(w)),w.apply(k,g)}var d=e&bt,h=e&_t,f=e&pt,_=e&(yt|gt),p=e&kt,m=f?nt:Gi(t);return l}function Qi(t,e){return function(n,r){return wr(n,t,e(r),{})}}function ta(t,e){return function(n,r){var i;if(n===nt&&r===nt)return e;if(n!==nt&&(i=n),r!==nt){if(i===nt)return r;"string"==typeof n||"string"==typeof r?(n=fi(n),r=fi(r)):(n=hi(n),r=hi(r)),i=t(n,r)}return i}}function ea(t){return ma(function(e){return e=f(e,C(ba())),ni(function(n){var r=this;return t(e,function(t){return a(t,r,n)})})})}function na(t,e){e=e===nt?" ":fi(e);var n=e.length;if(n<2)return n?ei(e,t):e;var r=ei(e,Nl(t/K(e)));return R(e)?wi(X(r),0,t).join(""):r.slice(0,t)}function ra(t,e,n,r){function i(){for(var e=-1,s=arguments.length,c=-1,l=r.length,d=nl(l+s),h=this&&this!==Sn&&this instanceof i?u:t;++c<l;)d[c]=r[c];for(;s--;)d[c++]=arguments[++e];return a(h,o?n:this,d)}var o=e&_t,u=Gi(t);return i}function ia(t){return function(e,n,r){return r&&"number"!=typeof r&&Ha(e,n,r)&&(n=r=nt),e=bs(e),n===nt?(n=e,e=0):n=bs(n),r=r===nt?e<n?1:-1:bs(r),ti(e,n,r,t)}}function aa(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=ws(e),n=ws(n)),t(e,n)}}function oa(t,e,n,r,i,a,o,u,s,c){var l=e&yt,d=l?o:nt,h=l?nt:o,f=l?a:nt,_=l?nt:a;e|=l?vt:Mt,(e&=~(l?Mt:vt))&mt||(e&=~(_t|pt));var p=[t,e,i,f,d,_,h,u,s,c],m=n.apply(nt,p);return Na(t)&&Td(m,p),m.placeholder=r,Ja(m,t,e)}function ua(t){var e=ol[t];return function(t,n){if(t=ws(t),n=null==n?0:$l(Ls(n),292)){var r=(Ys(t)+"e").split("e");return r=(Ys(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function sa(t){return function(e){var n=xd(e);return n==Vt?q(e):n==Qt?G(e):F(e,t(e))}}function ca(t,e,n,r,i,a,o,u){var s=e&pt;if(!s&&"function"!=typeof t)throw new ll(at);var c=r?r.length:0;if(c||(e&=~(vt|Mt),r=i=nt),o=o===nt?o:Ul(Ls(o),0),u=u===nt?u:Ls(u),c-=i?i.length:0,e&Mt){var l=r,d=i;r=i=nt}var h=s?nt:kd(t),f=[t,e,n,r,i,l,d,a,o,u];if(h&&za(f,h),t=f[0],e=f[1],n=f[2],r=f[3],i=f[4],u=f[9]=f[9]===nt?s?0:t.length:Ul(f[9]-c,0),!u&&e&(yt|gt)&&(e&=~(yt|gt)),e&&e!=_t)_=e==yt||e==gt?Ji(t,e,u):e!=vt&&e!=(_t|vt)||i.length?Xi.apply(nt,f):ra(t,e,n,r);else var _=Ui(t,e,n);return Ja((h?gd:Td)(_,f),t,e)}function la(t,e,n,r){return t===nt||Uu(t,fl[n])&&!ml.call(r,n)?e:t}function da(t,e,n,r,i,a){return is(t)&&is(e)&&(a.set(e,t),qr(t,e,nt,da,a),a.delete(e)),t}function ha(t){return fs(t)?nt:t}function fa(t,e,n,r,i,a){var o=n&ht,u=t.length,s=e.length;if(u!=s&&!(o&&s>u))return!1;var c=a.get(t);if(c&&a.get(e))return c==e;var l=-1,d=!0,h=n&ft?new yn:nt;for(a.set(t,e),a.set(e,t);++l<u;){var f=t[l],_=e[l];if(r)var p=o?r(_,f,l,e,t,a):r(f,_,l,t,e,a);if(p!==nt){if(p)continue;d=!1;break}if(h){if(!y(e,function(t,e){if(!H(h,e)&&(f===t||i(f,t,n,r,a)))return h.push(e)})){d=!1;break}}else if(f!==_&&!i(f,_,n,r,a)){d=!1;break}}return a.delete(t),a.delete(e),d}function _a(t,e,n,r,i,a,o){switch(n){case oe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ae:return!(t.byteLength!=e.byteLength||!a(new Dl(t),new Dl(e)));case Rt:case Wt:case Gt:return Uu(+t,+e);case qt:return t.name==e.name&&t.message==e.message;case Xt:case te:return t==e+"";case Vt:var u=q;case Qt:var s=r&ht;if(u||(u=V),t.size!=e.size&&!s)return!1;var c=o.get(t);if(c)return c==e;r|=ft,o.set(t,e);var l=fa(u(t),u(e),r,i,a,o);return o.delete(t),l;case ee:if(dd)return dd.call(t)==dd.call(e)}return!1}function pa(t,e,n,r,i,a){var o=n&ht,u=ya(t),s=u.length;if(s!=ya(e).length&&!o)return!1;for(var c=s;c--;){var l=u[c];if(!(o?l in e:ml.call(e,l)))return!1}var d=a.get(t);if(d&&a.get(e))return d==e;var h=!0;a.set(t,e),a.set(e,t);for(var f=o;++c<s;){l=u[c];var _=t[l],p=e[l];if(r)var m=o?r(p,_,l,e,t,a):r(_,p,l,t,e,a);if(!(m===nt?_===p||i(_,p,n,r,a):m)){h=!1;break}f||(f="constructor"==l)}if(h&&!f){var y=t.constructor,g=e.constructor;y!=g&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof g&&g instanceof g)&&(h=!1)}return a.delete(t),a.delete(e),h}function ma(t){return Ed($a(t,nt,fo),t+"")}function ya(t){return yr(t,Is,wd)}function ga(t){return yr(t,Rs,Dd)}function va(t){for(var e=t.name+"",n=id[e],r=ml.call(id,e)?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function Ma(t){return(ml.call(n,"placeholder")?n:t).placeholder}function ba(){var t=n.iteratee||Sc;return t=t===Sc?Pr:t,arguments.length?t(arguments[0],arguments[1]):t}function La(t,e){var n=t.__data__;return Pa(e)?n["string"==typeof e?"string":"hash"]:n.map}function ka(t){for(var e=Is(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Ra(i)]}return e}function wa(t,e){var n=I(t,e);return Cr(n)?n:nt}function Da(t){var e=ml.call(t,Cl),n=t[Cl];try{t[Cl]=nt;var r=!0}catch(t){}var i=vl.call(t);return r&&(e?t[Cl]=n:delete t[Cl]),i}function xa(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=$l(e,t+o);break;case"takeRight":t=Ul(t,e-o)}}return{start:t,end:e}}function Ya(t){var e=t.match(Oe);return e?e[1].split(Pe):[]}function Ta(t,e,n){e=ki(e,t);for(var r=-1,i=e.length,a=!1;++r<i;){var o=Xa(e[r]);if(!(a=null!=t&&n(t,o)))break;t=t[o]}return a||++r!=i?a:!!(i=null==t?0:t.length)&&rs(i)&&ja(o,i)&&(mh(t)||ph(t))}function Aa(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&ml.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Ea(t){return"function"!=typeof t.constructor||Ia(t)?{}:fd(Yl(t))}function Sa(t,e,n,r){var i=t.constructor;switch(e){case ae:return xi(t);case Rt:case Wt:return new i(+t);case oe:return Yi(t,r);case ue:case se:case ce:case le:case de:case he:case fe:case _e:case pe:return Fi(t,r);case Vt:return Ti(t,r,n);case Gt:case te:return new i(t);case Xt:return Ai(t);case Qt:return Ei(t,r,n);case ee:return Si(t)}}function Fa(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(He,"{\n/* [wrapped with "+e+"] */\n")}function Ca(t){return mh(t)||ph(t)||!!(Sl&&t&&t[Sl])}function ja(t,e){return!!(e=null==e?St:e)&&("number"==typeof t||$e.test(t))&&t>-1&&t%1==0&&t<e}function Ha(t,e,n){if(!is(n))return!1;var r=typeof e;return!!("number"==r?$u(n)&&ja(e,n.length):"string"==r&&e in n)&&Uu(n[e],t)}function Oa(t,e){if(mh(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!ms(t))||(Ye.test(t)||!xe.test(t)||null!=e&&t in ul(e))}function Pa(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Na(t){var e=va(t),r=n[e];if("function"!=typeof r||!(e in J.prototype))return!1;if(t===r)return!0;var i=kd(r);return!!i&&t===i[0]}function Ba(t){return!!gl&&gl in t}function Ia(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||fl)}function Ra(t){return t===t&&!is(t)}function Wa(t,e){return function(n){return null!=n&&(n[t]===e&&(e!==nt||t in ul(n)))}}function za(t,e){var n=t[1],r=e[1],i=n|r,a=i<(_t|pt|bt),o=r==bt&&n==yt||r==bt&&n==Lt&&t[7].length<=e[8]||r==(bt|Lt)&&e[7].length<=e[8]&&n==yt;if(!a&&!o)return t;r&_t&&(t[2]=e[2],i|=n&_t?0:mt);var u=e[3];if(u){var s=t[3];t[3]=s?Hi(s,u,e[4]):u,t[4]=s?$(t[3],st):e[4]}return u=e[5],u&&(s=t[5],t[5]=s?Oi(s,u,e[6]):u,t[6]=s?$(t[5],st):e[6]),u=e[7],u&&(t[7]=u),r&bt&&(t[8]=null==t[8]?e[8]:$l(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function qa(t){var e=[];if(null!=t)for(var n in ul(t))e.push(n);return e}function Ua(t){return vl.call(t)}function $a(t,e,n){return e=Ul(e===nt?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Ul(r.length-e,0),u=nl(o);++i<o;)u[i]=r[e+i];i=-1;for(var s=nl(e+1);++i<e;)s[i]=r[i];return s[e]=n(u),a(t,this,s)}}function Va(t,e){return e.length<2?t:mr(t,ui(e,0,-1))}function Ga(t,e){for(var n=t.length,r=$l(e.length,n),i=Pi(t);r--;){var a=e[r];t[r]=ja(a,n)?i[a]:nt}return t}function Ja(t,e,n){var r=e+"";return Ed(t,Fa(r,to(Ya(r),n)))}function Za(t){var e=0,n=0;return function(){var r=Vl(),i=Yt-(r-n);if(n=r,i>0){if(++e>=xt)return arguments[0]}else e=0;return t.apply(nt,arguments)}}function Ka(t,e){var n=-1,r=t.length,i=r-1;for(e=e===nt?r:e;++n<e;){var a=Qr(n,i),o=t[a];t[a]=t[n],t[n]=o}return t.length=e,t}function Xa(t){if("string"==typeof t||ms(t))return t;var e=t+"";return"0"==e&&1/t==-Et?"-0":e}function Qa(t){if(null!=t){try{return pl.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function to(t,e){return u(Pt,function(n){var r="_."+n[0];e&n[1]&&!d(t,r)&&t.push(r)}),t.sort()}function eo(t){if(t instanceof J)return t.clone();var e=new Y(t.__wrapped__,t.__chain__);return e.__actions__=Pi(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function no(t,e,n){e=(n?Ha(t,e,n):e===nt)?1:Ul(Ls(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var i=0,a=0,o=nl(Nl(r/e));i<r;)o[a++]=ui(t,i,i+=e);return o}function ro(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var a=t[e];a&&(i[r++]=a)}return i}function io(){var t=arguments.length;if(!t)return[];for(var e=nl(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return _(mh(n)?Pi(n):[n],hr(e,1))}function ao(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===nt?1:Ls(e),ui(t,e<0?0:e,r)):[]}function oo(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===nt?1:Ls(e),e=r-e,ui(t,0,e<0?0:e)):[]}function uo(t,e){return t&&t.length?yi(t,ba(e,3),!0,!0):[]}function so(t,e){return t&&t.length?yi(t,ba(e,3),!0):[]}function co(t,e,n,r){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&Ha(t,e,n)&&(n=0,r=i),lr(t,e,n,r)):[]}function lo(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Ls(n);return i<0&&(i=Ul(r+i,0)),b(t,ba(e,3),i)}function ho(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r-1;return n!==nt&&(i=Ls(n),i=n<0?Ul(r+i,0):$l(i,r-1)),b(t,ba(e,3),i,!0)}function fo(t){return(null==t?0:t.length)?hr(t,1):[]}function _o(t){return(null==t?0:t.length)?hr(t,Et):[]}function po(t,e){return(null==t?0:t.length)?(e=e===nt?1:Ls(e),hr(t,e)):[]}function mo(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function yo(t){return t&&t.length?t[0]:nt}function go(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Ls(n);return i<0&&(i=Ul(r+i,0)),L(t,e,i)}function vo(t){return(null==t?0:t.length)?ui(t,0,-1):[]}function Mo(t,e){return null==t?"":zl.call(t,e)}function bo(t){var e=null==t?0:t.length;return e?t[e-1]:nt}function Lo(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==nt&&(i=Ls(n),i=i<0?Ul(r+i,0):$l(i,r-1)),e===e?Z(t,e,i):b(t,w,i,!0)}function ko(t,e){return t&&t.length?$r(t,Ls(e)):nt}function wo(t,e){return t&&t.length&&e&&e.length?Kr(t,e):t}function Do(t,e,n){return t&&t.length&&e&&e.length?Kr(t,e,ba(n,2)):t}function xo(t,e,n){return t&&t.length&&e&&e.length?Kr(t,e,nt,n):t}function Yo(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],a=t.length;for(e=ba(e,3);++r<a;){var o=t[r];e(o,r,t)&&(n.push(o),i.push(r))}return Xr(t,i),n}function To(t){return null==t?t:Zl.call(t)}function Ao(t,e,n){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&Ha(t,e,n)?(e=0,n=r):(e=null==e?0:Ls(e),n=n===nt?r:Ls(n)),ui(t,e,n)):[]}function Eo(t,e){return ci(t,e)}function So(t,e,n){return li(t,e,ba(n,2))}function Fo(t,e){var n=null==t?0:t.length;if(n){var r=ci(t,e);if(r<n&&Uu(t[r],e))return r}return-1}function Co(t,e){return ci(t,e,!0)}function jo(t,e,n){return li(t,e,ba(n,2),!0)}function Ho(t,e){if(null==t?0:t.length){var n=ci(t,e,!0)-1;if(Uu(t[n],e))return n}return-1}function Oo(t){return t&&t.length?di(t):[]}function Po(t,e){return t&&t.length?di(t,ba(e,2)):[]}function No(t){var e=null==t?0:t.length;return e?ui(t,1,e):[]}function Bo(t,e,n){return t&&t.length?(e=n||e===nt?1:Ls(e),ui(t,0,e<0?0:e)):[]}function Io(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===nt?1:Ls(e),e=r-e,ui(t,e<0?0:e,r)):[]}function Ro(t,e){return t&&t.length?yi(t,ba(e,3),!1,!0):[]}function Wo(t,e){return t&&t.length?yi(t,ba(e,3)):[]}function zo(t){return t&&t.length?_i(t):[]}function qo(t,e){return t&&t.length?_i(t,ba(e,2)):[]}function Uo(t,e){return e="function"==typeof e?e:nt,t&&t.length?_i(t,nt,e):[]}function $o(t){if(!t||!t.length)return[];var e=0;return t=l(t,function(t){if(Vu(t))return e=Ul(t.length,e),!0}),S(e,function(e){return f(t,x(e))})}function Vo(t,e){if(!t||!t.length)return[];var n=$o(t);return null==e?n:f(n,function(t){return a(e,nt,t)})}function Go(t,e){return Mi(t||[],e||[],Jn)}function Jo(t,e){return Mi(t||[],e||[],ai)}function Zo(t){var e=n(t);return e.__chain__=!0,e}function Ko(t,e){return e(t),t}function Xo(t,e){return e(t)}function Qo(){return Zo(this)}function tu(){return new Y(this.value(),this.__chain__)}function eu(){this.__values__===nt&&(this.__values__=Ms(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?nt:this.__values__[this.__index__++]}}function nu(){return this}function ru(t){for(var e,n=this;n instanceof g;){var r=eo(n);r.__index__=0,r.__values__=nt,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function iu(){var t=this.__wrapped__;if(t instanceof J){var e=t;return this.__actions__.length&&(e=new J(this)),e=e.reverse(),e.__actions__.push({func:Xo,args:[To],thisArg:nt}),new Y(e,this.__chain__)}return this.thru(To)}function au(){return gi(this.__wrapped__,this.__actions__)}function ou(t,e,n){var r=mh(t)?c:sr;return n&&Ha(t,e,n)&&(e=nt),r(t,ba(e,3))}function uu(t,e){return(mh(t)?l:dr)(t,ba(e,3))}function su(t,e){return hr(_u(t,e),1)}function cu(t,e){return hr(_u(t,e),Et)}function lu(t,e,n){return n=n===nt?1:Ls(n),hr(_u(t,e),n)}function du(t,e){return(mh(t)?u:_d)(t,ba(e,3))}function hu(t,e){return(mh(t)?s:pd)(t,ba(e,3))}function fu(t,e,n,r){t=$u(t)?t:Qs(t),n=n&&!r?Ls(n):0;var i=t.length;return n<0&&(n=Ul(i+n,0)),ps(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&L(t,e,n)>-1}function _u(t,e){return(mh(t)?f:Rr)(t,ba(e,3))}function pu(t,e,n,r){return null==t?[]:(mh(e)||(e=null==e?[]:[e]),n=r?nt:n,mh(n)||(n=null==n?[]:[n]),Vr(t,e,n))}function mu(t,e,n){var r=mh(t)?p:T,i=arguments.length<3;return r(t,ba(e,4),n,i,_d)}function yu(t,e,n){var r=mh(t)?m:T,i=arguments.length<3;return r(t,ba(e,4),n,i,pd)}function gu(t,e){return(mh(t)?l:dr)(t,Fu(ba(e,3)))}function vu(t){return(mh(t)?Hn:ri)(t)}function Mu(t,e,n){return e=(n?Ha(t,e,n):e===nt)?1:Ls(e),(mh(t)?On:ii)(t,e)}function bu(t){return(mh(t)?zn:oi)(t)}function Lu(t){if(null==t)return 0;if($u(t))return ps(t)?K(t):t.length;var e=xd(t);return e==Vt||e==Qt?t.size:Nr(t).length}function ku(t,e,n){var r=mh(t)?y:si;return n&&Ha(t,e,n)&&(e=nt),r(t,ba(e,3))}function wu(t,e){if("function"!=typeof e)throw new ll(at);return t=Ls(t),function(){if(--t<1)return e.apply(this,arguments)}}function Du(t,e,n){return e=n?nt:e,e=t&&null==e?t.length:e,ca(t,bt,nt,nt,nt,nt,e)}function xu(t,e){var n;if("function"!=typeof e)throw new ll(at);return t=Ls(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=nt),n}}function Yu(t,e,n){e=n?nt:e;var r=ca(t,yt,nt,nt,nt,nt,nt,e);return r.placeholder=Yu.placeholder,r}function Tu(t,e,n){e=n?nt:e;var r=ca(t,gt,nt,nt,nt,nt,nt,e);return r.placeholder=Tu.placeholder,r}function Au(t,e,n){function r(e){var n=h,r=f;return h=f=nt,g=e,p=t.apply(r,n)}function i(t){return g=t,m=Ad(u,e),v?r(t):p}function a(t){var n=t-y,r=t-g,i=e-n;return M?$l(i,_-r):i}function o(t){var n=t-y,r=t-g;return y===nt||n>=e||n<0||M&&r>=_}function u(){var t=ih();if(o(t))return s(t);m=Ad(u,a(t))}function s(t){return m=nt,b&&h?r(t):(h=f=nt,p)}function c(){m!==nt&&bd(m),g=0,h=y=f=m=nt}function l(){return m===nt?p:s(ih())}function d(){var t=ih(),n=o(t);if(h=arguments,f=this,y=t,n){if(m===nt)return i(y);if(M)return m=Ad(u,e),r(y)}return m===nt&&(m=Ad(u,e)),p}var h,f,_,p,m,y,g=0,v=!1,M=!1,b=!0;if("function"!=typeof t)throw new ll(at);return e=ws(e)||0,is(n)&&(v=!!n.leading,M="maxWait"in n,_=M?Ul(ws(n.maxWait)||0,e):_,b="trailing"in n?!!n.trailing:b),d.cancel=c,d.flush=l,d}function Eu(t){return ca(t,kt)}function Su(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ll(at);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Su.Cache||cn),n}function Fu(t){if("function"!=typeof t)throw new ll(at);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Cu(t){return xu(2,t)}function ju(t,e){if("function"!=typeof t)throw new ll(at);return e=e===nt?e:Ls(e),ni(t,e)}function Hu(t,e){if("function"!=typeof t)throw new ll(at);return e=null==e?0:Ul(Ls(e),0),ni(function(n){var r=n[e],i=wi(n,0,e);return r&&_(i,r),a(t,this,i)})}function Ou(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ll(at);return is(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Au(t,e,{leading:r,maxWait:e,trailing:i})}function Pu(t){return Du(t,1)}function Nu(t,e){return lh(Li(e),t)}function Bu(){if(!arguments.length)return[];var t=arguments[0];return mh(t)?t:[t]}function Iu(t){return rr(t,dt)}function Ru(t,e){return e="function"==typeof e?e:nt,rr(t,dt,e)}function Wu(t){return rr(t,ct|dt)}function zu(t,e){return e="function"==typeof e?e:nt,rr(t,ct|dt,e)}function qu(t,e){return null==e||ar(t,e,Is(e))}function Uu(t,e){return t===e||t!==t&&e!==e}function $u(t){return null!=t&&rs(t.length)&&!es(t)}function Vu(t){return as(t)&&$u(t)}function Gu(t){return!0===t||!1===t||as(t)&&gr(t)==Rt}function Ju(t){return as(t)&&1===t.nodeType&&!fs(t)}function Zu(t){if(null==t)return!0;if($u(t)&&(mh(t)||"string"==typeof t||"function"==typeof t.splice||gh(t)||kh(t)||ph(t)))return!t.length;var e=xd(t);if(e==Vt||e==Qt)return!t.size;if(Ia(t))return!Nr(t).length;for(var n in t)if(ml.call(t,n))return!1;return!0}function Ku(t,e){return Ar(t,e)}function Xu(t,e,n){n="function"==typeof n?n:nt;var r=n?n(t,e):nt;return r===nt?Ar(t,e,nt,n):!!r}function Qu(t){if(!as(t))return!1;var e=gr(t);return e==qt||e==zt||"string"==typeof t.message&&"string"==typeof t.name&&!fs(t)}function ts(t){return"number"==typeof t&&Wl(t)}function es(t){if(!is(t))return!1;var e=gr(t);return e==Ut||e==$t||e==It||e==Kt}function ns(t){return"number"==typeof t&&t==Ls(t)}function rs(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=St}function is(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function as(t){return null!=t&&"object"==typeof t}function os(t,e){return t===e||Fr(t,e,ka(e))}function us(t,e,n){return n="function"==typeof n?n:nt,Fr(t,e,ka(e),n)}function ss(t){return hs(t)&&t!=+t}function cs(t){if(Yd(t))throw new il(it);return Cr(t)}function ls(t){return null===t}function ds(t){return null==t}function hs(t){return"number"==typeof t||as(t)&&gr(t)==Gt}function fs(t){if(!as(t)||gr(t)!=Zt)return!1;var e=Yl(t);if(null===e)return!0;var n=ml.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&pl.call(n)==Ml}function _s(t){return ns(t)&&t>=-St&&t<=St}function ps(t){return"string"==typeof t||!mh(t)&&as(t)&&gr(t)==te}function ms(t){return"symbol"==typeof t||as(t)&&gr(t)==ee}function ys(t){return t===nt}function gs(t){return as(t)&&xd(t)==re}function vs(t){return as(t)&&gr(t)==ie}function Ms(t){if(!t)return[];if($u(t))return ps(t)?X(t):Pi(t);if(Fl&&t[Fl])return z(t[Fl]());var e=xd(t);return(e==Vt?q:e==Qt?V:Qs)(t)}function bs(t){if(!t)return 0===t?t:0;if((t=ws(t))===Et||t===-Et){return(t<0?-1:1)*Ft}return t===t?t:0}function Ls(t){var e=bs(t),n=e%1;return e===e?n?e-n:e:0}function ks(t){return t?nr(Ls(t),0,jt):0}function ws(t){if("number"==typeof t)return t;if(ms(t))return Ct;if(is(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=is(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Fe,"");var n=ze.test(t);return n||Ue.test(t)?Tn(t.slice(2),n?2:8):We.test(t)?Ct:+t}function Ds(t){return Ni(t,Rs(t))}function xs(t){return t?nr(Ls(t),-St,St):0===t?t:0}function Ys(t){return null==t?"":fi(t)}function Ts(t,e){var n=fd(t);return null==e?n:Xn(n,e)}function As(t,e){return M(t,ba(e,3),fr)}function Es(t,e){return M(t,ba(e,3),_r)}function Ss(t,e){return null==t?t:md(t,ba(e,3),Rs)}function Fs(t,e){return null==t?t:yd(t,ba(e,3),Rs)}function Cs(t,e){return t&&fr(t,ba(e,3))}function js(t,e){return t&&_r(t,ba(e,3))}function Hs(t){return null==t?[]:pr(t,Is(t))}function Os(t){return null==t?[]:pr(t,Rs(t))}function Ps(t,e,n){var r=null==t?nt:mr(t,e);return r===nt?n:r}function Ns(t,e){return null!=t&&Ta(t,e,Mr)}function Bs(t,e){return null!=t&&Ta(t,e,br)}function Is(t){return $u(t)?Cn(t):Nr(t)}function Rs(t){return $u(t)?Cn(t,!0):Br(t)}function Ws(t,e){var n={};return e=ba(e,3),fr(t,function(t,r,i){tr(n,e(t,r,i),t)}),n}function zs(t,e){var n={};return e=ba(e,3),fr(t,function(t,r,i){tr(n,r,e(t,r,i))}),n}function qs(t,e){return Us(t,Fu(ba(e)))}function Us(t,e){if(null==t)return{};var n=f(ga(t),function(t){return[t]});return e=ba(e),Jr(t,n,function(t,n){return e(t,n[0])})}function $s(t,e,n){e=ki(e,t);var r=-1,i=e.length;for(i||(i=1,t=nt);++r<i;){var a=null==t?nt:t[Xa(e[r])];a===nt&&(r=i,a=n),t=es(a)?a.call(t):a}return t}function Vs(t,e,n){return null==t?t:ai(t,e,n)}function Gs(t,e,n,r){return r="function"==typeof r?r:nt,null==t?t:ai(t,e,n,r)}function Js(t,e,n){var r=mh(t),i=r||gh(t)||kh(t);if(e=ba(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:is(t)&&es(a)?fd(Yl(t)):{}}return(i?u:fr)(t,function(t,r,i){return e(n,t,r,i)}),n}function Zs(t,e){return null==t||pi(t,e)}function Ks(t,e,n){return null==t?t:mi(t,e,Li(n))}function Xs(t,e,n,r){return r="function"==typeof r?r:nt,null==t?t:mi(t,e,Li(n),r)}function Qs(t){return null==t?[]:j(t,Is(t))}function tc(t){return null==t?[]:j(t,Rs(t))}function ec(t,e,n){return n===nt&&(n=e,e=nt),n!==nt&&(n=ws(n),n=n===n?n:0),e!==nt&&(e=ws(e),e=e===e?e:0),nr(ws(t),e,n)}function nc(t,e,n){return e=bs(e),n===nt?(n=e,e=0):n=bs(n),t=ws(t),Lr(t,e,n)}function rc(t,e,n){if(n&&"boolean"!=typeof n&&Ha(t,e,n)&&(e=n=nt),n===nt&&("boolean"==typeof e?(n=e,e=nt):"boolean"==typeof t&&(n=t,t=nt)),t===nt&&e===nt?(t=0,e=1):(t=bs(t),e===nt?(e=t,t=0):e=bs(e)),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Jl();return $l(t+i*(e-t+Yn("1e-"+((i+"").length-1))),e)}return Qr(t,e)}function ic(t){return Jh(Ys(t).toLowerCase())}function ac(t){return(t=Ys(t))&&t.replace(Ve,qn).replace(_n,"")}function oc(t,e,n){t=Ys(t),e=fi(e);var r=t.length;n=n===nt?r:nr(Ls(n),0,r);var i=n;return(n-=e.length)>=0&&t.slice(n,i)==e}function uc(t){return t=Ys(t),t&&Le.test(t)?t.replace(Me,Un):t}function sc(t){return t=Ys(t),t&&Se.test(t)?t.replace(Ee,"\\$&"):t}function cc(t,e,n){t=Ys(t),e=Ls(e);var r=e?K(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return na(Bl(i),n)+t+na(Nl(i),n)}function lc(t,e,n){t=Ys(t),e=Ls(e);var r=e?K(t):0;return e&&r<e?t+na(e-r,n):t}function dc(t,e,n){t=Ys(t),e=Ls(e);var r=e?K(t):0;return e&&r<e?na(e-r,n)+t:t}function hc(t,e,n){return n||null==e?e=0:e&&(e=+e),Gl(Ys(t).replace(Ce,""),e||0)}function fc(t,e,n){return e=(n?Ha(t,e,n):e===nt)?1:Ls(e),ei(Ys(t),e)}function _c(){var t=arguments,e=Ys(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function pc(t,e,n){return n&&"number"!=typeof n&&Ha(t,e,n)&&(e=n=nt),(n=n===nt?jt:n>>>0)?(t=Ys(t),t&&("string"==typeof e||null!=e&&!bh(e))&&!(e=fi(e))&&R(t)?wi(X(t),0,n):t.split(e,n)):[]}function mc(t,e,n){return t=Ys(t),n=null==n?0:nr(Ls(n),0,t.length),e=fi(e),t.slice(n,n+e.length)==e}function yc(t,e,r){var i=n.templateSettings;r&&Ha(t,e,r)&&(e=nt),t=Ys(t),e=Th({},e,i,la);var a,o,u=Th({},e.imports,i.imports,la),s=Is(u),c=j(u,s),l=0,d=e.interpolate||Ge,h="__p += '",f=sl((e.escape||Ge).source+"|"+d.source+"|"+(d===De?Ie:Ge).source+"|"+(e.evaluate||Ge).source+"|$","g"),_="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++Mn+"]")+"\n";t.replace(f,function(e,n,r,i,u,s){return r||(r=i),h+=t.slice(l,s).replace(Je,B),n&&(a=!0,h+="' +\n__e("+n+") +\n'"),u&&(o=!0,h+="';\n"+u+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+e.length,e}),h+="';\n";var p=e.variable;p||(h="with (obj) {\n"+h+"\n}\n"),h=(o?h.replace(me,""):h).replace(ye,"$1").replace(ge,"$1;"),h="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var m=Zh(function(){return al(s,_+"return "+h).apply(nt,c)});if(m.source=h,Qu(m))throw m;return m}function gc(t){return Ys(t).toLowerCase()}function vc(t){return Ys(t).toUpperCase()}function Mc(t,e,n){if((t=Ys(t))&&(n||e===nt))return t.replace(Fe,"");if(!t||!(e=fi(e)))return t;var r=X(t),i=X(e);return wi(r,O(r,i),P(r,i)+1).join("")}function bc(t,e,n){if((t=Ys(t))&&(n||e===nt))return t.replace(je,"");if(!t||!(e=fi(e)))return t;var r=X(t);return wi(r,0,P(r,X(e))+1).join("")}function Lc(t,e,n){if((t=Ys(t))&&(n||e===nt))return t.replace(Ce,"");if(!t||!(e=fi(e)))return t;var r=X(t);return wi(r,O(r,X(e))).join("")}function kc(t,e){var n=wt,r=Dt;if(is(e)){var i="separator"in e?e.separator:i;n="length"in e?Ls(e.length):n,r="omission"in e?fi(e.omission):r}t=Ys(t);var a=t.length;if(R(t)){var o=X(t);a=o.length}if(n>=a)return t;var u=n-K(r);if(u<1)return r;var s=o?wi(o,0,u).join(""):t.slice(0,u);if(i===nt)return s+r;if(o&&(u+=s.length-u),bh(i)){if(t.slice(u).search(i)){var c,l=s;for(i.global||(i=sl(i.source,Ys(Re.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var d=c.index;s=s.slice(0,d===nt?u:d)}}else if(t.indexOf(fi(i),u)!=u){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+r}function wc(t){return t=Ys(t),t&&be.test(t)?t.replace(ve,$n):t}function Dc(t,e,n){return t=Ys(t),e=n?nt:e,e===nt?W(t)?et(t):v(t):t.match(e)||[]}function xc(t){var e=null==t?0:t.length,n=ba();return t=e?f(t,function(t){if("function"!=typeof t[1])throw new ll(at);return[n(t[0]),t[1]]}):[],ni(function(n){for(var r=-1;++r<e;){var i=t[r];if(a(i[0],this,n))return a(i[1],this,n)}})}function Yc(t){return ir(rr(t,ct))}function Tc(t){return function(){return t}}function Ac(t,e){return null==t||t!==t?e:t}function Ec(t){return t}function Sc(t){return Pr("function"==typeof t?t:rr(t,ct))}function Fc(t){return Wr(rr(t,ct))}function Cc(t,e){return zr(t,rr(e,ct))}function jc(t,e,n){var r=Is(e),i=pr(e,r);null!=n||is(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=pr(e,Is(e)));var a=!(is(n)&&"chain"in n&&!n.chain),o=es(t);return u(i,function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=Pi(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,_([this.value()],arguments))})}),t}function Hc(){return Sn._===this&&(Sn._=bl),this}function Oc(){}function Pc(t){return t=Ls(t),ni(function(e){return $r(e,t)})}function Nc(t){return Oa(t)?x(Xa(t)):Zr(t)}function Bc(t){return function(e){return null==t?nt:mr(t,e)}}function Ic(){return[]}function Rc(){return!1}function Wc(){return{}}function zc(){return""}function qc(){return!0}function Uc(t,e){if((t=Ls(t))<1||t>St)return[];var n=jt,r=$l(t,jt);e=ba(e),t-=jt;for(var i=S(r,e);++n<t;)e(n);return i}function $c(t){return mh(t)?f(t,Xa):ms(t)?[t]:Pi(Sd(Ys(t)))}function Vc(t){var e=++yl;return Ys(t)+e}function Gc(t){return t&&t.length?cr(t,Ec,vr):nt}function Jc(t,e){return t&&t.length?cr(t,ba(e,2),vr):nt}function Zc(t){return D(t,Ec)}function Kc(t,e){return D(t,ba(e,2))}function Xc(t){return t&&t.length?cr(t,Ec,Ir):nt}function Qc(t,e){return t&&t.length?cr(t,ba(e,2),Ir):nt}function tl(t){return t&&t.length?E(t,Ec):0}function el(t,e){return t&&t.length?E(t,ba(e,2)):0}e=null==e?Sn:Vn.defaults(Sn.Object(),e,Vn.pick(Sn,vn));var nl=e.Array,rl=e.Date,il=e.Error,al=e.Function,ol=e.Math,ul=e.Object,sl=e.RegExp,cl=e.String,ll=e.TypeError,dl=nl.prototype,hl=al.prototype,fl=ul.prototype,_l=e["__core-js_shared__"],pl=hl.toString,ml=fl.hasOwnProperty,yl=0,gl=function(){var t=/[^.]+$/.exec(_l&&_l.keys&&_l.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),vl=fl.toString,Ml=pl.call(ul),bl=Sn._,Ll=sl("^"+pl.call(ml).replace(Ee,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),kl=jn?e.Buffer:nt,wl=e.Symbol,Dl=e.Uint8Array,xl=kl?kl.allocUnsafe:nt,Yl=U(ul.getPrototypeOf,ul),Tl=ul.create,Al=fl.propertyIsEnumerable,El=dl.splice,Sl=wl?wl.isConcatSpreadable:nt,Fl=wl?wl.iterator:nt,Cl=wl?wl.toStringTag:nt,jl=function(){try{var t=wa(ul,"defineProperty");return t({},"",{}),t}catch(t){}}(),Hl=e.clearTimeout!==Sn.clearTimeout&&e.clearTimeout,Ol=rl&&rl.now!==Sn.Date.now&&rl.now,Pl=e.setTimeout!==Sn.setTimeout&&e.setTimeout,Nl=ol.ceil,Bl=ol.floor,Il=ul.getOwnPropertySymbols,Rl=kl?kl.isBuffer:nt,Wl=e.isFinite,zl=dl.join,ql=U(ul.keys,ul),Ul=ol.max,$l=ol.min,Vl=rl.now,Gl=e.parseInt,Jl=ol.random,Zl=dl.reverse,Kl=wa(e,"DataView"),Xl=wa(e,"Map"),Ql=wa(e,"Promise"),td=wa(e,"Set"),ed=wa(e,"WeakMap"),nd=wa(ul,"create"),rd=ed&&new ed,id={},ad=Qa(Kl),od=Qa(Xl),ud=Qa(Ql),sd=Qa(td),cd=Qa(ed),ld=wl?wl.prototype:nt,dd=ld?ld.valueOf:nt,hd=ld?ld.toString:nt,fd=function(){function t(){}return function(e){if(!is(e))return{};if(Tl)return Tl(e);t.prototype=e;var n=new t;return t.prototype=nt,n}}();n.templateSettings={escape:ke,evaluate:we,interpolate:De,variable:"",imports:{_:n}},n.prototype=g.prototype,n.prototype.constructor=n,Y.prototype=fd(g.prototype),Y.prototype.constructor=Y,J.prototype=fd(g.prototype),J.prototype.constructor=J,Ze.prototype.clear=Ke,Ze.prototype.delete=Xe,Ze.prototype.get=Qe,Ze.prototype.has=tn,Ze.prototype.set=en,nn.prototype.clear=rn,nn.prototype.delete=an,nn.prototype.get=on,nn.prototype.has=un,nn.prototype.set=sn,cn.prototype.clear=ln,cn.prototype.delete=dn,cn.prototype.get=hn,cn.prototype.has=pn,cn.prototype.set=mn,yn.prototype.add=yn.prototype.push=gn,yn.prototype.has=kn,wn.prototype.clear=Dn,wn.prototype.delete=xn,wn.prototype.get=An,wn.prototype.has=En,wn.prototype.set=Fn;var _d=zi(fr),pd=zi(_r,!0),md=qi(),yd=qi(!0),gd=rd?function(t,e){return rd.set(t,e),t}:Ec,vd=jl?function(t,e){return jl(t,"toString",{configurable:!0,enumerable:!1,value:Tc(e),writable:!0})}:Ec,Md=ni,bd=Hl||function(t){return Sn.clearTimeout(t)},Ld=td&&1/V(new td([,-0]))[1]==Et?function(t){return new td(t)}:Oc,kd=rd?function(t){return rd.get(t)}:Oc,wd=Il?function(t){return null==t?[]:(t=ul(t),l(Il(t),function(e){return Al.call(t,e)}))}:Ic,Dd=Il?function(t){for(var e=[];t;)_(e,wd(t)),t=Yl(t);return e}:Ic,xd=gr;(Kl&&xd(new Kl(new ArrayBuffer(1)))!=oe||Xl&&xd(new Xl)!=Vt||Ql&&"[object Promise]"!=xd(Ql.resolve())||td&&xd(new td)!=Qt||ed&&xd(new ed)!=re)&&(xd=function(t){var e=gr(t),n=e==Zt?t.constructor:nt,r=n?Qa(n):"";if(r)switch(r){case ad:return oe;case od:return Vt;case ud:return"[object Promise]";case sd:return Qt;case cd:return re}return e});var Yd=_l?es:Rc,Td=Za(gd),Ad=Pl||function(t,e){return Sn.setTimeout(t,e)},Ed=Za(vd),Sd=function(t){var e=Su(t,function(t){return n.size===ut&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return Te.test(t)&&e.push(""),t.replace(Ae,function(t,n,r,i){e.push(r?i.replace(Be,"$1"):n||t)}),e}),Fd=ni(function(t,e){return Vu(t)?ur(t,hr(e,1,Vu,!0)):[]}),Cd=ni(function(t,e){var n=bo(e);return Vu(n)&&(n=nt),Vu(t)?ur(t,hr(e,1,Vu,!0),ba(n,2)):[]}),jd=ni(function(t,e){var n=bo(e);return Vu(n)&&(n=nt),Vu(t)?ur(t,hr(e,1,Vu,!0),nt,n):[]}),Hd=ni(function(t){var e=f(t,bi);return e.length&&e[0]===t[0]?kr(e):[]}),Od=ni(function(t){var e=bo(t),n=f(t,bi);return e===bo(n)?e=nt:n.pop(),n.length&&n[0]===t[0]?kr(n,ba(e,2)):[]}),Pd=ni(function(t){var e=bo(t),n=f(t,bi);return e="function"==typeof e?e:nt,e&&n.pop(),n.length&&n[0]===t[0]?kr(n,nt,e):[]}),Nd=ni(wo),Bd=ma(function(t,e){var n=null==t?0:t.length,r=er(t,e);return Xr(t,f(e,function(t){return ja(t,n)?+t:t}).sort(Ci)),r}),Id=ni(function(t){return _i(hr(t,1,Vu,!0))}),Rd=ni(function(t){var e=bo(t);return Vu(e)&&(e=nt),_i(hr(t,1,Vu,!0),ba(e,2))}),Wd=ni(function(t){var e=bo(t);return e="function"==typeof e?e:nt,_i(hr(t,1,Vu,!0),nt,e)}),zd=ni(function(t,e){return Vu(t)?ur(t,e):[]}),qd=ni(function(t){return vi(l(t,Vu))}),Ud=ni(function(t){var e=bo(t);return Vu(e)&&(e=nt),vi(l(t,Vu),ba(e,2))}),$d=ni(function(t){var e=bo(t);return e="function"==typeof e?e:nt,vi(l(t,Vu),nt,e)}),Vd=ni($o),Gd=ni(function(t){var e=t.length,n=e>1?t[e-1]:nt;return n="function"==typeof n?(t.pop(),n):nt,Vo(t,n)}),Jd=ma(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return er(e,t)};return!(e>1||this.__actions__.length)&&r instanceof J&&ja(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Xo,args:[i],thisArg:nt}),new Y(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(nt),t})):this.thru(i)}),Zd=Ri(function(t,e,n){ml.call(t,n)?++t[n]:tr(t,n,1)}),Kd=Zi(lo),Xd=Zi(ho),Qd=Ri(function(t,e,n){ml.call(t,n)?t[n].push(e):tr(t,n,[e])}),th=ni(function(t,e,n){var r=-1,i="function"==typeof e,o=$u(t)?nl(t.length):[];return _d(t,function(t){o[++r]=i?a(e,t,n):Dr(t,e,n)}),o}),eh=Ri(function(t,e,n){tr(t,n,e)}),nh=Ri(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),rh=ni(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Ha(t,e[0],e[1])?e=[]:n>2&&Ha(e[0],e[1],e[2])&&(e=[e[0]]),Vr(t,hr(e,1),[])}),ih=Ol||function(){return Sn.Date.now()},ah=ni(function(t,e,n){var r=_t;if(n.length){var i=$(n,Ma(ah));r|=vt}return ca(t,r,e,n,i)}),oh=ni(function(t,e,n){var r=_t|pt;if(n.length){var i=$(n,Ma(oh));r|=vt}return ca(e,r,t,n,i)}),uh=ni(function(t,e){return or(t,1,e)}),sh=ni(function(t,e,n){return or(t,ws(e)||0,n)});Su.Cache=cn;var ch=Md(function(t,e){e=1==e.length&&mh(e[0])?f(e[0],C(ba())):f(hr(e,1),C(ba()));var n=e.length;return ni(function(r){for(var i=-1,o=$l(r.length,n);++i<o;)r[i]=e[i].call(this,r[i]);return a(t,this,r)})}),lh=ni(function(t,e){var n=$(e,Ma(lh));return ca(t,vt,nt,e,n)}),dh=ni(function(t,e){var n=$(e,Ma(dh));return ca(t,Mt,nt,e,n)}),hh=ma(function(t,e){return ca(t,Lt,nt,nt,nt,e)}),fh=aa(vr),_h=aa(function(t,e){return t>=e}),ph=xr(function(){return arguments}())?xr:function(t){return as(t)&&ml.call(t,"callee")&&!Al.call(t,"callee")},mh=nl.isArray,yh=Pn?C(Pn):Yr,gh=Rl||Rc,vh=Nn?C(Nn):Tr,Mh=Bn?C(Bn):Sr,bh=In?C(In):jr,Lh=Rn?C(Rn):Hr,kh=Wn?C(Wn):Or,wh=aa(Ir),Dh=aa(function(t,e){return t<=e}),xh=Wi(function(t,e){if(Ia(e)||$u(e))return void Ni(e,Is(e),t);for(var n in e)ml.call(e,n)&&Jn(t,n,e[n])}),Yh=Wi(function(t,e){Ni(e,Rs(e),t)}),Th=Wi(function(t,e,n,r){Ni(e,Rs(e),t,r)}),Ah=Wi(function(t,e,n,r){Ni(e,Is(e),t,r)}),Eh=ma(er),Sh=ni(function(t){return t.push(nt,la),a(Th,nt,t)}),Fh=ni(function(t){return t.push(nt,da),a(Ph,nt,t)}),Ch=Qi(function(t,e,n){t[e]=n},Tc(Ec)),jh=Qi(function(t,e,n){ml.call(t,e)?t[e].push(n):t[e]=[n]},ba),Hh=ni(Dr),Oh=Wi(function(t,e,n){qr(t,e,n)}),Ph=Wi(function(t,e,n,r){qr(t,e,n,r)}),Nh=ma(function(t,e){var n={};if(null==t)return n;var r=!1;e=f(e,function(e){return e=ki(e,t),r||(r=e.length>1),e}),Ni(t,ga(t),n),r&&(n=rr(n,ct|lt|dt,ha));for(var i=e.length;i--;)pi(n,e[i]);return n}),Bh=ma(function(t,e){return null==t?{}:Gr(t,e)}),Ih=sa(Is),Rh=sa(Rs),Wh=Vi(function(t,e,n){return e=e.toLowerCase(),t+(n?ic(e):e)}),zh=Vi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),qh=Vi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Uh=$i("toLowerCase"),$h=Vi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Vh=Vi(function(t,e,n){return t+(n?" ":"")+Jh(e)}),Gh=Vi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Jh=$i("toUpperCase"),Zh=ni(function(t,e){try{return a(t,nt,e)}catch(t){return Qu(t)?t:new il(t)}}),Kh=ma(function(t,e){return u(e,function(e){e=Xa(e),tr(t,e,ah(t[e],t))}),t}),Xh=Ki(),Qh=Ki(!0),tf=ni(function(t,e){return function(n){return Dr(n,t,e)}}),ef=ni(function(t,e){return function(n){return Dr(t,n,e)}}),nf=ea(f),rf=ea(c),af=ea(y),of=ia(),uf=ia(!0),sf=ta(function(t,e){return t+e},0),cf=ua("ceil"),lf=ta(function(t,e){return t/e},1),df=ua("floor"),hf=ta(function(t,e){return t*e},1),ff=ua("round"),_f=ta(function(t,e){return t-e},0);return n.after=wu,n.ary=Du,n.assign=xh,n.assignIn=Yh,n.assignInWith=Th,n.assignWith=Ah,n.at=Eh,n.before=xu,n.bind=ah,n.bindAll=Kh,n.bindKey=oh,n.castArray=Bu,n.chain=Zo,n.chunk=no,n.compact=ro,n.concat=io,n.cond=xc,n.conforms=Yc,n.constant=Tc,n.countBy=Zd,n.create=Ts,n.curry=Yu,n.curryRight=Tu,n.debounce=Au,n.defaults=Sh,n.defaultsDeep=Fh,n.defer=uh,n.delay=sh,n.difference=Fd,n.differenceBy=Cd,n.differenceWith=jd,n.drop=ao,n.dropRight=oo,n.dropRightWhile=uo,n.dropWhile=so,n.fill=co,n.filter=uu,n.flatMap=su,n.flatMapDeep=cu,n.flatMapDepth=lu,n.flatten=fo,n.flattenDeep=_o,n.flattenDepth=po,n.flip=Eu,n.flow=Xh,n.flowRight=Qh,n.fromPairs=mo,n.functions=Hs,n.functionsIn=Os,n.groupBy=Qd,n.initial=vo,n.intersection=Hd,n.intersectionBy=Od,n.intersectionWith=Pd,n.invert=Ch,n.invertBy=jh,n.invokeMap=th,n.iteratee=Sc,n.keyBy=eh,n.keys=Is,n.keysIn=Rs,n.map=_u,n.mapKeys=Ws,n.mapValues=zs,n.matches=Fc,n.matchesProperty=Cc,n.memoize=Su,n.merge=Oh,n.mergeWith=Ph,n.method=tf,n.methodOf=ef,n.mixin=jc,n.negate=Fu,n.nthArg=Pc,n.omit=Nh,n.omitBy=qs,n.once=Cu,n.orderBy=pu,n.over=nf,n.overArgs=ch,n.overEvery=rf,n.overSome=af,n.partial=lh,n.partialRight=dh,n.partition=nh,n.pick=Bh,n.pickBy=Us,n.property=Nc,n.propertyOf=Bc,n.pull=Nd,n.pullAll=wo,n.pullAllBy=Do,n.pullAllWith=xo,n.pullAt=Bd,n.range=of,n.rangeRight=uf,n.rearg=hh,n.reject=gu,n.remove=Yo,n.rest=ju,n.reverse=To,n.sampleSize=Mu,n.set=Vs,n.setWith=Gs,n.shuffle=bu,n.slice=Ao,n.sortBy=rh,n.sortedUniq=Oo,n.sortedUniqBy=Po,n.split=pc,n.spread=Hu,n.tail=No,n.take=Bo,n.takeRight=Io,n.takeRightWhile=Ro,n.takeWhile=Wo,n.tap=Ko,n.throttle=Ou,n.thru=Xo,n.toArray=Ms,n.toPairs=Ih,n.toPairsIn=Rh,n.toPath=$c,n.toPlainObject=Ds,n.transform=Js,n.unary=Pu,n.union=Id,n.unionBy=Rd,n.unionWith=Wd,n.uniq=zo,n.uniqBy=qo,n.uniqWith=Uo,n.unset=Zs,n.unzip=$o,n.unzipWith=Vo,n.update=Ks,n.updateWith=Xs,n.values=Qs,n.valuesIn=tc,n.without=zd,n.words=Dc,n.wrap=Nu,n.xor=qd,n.xorBy=Ud,n.xorWith=$d,n.zip=Vd,n.zipObject=Go,n.zipObjectDeep=Jo,n.zipWith=Gd,n.entries=Ih,n.entriesIn=Rh,n.extend=Yh,n.extendWith=Th,jc(n,n),n.add=sf,n.attempt=Zh,n.camelCase=Wh,n.capitalize=ic,n.ceil=cf,n.clamp=ec,n.clone=Iu,n.cloneDeep=Wu,n.cloneDeepWith=zu,n.cloneWith=Ru,n.conformsTo=qu,n.deburr=ac,n.defaultTo=Ac,n.divide=lf,n.endsWith=oc,n.eq=Uu,n.escape=uc,n.escapeRegExp=sc,n.every=ou,n.find=Kd,n.findIndex=lo,n.findKey=As,n.findLast=Xd,n.findLastIndex=ho,n.findLastKey=Es,n.floor=df,n.forEach=du,n.forEachRight=hu,n.forIn=Ss,n.forInRight=Fs,n.forOwn=Cs,n.forOwnRight=js,n.get=Ps,n.gt=fh,n.gte=_h,n.has=Ns,n.hasIn=Bs,n.head=yo,n.identity=Ec,n.includes=fu,n.indexOf=go,n.inRange=nc,n.invoke=Hh,n.isArguments=ph,n.isArray=mh,n.isArrayBuffer=yh,n.isArrayLike=$u,n.isArrayLikeObject=Vu,n.isBoolean=Gu,n.isBuffer=gh,n.isDate=vh,n.isElement=Ju,n.isEmpty=Zu,n.isEqual=Ku,n.isEqualWith=Xu,n.isError=Qu,n.isFinite=ts,n.isFunction=es,n.isInteger=ns,n.isLength=rs,n.isMap=Mh,n.isMatch=os,n.isMatchWith=us,n.isNaN=ss,n.isNative=cs,n.isNil=ds,n.isNull=ls,n.isNumber=hs,n.isObject=is,n.isObjectLike=as,n.isPlainObject=fs,n.isRegExp=bh,n.isSafeInteger=_s,n.isSet=Lh,n.isString=ps,n.isSymbol=ms,n.isTypedArray=kh,n.isUndefined=ys,n.isWeakMap=gs,n.isWeakSet=vs,n.join=Mo,n.kebabCase=zh,n.last=bo,n.lastIndexOf=Lo,n.lowerCase=qh,n.lowerFirst=Uh,n.lt=wh,n.lte=Dh,n.max=Gc,n.maxBy=Jc,n.mean=Zc,n.meanBy=Kc,n.min=Xc,n.minBy=Qc,n.stubArray=Ic,n.stubFalse=Rc,n.stubObject=Wc,n.stubString=zc,n.stubTrue=qc,n.multiply=hf,n.nth=ko,n.noConflict=Hc,n.noop=Oc,n.now=ih,n.pad=cc,n.padEnd=lc,n.padStart=dc,n.parseInt=hc,n.random=rc,n.reduce=mu,n.reduceRight=yu,n.repeat=fc,n.replace=_c,n.result=$s,n.round=ff,n.runInContext=t,n.sample=vu,n.size=Lu,n.snakeCase=$h,n.some=ku,n.sortedIndex=Eo,n.sortedIndexBy=So,n.sortedIndexOf=Fo,n.sortedLastIndex=Co,n.sortedLastIndexBy=jo,n.sortedLastIndexOf=Ho,n.startCase=Vh,n.startsWith=mc,n.subtract=_f,n.sum=tl,n.sumBy=el,n.template=yc,n.times=Uc,n.toFinite=bs,n.toInteger=Ls,n.toLength=ks,n.toLower=gc,n.toNumber=ws,n.toSafeInteger=xs,n.toString=Ys,n.toUpper=vc,n.trim=Mc,n.trimEnd=bc,n.trimStart=Lc,n.truncate=kc,n.unescape=wc,n.uniqueId=Vc,n.upperCase=Gh,n.upperFirst=Jh,n.each=du,n.eachRight=hu,n.first=yo,jc(n,function(){var t={};return fr(n,function(e,r){ml.call(n.prototype,r)||(t[r]=e)}),t}(),{chain:!1}),n.VERSION="4.17.4",u(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){n[t].placeholder=n}),u(["drop","take"],function(t,e){J.prototype[t]=function(n){n=n===nt?1:Ul(Ls(n),0);var r=this.__filtered__&&!e?new J(this):this.clone();return r.__filtered__?r.__takeCount__=$l(n,r.__takeCount__):r.__views__.push({size:$l(n,jt),type:t+(r.__dir__<0?"Right":"")}),r},J.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),u(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==Tt||3==n;J.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:ba(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),u(["head","last"],function(t,e){var n="take"+(e?"Right":"");J.prototype[t]=function(){return this[n](1).value()[0]}}),u(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");J.prototype[t]=function(){return this.__filtered__?new J(this):this[n](1)}}),J.prototype.compact=function(){return this.filter(Ec)},J.prototype.find=function(t){return this.filter(t).head()},J.prototype.findLast=function(t){return this.reverse().find(t)},J.prototype.invokeMap=ni(function(t,e){return"function"==typeof t?new J(this):this.map(function(n){return Dr(n,t,e)})}),J.prototype.reject=function(t){return this.filter(Fu(ba(t)))},J.prototype.slice=function(t,e){t=Ls(t);var n=this;return n.__filtered__&&(t>0||e<0)?new J(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==nt&&(e=Ls(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},J.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},J.prototype.toArray=function(){return this.take(jt)},fr(J.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=n[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);a&&(n.prototype[e]=function(){var e=this.__wrapped__,u=i?[1]:arguments,s=e instanceof J,c=u[0],l=s||mh(e),d=function(t){var e=a.apply(n,_([t],u));return i&&h?e[0]:e};l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var h=this.__chain__,f=!!this.__actions__.length,p=o&&!h,m=s&&!f;if(!o&&l){e=m?e:new J(this);var y=t.apply(e,u);return y.__actions__.push({func:Xo,args:[d],thisArg:nt}),new Y(y,h)}return p&&m?t.apply(this,u):(y=this.thru(d),p?i?y.value()[0]:y.value():y)})}),u(["pop","push","shift","sort","splice","unshift"],function(t){var e=dl[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(mh(n)?n:[],t)}return this[r](function(n){return e.apply(mh(n)?n:[],t)})}}),fr(J.prototype,function(t,e){var r=n[e];if(r){var i=r.name+"";(id[i]||(id[i]=[])).push({name:e,func:r})}}),id[Xi(nt,pt).name]=[{name:"wrapper",func:nt}],J.prototype.clone=Q,J.prototype.reverse=tt,J.prototype.value=Ne,n.prototype.at=Jd,n.prototype.chain=Qo,n.prototype.commit=tu,n.prototype.next=eu,n.prototype.plant=ru,n.prototype.reverse=iu,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=au,n.prototype.first=n.prototype.head,Fl&&(n.prototype[Fl]=nu),n}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Sn._=Vn,define(function(){return Vn})):Cn?((Cn.exports=Vn)._=Vn,Fn._=Vn):Sn._=Vn}).call(this)}).call(e,n(9),n(4)(t))},function(t,e,n){"use strict";function r(t){function e(r){var i=t.node(r);if(a.has(n,r))return i.rank;n[r]=!0;var o=a.min(a.map(t.outEdges(r),function(n){return e(n.w)-t.edge(n).minlen}));return o===Number.POSITIVE_INFINITY&&(o=0),i.rank=o}var n={};a.each(t.sources(),e)}function i(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var a=n(1);t.exports={longestPath:r,slack:i}},function(t,e,n){"use strict";function r(t){this._isDirected=!c.has(t,"directed")||t.directed,this._isMultigraph=!!c.has(t,"multigraph")&&t.multigraph,this._isCompound=!!c.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=c.constant(void 0),this._defaultEdgeLabelFn=c.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function i(t,e){t[e]?t[e]++:t[e]=1}function a(t,e){--t[e]||delete t[e]}function o(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}return i+h+a+h+(c.isUndefined(r)?l:r)}function u(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return r&&(u.name=r),u}function s(t,e){return o(t,e.v,e.w,e.name)}var c=n(5);t.exports=r;var l="\0",d="\0",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(t){return this._label=t,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultNodeLabelFn=t,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return c.keys(this._nodes)},r.prototype.sources=function(){return c.filter(this.nodes(),c.bind(function(t){return c.isEmpty(this._in[t])},this))},r.prototype.sinks=function(){return c.filter(this.nodes(),c.bind(function(t){return c.isEmpty(this._out[t])},this))},r.prototype.setNodes=function(t,e){var n=arguments;return c.each(t,c.bind(function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this)),this},r.prototype.setNode=function(t,e){return c.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]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},r.prototype.node=function(t){return this._nodes[t]},r.prototype.hasNode=function(t){return c.has(this._nodes,t)},r.prototype.removeNode=function(t){var e=this;if(c.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],c.each(this.children(t),c.bind(function(t){this.setParent(t)},this)),delete this._children[t]),c.each(c.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],c.each(c.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},r.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(e))e=d;else{e+="";for(var n=e;!c.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},r.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},r.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];if(e)return c.keys(e)},r.prototype.successors=function(t){var e=this._sucs[t];if(e)return c.keys(e)},r.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return c.union(e,this.successors(t))},r.prototype.filterNodes=function(t){function e(t){var a=r.parent(t);return void 0===a||n.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),c.each(this._nodes,c.bind(function(e,r){t(r)&&n.setNode(r,e)},this)),c.each(this._edgeObjs,c.bind(function(t){n.hasNode(t.v)&&n.hasNode(t.w)&&n.setEdge(t,this.edge(t))},this));var r=this,i={};return this._isCompound&&c.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},r.prototype.setDefaultEdgeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultEdgeLabelFn=t,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return c.values(this._edgeObjs)},r.prototype.setPath=function(t,e){var n=this,r=arguments;return c.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},r.prototype.setEdge=function(){var t,e,n,r,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,e=s.w,n=s.name,2===arguments.length&&(r=arguments[1],a=!0)):(t=s,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],a=!0)),t=""+t,e=""+e,c.isUndefined(n)||(n=""+n);var l=o(this._isDirected,t,e,n);if(c.has(this._edgeLabels,l))return a&&(this._edgeLabels[l]=r),this;if(!c.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=a?r:this._defaultEdgeLabelFn(t,e,n);var d=u(this._isDirected,t,e,n);return t=d.v,e=d.w,Object.freeze(d),this._edgeObjs[l]=d,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=d,this._out[t][l]=d,this._edgeCount++,this},r.prototype.edge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return this._edgeLabels[r]},r.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return c.has(this._edgeLabels,r)},r.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(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],a(this._preds[e],t),a(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},r.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.v===e}):r}},r.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.w===e}):r}},r.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){"use strict";function r(t){this._isDirected=!c.has(t,"directed")||t.directed,this._isMultigraph=!!c.has(t,"multigraph")&&t.multigraph,this._isCompound=!!c.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=c.constant(void 0),this._defaultEdgeLabelFn=c.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function i(t,e){t[e]?t[e]++:t[e]=1}function a(t,e){--t[e]||delete t[e]}function o(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}return i+h+a+h+(c.isUndefined(r)?l:r)}function u(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var u={v:i,w:a};return r&&(u.name=r),u}function s(t,e){return o(t,e.v,e.w,e.name)}var c=n(6);t.exports=r;var l="\0",d="\0",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(t){return this._label=t,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultNodeLabelFn=t,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return c.keys(this._nodes)},r.prototype.sources=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._in[t])},this)},r.prototype.sinks=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._out[t])},this)},r.prototype.setNodes=function(t,e){var n=arguments;return c.each(t,function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this),this},r.prototype.setNode=function(t,e){return c.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]=d,this._children[t]={},this._children[d][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},r.prototype.node=function(t){return this._nodes[t]},r.prototype.hasNode=function(t){return c.has(this._nodes,t)},r.prototype.removeNode=function(t){var e=this;if(c.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],c.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),c.each(c.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],c.each(c.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},r.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(e))e=d;else{e+="";for(var n=e;!c.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},r.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},r.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==d)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=d),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===d)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];if(e)return c.keys(e)},r.prototype.successors=function(t){var e=this._sucs[t];if(e)return c.keys(e)},r.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return c.union(e,this.successors(t))},r.prototype.filterNodes=function(t){function e(t){var a=r.parent(t);return void 0===a||n.hasNode(a)?(i[t]=a,a):a in i?i[a]:e(a)}var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),c.each(this._nodes,function(e,r){t(r)&&n.setNode(r,e)},this),c.each(this._edgeObjs,function(t){n.hasNode(t.v)&&n.hasNode(t.w)&&n.setEdge(t,this.edge(t))},this);var r=this,i={};return this._isCompound&&c.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},r.prototype.setDefaultEdgeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultEdgeLabelFn=t,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return c.values(this._edgeObjs)},r.prototype.setPath=function(t,e){var n=this,r=arguments;return c.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},r.prototype.setEdge=function(){var t,e,n,r,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,e=s.w,n=s.name,2===arguments.length&&(r=arguments[1],a=!0)):(t=s,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],a=!0)),t=""+t,e=""+e,c.isUndefined(n)||(n=""+n);var l=o(this._isDirected,t,e,n);if(c.has(this._edgeLabels,l))return a&&(this._edgeLabels[l]=r),this;if(!c.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=a?r:this._defaultEdgeLabelFn(t,e,n);var d=u(this._isDirected,t,e,n);return t=d.v,e=d.w,Object.freeze(d),this._edgeObjs[l]=d,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][l]=d,this._out[t][l]=d,this._edgeCount++,this},r.prototype.edge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return this._edgeLabels[r]},r.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(this._isDirected,t,e,n);return c.has(this._edgeLabels,r)},r.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):o(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],a(this._preds[e],t),a(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},r.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.v===e}):r}},r.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.w===e}):r}},r.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e){function n(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,u=a-r.y,s=Math.sqrt(e*e*u*u+n*n*o*o),c=Math.abs(e*n*o/s);r.x<i&&(c=-c);var l=Math.abs(e*n*u/s);return r.y<a&&(l=-l),{x:i+c,y:a+l}}t.exports=n},function(t,e,n){function r(t,e,n){var r=e.label,u=t.append("g");"svg"===e.labelType?o(u,e):"string"!=typeof r||"html"===e.labelType?a(u,e):i(u,e);var s,c=u.node().getBBox();switch(n){case"top":s=-e.height/2;break;case"bottom":s=e.height/2-c.height;break;default:s=-c.height/2}return u.attr("transform","translate("+-c.width/2+","+s+")"),u}var i=n(231),a=n(232),o=n(233);t.exports=r},function(t,e,n){(function(t){var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=n(2),o=a.Log,u=n(23),s=n(10),c={},l=[],d=[],h=[],f={},_=0,p=[];e.addVertex=function(t,e,n,r){var i;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==n&&(c[t].type=n),void 0!==n&&(c[t].type=n),void 0!==r&&null!==r&&r.forEach(function(e){c[t].styles.push(e)}))},e.addLink=function(t,e,n,r){o.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};r=n.text,void 0!==r&&(i.text=r.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==n&&(i.type=n.type,i.stroke=n.stroke),l.push(i)},e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},e.addClass=function(t,e){void 0===d[t]&&(d[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){d[t].styles.push(e)})},e.setDirection=function(t){r=t},e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)};var m=function(t,e){void 0!==e&&(f[t]=e)},y=function(t,e){void 0!==e&&void 0!==c[t]&&p.push(function(n){var r=s.select(n).select("#"+t);null!==r&&r.on("click",function(){window[e](t)})})},g=function(t,e){void 0!==e&&void 0!==c[t]&&p.push(function(n){var r=s.select(n).select("#"+t);null!==r&&r.on("click",function(){window.open(e,"newTab")})})};e.getTooltip=function(t){return f[t]},e.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(t){m(t,r),y(t,e),g(t,n)}):(m(t,r),y(t,e),g(t,n))},e.bindFunctions=function(t){p.forEach(function(e){e(t)})},e.getDirection=function(){return r},e.getVertices=function(){return c},e.getEdges=function(){return l},e.getClasses=function(){return d};var v=function(t){var e=s.select(".mermaidTooltip");null===e[0][0]&&(e=s.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),s.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=s.select(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",n.left+(n.right-n.left)/2+"px").style("top",n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),s.select(this).classed("hover",!1)})};p.push(v),e.clear=function(){c={},d={},l=[],p=[],p.push(v),h=[],_=0,f=[]},e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},e.addSubGraph=function(t,e){var n=[];n=function(t){var e={boolean:{},number:{},string:{}},n=[];return t.filter(function(t){var r=void 0===t?"undefined":i(t);return" "!==t&&(r in e?!e[r].hasOwnProperty(t)&&(e[r][t]=!0):!(n.indexOf(t)>=0)&&n.push(t))})}(n.concat.apply(n,t));var r={id:"subGraph"+_,nodes:n,title:e};return h.push(r),_+=1,r.id};var M=function(t){var e;for(e=0;e<h.length;e++)if(h[e].id===t)return e;return-1},b=-1,L=[],k=function t(e,n){var r=h[n].nodes;if(!((b+=1)>2e3)){if(L[b]=n,h[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var o=M(r[i]);if(o>=0){var u=t(e,o);if(u.result)return{result:!0,count:a+u.count};a+=u.count}i+=1}return{result:!1,count:a}}};e.getDepthFirstPos=function(t){return L[t]},e.indexNodes=function(){b=-1,h.length>0&&k("none",h.length-1)},e.getSubGraphs=function(){return h},e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)}}).call(e,n(9))},function(t,e,n){var r=n(2),i=r.Log,a=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};e.detectType=a;var o=function(t,e){for(var n,r="",a=document.styleSheets,o=0;o<a.length;o++)if("mermaid-svg-internal-css"!==a[o].title)try{var u=a[o].cssRules;if(null!==u)for(var s=0;s<u.length;s++)if(n=u[s],void 0!==n.style){var c;c=t.querySelectorAll(n.selectorText),c.length>0&&(r+=n.selectorText+" { "+n.style.cssText+"}\n")}}catch(t){void 0!==n&&i.warn('Invalid CSS selector "'+n.selectorText+'"',t)}var l="",d="";for(var h in e)e.hasOwnProperty(h)&&void 0!==h&&("default"===h?(e.default.styles instanceof Array&&(l+="#"+t.id.trim()+" .node>rect { "+e[h].styles.join("; ")+"; }\n"),e.default.nodeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .node text { "+e[h].nodeLabelStyles.join("; ")+"; }\n"),e.default.edgeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .edgeLabel text { "+e[h].edgeLabelStyles.join("; ")+"; }\n"),e.default.clusterStyles instanceof Array&&(l+="#"+t.id.trim()+" .cluster rect { "+e[h].clusterStyles.join("; ")+"; }\n")):e[h].styles instanceof Array&&(d+="#"+t.id.trim()+" ."+h+">rect, ."+h+">polygon, ."+h+">circle, ."+h+">ellipse { "+e[h].styles.join("; ")+"; }\n"));if(""!==r||""!==l||""!==d){var f=document.createElement("style");f.setAttribute("type","text/css"),f.setAttribute("title","mermaid-svg-internal-css"),f.innerHTML="/* <![CDATA[ */\n",""!==l&&(f.innerHTML+=l),""!==r&&(f.innerHTML+=r),""!==d&&(f.innerHTML+=d),f.innerHTML+="/* ]]> */\n",t.insertBefore(f,t.firstChild)}};e.cloneCssStyles=o;var u=function(t,e){for(var n=0;n<e.length;n++)if(e[n].match(t))return n;return-1};e.isSubstringInArray=u},function(t,e,n){var r,i;!function(){function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function u(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function s(t){return null===t?NaN:+t}function c(t){return!isNaN(t)}function l(t){return{left:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}function d(t){return t.length}function h(t){for(var e=1;t*e%1;)e*=10;return e}function f(t,e){for(var n in e)Object.defineProperty(t.prototype,n,{value:e[n],enumerable:!1})}function _(){this._=Object.create(null)}function p(t){return(t+="")===wo||t[0]===Do?Do+t:t}function m(t){return(t+="")[0]===Do?t.slice(1):t}function y(t){return p(t)in this._}function g(t){return(t=p(t))in this._&&delete this._[t]}function v(){var t=[];for(var e in this._)t.push(m(e));return t}function M(){var t=0;for(var e in this._)++t;return t}function b(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function k(t){return t}function w(t,e,n){return function(){var r=n.apply(e,arguments);return r===e?t:r}}function D(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var n=0,r=xo.length;n<r;++n){var i=xo[n]+e;if(i in t)return i}}function x(){}function Y(){}function T(t){function e(){for(var e,r=n,i=-1,a=r.length;++i<a;)(e=r[i].on)&&e.apply(this,arguments);return t}var n=[],r=new _;return e.on=function(e,i){var a,o=r.get(e);return arguments.length<2?o&&o.on:(o&&(o.on=null,n=n.slice(0,a=n.indexOf(o)).concat(n.slice(a+1)),r.remove(e)),i&&n.push(r.set(e,{on:i})),t)},e}function A(){fo.event.preventDefault()}function E(){for(var t,e=fo.event;t=e.sourceEvent;)e=t;return e}function S(t){for(var e=new Y,n=0,r=arguments.length;++n<r;)e[arguments[n]]=T(e);return e.of=function(n,r){return function(i){try{var a=i.sourceEvent=fo.event;i.target=t,fo.event=i,e[i.type].apply(n,r)}finally{fo.event=a}}},e}function F(t){return To(t,Fo),t}function C(t){return"function"==typeof t?t:function(){return Ao(t,this)}}function j(t){return"function"==typeof t?t:function(){return Eo(t,this)}}function H(t,e){function n(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,e)}function a(){this.setAttributeNS(t.space,t.local,e)}function o(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}function u(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}return t=fo.ns.qualify(t),null==e?t.local?r:n:"function"==typeof e?t.local?u:o:t.local?a:i}function O(t){return t.trim().replace(/\s+/g," ")}function P(t){return new RegExp("(?:^|\\s+)"+fo.requote(t)+"(?:\\s+|$)","g")}function N(t){return(t+"").trim().split(/^|\s+/)}function B(t,e){function n(){for(var n=-1;++n<i;)t[n](this,e)}function r(){for(var n=-1,r=e.apply(this,arguments);++n<i;)t[n](this,r)}t=N(t).map(I);var i=t.length;return"function"==typeof e?r:n}function I(t){var e=P(t);return function(n,r){if(i=n.classList)return r?i.add(t):i.remove(t);var i=n.getAttribute("class")||"";r?(e.lastIndex=0,e.test(i)||n.setAttribute("class",O(i+" "+t))):n.setAttribute("class",O(i.replace(e," ")))}}function R(t,e,n){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,e,n)}function a(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}return null==e?r:"function"==typeof e?a:i}function W(t,e){function n(){delete this[t]}function r(){this[t]=e}function i(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}return null==e?n:"function"==typeof e?i:r}function z(t){function e(){var e=this.ownerDocument,n=this.namespaceURI;return n===Co&&e.documentElement.namespaceURI===Co?e.createElement(t):e.createElementNS(n,t)}function n(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=fo.ns.qualify(t)).local?n:e}function q(){var t=this.parentNode;t&&t.removeChild(this)}function U(t){return{__data__:t}}function $(t){return function(){return So(this,t)}}function V(t){return arguments.length||(t=u),function(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}}function G(t,e){for(var n=0,r=t.length;n<r;n++)for(var i,a=t[n],o=0,u=a.length;o<u;o++)(i=a[o])&&e(i,o,n);return t}function J(t){return To(t,Ho),t}function Z(t){var e,n;return function(r,i,a){var o,u=t[a].update,s=u.length;for(a!=n&&(n=a,e=0),i>=e&&(e=i+1);!(o=u[e])&&++e<s;);return o}}function K(t,e,n){function r(){var e=this[o];e&&(this.removeEventListener(t,e,e.$),delete this[o])}function i(){var i=s(e,po(arguments));r.call(this),this.addEventListener(t,this[o]=i,i.$=n),i._=e}function a(){var e,n=new RegExp("^__on([^.]+)"+fo.requote(t)+"$");for(var r in this)if(e=r.match(n)){var i=this[r];this.removeEventListener(e[1],i,i.$),delete this[r]}}var o="__on"+t,u=t.indexOf("."),s=X;u>0&&(t=t.slice(0,u));var c=Oo.get(t);return c&&(t=c,s=Q),u?e?i:r:e?x:a}function X(t,e){return function(n){var r=fo.event;fo.event=n,e[0]=this.__data__;try{t.apply(this,e)}finally{fo.event=r}}}function Q(t,e){var n=X(t,e);return function(t){var e=this,r=t.relatedTarget;r&&(r===e||8&r.compareDocumentPosition(e))||n.call(e,t)}}function tt(t){var e=".dragsuppress-"+ ++No,n="click"+e,r=fo.select(o(t)).on("touchmove"+e,A).on("dragstart"+e,A).on("selectstart"+e,A);if(null==Po&&(Po=!("onselectstart"in t)&&D(t.style,"userSelect")),Po){var i=a(t).style,u=i[Po];i[Po]="none"}return function(t){if(r.on(e,null),Po&&(i[Po]=u),t){var a=function(){r.on(n,null)};r.on(n,function(){A(),a()},!0),setTimeout(a,0)}}}function et(t,e){e.changedTouches&&(e=e.changedTouches[0]);var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();if(Bo<0){var i=o(t);if(i.scrollX||i.scrollY){n=fo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=n[0][0].getScreenCTM();Bo=!(a.f||a.e),n.remove()}}return Bo?(r.x=e.pageX,r.y=e.pageY):(r.x=e.clientX,r.y=e.clientY),r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function nt(){return fo.event.changedTouches[0].identifier}function rt(t){return t>0?1:t<0?-1:0}function it(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function at(t){return t>1?0:t<-1?Wo:Math.acos(t)}function ot(t){return t>1?Uo:t<-1?-Uo:Math.asin(t)}function ut(t){return((t=Math.exp(t))-1/t)/2}function st(t){return((t=Math.exp(t))+1/t)/2}function ct(t){return((t=Math.exp(2*t))-1)/(t+1)}function lt(t){return(t=Math.sin(t/2))*t}function dt(){}function ht(t,e,n){return this instanceof ht?(this.h=+t,this.s=+e,void(this.l=+n)):arguments.length<2?t instanceof ht?new ht(t.h,t.s,t.l):xt(""+t,Yt,ht):new ht(t,e,n)}function ft(t,e,n){function r(t){return t>360?t-=360:t<0&&(t+=360),t<60?a+(o-a)*t/60:t<180?o:t<240?a+(o-a)*(240-t)/60:a}function i(t){return Math.round(255*r(t))}var a,o;return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=n<0?0:n>1?1:n,o=n<=.5?n*(1+e):n+e-n*e,a=2*n-o,new Lt(i(t+120),i(t),i(t-120))}function _t(t,e,n){return this instanceof _t?(this.h=+t,this.c=+e,void(this.l=+n)):arguments.length<2?t instanceof _t?new _t(t.h,t.c,t.l):t instanceof mt?gt(t.l,t.a,t.b):gt((t=Tt((t=fo.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new _t(t,e,n)}function pt(t,e,n){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new mt(n,Math.cos(t*=$o)*e,Math.sin(t)*e)}function mt(t,e,n){return this instanceof mt?(this.l=+t,this.a=+e,void(this.b=+n)):arguments.length<2?t instanceof mt?new mt(t.l,t.a,t.b):t instanceof _t?pt(t.h,t.c,t.l):Tt((t=Lt(t)).r,t.g,t.b):new mt(t,e,n)}function yt(t,e,n){var r=(t+16)/116,i=r+e/500,a=r-n/200;return i=vt(i)*eu,r=vt(r)*nu,a=vt(a)*ru,new Lt(bt(3.2404542*i-1.5371385*r-.4985314*a),bt(-.969266*i+1.8760108*r+.041556*a),bt(.0556434*i-.2040259*r+1.0572252*a))}function gt(t,e,n){return t>0?new _t(Math.atan2(n,e)*Vo,Math.sqrt(e*e+n*n),t):new _t(NaN,NaN,t)}function vt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function Mt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function bt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function Lt(t,e,n){return this instanceof Lt?(this.r=~~t,this.g=~~e,void(this.b=~~n)):arguments.length<2?t instanceof Lt?new Lt(t.r,t.g,t.b):xt(""+t,Lt,ft):new Lt(t,e,n)}function kt(t){return new Lt(t>>16,t>>8&255,255&t)}function wt(t){return kt(t)+""}function Dt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function xt(t,e,n){var r,i,a,o=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return n(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(Et(i[0]),Et(i[1]),Et(i[2]))}return(a=ou.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,u=240&a,u|=u>>4,s=15&a,s|=s<<4):7===t.length&&(o=(16711680&a)>>16,u=(65280&a)>>8,s=255&a)),e(o,u,s))}function Yt(t,e,n){var r,i,a=Math.min(t/=255,e/=255,n/=255),o=Math.max(t,e,n),u=o-a,s=(o+a)/2;return u?(i=s<.5?u/(o+a):u/(2-o-a),r=t==o?(e-n)/u+(e<n?6:0):e==o?(n-t)/u+2:(t-e)/u+4,r*=60):(r=NaN,i=s>0&&s<1?0:r),new ht(r,i,s)}function Tt(t,e,n){t=At(t),e=At(e),n=At(n);var r=Mt((.4124564*t+.3575761*e+.1804375*n)/eu),i=Mt((.2126729*t+.7151522*e+.072175*n)/nu);return mt(116*i-16,500*(r-i),200*(i-Mt((.0193339*t+.119192*e+.9503041*n)/ru)))}function At(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Et(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}function St(t){return"function"==typeof t?t:function(){return t}}function Ft(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=null),Ct(e,n,t,r)}}function Ct(t,e,n,r){function i(){var t,e=s.status;if(!e&&Ht(s)||e>=200&&e<300||304===e){try{t=n.call(a,s)}catch(t){return void o.error.call(a,t)}o.load.call(a,t)}else o.error.call(a,s)}var a={},o=fo.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var e=fo.event;fo.event=t;try{o.progress.call(a,s)}finally{fo.event=e}},a.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==e?delete u[t]:u[t]=e+"",a)},a.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",a):e},a.responseType=function(t){return arguments.length?(c=t,a):c},a.response=function(t){return n=t,a},["get","post"].forEach(function(t){a[t]=function(){return a.send.apply(a,[t].concat(po(arguments)))}}),a.send=function(n,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(n,t,!0),null==e||"accept"in u||(u.accept=e+",*/*"),s.setRequestHeader)for(var l in u)s.setRequestHeader(l,u[l]);return null!=e&&s.overrideMimeType&&s.overrideMimeType(e),null!=c&&(s.responseType=c),null!=i&&a.on("error",i).on("load",function(t){i(null,t)}),o.beforesend.call(a,s),s.send(null==r?null:r),a},a.abort=function(){return s.abort(),a},fo.rebind(a,o,"on"),null==r?a:a.get(jt(r))}function jt(t){return 1===t.length?function(e,n){t(null==e?n:null)}:t}function Ht(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}function Ot(t,e,n){var r=arguments.length;r<2&&(e=0),r<3&&(n=Date.now());var i=n+e,a={c:t,t:i,n:null};return su?su.n=a:uu=a,su=a,cu||(lu=clearTimeout(lu),cu=1,du(Pt)),a}function Pt(){var t=Nt(),e=Bt()-t;e>24?(isFinite(e)&&(clearTimeout(lu),lu=setTimeout(Pt,e)),cu=0):(cu=1,du(Pt))}function Nt(){for(var t=Date.now(),e=uu;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Bt(){for(var t,e=uu,n=1/0;e;)e.c?(e.t<n&&(n=e.t),e=(t=e).n):e=t?t.n=e.n:uu=e.n;return su=t,n}function It(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Rt(t,e){var n=Math.pow(10,3*ko(8-e));return{scale:e>8?function(t){return t/n}:function(t){return t*n},symbol:t}}function Wt(t){var e=t.decimal,n=t.thousands,r=t.grouping,i=t.currency,a=r&&n?function(t,e){for(var i=t.length,a=[],o=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>e&&(u=Math.max(1,e-s)),a.push(t.substring(i-=u,i+u)),!((s+=u+1)>e));)u=r[o=(o+1)%r.length];return a.reverse().join(n)}:k;return function(t){var n=fu.exec(t),r=n[1]||" ",o=n[2]||">",u=n[3]||"-",s=n[4]||"",c=n[5],l=+n[6],d=n[7],h=n[8],f=n[9],_=1,p="",m="",y=!1,g=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),f){case"n":d=!0,f="g";break;case"%":_=100,m="%",f="f";break;case"p":_=100,m="%",f="r";break;case"b":case"o":case"x":case"X":"#"===s&&(p="0"+f.toLowerCase());case"c":g=!1;case"d":y=!0,h=0;break;case"s":_=-1,f="r"}"$"===s&&(p=i[0],m=i[1]),"r"!=f||h||(f="g"),null!=h&&("g"==f?h=Math.max(1,Math.min(21,h)):"e"!=f&&"f"!=f||(h=Math.max(0,Math.min(20,h)))),f=_u.get(f)||zt;var v=c&&d;return function(t){var n=m;if(y&&t%1)return"";var i=t<0||0===t&&1/t<0?(t=-t,"-"):"-"===u?"":u;if(_<0){var s=fo.formatPrefix(t,h);t=s.scale(t),n=s.symbol+m}else t*=_;t=f(t,h);var M,b,L=t.lastIndexOf(".");if(L<0){var k=g?t.lastIndexOf("e"):-1;k<0?(M=t,b=""):(M=t.substring(0,k),b=t.substring(k))}else M=t.substring(0,L),b=e+t.substring(L+1);!c&&d&&(M=a(M,1/0));var w=p.length+M.length+b.length+(v?0:i.length),D=w<l?new Array(w=l-w+1).join(r):"";return v&&(M=a(D+M,D.length?l-b.length:1/0)),i+=p,t=M+b,("<"===o?i+t+D:">"===o?D+i+t:"^"===o?D.substring(0,w>>=1)+i+t+D.substring(w):i+(v?t:D+t))+n}}}function zt(t){return t+""}function qt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ut(t,e,n){function r(e){var n=t(e),r=a(n,1);return e-n<r-e?n:r}function i(n){return e(n=t(new mu(n-1)),1),n}function a(t,n){return e(t=new mu(+t),n),t}function o(t,r,a){var o=i(t),u=[];if(a>1)for(;o<r;)n(o)%a||u.push(new Date(+o)),e(o,1);else for(;o<r;)u.push(new Date(+o)),e(o,1);return u}function u(t,e,n){try{mu=qt;var r=new qt;return r._=t,o(r,e,n)}finally{mu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=$t(t);return s.floor=s,s.round=$t(r),s.ceil=$t(i),s.offset=$t(a),s.range=u,t}function $t(t){return function(e,n){try{mu=qt;var r=new qt;return r._=e,t(r,n)._}finally{mu=Date}}}function Vt(t){function e(t){function e(e){for(var n,i,a,o=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(o.push(t.slice(s,u)),null!=(i=gu[n=t.charAt(++u)])&&(n=t.charAt(++u)),(a=T[n])&&(n=a(e,null==i?"e"===n?" ":"0":i)),o.push(n),s=u+1);return o.push(t.slice(s,u)),o.join("")}var r=t.length;return e.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(n(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&mu!==qt,a=new(i?qt:mu);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),i?a._:a},e.toString=function(){return t},e}function n(t,e,n,r){for(var i,a,o,u=0,s=e.length,c=n.length;u<s;){if(r>=c)return-1;if(37===(i=e.charCodeAt(u++))){if(o=e.charAt(u++),!(a=A[o in gu?e.charAt(u++):o])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function r(t,e,n){L.lastIndex=0;var r=L.exec(e.slice(n));return r?(t.w=k.get(r[0].toLowerCase()),n+r[0].length):-1}function i(t,e,n){M.lastIndex=0;var r=M.exec(e.slice(n));return r?(t.w=b.get(r[0].toLowerCase()),n+r[0].length):-1}function a(t,e,n){x.lastIndex=0;var r=x.exec(e.slice(n));return r?(t.m=Y.get(r[0].toLowerCase()),n+r[0].length):-1}function o(t,e,n){w.lastIndex=0;var r=w.exec(e.slice(n));return r?(t.m=D.get(r[0].toLowerCase()),n+r[0].length):-1}function u(t,e,r){return n(t,T.c.toString(),e,r)}function s(t,e,r){return n(t,T.x.toString(),e,r)}function c(t,e,r){return n(t,T.X.toString(),e,r)}function l(t,e,n){var r=v.get(e.slice(n,n+=2).toLowerCase());return null==r?-1:(t.p=r,n)}var d=t.dateTime,h=t.date,f=t.time,_=t.periods,p=t.days,m=t.shortDays,y=t.months,g=t.shortMonths;e.utc=function(t){function n(t){try{mu=qt;var e=new mu;return e._=t,r(e)}finally{mu=Date}}var r=e(t);return n.parse=function(t){try{mu=qt;var e=r.parse(t);return e&&e._}finally{mu=Date}},n.toString=r.toString,n},e.multi=e.utc.multi=fe;var v=fo.map(),M=Jt(p),b=Zt(p),L=Jt(m),k=Zt(m),w=Jt(y),D=Zt(y),x=Jt(g),Y=Zt(g);_.forEach(function(t,e){v.set(t.toLowerCase(),e)});var T={a:function(t){return m[t.getDay()]},A:function(t){return p[t.getDay()]},b:function(t){return g[t.getMonth()]},B:function(t){return y[t.getMonth()]},c:e(d),d:function(t,e){return Gt(t.getDate(),e,2)},e:function(t,e){return Gt(t.getDate(),e,2)},H:function(t,e){return Gt(t.getHours(),e,2)},I:function(t,e){return Gt(t.getHours()%12||12,e,2)},j:function(t,e){return Gt(1+pu.dayOfYear(t),e,3)},L:function(t,e){return Gt(t.getMilliseconds(),e,3)},m:function(t,e){return Gt(t.getMonth()+1,e,2)},M:function(t,e){return Gt(t.getMinutes(),e,2)},p:function(t){return _[+(t.getHours()>=12)]},S:function(t,e){return Gt(t.getSeconds(),e,2)},U:function(t,e){return Gt(pu.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Gt(pu.mondayOfYear(t),e,2)},x:e(h),X:e(f),y:function(t,e){return Gt(t.getFullYear()%100,e,2)},Y:function(t,e){return Gt(t.getFullYear()%1e4,e,4)},Z:de,"%":function(){return"%"}},A={a:r,A:i,b:a,B:o,c:u,d:ae,e:ae,H:ue,I:ue,j:oe,L:le,m:ie,M:se,p:l,S:ce,U:Xt,w:Kt,W:Qt,x:s,X:c,y:ee,Y:te,Z:ne,"%":he};return e}function Gt(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Jt(t){return new RegExp("^(?:"+t.map(fo.requote).join("|")+")","i")}function Zt(t){for(var e=new _,n=-1,r=t.length;++n<r;)e.set(t[n].toLowerCase(),n);return e}function Kt(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Xt(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function Qt(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function te(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ee(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.y=re(+r[0]),n+r[0].length):-1}function ne(t,e,n){return/^[+-]\d{4}$/.test(e=e.slice(n,n+5))?(t.Z=-e,n+5):-1}function re(t){return t+(t>68?1900:2e3)}function ie(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ae(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function oe(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+3));return r?(t.j=+r[0],n+r[0].length):-1}function ue(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function se(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function ce(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function le(t,e,n){vu.lastIndex=0;var r=vu.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function de(t){var e=t.getTimezoneOffset(),n=e>0?"-":"+",r=ko(e)/60|0,i=ko(e)%60;return n+Gt(r,"0",2)+Gt(i,"0",2)}function he(t,e,n){Mu.lastIndex=0;var r=Mu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function fe(t){for(var e=t.length,n=-1;++n<e;)t[n][0]=this(t[n][0]);return function(e){for(var n=0,r=t[n];!r[1](e);)r=t[++n];return r[0](e)}}function _e(){}function pe(t,e,n){var r=n.s=t+e,i=r-t,a=r-i;n.t=t-a+(e-i)}function me(t,e){t&&wu.hasOwnProperty(t.type)&&wu[t.type](t,e)}function ye(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function ge(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)ye(t[n],e,1);e.polygonEnd()}function ve(){function t(t,e){t*=$o,e=e*$o/2+Wo/4;var n=t-r,o=n>=0?1:-1,u=o*n,s=Math.cos(e),c=Math.sin(e),l=a*c,d=i*s+l*Math.cos(u),h=l*o*Math.sin(u);xu.add(Math.atan2(h,d)),r=t,i=s,a=c}var e,n,r,i,a;Yu.point=function(o,u){Yu.point=t,r=(e=o)*$o,i=Math.cos(u=(n=u)*$o/2+Wo/4),a=Math.sin(u)},Yu.lineEnd=function(){t(e,n)}}function Me(t){var e=t[0],n=t[1],r=Math.cos(n);return[r*Math.cos(e),r*Math.sin(e),Math.sin(n)]}function be(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Le(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 ke(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function we(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function De(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function xe(t){return[Math.atan2(t[1],t[0]),ot(t[2])]}function Ye(t,e){return ko(t[0]-e[0])<Io&&ko(t[1]-e[1])<Io}function Te(t,e){t*=$o;var n=Math.cos(e*=$o);Ae(n*Math.cos(t),n*Math.sin(t),Math.sin(e))}function Ae(t,e,n){++Tu,Eu+=(t-Eu)/Tu,Su+=(e-Su)/Tu,Fu+=(n-Fu)/Tu}function Ee(){function t(t,i){t*=$o;var a=Math.cos(i*=$o),o=a*Math.cos(t),u=a*Math.sin(t),s=Math.sin(i),c=Math.atan2(Math.sqrt((c=n*s-r*u)*c+(c=r*o-e*s)*c+(c=e*u-n*o)*c),e*o+n*u+r*s);Au+=c,Cu+=c*(e+(e=o)),ju+=c*(n+(n=u)),Hu+=c*(r+(r=s)),Ae(e,n,r)}var e,n,r;Bu.point=function(i,a){i*=$o;var o=Math.cos(a*=$o);e=o*Math.cos(i),n=o*Math.sin(i),r=Math.sin(a),Bu.point=t,Ae(e,n,r)}}function Se(){Bu.point=Te}function Fe(){function t(t,e){t*=$o;var n=Math.cos(e*=$o),o=n*Math.cos(t),u=n*Math.sin(t),s=Math.sin(e),c=i*s-a*u,l=a*o-r*s,d=r*u-i*o,h=Math.sqrt(c*c+l*l+d*d),f=r*o+i*u+a*s,_=h&&-at(f)/h,p=Math.atan2(h,f);Ou+=_*c,Pu+=_*l,Nu+=_*d,Au+=p,Cu+=p*(r+(r=o)),ju+=p*(i+(i=u)),Hu+=p*(a+(a=s)),Ae(r,i,a)}var e,n,r,i,a;Bu.point=function(o,u){e=o,n=u,Bu.point=t,o*=$o;var s=Math.cos(u*=$o);r=s*Math.cos(o),i=s*Math.sin(o),a=Math.sin(u),Ae(r,i,a)},Bu.lineEnd=function(){t(e,n),Bu.lineEnd=Se,Bu.point=Te}}function Ce(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 je(){return!0}function He(t,e,n,r,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n=t[0],r=t[e];if(Ye(n,r)){i.lineStart();for(var u=0;u<e;++u)i.point((n=t[u])[0],n[1]);return void i.lineEnd()}var s=new Pe(n,t,null,!0),c=new Pe(n,null,s,!1);s.o=c,a.push(s),o.push(c),s=new Pe(r,t,null,!1),c=new Pe(r,null,s,!0),s.o=c,a.push(s),o.push(c)}}),o.sort(e),Oe(a),Oe(o),a.length){for(var u=0,s=n,c=o.length;u<c;++u)o[u].e=s=!s;for(var l,d,h=a[0];;){for(var f=h,_=!0;f.v;)if((f=f.n)===h)return;l=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(_)for(var u=0,c=l.length;u<c;++u)i.point((d=l[u])[0],d[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(_){l=f.p.z;for(var u=l.length-1;u>=0;--u)i.point((d=l[u])[0],d[1])}else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,l=f.z,_=!_}while(!f.v);i.lineEnd()}}}function Oe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}function Pe(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Ne(t,e,n,r){return function(i,a){function o(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&a.point(e,n)}function u(t,e){var n=i(t,e);m.point(n[0],n[1])}function s(){g.point=u,m.lineStart()}function c(){g.point=o,m.lineEnd()}function l(t,e){p.push([t,e]);var n=i(t,e);M.point(n[0],n[1])}function d(){M.lineStart(),p=[]}function h(){l(p[0][0],p[0][1]),M.lineEnd();var t,e=M.clean(),n=v.buffer(),r=n.length;if(p.pop(),_.push(p),p=null,r)if(1&e){t=n[0];var i,r=t.length-1,o=-1;if(r>0){for(b||(a.polygonStart(),b=!0),a.lineStart();++o<r;)a.point((i=t[o])[0],i[1]);a.lineEnd()}}else r>1&&2&e&&n.push(n.pop().concat(n.shift())),f.push(n.filter(Be))}var f,_,p,m=e(a),y=i.invert(r[0],r[1]),g={point:o,lineStart:s,lineEnd:c,polygonStart:function(){g.point=l,g.lineStart=d,g.lineEnd=h,f=[],_=[]},polygonEnd:function(){g.point=o,g.lineStart=s,g.lineEnd=c,f=fo.merge(f);var t=Ue(y,_);f.length?(b||(a.polygonStart(),b=!0),He(f,Re,t,n,a)):t&&(b||(a.polygonStart(),b=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),b&&(a.polygonEnd(),b=!1),f=_=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}},v=Ie(),M=e(v),b=!1;return g}}function Be(t){return t.length>1}function Ie(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:x,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Re(t,e){return((t=t.x)[0]<0?t[1]-Uo-Io:Uo-t[1])-((e=e.x)[0]<0?e[1]-Uo-Io:Uo-e[1])}function We(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var u=a>0?Wo:-Wo,s=ko(a-n);ko(s-Wo)<Io?(t.point(n,r=(r+o)/2>0?Uo:-Uo),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(a,r),e=0):i!==u&&s>=Wo&&(ko(n-i)<Io&&(n-=i*Io),ko(a-u)<Io&&(a-=u*Io),r=ze(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),e=0),t.point(n=a,r=o),i=u},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}function ze(t,e,n,r){var i,a,o=Math.sin(t-n);return ko(o)>Io?Math.atan((Math.sin(e)*(a=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+r)/2}function qe(t,e,n,r){var i;if(null==t)i=n*Uo,r.point(-Wo,i),r.point(0,i),r.point(Wo,i),r.point(Wo,0),r.point(Wo,-i),r.point(0,-i),r.point(-Wo,-i),r.point(-Wo,0),r.point(-Wo,i);else if(ko(t[0]-e[0])>Io){var a=t[0]<e[0]?Wo:-Wo;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])}function Ue(t,e){var n=t[0],r=t[1],i=[Math.sin(n),-Math.cos(n),0],a=0,o=0;xu.reset();for(var u=0,s=e.length;u<s;++u){var c=e[u],l=c.length;if(l)for(var d=c[0],h=d[0],f=d[1]/2+Wo/4,_=Math.sin(f),p=Math.cos(f),m=1;;){m===l&&(m=0),t=c[m];var y=t[0],g=t[1]/2+Wo/4,v=Math.sin(g),M=Math.cos(g),b=y-h,L=b>=0?1:-1,k=L*b,w=k>Wo,D=_*v;if(xu.add(Math.atan2(D*L*Math.sin(k),p*M+D*Math.cos(k))),a+=w?b+L*zo:b,w^h>=n^y>=n){var x=Le(Me(d),Me(t));De(x);var Y=Le(i,x);De(Y);var T=(w^b>=0?-1:1)*ot(Y[2]);(r>T||r===T&&(x[0]||x[1]))&&(o+=w^b>=0?1:-1)}if(!m++)break;h=y,_=v,p=M,d=t}}return(a<-Io||a<Io&&xu<-Io)^1&o}function $e(t){function e(t,e){return Math.cos(t)*Math.cos(e)>a}function n(t){var n,a,s,c,l;return{lineStart:function(){c=s=!1,l=1},point:function(d,h){var f,_=[d,h],p=e(d,h),m=o?p?0:i(d,h):p?i(d+(d<0?Wo:-Wo),h):0;if(!n&&(c=s=p)&&t.lineStart(),p!==s&&(f=r(n,_),(Ye(n,f)||Ye(_,f))&&(_[0]+=Io,_[1]+=Io,p=e(_[0],_[1]))),p!==s)l=0,p?(t.lineStart(),f=r(_,n),t.point(f[0],f[1])):(f=r(n,_),t.point(f[0],f[1]),t.lineEnd()),n=f;else if(u&&n&&o^p){var y;m&a||!(y=r(_,n,!0))||(l=0,o?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!p||n&&Ye(n,_)||t.point(_[0],_[1]),n=_,s=p,a=m},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return l|(c&&s)<<1}}}function r(t,e,n){var r=Me(t),i=Me(e),o=[1,0,0],u=Le(r,i),s=be(u,u),c=u[0],l=s-c*c;if(!l)return!n&&t;var d=a*s/l,h=-a*c/l,f=Le(o,u),_=we(o,d);ke(_,we(u,h));var p=f,m=be(_,p),y=be(p,p),g=m*m-y*(be(_,_)-1);if(!(g<0)){var v=Math.sqrt(g),M=we(p,(-m-v)/y);if(ke(M,_),M=xe(M),!n)return M;var b,L=t[0],k=e[0],w=t[1],D=e[1];k<L&&(b=L,L=k,k=b);var x=k-L,Y=ko(x-Wo)<Io,T=Y||x<Io;if(!Y&&D<w&&(b=w,w=D,D=b),T?Y?w+D>0^M[1]<(ko(M[0]-L)<Io?w:D):w<=M[1]&&M[1]<=D:x>Wo^(L<=M[0]&&M[0]<=k)){var A=we(p,(-m+v)/y);return ke(A,_),[M,xe(A)]}}}function i(e,n){var r=o?t:Wo-t,i=0;return e<-r?i|=1:e>r&&(i|=2),n<-r?i|=4:n>r&&(i|=8),i}var a=Math.cos(t),o=a>0,u=ko(a)>Io;return Ne(e,n,Mn(t,6*$o),o?[0,-t]:[-Wo,t-Wo])}function Ve(t,e,n,r){return function(i){var a,o=i.a,u=i.b,s=o.x,c=o.y,l=u.x,d=u.y,h=0,f=1,_=l-s,p=d-c;if(a=t-s,_||!(a>0)){if(a/=_,_<0){if(a<h)return;a<f&&(f=a)}else if(_>0){if(a>f)return;a>h&&(h=a)}if(a=n-s,_||!(a<0)){if(a/=_,_<0){if(a>f)return;a>h&&(h=a)}else if(_>0){if(a<h)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<h)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>h&&(h=a)}if(a=r-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>h&&(h=a)}else if(p>0){if(a<h)return;a<f&&(f=a)}return h>0&&(i.a={x:s+h*_,y:c+h*p}),f<1&&(i.b={x:s+f*_,y:c+f*p}),i}}}}}}function Ge(t,e,n,r){function i(r,i){return ko(r[0]-t)<Io?i>0?0:3:ko(r[0]-n)<Io?i>0?2:1:ko(r[1]-e)<Io?i>0?1:0:i>0?3:2}function a(t,e){return o(t.x,e.x)}function o(t,e){var n=i(t,1),r=i(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(u){function s(t){for(var e=0,n=m.length,r=t[1],i=0;i<n;++i)for(var a,o=1,u=m[i],s=u.length,c=u[0];o<s;++o)a=u[o],c[1]<=r?a[1]>r&&it(c,a,t)>0&&++e:a[1]<=r&&it(c,a,t)<0&&--e,c=a;return 0!==e}function c(a,u,s,c){var l=0,d=0;if(null==a||(l=i(a,s))!==(d=i(u,s))||o(a,u)<0^s>0)do{c.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==d);else c.point(u[0],u[1])}function l(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function d(t,e){l(t,e)&&u.point(t,e)}function h(){A.point=_,m&&m.push(y=[]),w=!0,k=!1,b=L=NaN}function f(){p&&(_(g,v),M&&k&&Y.rejoin(),p.push(Y.buffer())),A.point=d,k&&u.lineEnd()}function _(t,e){t=Math.max(-Ru,Math.min(Ru,t)),e=Math.max(-Ru,Math.min(Ru,e));var n=l(t,e);if(m&&y.push([t,e]),w)g=t,v=e,M=n,w=!1,n&&(u.lineStart(),u.point(t,e));else if(n&&k)u.point(t,e);else{var r={a:{x:b,y:L},b:{x:t,y:e}};T(r)?(k||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),n||u.lineEnd(),D=!1):n&&(u.lineStart(),u.point(t,e),D=!1)}b=t,L=e,k=n}var p,m,y,g,v,M,b,L,k,w,D,x=u,Y=Ie(),T=Ve(t,e,n,r),A={point:d,lineStart:h,lineEnd:f,polygonStart:function(){u=Y,p=[],m=[],D=!0},polygonEnd:function(){u=x,p=fo.merge(p);var e=s([t,r]),n=D&&e,i=p.length;(n||i)&&(u.polygonStart(),n&&(u.lineStart(),c(null,null,1,u),u.lineEnd()),i&&He(p,a,e,c,u),u.polygonEnd()),p=m=y=null}};return A}}function Je(t){var e=0,n=Wo/3,r=hn(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Wo/180,n=t[1]*Wo/180):[e/Wo*180,n/Wo*180]},i}function Ze(t,e){function n(t,e){var n=Math.sqrt(a-2*i*Math.sin(e))/i;return[n*Math.sin(t*=i),o-n*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(e))/2,a=1+r*(2*i-r),o=Math.sqrt(a)/i;return n.invert=function(t,e){var n=o-e;return[Math.atan2(t,n)/i,ot((a-(t*t+n*n)*i*i)/(2*i))]},n}function Ke(){function t(t,e){zu+=i*t-r*e,r=t,i=e}var e,n,r,i;Gu.point=function(a,o){Gu.point=t,e=r=a,n=i=o},Gu.lineEnd=function(){t(e,n)}}function Xe(t,e){t<qu&&(qu=t),t>$u&&($u=t),e<Uu&&(Uu=e),e>Vu&&(Vu=e)}function Qe(){function t(t,e){o.push("M",t,",",e,a)}function e(t,e){o.push("M",t,",",e),u.point=n}function n(t,e){o.push("L",t,",",e)}function r(){u.point=t}function i(){o.push("Z")}var a=tn(4.5),o=[],u={point:t,lineStart:function(){u.point=e},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return a=tn(t),u},result:function(){if(o.length){var t=o.join("");return o=[],t}}};return u}function tn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function en(t,e){Eu+=t,Su+=e,++Fu}function nn(){function t(t,r){var i=t-e,a=r-n,o=Math.sqrt(i*i+a*a);Cu+=o*(e+t)/2,ju+=o*(n+r)/2,Hu+=o,en(e=t,n=r)}var e,n;Zu.point=function(r,i){Zu.point=t,en(e=r,n=i)}}function rn(){Zu.point=en}function an(){function t(t,e){var n=t-r,a=e-i,o=Math.sqrt(n*n+a*a);Cu+=o*(r+t)/2,ju+=o*(i+e)/2,Hu+=o,o=i*t-r*e,Ou+=o*(r+t),Pu+=o*(i+e),Nu+=3*o,en(r=t,i=e)}var e,n,r,i;Zu.point=function(a,o){Zu.point=t,en(e=r=a,n=i=o)},Zu.lineEnd=function(){t(e,n)}}function on(t){function e(e,n){t.moveTo(e+o,n),t.arc(e,n,o,0,zo)}function n(e,n){t.moveTo(e,n),u.point=r}function r(e,n){t.lineTo(e,n)}function i(){u.point=e}function a(){t.closePath()}var o=4.5,u={point:e,lineStart:function(){u.point=n},lineEnd:i,polygonStart:function(){u.lineEnd=a},polygonEnd:function(){u.lineEnd=i,u.point=e},pointRadius:function(t){return o=t,u},result:x};return u}function un(t){function e(t){return(u?r:n)(t)}function n(e){return ln(e,function(n,r){n=t(n,r),e.point(n[0],n[1])})}function r(e){function n(n,r){n=t(n,r),e.point(n[0],n[1])}function r(){v=NaN,w.point=a,e.lineStart()}function a(n,r){var a=Me([n,r]),o=t(n,r);i(v,M,g,b,L,k,v=o[0],M=o[1],g=n,b=a[0],L=a[1],k=a[2],u,e),e.point(v,M)}function o(){w.point=n,e.lineEnd()}function s(){r(),w.point=c,w.lineEnd=l}function c(t,e){a(d=t,h=e),f=v,_=M,p=b,m=L,y=k,w.point=a}function l(){i(v,M,g,b,L,k,f,_,d,p,m,y,u,e),w.lineEnd=o,o()}var d,h,f,_,p,m,y,g,v,M,b,L,k,w={point:n,lineStart:r,lineEnd:o,polygonStart:function(){e.polygonStart(),w.lineStart=s},polygonEnd:function(){e.polygonEnd(),w.lineStart=r}};return w}function i(e,n,r,u,s,c,l,d,h,f,_,p,m,y){var g=l-e,v=d-n,M=g*g+v*v;if(M>4*a&&m--){var b=u+f,L=s+_,k=c+p,w=Math.sqrt(b*b+L*L+k*k),D=Math.asin(k/=w),x=ko(ko(k)-1)<Io||ko(r-h)<Io?(r+h)/2:Math.atan2(L,b),Y=t(x,D),T=Y[0],A=Y[1],E=T-e,S=A-n,F=v*E-g*S;(F*F/M>a||ko((g*E+v*S)/M-.5)>.3||u*f+s*_+c*p<o)&&(i(e,n,r,u,s,c,T,A,x,b/=w,L/=w,k,m,y),y.point(T,A),i(T,A,x,b,L,k,l,d,h,f,_,p,m,y))}}var a=.5,o=Math.cos(30*$o),u=16;return e.precision=function(t){return arguments.length?(u=(a=t*t)>0&&16,e):Math.sqrt(a)},e}function sn(t){var e=un(function(e,n){return t([e*Vo,n*Vo])});return function(t){return fn(e(t))}}function cn(t){this.stream=t}function ln(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function dn(t){return hn(function(){return t})()}function hn(t){function e(t){return t=u(t[0]*$o,t[1]*$o),[t[0]*h+s,c-t[1]*h]}function n(t){return(t=u.invert((t[0]-s)/h,(c-t[1])/h))&&[t[0]*Vo,t[1]*Vo]}function r(){u=Ce(o=mn(y,g,v),a);var t=a(p,m);return s=f-t[0]*h,c=_+t[1]*h,i()}function i(){return l&&(l.valid=!1,l=null),e}var a,o,u,s,c,l,d=un(function(t,e){return t=a(t,e),[t[0]*h+s,c-t[1]*h]}),h=150,f=480,_=250,p=0,m=0,y=0,g=0,v=0,M=Iu,b=k,L=null,w=null;return e.stream=function(t){return l&&(l.valid=!1),l=fn(M(o,d(b(t)))),l.valid=!0,l},e.clipAngle=function(t){return arguments.length?(M=null==t?(L=t,Iu):$e((L=+t)*$o),i()):L},e.clipExtent=function(t){return arguments.length?(w=t,b=t?Ge(t[0][0],t[0][1],t[1][0],t[1][1]):k,i()):w},e.scale=function(t){return arguments.length?(h=+t,r()):h},e.translate=function(t){return arguments.length?(f=+t[0],_=+t[1],r()):[f,_]},e.center=function(t){return arguments.length?(p=t[0]%360*$o,m=t[1]%360*$o,r()):[p*Vo,m*Vo]},e.rotate=function(t){return arguments.length?(y=t[0]%360*$o,g=t[1]%360*$o,v=t.length>2?t[2]%360*$o:0,r()):[y*Vo,g*Vo,v*Vo]},fo.rebind(e,d,"precision"),function(){return a=t.apply(this,arguments),e.invert=a.invert&&n,r()}}function fn(t){return ln(t,function(e,n){t.point(e*$o,n*$o)})}function _n(t,e){return[t,e]}function pn(t,e){return[t>Wo?t-zo:t<-Wo?t+zo:t,e]}function mn(t,e,n){return t?e||n?Ce(gn(t),vn(e,n)):gn(t):e||n?vn(e,n):pn}function yn(t){return function(e,n){return e+=t,[e>Wo?e-zo:e<-Wo?e+zo:e,n]}}function gn(t){var e=yn(t);return e.invert=yn(-t),e}function vn(t,e){function n(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,c=Math.sin(e),l=c*r+u*i;return[Math.atan2(s*a-l*o,u*r-c*i),ot(l*a+s*o)]}var r=Math.cos(t),i=Math.sin(t),a=Math.cos(e),o=Math.sin(e);return n.invert=function(t,e){var n=Math.cos(e),u=Math.cos(t)*n,s=Math.sin(t)*n,c=Math.sin(e),l=c*a-s*o;return[Math.atan2(s*a+c*o,u*r+l*i),ot(l*r-u*i)]},n}function Mn(t,e){var n=Math.cos(t),r=Math.sin(t);return function(i,a,o,u){var s=o*e;null!=i?(i=bn(n,i),a=bn(n,a),(o>0?i<a:i>a)&&(i+=o*zo)):(i=t+o*zo,a=t-.5*s);for(var c,l=i;o>0?l>a:l<a;l-=s)u.point((c=xe([n,-r*Math.cos(l),-r*Math.sin(l)]))[0],c[1])}}function bn(t,e){var n=Me(e);n[0]-=t,De(n);var r=at(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Io)%(2*Math.PI)}function Ln(t,e,n){var r=fo.range(t,e-Io,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function kn(t,e,n){var r=fo.range(t,e-Io,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function wn(t){return t.source}function Dn(t){return t.target}function xn(t,e,n,r){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),c=i*Math.sin(t),l=o*Math.cos(n),d=o*Math.sin(n),h=2*Math.asin(Math.sqrt(lt(r-e)+i*o*lt(n-t))),f=1/Math.sin(h),_=h?function(t){var e=Math.sin(t*=h)*f,n=Math.sin(h-t)*f,r=n*s+e*l,i=n*c+e*d,o=n*a+e*u;return[Math.atan2(i,r)*Vo,Math.atan2(o,Math.sqrt(r*r+i*i))*Vo]}:function(){return[t*Vo,e*Vo]};return _.distance=h,_}function Yn(){function t(t,i){var a=Math.sin(i*=$o),o=Math.cos(i),u=ko((t*=$o)-e),s=Math.cos(u);Ku+=Math.atan2(Math.sqrt((u=o*Math.sin(u))*u+(u=r*a-n*o*s)*u),n*a+r*o*s),e=t,n=a,r=o}var e,n,r;Xu.point=function(i,a){e=i*$o,n=Math.sin(a*=$o),r=Math.cos(a),Xu.point=t},Xu.lineEnd=function(){Xu.point=Xu.lineEnd=x}}function Tn(t,e){function n(e,n){var r=Math.cos(e),i=Math.cos(n),a=t(r*i);return[a*i*Math.sin(e),a*Math.sin(n)]}return n.invert=function(t,n){var r=Math.sqrt(t*t+n*n),i=e(r),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,r*o),Math.asin(r&&n*a/r)]},n}function An(t,e){function n(t,e){o>0?e<-Uo+Io&&(e=-Uo+Io):e>Uo-Io&&(e=Uo-Io);var n=o/Math.pow(i(e),a);return[n*Math.sin(a*t),o-n*Math.cos(a*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Wo/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(i(e)/i(t)),o=r*Math.pow(i(t),a)/a;return a?(n.invert=function(t,e){var n=o-e,r=rt(a)*Math.sqrt(t*t+n*n);return[Math.atan2(t,n)/a,2*Math.atan(Math.pow(o/r,1/a))-Uo]},n):Sn}function En(t,e){function n(t,e){var n=a-e;return[n*Math.sin(i*t),a-n*Math.cos(i*t)]}var r=Math.cos(t),i=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/i+t;return ko(i)<Io?_n:(n.invert=function(t,e){var n=a-e;return[Math.atan2(t,n)/i,a-rt(i)*Math.sqrt(t*t+n*n)]},n)}function Sn(t,e){return[t,Math.log(Math.tan(Wo/4+e/2))]}function Fn(t){var e,n=dn(t),r=n.scale,i=n.translate,a=n.clipExtent;return n.scale=function(){var t=r.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.translate=function(){var t=i.apply(n,arguments);return t===n?e?n.clipExtent(null):n:t},n.clipExtent=function(t){var o=a.apply(n,arguments);if(o===n){if(e=null==t){var u=Wo*r(),s=i();a([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else e&&(o=null);return o},n.clipExtent(null)}function Cn(t,e){return[Math.log(Math.tan(Wo/4+e/2)),-t]}function jn(t){return t[0]}function Hn(t){return t[1]}function On(t){for(var e=t.length,n=[0,1],r=2,i=2;i<e;i++){for(;r>1&&it(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Pn(t,e){return t[0]-e[0]||t[1]-e[1]}function Nn(t,e,n){return(n[0]-e[0])*(t[1]-e[1])<(n[1]-e[1])*(t[0]-e[0])}function Bn(t,e,n,r){var i=t[0],a=n[0],o=e[0]-i,u=r[0]-a,s=t[1],c=n[1],l=e[1]-s,d=r[1]-c,h=(u*(s-c)-d*(i-a))/(d*o-u*l);return[i+h*o,s+h*l]}function In(t){var e=t[0],n=t[t.length-1];return!(e[0]-n[0]||e[1]-n[1])}function Rn(){sr(this),this.edge=this.site=this.circle=null}function Wn(t){var e=ls.pop()||new Rn;return e.site=t,e}function zn(t){Qn(t),us.remove(t),ls.push(t),sr(t)}function qn(t){var e=t.circle,n=e.x,r=e.cy,i={x:n,y:r},a=t.P,o=t.N,u=[t];zn(t);for(var s=a;s.circle&&ko(n-s.circle.x)<Io&&ko(r-s.circle.cy)<Io;)a=s.P,u.unshift(s),zn(s),s=a;u.unshift(s),Qn(s);for(var c=o;c.circle&&ko(n-c.circle.x)<Io&&ko(r-c.circle.cy)<Io;)o=c.N,u.push(c),zn(c),c=o;u.push(c),Qn(c);var l,d=u.length;for(l=1;l<d;++l)c=u[l],s=u[l-1],ar(c.edge,s.site,c.site,i);s=u[0],c=u[d-1],c.edge=rr(s.site,c.site,null,i),Xn(s),Xn(c)}function Un(t){for(var e,n,r,i,a=t.x,o=t.y,u=us._;u;)if((r=$n(u,o)-a)>Io)u=u.L;else{if(!((i=a-Vn(u,o))>Io)){r>-Io?(e=u.P,n=u):i>-Io?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}var s=Wn(t);if(us.insert(e,s),e||n){if(e===n)return Qn(e),n=Wn(e.site),us.insert(s,n),s.edge=n.edge=rr(e.site,s.site),Xn(e),void Xn(n);if(!n)return void(s.edge=rr(e.site,s.site));Qn(e),Qn(n);var c=e.site,l=c.x,d=c.y,h=t.x-l,f=t.y-d,_=n.site,p=_.x-l,m=_.y-d,y=2*(h*m-f*p),g=h*h+f*f,v=p*p+m*m,M={x:(m*g-f*v)/y+l,y:(h*v-p*g)/y+d};ar(n.edge,c,_,M),s.edge=rr(c,t,null,M),n.edge=rr(t,_,null,M),Xn(e),Xn(n)}}function $n(t,e){var n=t.site,r=n.x,i=n.y,a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;n=o.site;var u=n.x,s=n.y,c=s-e;if(!c)return u;var l=u-r,d=1/a-1/c,h=l/c;return d?(-h+Math.sqrt(h*h-2*d*(l*l/(-2*c)-s+c/2+i-a/2)))/d+r:(r+u)/2}function Vn(t,e){var n=t.N;if(n)return $n(n,e);var r=t.site;return r.y===e?r.x:1/0}function Gn(t){this.site=t,this.edges=[]}function Jn(t){for(var e,n,r,i,a,o,u,s,c,l,d=t[0][0],h=t[1][0],f=t[0][1],_=t[1][1],p=os,m=p.length;m--;)if((a=p[m])&&a.prepare())for(u=a.edges,s=u.length,o=0;o<s;)l=u[o].end(),r=l.x,i=l.y,c=u[++o%s].start(),e=c.x,n=c.y,(ko(r-e)>Io||ko(i-n)>Io)&&(u.splice(o,0,new or(ir(a.site,l,ko(r-d)<Io&&_-i>Io?{x:d,y:ko(e-d)<Io?n:_}:ko(i-_)<Io&&h-r>Io?{x:ko(n-_)<Io?e:h,y:_}:ko(r-h)<Io&&i-f>Io?{x:h,y:ko(e-h)<Io?n:f}:ko(i-f)<Io&&r-d>Io?{x:ko(n-f)<Io?e:d,y:f}:null),a.site,null)),++s)}function Zn(t,e){return e.angle-t.angle}function Kn(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Xn(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i.x,u=i.y,s=r.x-o,c=r.y-u,l=a.x-o,d=a.y-u,h=2*(s*d-c*l);if(!(h>=-Ro)){var f=s*s+c*c,_=l*l+d*d,p=(d*f-c*_)/h,m=(s*_-l*f)/h,d=m+u,y=ds.pop()||new Kn;y.arc=t,y.site=i,y.x=p+o,y.y=d+Math.sqrt(p*p+m*m),y.cy=d,t.circle=y;for(var g=null,v=cs._;v;)if(y.y<v.y||y.y===v.y&&y.x<=v.x){if(!v.L){g=v.P;break}v=v.L}else{if(!v.R){g=v;break}v=v.R}cs.insert(g,y),g||(ss=y)}}}}function Qn(t){var e=t.circle;e&&(e.P||(ss=e.N),cs.remove(e),ds.push(e),sr(e),t.circle=null)}function tr(t){for(var e,n=as,r=Ve(t[0][0],t[0][1],t[1][0],t[1][1]),i=n.length;i--;)e=n[i],(!er(e,t)||!r(e)||ko(e.a.x-e.b.x)<Io&&ko(e.a.y-e.b.y)<Io)&&(e.a=e.b=null,n.splice(i,1))}function er(t,e){var n=t.b;if(n)return!0;var r,i,a=t.a,o=e[0][0],u=e[1][0],s=e[0][1],c=e[1][1],l=t.l,d=t.r,h=l.x,f=l.y,_=d.x,p=d.y,m=(h+_)/2,y=(f+p)/2;if(p===f){if(m<o||m>=u)return;if(h>_){if(a){if(a.y>=c)return}else a={x:m,y:s};n={x:m,y:c}}else{if(a){if(a.y<s)return}else a={x:m,y:c};n={x:m,y:s}}}else if(r=(h-_)/(p-f),i=y-r*m,r<-1||r>1)if(h>_){if(a){if(a.y>=c)return}else a={x:(s-i)/r,y:s};n={x:(c-i)/r,y:c}}else{if(a){if(a.y<s)return}else a={x:(c-i)/r,y:c};n={x:(s-i)/r,y:s}}else if(f<p){if(a){if(a.x>=u)return}else a={x:o,y:r*o+i};n={x:u,y:r*u+i}}else{if(a){if(a.x<o)return}else a={x:u,y:r*u+i};n={x:o,y:r*o+i}}return t.a=a,t.b=n,!0}function nr(t,e){this.l=t,this.r=e,this.a=this.b=null}function rr(t,e,n,r){var i=new nr(t,e);return as.push(i),n&&ar(i,t,e,n),r&&ar(i,e,t,r),os[t.i].edges.push(new or(i,t,e)),os[e.i].edges.push(new or(i,e,t)),i}function ir(t,e,n){var r=new nr(t,null);return r.a=e,r.b=n,as.push(r),r}function ar(t,e,n,r){t.a||t.b?t.l===n?t.b=r:t.a=r:(t.a=r,t.l=e,t.r=n)}function or(t,e,n){var r=t.a,i=t.b;this.edge=t,this.site=e,this.angle=n?Math.atan2(n.y-e.y,n.x-e.x):t.l===e?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function ur(){this._=null}function sr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function cr(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function lr(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function dr(t){for(;t.L;)t=t.L;return t}function hr(t,e){var n,r,i,a=t.sort(fr).pop();for(as=[],os=new Array(t.length),us=new ur,cs=new ur;;)if(i=ss,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===n&&a.y===r||(os[a.i]=new Gn(a),Un(a),n=a.x,r=a.y),a=t.pop();else{if(!i)break;qn(i.arc)}e&&(tr(e),Jn(e));var o={cells:os,edges:as};return us=cs=as=os=null,o}function fr(t,e){return e.y-t.y||e.x-t.x}function _r(t,e,n){return(t.x-n.x)*(e.y-t.y)-(t.x-e.x)*(n.y-t.y)}function pr(t){return t.x}function mr(t){return t.y}function yr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function gr(t,e,n,r,i,a){if(!t(e,n,r,i,a)){var o=.5*(n+i),u=.5*(r+a),s=e.nodes;s[0]&&gr(t,s[0],n,r,o,u),s[1]&&gr(t,s[1],o,r,i,u),s[2]&&gr(t,s[2],n,u,o,a),s[3]&&gr(t,s[3],o,u,i,a)}}function vr(t,e,n,r,i,a,o){var u,s=1/0;return function t(c,l,d,h,f){if(!(l>a||d>o||h<r||f<i)){if(_=c.point){var _,p=e-c.x,m=n-c.y,y=p*p+m*m;if(y<s){var g=Math.sqrt(s=y);r=e-g,i=n-g,a=e+g,o=n+g,u=_}}for(var v=c.nodes,M=.5*(l+h),b=.5*(d+f),L=e>=M,k=n>=b,w=k<<1|L,D=w+4;w<D;++w)if(c=v[3&w])switch(3&w){case 0:t(c,l,d,M,b);break;case 1:t(c,M,d,h,b);break;case 2:t(c,l,b,M,f);break;case 3:t(c,M,b,h,f)}}}(t,r,i,a,o),u}function Mr(t,e){t=fo.rgb(t),e=fo.rgb(e);var n=t.r,r=t.g,i=t.b,a=e.r-n,o=e.g-r,u=e.b-i;return function(t){return"#"+Dt(Math.round(n+a*t))+Dt(Math.round(r+o*t))+Dt(Math.round(i+u*t))}}function br(t,e){var n,r={},i={};for(n in t)n in e?r[n]=wr(t[n],e[n]):i[n]=t[n];for(n in e)n in t||(i[n]=e[n]);return function(t){for(n in r)i[n]=r[n](t);return i}}function Lr(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function kr(t,e){var n,r,i,a=fs.lastIndex=_s.lastIndex=0,o=-1,u=[],s=[];for(t+="",e+="";(n=fs.exec(t))&&(r=_s.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(n=n[0])===(r=r[0])?u[o]?u[o]+=r:u[++o]=r:(u[++o]=null,s.push({i:o,x:Lr(n,r)})),a=_s.lastIndex;return a<e.length&&(i=e.slice(a),u[o]?u[o]+=i:u[++o]=i),u.length<2?s[0]?(e=s[0].x,function(t){return e(t)+""}):function(){return e}:(e=s.length,function(t){for(var n,r=0;r<e;++r)u[(n=s[r]).i]=n.x(t);return u.join("")})}function wr(t,e){for(var n,r=fo.interpolators.length;--r>=0&&!(n=fo.interpolators[r](t,e)););return n}function Dr(t,e){var n,r=[],i=[],a=t.length,o=e.length,u=Math.min(t.length,e.length);for(n=0;n<u;++n)r.push(wr(t[n],e[n]));for(;n<a;++n)i[n]=t[n];for(;n<o;++n)i[n]=e[n];return function(t){for(n=0;n<u;++n)i[n]=r[n](t);return i}}function xr(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function Yr(t){return function(e){return 1-t(1-e)}}function Tr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Ar(t){return t*t}function Er(t){return t*t*t}function Sr(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,n=e*t;return 4*(t<.5?n:3*(t-e)+n-.75)}function Fr(t){return function(e){return Math.pow(e,t)}}function Cr(t){return 1-Math.cos(t*Uo)}function jr(t){return Math.pow(2,10*(t-1))}function Hr(t){return 1-Math.sqrt(1-t*t)}function Or(t,e){var n;return arguments.length<2&&(e=.45),arguments.length?n=e/zo*Math.asin(1/t):(t=1,n=e/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-n)*zo/e)}}function Pr(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Nr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Br(t,e){t=fo.hcl(t),e=fo.hcl(e);var n=t.h,r=t.c,i=t.l,a=e.h-n,o=e.c-r,u=e.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?e.c:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:a<-180&&(a+=360),function(t){return pt(n+a*t,r+o*t,i+u*t)+""}}function Ir(t,e){t=fo.hsl(t),e=fo.hsl(e);var n=t.h,r=t.s,i=t.l,a=e.h-n,o=e.s-r,u=e.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?e.s:r),isNaN(a)?(a=0,n=isNaN(n)?e.h:n):a>180?a-=360:a<-180&&(a+=360),function(t){return ft(n+a*t,r+o*t,i+u*t)+""}}function Rr(t,e){t=fo.lab(t),e=fo.lab(e);var n=t.l,r=t.a,i=t.b,a=e.l-n,o=e.a-r,u=e.b-i;return function(t){return yt(n+a*t,r+o*t,i+u*t)+""}}function Wr(t,e){return e-=t,function(n){return Math.round(t+e*n)}}function zr(t){var e=[t.a,t.b],n=[t.c,t.d],r=Ur(e),i=qr(e,n),a=Ur($r(n,e,-i))||0;e[0]*n[1]<n[0]*e[1]&&(e[0]*=-1,e[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(e[1],e[0]):Math.atan2(-n[0],n[1]))*Vo,this.translate=[t.e,t.f],this.scale=[r,a],this.skew=a?Math.atan2(i,a)*Vo:0}function qr(t,e){return t[0]*e[0]+t[1]*e[1]}function Ur(t){var e=Math.sqrt(qr(t,t));return e&&(t[0]/=e,t[1]/=e),e}function $r(t,e,n){return t[0]+=n*e[0],t[1]+=n*e[1],t}function Vr(t){return t.length?t.pop()+",":""}function Gr(t,e,n,r){if(t[0]!==e[0]||t[1]!==e[1]){var i=n.push("translate(",null,",",null,")");r.push({i:i-4,x:Lr(t[0],e[0])},{i:i-2,x:Lr(t[1],e[1])})}else(e[0]||e[1])&&n.push("translate("+e+")")}function Jr(t,e,n,r){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),r.push({i:n.push(Vr(n)+"rotate(",null,")")-2,x:Lr(t,e)})):e&&n.push(Vr(n)+"rotate("+e+")")}function Zr(t,e,n,r){t!==e?r.push({i:n.push(Vr(n)+"skewX(",null,")")-2,x:Lr(t,e)}):e&&n.push(Vr(n)+"skewX("+e+")")}function Kr(t,e,n,r){if(t[0]!==e[0]||t[1]!==e[1]){var i=n.push(Vr(n)+"scale(",null,",",null,")");r.push({i:i-4,x:Lr(t[0],e[0])},{i:i-2,x:Lr(t[1],e[1])})}else 1===e[0]&&1===e[1]||n.push(Vr(n)+"scale("+e+")")}function Xr(t,e){var n=[],r=[];return t=fo.transform(t),e=fo.transform(e),Gr(t.translate,e.translate,n,r),Jr(t.rotate,e.rotate,n,r),Zr(t.skew,e.skew,n,r),Kr(t.scale,e.scale,n,r),t=e=null,function(t){for(var e,i=-1,a=r.length;++i<a;)n[(e=r[i]).i]=e.x(t);return n.join("")}}function Qr(t,e){return e=(e-=t=+t)||1/e,function(n){return(n-t)/e}}function ti(t,e){return e=(e-=t=+t)||1/e,function(n){return Math.max(0,Math.min(1,(n-t)/e))}}function ei(t){for(var e=t.source,n=t.target,r=ri(e,n),i=[e];e!==r;)e=e.parent,i.push(e);for(var a=i.length;n!==r;)i.splice(a,0,n),n=n.parent;return i}function ni(t){for(var e=[],n=t.parent;null!=n;)e.push(t),t=n,n=n.parent;return e.push(t),e}function ri(t,e){if(t===e)return t;for(var n=ni(t),r=ni(e),i=n.pop(),a=r.pop(),o=null;i===a;)o=i,i=n.pop(),a=r.pop();return o}function ii(t){t.fixed|=2}function ai(t){t.fixed&=-7}function oi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ui(t){t.fixed&=-5}function si(t,e,n){var r=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,u=o.length,s=-1;++s<u;)null!=(a=o[s])&&(si(a,e,n),t.charge+=a.charge,r+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*n[t.point.index];t.charge+=t.pointCharge=c,r+=c*t.point.x,i+=c*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function ci(t,e){return fo.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=pi,t}function li(t,e){for(var n=[t];null!=(t=n.pop());)if(e(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)n.push(i[r])}function di(t,e){for(var n=[t],r=[];null!=(t=n.pop());)if(r.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)n.push(a[o]);for(;null!=(t=r.pop());)e(t)}function hi(t){return t.children}function fi(t){return t.value}function _i(t,e){return e.value-t.value}function pi(t){return fo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function mi(t){return t.x}function yi(t){return t.y}function gi(t,e,n){t.y0=e,t.y=n}function vi(t){return fo.range(t.length)}function Mi(t){for(var e=-1,n=t[0].length,r=[];++e<n;)r[e]=0;return r}function bi(t){for(var e,n=1,r=0,i=t[0][1],a=t.length;n<a;++n)(e=t[n][1])>i&&(r=n,i=e);return r}function Li(t){return t.reduce(ki,0)}function ki(t,e){return t+e[1]}function wi(t,e){return Di(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Di(t,e){for(var n=-1,r=+t[0],i=(t[1]-r)/e,a=[];++n<=e;)a[n]=i*n+r;return a}function xi(t){return[fo.min(t),fo.max(t)]}function Yi(t,e){return t.value-e.value}function Ti(t,e){var n=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=n,n._pack_prev=e}function Ai(t,e){t._pack_next=e,e._pack_prev=t}function Ei(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return.999*i*i>n*n+r*r}function Si(t){function e(t){l=Math.min(t.x-t.r,l),d=Math.max(t.x+t.r,d),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}if((n=t.children)&&(c=n.length)){var n,r,i,a,o,u,s,c,l=1/0,d=-1/0,h=1/0,f=-1/0;if(n.forEach(Fi),r=n[0],r.x=-r.r,r.y=0,e(r),c>1&&(i=n[1],i.x=i.r,i.y=0,e(i),c>2))for(a=n[2],Hi(r,i,a),e(a),Ti(r,a),r._pack_prev=a,Ti(a,i),i=r._pack_next,o=3;o<c;o++){Hi(r,i,a=n[o]);var _=0,p=1,m=1;for(u=i._pack_next;u!==i;u=u._pack_next,p++)if(Ei(u,a)){_=1;break}if(1==_)for(s=r._pack_prev;s!==u._pack_prev&&!Ei(s,a);s=s._pack_prev,m++);_?(p<m||p==m&&i.r<r.r?Ai(r,i=u):Ai(r=s,i),o--):(Ti(r,a),i=a,e(a))}var y=(l+d)/2,g=(h+f)/2,v=0;for(o=0;o<c;o++)a=n[o],a.x-=y,a.y-=g,v=Math.max(v,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=v,n.forEach(Ci)}}function Fi(t){t._pack_next=t._pack_prev=t}function Ci(t){delete t._pack_next,delete t._pack_prev}function ji(t,e,n,r){var i=t.children;if(t.x=e+=r*t.x,t.y=n+=r*t.y,t.r*=r,i)for(var a=-1,o=i.length;++a<o;)ji(i[a],e,n,r)}function Hi(t,e,n){var r=t.r+n.r,i=e.x-t.x,a=e.y-t.y;if(r&&(i||a)){var o=e.r+n.r,u=i*i+a*a;o*=o,r*=r;var s=.5+(r-o)/(2*u),c=Math.sqrt(Math.max(0,2*o*(r+u)-(r-=u)*r-o*o))/(2*u);n.x=t.x+s*i+c*a,n.y=t.y+s*a-c*i}else n.x=t.x+r,n.y=t.y}function Oi(t,e){return t.parent==e.parent?1:2}function Pi(t){var e=t.children;return e.length?e[0]:t.t}function Ni(t){var e,n=t.children;return(e=n.length)?n[e-1]:t.t}function Bi(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 Ii(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)e=i[a],e.z+=n,e.m+=n,n+=e.s+(r+=e.c)}function Ri(t,e,n){return t.a.parent===e.parent?t.a:n}function Wi(t){return 1+fo.max(t,function(t){return t.y})}function zi(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function qi(t){var e=t.children;return e&&e.length?qi(e[0]):t}function Ui(t){var e,n=t.children;return n&&(e=n.length)?Ui(n[e-1]):t}function $i(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vi(t,e){var n=t.x+e[3],r=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(n+=i/2,i=0),a<0&&(r+=a/2,a=0),{x:n,y:r,dx:i,dy:a}}function Gi(t){var e=t[0],n=t[t.length-1];return e<n?[e,n]:[n,e]}function Ji(t){return t.rangeExtent?t.rangeExtent():Gi(t.range())}function Zi(t,e,n,r){var i=n(t[0],t[1]),a=r(e[0],e[1]);return function(t){return a(i(t))}}function Ki(t,e){var n,r=0,i=t.length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t}function Xi(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:Ds}function Qi(t,e,n,r){var i=[],a=[],o=0,u=Math.min(t.length,e.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=u;)i.push(n(t[o-1],t[o])),a.push(r(e[o-1],e[o]));return function(e){var n=fo.bisect(t,e,1,u)-1;return a[n](i[n](e))}}function ta(t,e,n,r){function i(){var i=Math.min(t.length,e.length)>2?Qi:Zi,s=r?ti:Qr;return o=i(t,e,s,n),u=i(e,t,s,wr),a}function a(t){return o(t)}var o,u;return a.invert=function(t){return u(t)},a.domain=function(e){return arguments.length?(t=e.map(Number),i()):t},a.range=function(t){return arguments.length?(e=t,i()):e},a.rangeRound=function(t){return a.range(t).interpolate(Wr)},a.clamp=function(t){return arguments.length?(r=t,i()):r},a.interpolate=function(t){return arguments.length?(n=t,i()):n},a.ticks=function(e){return ia(t,e)},a.tickFormat=function(e,n){return aa(t,e,n)},a.nice=function(e){return na(t,e),i()},a.copy=function(){return ta(t,e,n,r)},i()}function ea(t,e){return fo.rebind(t,e,"range","rangeRound","interpolate","clamp")}function na(t,e){return Ki(t,Xi(ra(t,e)[2])),Ki(t,Xi(ra(t,e)[2])),t}function ra(t,e){null==e&&(e=10);var n=Gi(t),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/e)/Math.LN10)),a=e/r*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+.5*i,n[2]=i,n}function ia(t,e){return fo.range.apply(fo,ra(t,e))}function aa(t,e,n){var r=ra(t,e);if(n){var i=fu.exec(n);if(i.shift(),"s"===i[8]){var a=fo.formatPrefix(Math.max(ko(r[0]),ko(r[1])));return i[7]||(i[7]="."+oa(a.scale(r[2]))),i[8]="f",n=fo.format(i.join("")),function(t){return n(a.scale(t))+a.symbol}}i[7]||(i[7]="."+ua(i[8],r)),n=i.join("")}else n=",."+oa(r[2])+"f";return fo.format(n)}function oa(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function ua(t,e){var n=oa(e[2]);return t in xs?Math.abs(n-oa(Math.max(ko(e[0]),ko(e[1]))))+ +("e"!==t):n-2*("%"===t)}function sa(t,e,n,r){function i(t){return(n?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return n?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((r=e.map(Number)).map(i)),o):r},o.base=function(n){return arguments.length?(e=+n,t.domain(r.map(i)),o):e},o.nice=function(){var e=Ki(r.map(i),n?Math:Ts);return t.domain(e),r=e.map(a),o},o.ticks=function(){var t=Gi(r),o=[],u=t[0],s=t[1],c=Math.floor(i(u)),l=Math.ceil(i(s)),d=e%1?2:e;if(isFinite(l-c)){if(n){for(;c<l;c++)for(var h=1;h<d;h++)o.push(a(c)*h);o.push(a(c))}else for(o.push(a(c));c++<l;)for(var h=d-1;h>0;h--)o.push(a(c)*h);for(c=0;o[c]<u;c++);for(l=o.length;o[l-1]>s;l--);o=o.slice(c,l)}return o},o.tickFormat=function(t,n){if(!arguments.length)return Ys;arguments.length<2?n=Ys:"function"!=typeof n&&(n=fo.format(n));var r=Math.max(1,e*t/o.ticks().length);return function(t){var o=t/a(Math.round(i(t)));return o*e<e-.5&&(o*=e),o<=r?n(t):""}},o.copy=function(){return sa(t.copy(),e,n,r)},ea(o,t)}function ca(t,e,n){function r(e){return t(i(e))}var i=la(e),a=la(1/e);return r.invert=function(e){return a(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(i)),r):n},r.ticks=function(t){return ia(n,t)},r.tickFormat=function(t,e){return aa(n,t,e)},r.nice=function(t){return r.domain(na(n,t))},r.exponent=function(o){return arguments.length?(i=la(e=o),a=la(1/e),t.domain(n.map(i)),r):e},r.copy=function(){return ca(t.copy(),e,n)},ea(r,t)}function la(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function da(t,e){function n(n){return a[((i.get(n)||("range"===e.t?i.set(n,t.push(n)):NaN))-1)%a.length]}function r(e,n){return fo.range(t.length).map(function(t){return e+n*t})}var i,a,o;return n.domain=function(r){if(!arguments.length)return t;t=[],i=new _;for(var a,o=-1,u=r.length;++o<u;)i.has(a=r[o])||i.set(a,t.push(a));return n[e.t].apply(n,e.a)},n.range=function(t){return arguments.length?(a=t,o=0,e={t:"range",a:arguments},n):a},n.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],c=i[1],l=t.length<2?(s=(s+c)/2,0):(c-s)/(t.length-1+u);return a=r(s+l*u/2,l),o=0,e={t:"rangePoints",a:arguments},n},n.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],c=i[1],l=t.length<2?(s=c=Math.round((s+c)/2),0):(c-s)/(t.length-1+u)|0;return a=r(s+Math.round(l*u/2+(c-s-(t.length-1+u)*l)/2),l),o=0,e={t:"rangeRoundPoints",a:arguments},n},n.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var c=i[1]<i[0],l=i[c-0],d=i[1-c],h=(d-l)/(t.length-u+2*s);return a=r(l+h*s,h),c&&a.reverse(),o=h*(1-u),e={t:"rangeBands",a:arguments},n},n.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var c=i[1]<i[0],l=i[c-0],d=i[1-c],h=Math.floor((d-l)/(t.length-u+2*s));return a=r(l+Math.round((d-l-(t.length-u)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-u)),e={t:"rangeRoundBands",a:arguments},n},n.rangeBand=function(){return o},n.rangeExtent=function(){return Gi(e.a[0])},n.copy=function(){return da(t,e)},n.domain(t)}function ha(t,e){function n(){var n=0,a=e.length;for(i=[];++n<a;)i[n-1]=fo.quantile(t,n/a);return r}function r(t){if(!isNaN(t=+t))return e[fo.bisect(i,t)]}var i;return r.domain=function(e){return arguments.length?(t=e.map(s).filter(c).sort(u),n()):t},r.range=function(t){return arguments.length?(e=t,n()):e},r.quantiles=function(){return i},r.invertExtent=function(n){return n=e.indexOf(n),n<0?[NaN,NaN]:[n>0?i[n-1]:t[0],n<i.length?i[n]:t[t.length-1]]},r.copy=function(){return ha(t,e)},n()}function fa(t,e,n){function r(e){return n[Math.max(0,Math.min(o,Math.floor(a*(e-t))))]}function i(){return a=n.length/(e-t),o=n.length-1,r}var a,o;return r.domain=function(n){return arguments.length?(t=+n[0],e=+n[n.length-1],i()):[t,e]},r.range=function(t){return arguments.length?(n=t,i()):n},r.invertExtent=function(e){return e=n.indexOf(e),e=e<0?NaN:e/a+t,[e,e+1/a]},r.copy=function(){return fa(t,e,n)},i()}function _a(t,e){function n(n){if(n<=n)return e[fo.bisect(t,n)]}return n.domain=function(e){return arguments.length?(t=e,n):t},n.range=function(t){return arguments.length?(e=t,n):e},n.invertExtent=function(n){return n=e.indexOf(n),[t[n-1],t[n]]},n.copy=function(){return _a(t,e)},n}function pa(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=n.map(e),e):t},e.ticks=function(e){return ia(t,e)},e.tickFormat=function(e,n){return aa(t,e,n)},e.copy=function(){return pa(t)},e}function ma(){return 0}function ya(t){return t.innerRadius}function ga(t){return t.outerRadius}function va(t){return t.startAngle}function Ma(t){return t.endAngle}function ba(t){return t&&t.padAngle}function La(t,e,n,r){return(t-n)*e-(e-r)*t>0?0:1}function ka(t,e,n,r,i){var a=t[0]-e[0],o=t[1]-e[1],u=(i?r:-r)/Math.sqrt(a*a+o*o),s=u*o,c=-u*a,l=t[0]+s,d=t[1]+c,h=e[0]+s,f=e[1]+c,_=(l+h)/2,p=(d+f)/2,m=h-l,y=f-d,g=m*m+y*y,v=n-r,M=l*f-h*d,b=(y<0?-1:1)*Math.sqrt(Math.max(0,v*v*g-M*M)),L=(M*y-m*b)/g,k=(-M*m-y*b)/g,w=(M*y+m*b)/g,D=(-M*m+y*b)/g,x=L-_,Y=k-p,T=w-_,A=D-p;return x*x+Y*Y>T*T+A*A&&(L=w,k=D),[[L-s,k-c],[L*n/v,k*n/v]]}function wa(t){function e(e){function o(){c.push("M",a(t(l),u))}for(var s,c=[],l=[],d=-1,h=e.length,f=St(n),_=St(r);++d<h;)i.call(this,s=e[d],d)?l.push([+f.call(this,s,d),+_.call(this,s,d)]):l.length&&(o(),l=[]);return l.length&&o(),c.length?c.join(""):null}var n=jn,r=Hn,i=je,a=Da,o=a.key,u=.7;return e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e.defined=function(t){return arguments.length?(i=t,e):i},e.interpolate=function(t){return arguments.length?(o="function"==typeof t?a=t:(a=js.get(t)||Da).key,e):o},e.tension=function(t){return arguments.length?(u=t,e):u},e}function Da(t){return t.length>1?t.join("L"):t+"Z"}function xa(t){return t.join("L")+"Z"}function Ya(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r[0]+(r=t[e])[0])/2,"V",r[1]);return n>1&&i.push("H",r[0]),i.join("")}function Ta(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("V",(r=t[e])[1],"H",r[0]);return i.join("")}function Aa(t){for(var e=0,n=t.length,r=t[0],i=[r[0],",",r[1]];++e<n;)i.push("H",(r=t[e])[0],"V",r[1]);return i.join("")}function Ea(t,e){return t.length<4?Da(t):t[1]+Ca(t.slice(1,-1),ja(t,e))}function Sa(t,e){return t.length<3?xa(t):t[0]+Ca((t.push(t[0]),t),ja([t[t.length-2]].concat(t,[t[1]]),e))}function Fa(t,e){return t.length<3?Da(t):t[0]+Ca(t,ja(t,e))}function Ca(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Da(t);var n=t.length!=e.length,r="",i=t[0],a=t[1],o=e[0],u=o,s=1;if(n&&(r+="Q"+(a[0]-2*o[0]/3)+","+(a[1]-2*o[1]/3)+","+a[0]+","+a[1],i=t[1],s=2),e.length>1){u=e[1],a=t[s],s++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-u[0])+","+(a[1]-u[1])+","+a[0]+","+a[1];for(var c=2;c<e.length;c++,s++)a=t[s],u=e[c],r+="S"+(a[0]-u[0])+","+(a[1]-u[1])+","+a[0]+","+a[1]}if(n){var l=t[s];r+="Q"+(a[0]+2*u[0]/3)+","+(a[1]+2*u[1]/3)+","+l[0]+","+l[1]}return r}function ja(t,e){for(var n,r=[],i=(1-e)/2,a=t[0],o=t[1],u=1,s=t.length;++u<s;)n=a,a=o,o=t[u],r.push([i*(o[0]-n[0]),i*(o[1]-n[1])]);return r}function Ha(t){if(t.length<3)return Da(t);var e=1,n=t.length,r=t[0],i=r[0],a=r[1],o=[i,i,i,(r=t[1])[0]],u=[a,a,a,r[1]],s=[i,",",a,"L",Ba(Ps,o),",",Ba(Ps,u)];for(t.push(t[n-1]);++e<=n;)r=t[e],o.shift(),o.push(r[0]),u.shift(),u.push(r[1]),Ia(s,o,u);return t.pop(),s.push("L",r),s.join("")}function Oa(t){if(t.length<4)return Da(t);for(var e,n=[],r=-1,i=t.length,a=[0],o=[0];++r<3;)e=t[r],a.push(e[0]),o.push(e[1]);for(n.push(Ba(Ps,a)+","+Ba(Ps,o)),--r;++r<i;)e=t[r],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Ia(n,a,o);return n.join("")}function Pa(t){for(var e,n,r=-1,i=t.length,a=i+4,o=[],u=[];++r<4;)n=t[r%i],o.push(n[0]),u.push(n[1]);for(e=[Ba(Ps,o),",",Ba(Ps,u)],--r;++r<a;)n=t[r%i],o.shift(),o.push(n[0]),u.shift(),u.push(n[1]),Ia(e,o,u);return e.join("")}function Na(t,e){var n=t.length-1;if(n)for(var r,i,a=t[0][0],o=t[0][1],u=t[n][0]-a,s=t[n][1]-o,c=-1;++c<=n;)r=t[c],i=c/n,r[0]=e*r[0]+(1-e)*(a+i*u),r[1]=e*r[1]+(1-e)*(o+i*s);return Ha(t)}function Ba(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ia(t,e,n){t.push("C",Ba(Hs,e),",",Ba(Hs,n),",",Ba(Os,e),",",Ba(Os,n),",",Ba(Ps,e),",",Ba(Ps,n))}function Ra(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Wa(t){for(var e=0,n=t.length-1,r=[],i=t[0],a=t[1],o=r[0]=Ra(i,a);++e<n;)r[e]=(o+(o=Ra(i=a,a=t[e+1])))/2;return r[e]=o,r}function za(t){for(var e,n,r,i,a=[],o=Wa(t),u=-1,s=t.length-1;++u<s;)e=Ra(t[u],t[u+1]),ko(e)<Io?o[u]=o[u+1]=0:(n=o[u]/e,r=o[u+1]/e,(i=n*n+r*r)>9&&(i=3*e/Math.sqrt(i),o[u]=i*n,o[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+o[u]*o[u])),a.push([i||0,o[u]*i||0]);return a}function qa(t){return t.length<3?Da(t):t[0]+Ca(t,za(t))}function Ua(t){for(var e,n,r,i=-1,a=t.length;++i<a;)e=t[i],n=e[0],r=e[1]-Uo,e[0]=n*Math.cos(r),e[1]=n*Math.sin(r);return t}function $a(t){function e(e){function s(){p.push("M",u(t(y),d),l,c(t(m.reverse()),d),"Z")}for(var h,f,_,p=[],m=[],y=[],g=-1,v=e.length,M=St(n),b=St(i),L=n===r?function(){return f}:St(r),k=i===a?function(){return _}:St(a);++g<v;)o.call(this,h=e[g],g)?(m.push([f=+M.call(this,h,g),_=+b.call(this,h,g)]),y.push([+L.call(this,h,g),+k.call(this,h,g)])):m.length&&(s(),m=[],y=[]);return m.length&&s(),p.length?p.join(""):null}var n=jn,r=jn,i=0,a=Hn,o=je,u=Da,s=u.key,c=u,l="L",d=.7;return e.x=function(t){return arguments.length?(n=r=t,e):r},e.x0=function(t){return arguments.length?(n=t,e):n},e.x1=function(t){return arguments.length?(r=t,e):r},e.y=function(t){return arguments.length?(i=a=t,e):a},e.y0=function(t){return arguments.length?(i=t,e):i},e.y1=function(t){return arguments.length?(a=t,e):a},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=js.get(t)||Da).key,c=u.reverse||u,l=u.closed?"M":"L",e):s},e.tension=function(t){return arguments.length?(d=t,e):d},e}function Va(t){return t.radius}function Ga(t){return[t.x,t.y]}function Ja(t){return function(){var e=t.apply(this,arguments),n=e[0],r=e[1]-Uo;return[n*Math.cos(r),n*Math.sin(r)]}}function Za(){return 64}function Ka(){return"circle"}function Xa(t){var e=Math.sqrt(t/Wo);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function Qa(t){return function(){var e,n,r;(e=this[t])&&(r=e[n=e.active])&&(r.timer.c=null,r.timer.t=NaN,--e.count?delete e[n]:delete this[t],e.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function to(t,e,n){return To(t,qs),t.namespace=e,t.id=n,t}function eo(t,e,n,r){var i=t.id,a=t.namespace;return G(t,"function"==typeof n?function(t,o,u){t[a][i].tween.set(e,r(n.call(t,t.__data__,o,u)))}:(n=r(n),function(t){t[a][i].tween.set(e,n)}))}function no(t){return null==t&&(t=""),function(){this.textContent=t}}function ro(t){return null==t?"__transition__":"__transition_"+t+"__"}function io(t,e,n,r,i){function a(t){var e=p.delay;if(c.t=e+s,e<=t)return o(t-e);c.c=o}function o(n){var i=f.active,a=f[i];a&&(a.timer.c=null,a.timer.t=NaN,--f.count,delete f[i],a.event&&a.event.interrupt.call(t,t.__data__,a.index));for(var o in f)if(+o<r){var _=f[o];_.timer.c=null,_.timer.t=NaN,--f.count,delete f[o]}c.c=u,Ot(function(){return c.c&&u(n||1)&&(c.c=null,c.t=NaN),1},0,s),f.active=r,p.event&&p.event.start.call(t,t.__data__,e),h=[],p.tween.forEach(function(n,r){(r=r.call(t,t.__data__,e))&&h.push(r)}),d=p.ease,l=p.duration}function u(i){for(var a=i/l,o=d(a),u=h.length;u>0;)h[--u].call(t,o);if(a>=1)return p.event&&p.event.end.call(t,t.__data__,e),--f.count?delete f[r]:delete t[n],1}var s,c,l,d,h,f=t[n]||(t[n]={active:0,count:0}),p=f[r];p||(s=i.time,c=Ot(a,0,s),p=f[r]={tween:new _,time:s,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++f.count)}function ao(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate("+(isFinite(r)?r:n(t))+",0)"})}function oo(t,e,n){t.attr("transform",function(t){var r=e(t);return"translate(0,"+(isFinite(r)?r:n(t))+")"})}function uo(t){return t.toISOString()}function so(t,e,n){function r(e){return t(e)}function i(t,n){var r=t[1]-t[0],i=r/n,a=fo.bisect(Qs,i);return a==Qs.length?[e.year,ra(t.map(function(t){return t/31536e6}),n)[2]]:a?e[i/Qs[a-1]<Qs[a]/i?a-1:a]:[nc,ra(t,n)[2]]}return r.invert=function(e){return co(t.invert(e))},r.domain=function(e){return arguments.length?(t.domain(e),r):t.domain().map(co)},r.nice=function(t,e){function n(n){return!isNaN(n)&&!t.range(n,co(+n+1),e).length}var a=r.domain(),o=Gi(a),u=null==t?i(o,10):"number"==typeof t&&i(o,t);return u&&(t=u[0],e=u[1]),r.domain(Ki(a,e>1?{floor:function(e){for(;n(e=t.floor(e));)e=co(e-1);return e},ceil:function(e){for(;n(e=t.ceil(e));)e=co(+e+1);return e}}:t))},r.ticks=function(t,e){var n=Gi(r.domain()),a=null==t?i(n,10):"number"==typeof t?i(n,t):!t.range&&[{range:t},e];return a&&(t=a[0],e=a[1]),t.range(n[0],co(+n[1]+1),e<1?1:e)},r.tickFormat=function(){return n},r.copy=function(){return so(t.copy(),e,n)},ea(r,t)}function co(t){return new Date(t)}function lo(t){return JSON.parse(t.responseText)}function ho(t){var e=mo.createRange();return e.selectNode(mo.body),e.createContextualFragment(t.responseText)}var fo={version:"3.5.17"},_o=[].slice,po=function(t){return _o.call(t)},mo=this.document;if(mo)try{po(mo.documentElement.childNodes)[0].nodeType}catch(t){po=function(t){for(var e=t.length,n=new Array(e);e--;)n[e]=t[e];return n}}if(Date.now||(Date.now=function(){return+new Date}),mo)try{mo.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var yo=this.Element.prototype,go=yo.setAttribute,vo=yo.setAttributeNS,Mo=this.CSSStyleDeclaration.prototype,bo=Mo.setProperty;yo.setAttribute=function(t,e){go.call(this,t,e+"")},yo.setAttributeNS=function(t,e,n){vo.call(this,t,e,n+"")},Mo.setProperty=function(t,e,n){bo.call(this,t,e+"",n)}}fo.ascending=u,fo.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},fo.min=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else{for(;++i<a;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<a;)null!=(r=e.call(t,t[i],i))&&n>r&&(n=r)}return n},fo.max=function(t,e){var n,r,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else{for(;++i<a;)if(null!=(r=e.call(t,t[i],i))&&r>=r){n=r;break}for(;++i<a;)null!=(r=e.call(t,t[i],i))&&r>n&&(n=r)}return n},fo.extent=function(t,e){var n,r,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(r=t[a])&&r>=r){n=i=r;break}for(;++a<o;)null!=(r=t[a])&&(n>r&&(n=r),i<r&&(i=r))}else{for(;++a<o;)if(null!=(r=e.call(t,t[a],a))&&r>=r){n=i=r;break}for(;++a<o;)null!=(r=e.call(t,t[a],a))&&(n>r&&(n=r),i<r&&(i=r))}return[n,i]},fo.sum=function(t,e){var n,r=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)c(n=+t[a])&&(r+=n);else for(;++a<i;)c(n=+e.call(t,t[a],a))&&(r+=n);return r},fo.mean=function(t,e){var n,r=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)c(n=s(t[a]))?r+=n:--o;else for(;++a<i;)c(n=s(e.call(t,t[a],a)))?r+=n:--o;if(o)return r/o},fo.quantile=function(t,e){var n=(t.length-1)*e+1,r=Math.floor(n),i=+t[r-1],a=n-r;return a?i+a*(t[r]-i):i},fo.median=function(t,e){var n,r=[],i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)c(n=s(t[a]))&&r.push(n);else for(;++a<i;)c(n=s(e.call(t,t[a],a)))&&r.push(n);if(r.length)return fo.quantile(r.sort(u),.5)},fo.variance=function(t,e){var n,r,i=t.length,a=0,o=0,u=-1,l=0;if(1===arguments.length)for(;++u<i;)c(n=s(t[u]))&&(r=n-a,a+=r/++l,o+=r*(n-a));else for(;++u<i;)c(n=s(e.call(t,t[u],u)))&&(r=n-a,a+=r/++l,o+=r*(n-a));if(l>1)return o/(l-1)},fo.deviation=function(){var t=fo.variance.apply(this,arguments);return t?Math.sqrt(t):t};var Lo=l(u);fo.bisectLeft=Lo.left,fo.bisect=fo.bisectRight=Lo.right,fo.bisector=function(t){return l(1===t.length?function(e,n){return u(t(e),n)}:t)},fo.shuffle=function(t,e,n){(a=arguments.length)<3&&(n=t.length,a<2&&(e=0));for(var r,i,a=n-e;a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},fo.permute=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},fo.pairs=function(t){for(var e=0,n=t.length-1,r=t[0],i=new Array(n<0?0:n);e<n;)i[e]=[r,r=t[++e]];return i},fo.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,n=fo.min(t,d),r=new Array(n);++e<n;)for(var i,a=-1,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r},fo.zip=function(){return fo.transpose(arguments)},fo.keys=function(t){var e=[];for(var n in t)e.push(n);return e},fo.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e},fo.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},fo.merge=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(r=t[i],e=r.length;--e>=0;)n[--o]=r[e];return n};var ko=Math.abs;fo.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n==1/0)throw new Error("infinite range");var r,i=[],a=h(ko(n)),o=-1;if(t*=a,e*=a,n*=a,n<0)for(;(r=t+n*++o)>e;)i.push(r/a);else for(;(r=t+n*++o)<e;)i.push(r/a);return i},fo.map=function(t,e){var n=new _;if(t instanceof _)t.forEach(function(t,e){n.set(t,e)});else if(Array.isArray(t)){var r,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e.call(t,r=t[i],i),r)}else for(var o in t)n.set(o,t[o]);return n};var wo="__proto__",Do="\0";f(_,{has:y,get:function(t){return this._[p(t)]},set:function(t,e){return this._[p(t)]=e},remove:g,keys:v,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:m(e),value:this._[e]});return t},size:M,empty:b,forEach:function(t){for(var e in this._)t.call(this,m(e),this._[e])}}),fo.nest=function(){function t(e,o,u){if(u>=a.length)return r?r.call(i,o):n?o.sort(n):o;for(var s,c,l,d,h=-1,f=o.length,p=a[u++],m=new _;++h<f;)(d=m.get(s=p(c=o[h])))?d.push(c):m.set(s,[c]);return e?(c=e(),l=function(n,r){c.set(n,t(e,r,u))}):(c={},l=function(n,r){c[n]=t(e,r,u)}),m.forEach(l),c}function e(t,n){if(n>=a.length)return t;var r=[],i=o[n++];return t.forEach(function(t,i){r.push({key:t,values:e(i,n)})}),i?r.sort(function(t,e){return i(t.key,e.key)}):r}var n,r,i={},a=[],o=[];return i.map=function(e,n){return t(n,e,0)},i.entries=function(n){return e(t(fo.map,n,0),0)},i.key=function(t){return a.push(t),i},i.sortKeys=function(t){return o[a.length-1]=t,i},i.sortValues=function(t){return n=t,i},i.rollup=function(t){return r=t,i},i},fo.set=function(t){var e=new L;if(t)for(var n=0,r=t.length;n<r;++n)e.add(t[n]);return e},f(L,{has:y,add:function(t){return this._[p(t+="")]=!0,t},remove:g,values:v,size:M,empty:b,forEach:function(t){for(var e in this._)t.call(this,m(e))}}),fo.behavior={},fo.rebind=function(t,e){for(var n,r=1,i=arguments.length;++r<i;)t[n=arguments[r]]=w(t,e,e[n]);return t};var xo=["webkit","ms","moz","Moz","o","O"];fo.dispatch=function(){for(var t=new Y,e=-1,n=arguments.length;++e<n;)t[arguments[e]]=T(t);return t},Y.prototype.on=function(t,e){var n=t.indexOf("."),r="";if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t)return arguments.length<2?this[t].on(r):this[t].on(r,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},fo.event=null,fo.requote=function(t){return t.replace(Yo,"\\$&")};var Yo=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,To={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)t[n]=e[n]},Ao=function(t,e){return e.querySelector(t)},Eo=function(t,e){return e.querySelectorAll(t)},So=function(t,e){var n=t.matches||t[D(t,"matchesSelector")];return(So=function(t,e){return n.call(t,e)})(t,e)};"function"==typeof Sizzle&&(Ao=function(t,e){return Sizzle(t,e)[0]||null},Eo=Sizzle,So=Sizzle.matchesSelector),fo.selection=function(){return fo.select(mo.documentElement)};var Fo=fo.selection.prototype=[];Fo.select=function(t){var e,n,r,i,a=[];t=C(t);for(var o=-1,u=this.length;++o<u;){a.push(e=[]),e.parentNode=(r=this[o]).parentNode;for(var s=-1,c=r.length;++s<c;)(i=r[s])?(e.push(n=t.call(i,i.__data__,s,o)),n&&"__data__"in i&&(n.__data__=i.__data__)):e.push(null)}return F(a)},Fo.selectAll=function(t){var e,n,r=[];t=j(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],u=-1,s=o.length;++u<s;)(n=o[u])&&(r.push(e=po(t.call(n,n.__data__,u,i))),e.parentNode=n);return F(r)};var Co="http://www.w3.org/1999/xhtml",jo={svg:"http://www.w3.org/2000/svg",xhtml:Co,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};fo.ns={prefix:jo,qualify:function(t){var e=t.indexOf(":"),n=t;return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),jo.hasOwnProperty(n)?{space:jo[n],local:t}:t}},Fo.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node();return t=fo.ns.qualify(t),t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(e in t)this.each(H(e,t[e]));return this}return this.each(H(t,e))},Fo.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var n=this.node(),r=(t=N(t)).length,i=-1;if(e=n.classList){for(;++i<r;)if(!e.contains(t[i]))return!1}else for(e=n.getAttribute("class");++i<r;)if(!P(t[i]).test(e))return!1;return!0}for(e in t)this.each(B(e,t[e]));return this}return this.each(B(t,e))},Fo.style=function(t,e,n){var r=arguments.length;if(r<3){if("string"!=typeof t){r<2&&(e="");for(n in t)this.each(R(n,t[n],e));return this}if(r<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}n=""}return this.each(R(t,e,n))},Fo.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(W(e,t[e]));return this}return this.each(W(t,e))},Fo.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Fo.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Fo.append=function(t){return t=z(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Fo.insert=function(t,e){return t=z(t),e=C(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Fo.remove=function(){return this.each(q)},Fo.data=function(t,e){function n(t,n){var r,i,a,o=t.length,l=n.length,d=Math.min(o,l),h=new Array(l),f=new Array(l),p=new Array(o);if(e){var m,y=new _,g=new Array(o);for(r=-1;++r<o;)(i=t[r])&&(y.has(m=e.call(i,i.__data__,r))?p[r]=i:y.set(m,i),g[r]=m);for(r=-1;++r<l;)(i=y.get(m=e.call(n,a=n[r],r)))?!0!==i&&(h[r]=i,i.__data__=a):f[r]=U(a),y.set(m,!0);for(r=-1;++r<o;)r in g&&!0!==y.get(g[r])&&(p[r]=t[r])}else{for(r=-1;++r<d;)i=t[r],a=n[r],i?(i.__data__=a,h[r]=i):f[r]=U(a);for(;r<l;++r)f[r]=U(n[r]);for(;r<o;++r)p[r]=t[r]}f.update=h,f.parentNode=h.parentNode=p.parentNode=t.parentNode,u.push(f),s.push(h),c.push(p)}var r,i,a=-1,o=this.length;if(!arguments.length){for(t=new Array(o=(r=this[0]).length);++a<o;)(i=r[a])&&(t[a]=i.__data__);return t}var u=J([]),s=F([]),c=F([]);if("function"==typeof t)for(;++a<o;)n(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<o;)n(r=this[a],t);return s.enter=function(){return u},s.exit=function(){return c},s},Fo.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Fo.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=$(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(n=this[a]).parentNode;for(var u=0,s=n.length;u<s;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return F(i)},Fo.order=function(){for(var t=-1,e=this.length;++t<e;)for(var n,r=this[t],i=r.length-1,a=r[i];--i>=0;)(n=r[i])&&(a&&a!==n.nextSibling&&a.parentNode.insertBefore(n,a),a=n);return this},Fo.sort=function(t){t=V.apply(this,arguments);for(var e=-1,n=this.length;++e<n;)this[e].sort(t);return this.order()},Fo.each=function(t){return G(this,function(e,n,r){t.call(e,e.__data__,n,r)})},Fo.call=function(t){var e=po(arguments);return t.apply(e[0]=this,e),this},Fo.empty=function(){return!this.node()},Fo.node=function(){for(var t=0,e=this.length;t<e;t++)for(var n=this[t],r=0,i=n.length;r<i;r++){var a=n[r];if(a)return a}return null},Fo.size=function(){var t=0;return G(this,function(){++t}),t};var Ho=[];fo.selection.enter=J,fo.selection.enter.prototype=Ho,Ho.append=Fo.append,Ho.empty=Fo.empty,Ho.node=Fo.node,Ho.call=Fo.call,Ho.size=Fo.size,Ho.select=function(t){for(var e,n,r,i,a,o=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,l=i.length;++c<l;)(a=i[c])?(e.push(r[c]=n=t.call(i.parentNode,a.__data__,c,u)),n.__data__=a.__data__):e.push(null)}return F(o)},Ho.insert=function(t,e){return arguments.length<2&&(e=Z(this)),Fo.insert.call(this,t,e)},fo.select=function(t){var e;return"string"==typeof t?(e=[Ao(t,mo)],e.parentNode=mo.documentElement):(e=[t],e.parentNode=a(t)),F([e])},fo.selectAll=function(t){var e;return"string"==typeof t?(e=po(Eo(t,mo)),e.parentNode=mo.documentElement):(e=po(t),e.parentNode=null),F([e])},Fo.on=function(t,e,n){var r=arguments.length;if(r<3){if("string"!=typeof t){r<2&&(e=!1);for(n in t)this.each(K(n,t[n],e));return this}if(r<2)return(r=this.node()["__on"+t])&&r._;n=!1}return this.each(K(t,e,n))};var Oo=fo.map({mouseenter:"mouseover",mouseleave:"mouseout"});mo&&Oo.forEach(function(t){"on"+t in mo&&Oo.remove(t)});var Po,No=0;fo.mouse=function(t){return et(t,E())};var Bo=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;fo.touch=function(t,e,n){if(arguments.length<3&&(n=e,e=E().changedTouches),e)for(var r,i=0,a=e.length;i<a;++i)if((r=e[i]).identifier===n)return et(t,r)},fo.behavior.drag=function(){function t(){this.on("mousedown.drag",i).on("touchstart.drag",a)}function e(t,e,i,a,o){return function(){function u(){var t,n,r=e(h,p);r&&(t=r[0]-v[0],n=r[1]-v[1],_|=t|n,v=r,f({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:t,dy:n}))}function s(){e(h,p)&&(y.on(a+m,null).on(o+m,null),g(_),f({type:"dragend"}))}var c,l=this,d=fo.event.target.correspondingElement||fo.event.target,h=l.parentNode,f=n.of(l,arguments),_=0,p=t(),m=".drag"+(null==p?"":"-"+p),y=fo.select(i(d)).on(a+m,u).on(o+m,s),g=tt(d),v=e(h,p);r?(c=r.apply(l,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var n=S(t,"drag","dragstart","dragend"),r=null,i=e(x,fo.mouse,o,"mousemove","mouseup"),a=e(nt,fo.touch,k,"touchmove","touchend");return t.origin=function(e){return arguments.length?(r=e,t):r},fo.rebind(t,n,"on")},fo.touches=function(t,e){return arguments.length<2&&(e=E().touches),e?po(e).map(function(e){var n=et(t,e);return n.identifier=e.identifier,n}):[]};var Io=1e-6,Ro=Io*Io,Wo=Math.PI,zo=2*Wo,qo=zo-Io,Uo=Wo/2,$o=Wo/180,Vo=180/Wo,Go=Math.SQRT2;fo.interpolateZoom=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],u=e[0],s=e[1],c=e[2],l=u-i,d=s-a,h=l*l+d*d;if(h<Ro)r=Math.log(c/o)/Go,n=function(t){return[i+t*l,a+t*d,o*Math.exp(Go*t*r)]};else{var f=Math.sqrt(h),_=(c*c-o*o+4*h)/(2*o*2*f),p=(c*c-o*o-4*h)/(2*c*2*f),m=Math.log(Math.sqrt(_*_+1)-_),y=Math.log(Math.sqrt(p*p+1)-p);r=(y-m)/Go,n=function(t){var e=t*r,n=st(m),u=o/(2*f)*(n*ct(Go*e+m)-ut(m));return[i+u*l,a+u*d,o*n/st(Go*e+m)]}}return n.duration=1e3*r,n},fo.behavior.zoom=function(){function t(t){t.on(E,d).on(Zo+".zoom",f).on("dblclick.zoom",_).on(j,h)}function e(t){return[(t[0]-w.x)/w.k,(t[1]-w.y)/w.k]}function n(t){return[t[0]*w.k+w.x,t[1]*w.k+w.y]}function r(t){w.k=Math.max(x[0],Math.min(x[1],t))}function i(t,e){e=n(e),w.x+=t[0]-e[0],w.y+=t[1]-e[1]}function a(e,n,a,o){e.__chart__={x:w.x,y:w.y,k:w.k},r(Math.pow(2,o)),i(m=n,a),e=fo.select(e),Y>0&&(e=e.transition().duration(Y)),e.call(t.event)}function u(){b&&b.domain(M.range().map(function(t){return(t-w.x)/w.k}).map(M.invert)),k&&k.domain(L.range().map(function(t){return(t-w.y)/w.k}).map(L.invert))}function s(t){T++||t({type:"zoomstart"})}function c(t){u(),t({type:"zoom",scale:w.k,translate:[w.x,w.y]})}function l(t){--T||(t({type:"zoomend"}),m=null)}function d(){function t(){u=1,i(fo.mouse(r),h),c(a)}function n(){d.on(F,null).on(C,null),f(u),l(a)}var r=this,a=H.of(r,arguments),u=0,d=fo.select(o(r)).on(F,t).on(C,n),h=e(fo.mouse(r)),f=tt(r);zs.call(r),s(a)}function h(){function t(){var t=fo.touches(_);return f=w.k,t.forEach(function(t){t.identifier in m&&(m[t.identifier]=e(t))}),t}function n(){var e=fo.event.target;fo.select(e).on(M,o).on(b,u),L.push(e);for(var n=fo.event.changedTouches,r=0,i=n.length;r<i;++r)m[n[r].identifier]=null;var s=t(),c=Date.now();if(1===s.length){if(c-v<500){var l=s[0];a(_,l,m[l.identifier],Math.floor(Math.log(w.k)/Math.LN2)+1),A()}v=c}else if(s.length>1){var l=s[0],d=s[1],h=l[0]-d[0],f=l[1]-d[1];y=h*h+f*f}}function o(){var t,e,n,a,o=fo.touches(_);zs.call(_);for(var u=0,s=o.length;u<s;++u,a=null)if(n=o[u],a=m[n.identifier]){if(e)break;t=n,e=a}if(a){var l=(l=n[0]-t[0])*l+(l=n[1]-t[1])*l,d=y&&Math.sqrt(l/y);t=[(t[0]+n[0])/2,(t[1]+n[1])/2],e=[(e[0]+a[0])/2,(e[1]+a[1])/2],r(d*f)}v=null,i(t,e),c(p)}function u(){if(fo.event.touches.length){for(var e=fo.event.changedTouches,n=0,r=e.length;n<r;++n)delete m[e[n].identifier];for(var i in m)return void t()}fo.selectAll(L).on(g,null),k.on(E,d).on(j,h),D(),l(p)}var f,_=this,p=H.of(_,arguments),m={},y=0,g=".zoom-"+fo.event.changedTouches[0].identifier,M="touchmove"+g,b="touchend"+g,L=[],k=fo.select(_),D=tt(_);n(),s(p),k.on(E,null).on(j,n)}function f(){var t=H.of(this,arguments);g?clearTimeout(g):(zs.call(this),p=e(m=y||fo.mouse(this)),s(t)),g=setTimeout(function(){g=null,l(t)},50),A(),r(Math.pow(2,.002*Jo())*w.k),i(m,p),c(t)}function _(){var t=fo.mouse(this),n=Math.log(w.k)/Math.LN2;a(this,t,e(t),fo.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var p,m,y,g,v,M,b,L,k,w={x:0,y:0,k:1},D=[960,500],x=Ko,Y=250,T=0,E="mousedown.zoom",F="mousemove.zoom",C="mouseup.zoom",j="touchstart.zoom",H=S(t,"zoomstart","zoom","zoomend");return Zo||(Zo="onwheel"in mo?(Jo=function(){return-fo.event.deltaY*(fo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in mo?(Jo=function(){return fo.event.wheelDelta},"mousewheel"):(Jo=function(){return-fo.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=H.of(this,arguments),e=w;Rs?fo.select(this).transition().each("start.zoom",function(){w=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var n=D[0],r=D[1],i=m?m[0]:n/2,a=m?m[1]:r/2,o=fo.interpolateZoom([(i-w.x)/w.k,(a-w.y)/w.k,n/w.k],[(i-e.x)/e.k,(a-e.y)/e.k,n/e.k]);return function(e){var r=o(e),u=n/r[2];this.__chart__=w={x:i-r[0]*u,y:a-r[1]*u,k:u},c(t)}}).each("interrupt.zoom",function(){l(t)}).each("end.zoom",function(){l(t)}):(this.__chart__=w,s(t),c(t),l(t))})},t.translate=function(e){return arguments.length?(w={x:+e[0],y:+e[1],k:w.k},u(),t):[w.x,w.y]},t.scale=function(e){return arguments.length?(w={x:w.x,y:w.y,k:null},r(+e),u(),t):w.k},t.scaleExtent=function(e){return arguments.length?(x=null==e?Ko:[+e[0],+e[1]],t):x},t.center=function(e){return arguments.length?(y=e&&[+e[0],+e[1]],t):y},t.size=function(e){return arguments.length?(D=e&&[+e[0],+e[1]],t):D},t.duration=function(e){return arguments.length?(Y=+e,t):Y},t.x=function(e){return arguments.length?(b=e,M=e.copy(),w={x:0,y:0,k:1},t):b},t.y=function(e){return arguments.length?(k=e,L=e.copy(),w={x:0,y:0,k:1},t):k},fo.rebind(t,H,"on")};var Jo,Zo,Ko=[0,1/0];fo.color=dt,dt.prototype.toString=function(){return this.rgb()+""},fo.hsl=ht;var Xo=ht.prototype=new dt;Xo.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(this.h,this.s,this.l/t)},Xo.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ht(this.h,this.s,t*this.l)},Xo.rgb=function(){return ft(this.h,this.s,this.l)},fo.hcl=_t;var Qo=_t.prototype=new dt;Qo.brighter=function(t){return new _t(this.h,this.c,Math.min(100,this.l+tu*(arguments.length?t:1)))},Qo.darker=function(t){return new _t(this.h,this.c,Math.max(0,this.l-tu*(arguments.length?t:1)))},Qo.rgb=function(){return pt(this.h,this.c,this.l).rgb()},fo.lab=mt;var tu=18,eu=.95047,nu=1,ru=1.08883,iu=mt.prototype=new dt;iu.brighter=function(t){return new mt(Math.min(100,this.l+tu*(arguments.length?t:1)),this.a,this.b)},iu.darker=function(t){return new mt(Math.max(0,this.l-tu*(arguments.length?t:1)),this.a,this.b)},iu.rgb=function(){return yt(this.l,this.a,this.b)},fo.rgb=Lt;var au=Lt.prototype=new dt;au.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,n=this.g,r=this.b,i=30;return e||n||r?(e&&e<i&&(e=i),n&&n<i&&(n=i),r&&r<i&&(r=i),new Lt(Math.min(255,e/t),Math.min(255,n/t),Math.min(255,r/t))):new Lt(i,i,i)},au.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Lt(t*this.r,t*this.g,t*this.b)},au.hsl=function(){return Yt(this.r,this.g,this.b)},au.toString=function(){return"#"+Dt(this.r)+Dt(this.g)+Dt(this.b)};var ou=fo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ou.forEach(function(t,e){ou.set(t,kt(e))}),fo.functor=St,fo.xhr=Ft(k),fo.dsv=function(t,e){function n(t,n,a){arguments.length<3&&(a=n,n=null);var o=Ct(t,e,null==n?r:i(n),a);return o.row=function(t){return arguments.length?o.response(null==(n=t)?r:i(t)):n},o}function r(t){return n.parse(t.responseText)}function i(t){return function(e){return n.parse(e.responseText,t)}}function a(e){return e.map(o).join(t)}function o(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return n.parse=function(t,e){var r;return n.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,n){return e(i(t),n)}:i})},n.parseRows=function(t,e){function n(){if(l>=c)return o;if(i)return i=!1,a;var e=l;if(34===t.charCodeAt(e)){for(var n=e;n++<c;)if(34===t.charCodeAt(n)){if(34!==t.charCodeAt(n+1))break;++n}l=n+2;var r=t.charCodeAt(n+1);return 13===r?(i=!0,10===t.charCodeAt(n+2)&&++l):10===r&&(i=!0),t.slice(e+1,n).replace(/""/g,'"')}for(;l<c;){var r=t.charCodeAt(l++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(l)&&(++l,++u);else if(r!==s)continue;return t.slice(e,l-u)}return t.slice(e)}for(var r,i,a={},o={},u=[],c=t.length,l=0,d=0;(r=n())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=n();e&&null==(h=e(h,d++))||u.push(h)}return u},n.format=function(e){if(Array.isArray(e[0]))return n.formatRows(e);var r=new L,i=[];return e.forEach(function(t){for(var e in t)r.has(e)||i.push(r.add(e))}),[i.map(o).join(t)].concat(e.map(function(e){return i.map(function(t){return o(e[t])}).join(t)})).join("\n")},n.formatRows=function(t){return t.map(a).join("\n")},n},fo.csv=fo.dsv(",","text/csv"),fo.tsv=fo.dsv("\t","text/tab-separated-values");var uu,su,cu,lu,du=this[D(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};fo.timer=function(){Ot.apply(this,arguments)},fo.timer.flush=function(){Nt(),Bt()},fo.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var hu=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Rt);fo.formatPrefix=function(t,e){var n=0;return(t=+t)&&(t<0&&(t*=-1),e&&(t=fo.round(t,It(t,e))),n=1+Math.floor(1e-12+Math.log(t)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),hu[8+n/3]};var fu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,_u=fo.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(t,e){return(t=fo.round(t,It(t,e))).toFixed(Math.max(0,Math.min(20,It(t*(1+1e-15),e))))}}),pu=fo.time={},mu=Date;qt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){yu.setUTCDate.apply(this._,arguments)},setDay:function(){yu.setUTCDay.apply(this._,arguments)},setFullYear:function(){yu.setUTCFullYear.apply(this._,arguments)},setHours:function(){yu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){yu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){yu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){yu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){yu.setUTCSeconds.apply(this._,arguments)},setTime:function(){yu.setTime.apply(this._,arguments)}};var yu=Date.prototype;pu.year=Ut(function(t){return t=pu.day(t),t.setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),pu.years=pu.year.range,pu.years.utc=pu.year.utc.range,pu.day=Ut(function(t){var e=new mu(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),pu.days=pu.day.range,pu.days.utc=pu.day.utc.range,pu.dayOfYear=function(t){var e=pu.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var n=pu[t]=Ut(function(t){return(t=pu.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var n=pu.year(t).getDay();return Math.floor((pu.dayOfYear(t)+(n+e)%7)/7)-(n!==e)});pu[t+"s"]=n.range,pu[t+"s"].utc=n.utc.range,pu[t+"OfYear"]=function(t){var n=pu.year(t).getDay();return Math.floor((pu.dayOfYear(t)+(n+e)%7)/7)}}),pu.week=pu.sunday,pu.weeks=pu.sunday.range,pu.weeks.utc=pu.sunday.utc.range,pu.weekOfYear=pu.sundayOfYear;var gu={"-":"",_:" ",0:"0"},vu=/^\s*\d+/,Mu=/^%/;fo.locale=function(t){return{numberFormat:Wt(t),timeFormat:Vt(t)}};var bu=fo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});fo.format=bu.numberFormat,fo.geo={},_e.prototype={s:0,t:0,add:function(t){pe(t,this.t,Lu),pe(Lu.s,this.s,this),this.s?this.t+=Lu.t:this.s=Lu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var Lu=new _e;fo.geo.stream=function(t,e){t&&ku.hasOwnProperty(t.type)?ku[t.type](t,e):me(t,e)};var ku={Feature:function(t,e){me(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)me(n[r].geometry,e)}},wu={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){ye(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ye(n[r],e,0)},Polygon:function(t,e){ge(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ge(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)me(n[r],e)}};fo.geo.area=function(t){return Du=0,fo.geo.stream(t,Yu),Du};var Du,xu=new _e,Yu={sphere:function(){Du+=4*Wo},point:x,lineStart:x,lineEnd:x,polygonStart:function(){xu.reset(),Yu.lineStart=ve},polygonEnd:function(){var t=2*xu;Du+=t<0?4*Wo+t:t,Yu.lineStart=Yu.lineEnd=Yu.point=x}};fo.geo.bounds=function(){function t(t,e){v.push(M=[l=t,h=t]),e<d&&(d=e),e>f&&(f=e)}function e(e,n){var r=Me([e*$o,n*$o]);if(y){var i=Le(y,r),a=[i[1],-i[0],0],o=Le(a,i);De(o),o=xe(o);var s=e-_,c=s>0?1:-1,p=o[0]*Vo*c,m=ko(s)>180;if(m^(c*_<p&&p<c*e)){var g=o[1]*Vo;g>f&&(f=g)}else if(p=(p+360)%360-180,m^(c*_<p&&p<c*e)){var g=-o[1]*Vo;g<d&&(d=g)}else n<d&&(d=n),n>f&&(f=n);m?e<_?u(l,e)>u(l,h)&&(h=e):u(e,h)>u(l,h)&&(l=e):h>=l?(e<l&&(l=e),e>h&&(h=e)):e>_?u(l,e)>u(l,h)&&(h=e):u(e,h)>u(l,h)&&(l=e)}else t(e,n);y=r,_=e}function n(){b.point=e}function r(){M[0]=l,M[1]=h,b.point=t,y=null}function i(t,n){if(y){var r=t-_;g+=ko(r)>180?r+(r>0?360:-360):r}else p=t,m=n;Yu.point(t,n),e(t,n)}function a(){Yu.lineStart()}function o(){i(p,m),Yu.lineEnd(),ko(g)>Io&&(l=-(h=180)),M[0]=l,M[1]=h,y=null}function u(t,e){return(e-=t)<0?e+360:e}function s(t,e){return t[0]-e[0]}function c(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var l,d,h,f,_,p,m,y,g,v,M,b={point:t,lineStart:n,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=a,b.lineEnd=o,g=0,Yu.polygonStart()},polygonEnd:function(){Yu.polygonEnd(),b.point=t,b.lineStart=n,b.lineEnd=r,xu<0?(l=-(h=180),d=-(f=90)):g>Io?f=90:g<-Io&&(d=-90),M[0]=l,M[1]=h}};return function(t){f=h=-(l=d=1/0),v=[],fo.geo.stream(t,b);var e=v.length;if(e){v.sort(s);for(var n,r=1,i=v[0],a=[i];r<e;++r)n=v[r],c(n[0],i)||c(n[1],i)?(u(i[0],n[1])>u(i[0],i[1])&&(i[1]=n[1]),u(n[0],i[1])>u(i[0],i[1])&&(i[0]=n[0])):a.push(i=n);for(var o,n,_=-1/0,e=a.length-1,r=0,i=a[e];r<=e;i=n,++r)n=a[r],(o=u(i[1],n[0]))>_&&(_=o,l=n[0],h=i[1])}return v=M=null,l===1/0||d===1/0?[[NaN,NaN],[NaN,NaN]]:[[l,d],[h,f]]}}(),fo.geo.centroid=function(t){Tu=Au=Eu=Su=Fu=Cu=ju=Hu=Ou=Pu=Nu=0,fo.geo.stream(t,Bu);var e=Ou,n=Pu,r=Nu,i=e*e+n*n+r*r;return i<Ro&&(e=Cu,n=ju,r=Hu,Au<Io&&(e=Eu,n=Su,r=Fu),(i=e*e+n*n+r*r)<Ro)?[NaN,NaN]:[Math.atan2(n,e)*Vo,ot(r/Math.sqrt(i))*Vo]};var Tu,Au,Eu,Su,Fu,Cu,ju,Hu,Ou,Pu,Nu,Bu={sphere:x,point:Te,lineStart:Ee,lineEnd:Se,polygonStart:function(){Bu.lineStart=Fe},polygonEnd:function(){Bu.lineStart=Ee}},Iu=Ne(je,We,qe,[-Wo,-Wo/2]),Ru=1e9;fo.geo.clipExtent=function(){var t,e,n,r,i,a,o={stream:function(t){return i&&(i.valid=!1),i=a(t),i.valid=!0,i},extent:function(u){return arguments.length?(a=Ge(t=+u[0][0],e=+u[0][1],n=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[n,r]]}};return o.extent([[0,0],[960,500]])},(fo.geo.conicEqualArea=function(){return Je(Ze)}).raw=Ze,fo.geo.albers=function(){return fo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},fo.geo.albersUsa=function(){function t(t){var a=t[0],o=t[1];return e=null,n(a,o),e||(r(a,o),e)||i(a,o),e}var e,n,r,i,a=fo.geo.albers(),o=fo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=fo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,n){e=[t,n]}};return t.invert=function(t){var e=a.scale(),n=a.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:a).invert(t)},t.stream=function(t){var e=a.stream(t),n=o.stream(t),r=u.stream(t);return{point:function(t,i){e.point(t,i),n.point(t,i),r.point(t,i)},sphere:function(){e.sphere(),n.sphere(),r.sphere()},lineStart:function(){e.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){e.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){e.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){e.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},t.precision=function(e){return arguments.length?(a.precision(e),o.precision(e),u.precision(e),t):a.precision()},t.scale=function(e){return arguments.length?(a.scale(e),o.scale(.35*e),u.scale(e),t.translate(a.translate())):a.scale()},t.translate=function(e){if(!arguments.length)return a.translate();var c=a.scale(),l=+e[0],d=+e[1];return n=a.translate(e).clipExtent([[l-.455*c,d-.238*c],[l+.455*c,d+.238*c]]).stream(s).point,r=o.translate([l-.307*c,d+.201*c]).clipExtent([[l-.425*c+Io,d+.12*c+Io],[l-.214*c-Io,d+.234*c-Io]]).stream(s).point,i=u.translate([l-.205*c,d+.212*c]).clipExtent([[l-.214*c+Io,d+.166*c+Io],[l-.115*c-Io,d+.234*c-Io]]).stream(s).point,t},t.scale(1070)};var Wu,zu,qu,Uu,$u,Vu,Gu={point:x,lineStart:x,lineEnd:x,polygonStart:function(){zu=0,Gu.lineStart=Ke},polygonEnd:function(){Gu.lineStart=Gu.lineEnd=Gu.point=x,Wu+=ko(zu/2)}},Ju={point:Xe,lineStart:x,lineEnd:x,polygonStart:x,polygonEnd:x},Zu={point:en,lineStart:nn,lineEnd:rn,polygonStart:function(){Zu.lineStart=an},polygonEnd:function(){Zu.point=en,Zu.lineStart=nn,Zu.lineEnd=rn}};fo.geo.path=function(){function t(t){return t&&("function"==typeof u&&a.pointRadius(+u.apply(this,arguments)),o&&o.valid||(o=i(a)),fo.geo.stream(t,o)),a.result()}function e(){return o=null,t}var n,r,i,a,o,u=4.5;return t.area=function(t){return Wu=0,fo.geo.stream(t,i(Gu)),Wu},t.centroid=function(t){return Eu=Su=Fu=Cu=ju=Hu=Ou=Pu=Nu=0,fo.geo.stream(t,i(Zu)),Nu?[Ou/Nu,Pu/Nu]:Hu?[Cu/Hu,ju/Hu]:Fu?[Eu/Fu,Su/Fu]:[NaN,NaN]},t.bounds=function(t){return $u=Vu=-(qu=Uu=1/0),fo.geo.stream(t,i(Ju)),[[qu,Uu],[$u,Vu]]},t.projection=function(t){return arguments.length?(i=(n=t)?t.stream||sn(t):k,e()):n},t.context=function(t){return arguments.length?(a=null==(r=t)?new Qe:new on(t),"function"!=typeof u&&a.pointRadius(u),e()):r},t.pointRadius=function(e){return arguments.length?(u="function"==typeof e?e:(a.pointRadius(+e),+e),t):u},t.projection(fo.geo.albersUsa()).context(null)},fo.geo.transform=function(t){return{stream:function(e){var n=new cn(e);for(var r in t)n[r]=t[r];return n}}},cn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},fo.geo.projection=dn,fo.geo.projectionMutator=hn,(fo.geo.equirectangular=function(){return dn(_n)}).raw=_n.invert=_n,fo.geo.rotation=function(t){function e(e){return e=t(e[0]*$o,e[1]*$o),e[0]*=Vo,e[1]*=Vo,e}return t=mn(t[0]%360*$o,t[1]*$o,t.length>2?t[2]*$o:0),e.invert=function(e){return e=t.invert(e[0]*$o,e[1]*$o),e[0]*=Vo,e[1]*=Vo,e},e},pn.invert=_n,fo.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,e=mn(-t[0]*$o,-t[1]*$o,0).invert,i=[];return n(null,null,1,{point:function(t,n){i.push(t=e(t,n)),t[0]*=Vo,t[1]*=Vo}}),{type:"Polygon",coordinates:[i]}}var e,n,r=[0,0],i=6;return t.origin=function(e){return arguments.length?(r=e,t):r},t.angle=function(r){return arguments.length?(n=Mn((e=+r)*$o,i*$o),t):e},t.precision=function(r){return arguments.length?(n=Mn(e*$o,(i=+r)*$o),t):i},t.angle(90)},fo.geo.distance=function(t,e){var n,r=(e[0]-t[0])*$o,i=t[1]*$o,a=e[1]*$o,o=Math.sin(r),u=Math.cos(r),s=Math.sin(i),c=Math.cos(i),l=Math.sin(a),d=Math.cos(a);return Math.atan2(Math.sqrt((n=d*o)*n+(n=c*l-s*d*u)*n),s*l+c*d*u)},fo.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:e()}}function e(){return fo.range(Math.ceil(a/m)*m,i,m).map(h).concat(fo.range(Math.ceil(c/y)*y,s,y).map(f)).concat(fo.range(Math.ceil(r/_)*_,n,_).filter(function(t){return ko(t%m)>Io}).map(l)).concat(fo.range(Math.ceil(u/p)*p,o,p).filter(function(t){return ko(t%y)>Io}).map(d))}var n,r,i,a,o,u,s,c,l,d,h,f,_=10,p=_,m=90,y=360,g=2.5;return t.lines=function(){return e().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(i).reverse().slice(1),f(c).reverse().slice(1))]}},t.extent=function(e){return arguments.length?t.majorExtent(e).minorExtent(e):t.minorExtent()},t.majorExtent=function(e){return arguments.length?(a=+e[0][0],i=+e[1][0],c=+e[0][1],s=+e[1][1],a>i&&(e=a,a=i,i=e),c>s&&(e=c,c=s,s=e),t.precision(g)):[[a,c],[i,s]]},t.minorExtent=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],u=+e[0][1],o=+e[1][1],r>n&&(e=r,r=n,n=e),u>o&&(e=u,u=o,o=e),t.precision(g)):[[r,u],[n,o]]},t.step=function(e){return arguments.length?t.majorStep(e).minorStep(e):t.minorStep()},t.majorStep=function(e){return arguments.length?(m=+e[0],y=+e[1],t):[m,y]},t.minorStep=function(e){return arguments.length?(_=+e[0],p=+e[1],t):[_,p]},t.precision=function(e){return arguments.length?(g=+e,l=Ln(u,o,90),d=kn(r,n,g),h=Ln(c,s,90),f=kn(a,i,g),t):g},t.majorExtent([[-180,-90+Io],[180,90-Io]]).minorExtent([[-180,-80-Io],[180,80+Io]])},fo.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[e||r.apply(this,arguments),n||i.apply(this,arguments)]}}var e,n,r=wn,i=Dn;return t.distance=function(){return fo.geo.distance(e||r.apply(this,arguments),n||i.apply(this,arguments))},t.source=function(n){return arguments.length?(r=n,e="function"==typeof n?null:n,t):r},t.target=function(e){return arguments.length?(i=e,n="function"==typeof e?null:e,t):i},t.precision=function(){return arguments.length?t:0},t},fo.geo.interpolate=function(t,e){return xn(t[0]*$o,t[1]*$o,e[0]*$o,e[1]*$o)},fo.geo.length=function(t){return Ku=0,fo.geo.stream(t,Xu),Ku};var Ku,Xu={sphere:x,point:x,lineStart:Yn,lineEnd:x,polygonStart:x,polygonEnd:x},Qu=Tn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(fo.geo.azimuthalEqualArea=function(){return dn(Qu)}).raw=Qu;var ts=Tn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},k);(fo.geo.azimuthalEquidistant=function(){return dn(ts)}).raw=ts,(fo.geo.conicConformal=function(){return Je(An)}).raw=An,(fo.geo.conicEquidistant=function(){return Je(En)}).raw=En;var es=Tn(function(t){return 1/t},Math.atan);(fo.geo.gnomonic=function(){return dn(es)}).raw=es,Sn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Uo]},(fo.geo.mercator=function(){return Fn(Sn)}).raw=Sn;var ns=Tn(function(){return 1},Math.asin);(fo.geo.orthographic=function(){return dn(ns)}).raw=ns;var rs=Tn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(fo.geo.stereographic=function(){return dn(rs)}).raw=rs,Cn.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Uo]},(fo.geo.transverseMercator=function(){var t=Fn(Cn),e=t.center,n=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])},t.rotate=function(t){return t?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])},n([0,0,90])}).raw=Cn,fo.geom={},fo.geom.hull=function(t){function e(t){if(t.length<3)return[];var e,i=St(n),a=St(r),o=t.length,u=[],s=[];for(e=0;e<o;e++)u.push([+i.call(this,t[e],e),+a.call(this,t[e],e),e]);for(u.sort(Pn),e=0;e<o;e++)s.push([u[e][0],-u[e][1]]);var c=On(u),l=On(s),d=l[0]===c[0],h=l[l.length-1]===c[c.length-1],f=[];for(e=c.length-1;e>=0;--e)f.push(t[u[c[e]][2]]);for(e=+d;e<l.length-h;++e)f.push(t[u[l[e]][2]]);return f}var n=jn,r=Hn;return arguments.length?e(t):(e.x=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=t,e):r},e)},fo.geom.polygon=function(t){return To(t,is),t};var is=fo.geom.polygon.prototype=[];is.area=function(){for(var t,e=-1,n=this.length,r=this[n-1],i=0;++e<n;)t=r,r=this[e],i+=t[1]*r[0]-t[0]*r[1];return.5*i},is.centroid=function(t){var e,n,r=-1,i=this.length,a=0,o=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)e=u,u=this[r],n=e[0]*u[1]-u[0]*e[1],a+=(e[0]+u[0])*n,o+=(e[1]+u[1])*n;return[a*t,o*t]},is.clip=function(t){for(var e,n,r,i,a,o,u=In(t),s=-1,c=this.length-In(this),l=this[c-1];++s<c;){for(e=t.slice(),t.length=0,i=this[s],a=e[(r=e.length-u)-1],n=-1;++n<r;)o=e[n],Nn(o,l,i)?(Nn(a,l,i)||t.push(Bn(a,o,l,i)),t.push(o)):Nn(a,l,i)&&t.push(Bn(a,o,l,i)),a=o;u&&t.push(t[0]),l=i}return t};var as,os,us,ss,cs,ls=[],ds=[];Gn.prototype.prepare=function(){for(var t,e=this.edges,n=e.length;n--;)t=e[n].edge,t.b&&t.a||e.splice(n,1);return e.sort(Zn),e.length},or.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},ur.prototype={insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=dr(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)r=n.U,n===r.L?(i=r.R,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(cr(this,n),t=n,n=t.U),n.C=!1,r.C=!0,lr(this,r))):(i=r.L,i&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(lr(this,n),t=n,n=t.U),n.C=!1,r.C=!0,cr(this,r))),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?dr(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(e=i.R,e.C&&(e.C=!1,i.C=!0,cr(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,cr(this,i),t=this._;break}}else if(e=i.L,e.C&&(e.C=!1,i.C=!0,lr(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,cr(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},fo.geom.voronoi=function(t){function e(t){var e=new Array(t.length),r=u[0][0],i=u[0][1],a=u[1][0],o=u[1][1];return hr(n(t),u).cells.forEach(function(n,u){var s=n.edges,c=n.site;(e[u]=s.length?s.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=i&&c.y<=o?[[r,o],[a,o],[a,i],[r,i]]:[]).point=t[u]}),e}function n(t){return t.map(function(t,e){return{x:Math.round(a(t,e)/Io)*Io,y:Math.round(o(t,e)/Io)*Io,i:e}})}var r=jn,i=Hn,a=r,o=i,u=hs;return t?e(t):(e.links=function(t){return hr(n(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},e.triangles=function(t){var e=[];return hr(n(t)).cells.forEach(function(n,r){for(var i,a=n.site,o=n.edges.sort(Zn),u=-1,s=o.length,c=o[s-1].edge,l=c.l===a?c.r:c.l;++u<s;)c,i=l,c=o[u].edge,l=c.l===a?c.r:c.l,r<i.i&&r<l.i&&_r(a,i,l)<0&&e.push([t[r],t[i.i],t[l.i]])}),e},e.x=function(t){return arguments.length?(a=St(r=t),e):r},e.y=function(t){return arguments.length?(o=St(i=t),e):i},e.clipExtent=function(t){return arguments.length?(u=null==t?hs:t,e):u===hs?null:u},e.size=function(t){return arguments.length?e.clipExtent(t&&[[0,0],t]):u===hs?null:u&&u[1]},e)};var hs=[[-1e6,-1e6],[1e6,1e6]];fo.geom.delaunay=function(t){return fo.geom.voronoi().triangles(t)},fo.geom.quadtree=function(t,e,n,r,i){function a(t){function a(t,e,n,r,i,a,o,u){if(!isNaN(n)&&!isNaN(r))if(t.leaf){var s=t.x,l=t.y;if(null!=s)if(ko(s-n)+ko(l-r)<.01)c(t,e,n,r,i,a,o,u);else{var d=t.point;t.x=t.y=t.point=null,c(t,d,s,l,i,a,o,u),c(t,e,n,r,i,a,o,u)}else t.x=n,t.y=r,t.point=e}else c(t,e,n,r,i,a,o,u)}function c(t,e,n,r,i,o,u,s){var c=.5*(i+u),l=.5*(o+s),d=n>=c,h=r>=l,f=h<<1|d;t.leaf=!1,t=t.nodes[f]||(t.nodes[f]=yr()),d?i=c:u=c,h?o=l:s=l,a(t,e,n,r,i,o,u,s)}var l,d,h,f,_,p,m,y,g,v=St(u),M=St(s);if(null!=e)p=e,m=n,y=r,g=i;else if(y=g=-(p=m=1/0),d=[],h=[],_=t.length,o)for(f=0;f<_;++f)l=t[f],l.x<p&&(p=l.x),l.y<m&&(m=l.y),l.x>y&&(y=l.x),l.y>g&&(g=l.y),d.push(l.x),h.push(l.y);else for(f=0;f<_;++f){var b=+v(l=t[f],f),L=+M(l,f);b<p&&(p=b),L<m&&(m=L),b>y&&(y=b),L>g&&(g=L),d.push(b),h.push(L)}var k=y-p,w=g-m;k>w?g=m+k:y=p+w;var D=yr();if(D.add=function(t){a(D,t,+v(t,++f),+M(t,f),p,m,y,g)},D.visit=function(t){gr(t,D,p,m,y,g)},D.find=function(t){return vr(D,t[0],t[1],p,m,y,g)},f=-1,null==e){for(;++f<_;)a(D,t[f],d[f],h[f],p,m,y,g);--f}else t.forEach(D.add);return d=h=t=l=null,D}var o,u=jn,s=Hn;return(o=arguments.length)?(u=pr,s=mr,3===o&&(i=n,r=e,n=e=0),a(t)):(a.x=function(t){return arguments.length?(u=t,a):u},a.y=function(t){return arguments.length?(s=t,a):s},a.extent=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=+t[0][0],n=+t[0][1],r=+t[1][0],i=+t[1][1]),a):null==e?null:[[e,n],[r,i]]},a.size=function(t){return arguments.length?(null==t?e=n=r=i=null:(e=n=0,r=+t[0],i=+t[1]),a):null==e?null:[r-e,i-n]},a)},fo.interpolateRgb=Mr,fo.interpolateObject=br,fo.interpolateNumber=Lr,fo.interpolateString=kr;var fs=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_s=new RegExp(fs.source,"g");fo.interpolate=wr,fo.interpolators=[function(t,e){var n=typeof e;return("string"===n?ou.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Mr:kr:e instanceof dt?Mr:Array.isArray(e)?Dr:"object"===n&&isNaN(e)?br:Lr)(t,e)}],fo.interpolateArray=Dr;var ps=function(){return k},ms=fo.map({linear:ps,poly:Fr,quad:function(){return Ar},cubic:function(){return Er},sin:function(){return Cr},exp:function(){return jr},circle:function(){return Hr},elastic:Or,back:Pr,bounce:function(){return Nr}}),ys=fo.map({in:k,out:Yr,"in-out":Tr,"out-in":function(t){return Tr(Yr(t))}});fo.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,r=e>=0?t.slice(e+1):"in";return n=ms.get(n)||ps,r=ys.get(r)||k,xr(r(n.apply(null,_o.call(arguments,1))))},fo.interpolateHcl=Br,fo.interpolateHsl=Ir,fo.interpolateLab=Rr,fo.interpolateRound=Wr,fo.transform=function(t){var e=mo.createElementNS(fo.ns.prefix.svg,"g");return(fo.transform=function(t){if(null!=t){e.setAttribute("transform",t);var n=e.transform.baseVal.consolidate()}return new zr(n?n.matrix:gs)})(t)},zr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var gs={a:1,b:0,c:0,d:1,e:0,f:0};fo.interpolateTransform=Xr,fo.layout={},fo.layout.bundle=function(){return function(t){for(var e=[],n=-1,r=t.length;++n<r;)e.push(ei(t[n]));return e}},fo.layout.chord=function(){function t(){var t,c,d,h,f,_={},p=[],m=fo.range(a),y=[];for(n=[],r=[],t=0,h=-1;++h<a;){for(c=0,f=-1;++f<a;)c+=i[h][f];p.push(c),y.push(fo.range(a)),t+=c}for(o&&m.sort(function(t,e){return o(p[t],p[e])}),u&&y.forEach(function(t,e){t.sort(function(t,n){return u(i[e][t],i[e][n])})}),t=(zo-l*a)/t,c=0,h=-1;++h<a;){for(d=c,f=-1;++f<a;){var g=m[h],v=y[g][f],M=i[g][v],b=c,L=c+=M*t;_[g+"-"+v]={index:g,subindex:v,startAngle:b,endAngle:L,value:M}}r[g]={index:g,startAngle:d,endAngle:c,value:p[g]},c+=l}for(h=-1;++h<a;)for(f=h-1;++f<a;){var k=_[h+"-"+f],w=_[f+"-"+h];(k.value||w.value)&&n.push(k.value<w.value?{source:w,target:k}:{source:k,target:w})}s&&e()}function e(){n.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}var n,r,i,a,o,u,s,c={},l=0;return c.matrix=function(t){return arguments.length?(a=(i=t)&&i.length,n=r=null,c):i},c.padding=function(t){return arguments.length?(l=t,n=r=null,c):l},c.sortGroups=function(t){return arguments.length?(o=t,n=r=null,c):o},c.sortSubgroups=function(t){return arguments.length?(u=t,n=null,c):u},c.sortChords=function(t){return arguments.length?(s=t,n&&e(),c):s},c.chords=function(){return n||t(),n},c.groups=function(){return r||t(),r},c},fo.layout.force=function(){function t(t){return function(e,n,r,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,u=i-n,s=a*a+o*o;if(u*u/y<s){if(s<p){var c=e.charge/s;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&s&&s<p){var c=e.pointCharge/s;t.px-=a*c,t.py-=o*c}}return!e.charge}}function e(t){t.px=fo.event.x,t.py=fo.event.y,s.resume()}var n,r,i,a,o,u,s={},c=fo.dispatch("start","tick","end"),l=[1,1],d=.9,h=vs,f=Ms,_=-30,p=bs,m=.1,y=.64,g=[],v=[];return s.tick=function(){if((i*=.99)<.005)return n=null,c.end({type:"end",alpha:i=0}),!0;var e,r,s,h,f,p,y,M,b,L=g.length,k=v.length;for(r=0;r<k;++r)s=v[r],h=s.source,f=s.target,M=f.x-h.x,b=f.y-h.y,(p=M*M+b*b)&&(p=i*o[r]*((p=Math.sqrt(p))-a[r])/p,M*=p,b*=p,f.x-=M*(y=h.weight+f.weight?h.weight/(h.weight+f.weight):.5),f.y-=b*y,h.x+=M*(y=1-y),h.y+=b*y);if((y=i*m)&&(M=l[0]/2,b=l[1]/2,r=-1,y))for(;++r<L;)s=g[r],s.x+=(M-s.x)*y,s.y+=(b-s.y)*y;if(_)for(si(e=fo.geom.quadtree(g),i,u),r=-1;++r<L;)(s=g[r]).fixed||e.visit(t(s));for(r=-1;++r<L;)s=g[r],s.fixed?(s.x=s.px,s.y=s.py):(s.x-=(s.px-(s.px=s.x))*d,s.y-=(s.py-(s.py=s.y))*d);c.tick({type:"tick",alpha:i})},s.nodes=function(t){return arguments.length?(g=t,s):g},s.links=function(t){return arguments.length?(v=t,s):v},s.size=function(t){return arguments.length?(l=t,s):l},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(d=+t,s):d},s.charge=function(t){return arguments.length?(_="function"==typeof t?t:+t,s):_},s.chargeDistance=function(t){return arguments.length?(p=t*t,s):Math.sqrt(p)},s.gravity=function(t){return arguments.length?(m=+t,s):m},s.theta=function(t){return arguments.length?(y=t*t,s):Math.sqrt(y)},s.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(n.c=null,n.t=NaN,n=null,c.end({type:"end",alpha:i=0})):t>0&&(c.start({type:"start",alpha:i=t}),n=Ot(s.tick)),s):i},s.start=function(){function t(t,r){if(!n){for(n=new Array(i),s=0;s<i;++s)n[s]=[];for(s=0;s<c;++s){var a=v[s];n[a.source.index].push(a.target),n[a.target.index].push(a.source)}}for(var o,u=n[e],s=-1,l=u.length;++s<l;)if(!isNaN(o=u[s][t]))return o;return Math.random()*r}var e,n,r,i=g.length,c=v.length,d=l[0],p=l[1];for(e=0;e<i;++e)(r=g[e]).index=e,r.weight=0;for(e=0;e<c;++e)r=v[e],"number"==typeof r.source&&(r.source=g[r.source]),"number"==typeof r.target&&(r.target=g[r.target]),++r.source.weight,++r.target.weight;for(e=0;e<i;++e)r=g[e],isNaN(r.x)&&(r.x=t("x",d)),isNaN(r.y)&&(r.y=t("y",p)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],"function"==typeof h)for(e=0;e<c;++e)a[e]=+h.call(this,v[e],e);else for(e=0;e<c;++e)a[e]=h;if(o=[],"function"==typeof f)for(e=0;e<c;++e)o[e]=+f.call(this,v[e],e);else for(e=0;e<c;++e)o[e]=f;if(u=[],"function"==typeof _)for(e=0;e<i;++e)u[e]=+_.call(this,g[e],e);else for(e=0;e<i;++e)u[e]=_;return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=fo.behavior.drag().origin(k).on("dragstart.force",ii).on("drag.force",e).on("dragend.force",ai)),!arguments.length)return r;this.on("mouseover.force",oi).on("mouseout.force",ui).call(r)},fo.rebind(s,c,"on")};var vs=20,Ms=1,bs=1/0;fo.layout.hierarchy=function(){function t(i){var a,o=[i],u=[];for(i.depth=0;null!=(a=o.pop());)if(u.push(a),(c=n.call(t,a,a.depth))&&(s=c.length)){for(var s,c,l;--s>=0;)o.push(l=c[s]),l.parent=a,l.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(t,a,a.depth)||0),delete a.children;return di(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}var e=_i,n=hi,r=fi;return t.sort=function(n){return arguments.length?(e=n,t):e},t.children=function(e){return arguments.length?(n=e,t):n},t.value=function(e){return arguments.length?(r=e,t):r},t.revalue=function(e){return r&&(li(e,function(t){t.children&&(t.value=0)}),di(e,function(e){var n;e.children||(e.value=+r.call(t,e,e.depth)||0),(n=e.parent)&&(n.value+=e.value)})),e},t},fo.layout.partition=function(){function t(e,n,r,i){var a=e.children;if(e.x=n,e.y=e.depth*i,e.dx=r,e.dy=i,a&&(o=a.length)){var o,u,s,c=-1;for(r=e.value?r/e.value:0;++c<o;)t(u=a[c],n,s=u.value*r,i),n+=s}}function e(t){var n=t.children,r=0;if(n&&(i=n.length))for(var i,a=-1;++a<i;)r=Math.max(r,e(n[a]));return 1+r}function n(n,a){var o=r.call(this,n,a);return t(o[0],0,i[0],i[1]/e(o[0])),o}var r=fo.layout.hierarchy(),i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},ci(n,r)},fo.layout.pie=function(){function t(o){var u,s=o.length,c=o.map(function(n,r){return+e.call(t,n,r)}),l=+("function"==typeof r?r.apply(this,arguments):r),d=("function"==typeof i?i.apply(this,arguments):i)-l,h=Math.min(Math.abs(d)/s,+("function"==typeof a?a.apply(this,arguments):a)),f=h*(d<0?-1:1),_=fo.sum(c),p=_?(d-s*f)/_:0,m=fo.range(s),y=[];return null!=n&&m.sort(n===Ls?function(t,e){return c[e]-c[t]}:function(t,e){return n(o[t],o[e])}),m.forEach(function(t){y[t]={data:o[t],value:u=c[t],startAngle:l,endAngle:l+=u*p+f,padAngle:h}}),y}var e=Number,n=Ls,r=0,i=zo,a=0;return t.value=function(n){return arguments.length?(e=n,t):e},t.sort=function(e){return arguments.length?(n=e,t):n},t.startAngle=function(e){return arguments.length?(r=e,t):r},t.endAngle=function(e){return arguments.length?(i=e,t):i},t.padAngle=function(e){return arguments.length?(a=e,t):a},t};var Ls={};fo.layout.stack=function(){function t(u,s){if(!(h=u.length))return u;var c=u.map(function(n,r){return e.call(t,n,r)}),l=c.map(function(e){return e.map(function(e,n){return[a.call(t,e,n),o.call(t,e,n)]})}),d=n.call(t,l,s);c=fo.permute(c,d),l=fo.permute(l,d);var h,f,_,p,m=r.call(t,l,s),y=c[0].length;for(_=0;_<y;++_)for(i.call(t,c[0][_],p=m[_],l[0][_][1]),f=1;f<h;++f)i.call(t,c[f][_],p+=l[f-1][_][1],l[f][_][1]);return u}var e=k,n=vi,r=Mi,i=gi,a=mi,o=yi;return t.values=function(n){return arguments.length?(e=n,t):e},t.order=function(e){return arguments.length?(n="function"==typeof e?e:ks.get(e)||vi,t):n},t.offset=function(e){return arguments.length?(r="function"==typeof e?e:ws.get(e)||Mi,t):r},t.x=function(e){return arguments.length?(a=e,t):a},t.y=function(e){return arguments.length?(o=e,t):o},t.out=function(e){return arguments.length?(i=e,t):i},t};var ks=fo.map({"inside-out":function(t){var e,n,r=t.length,i=t.map(bi),a=t.map(Li),o=fo.range(r).sort(function(t,e){return i[t]-i[e]}),u=0,s=0,c=[],l=[];for(e=0;e<r;++e)n=o[e],u<s?(u+=a[n],c.push(n)):(s+=a[n],l.push(n));return l.reverse().concat(c)},reverse:function(t){return fo.range(t.length).reverse()},default:vi}),ws=fo.map({silhouette:function(t){var e,n,r,i=t.length,a=t[0].length,o=[],u=0,s=[];for(n=0;n<a;++n){for(e=0,r=0;e<i;e++)r+=t[e][n][1];r>u&&(u=r),o.push(r)}for(n=0;n<a;++n)s[n]=(u-o[n])/2;return s},wiggle:function(t){var e,n,r,i,a,o,u,s,c,l=t.length,d=t[0],h=d.length,f=[];for(f[0]=s=c=0,n=1;n<h;++n){for(e=0,i=0;e<l;++e)i+=t[e][n][1];for(e=0,a=0,u=d[n][0]-d[n-1][0];e<l;++e){for(r=0,o=(t[e][n][1]-t[e][n-1][1])/(2*u);r<e;++r)o+=(t[r][n][1]-t[r][n-1][1])/u;a+=o*t[e][n][1]}f[n]=s-=i?a/i*u:0,s<c&&(c=s)}for(n=0;n<h;++n)f[n]-=c;return f},expand:function(t){var e,n,r,i=t.length,a=t[0].length,o=1/i,u=[];for(n=0;n<a;++n){for(e=0,r=0;e<i;e++)r+=t[e][n][1];if(r)for(e=0;e<i;e++)t[e][n][1]/=r;else for(e=0;e<i;e++)t[e][n][1]=o}for(n=0;n<a;++n)u[n]=0;return u},zero:Mi});fo.layout.histogram=function(){function t(t,a){for(var o,u,s=[],c=t.map(n,this),l=r.call(this,c,a),d=i.call(this,l,c,a),a=-1,h=c.length,f=d.length-1,_=e?1:1/h;++a<f;)o=s[a]=[],o.dx=d[a+1]-(o.x=d[a]),o.y=0;if(f>0)for(a=-1;++a<h;)(u=c[a])>=l[0]&&u<=l[1]&&(o=s[fo.bisect(d,u,1,f)-1],o.y+=_,o.push(t[a]));return s}var e=!0,n=Number,r=xi,i=wi;return t.value=function(e){return arguments.length?(n=e,t):n},t.range=function(e){return arguments.length?(r=St(e),t):r},t.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return Di(t,e)}:St(e),t):i},t.frequency=function(n){return arguments.length?(e=!!n,t):e},t},fo.layout.pack=function(){function t(t,a){var o=n.call(this,t,a),u=o[0],s=i[0],c=i[1],l=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(u.x=u.y=0,di(u,function(t){t.r=+l(t.value)}),di(u,Si),r){var d=r*(e?1:Math.max(2*u.r/s,2*u.r/c))/2;di(u,function(t){t.r+=d}),di(u,Si),di(u,function(t){t.r-=d})}return ji(u,s/2,c/2,e?1:1/Math.max(2*u.r/s,2*u.r/c)),o}var e,n=fo.layout.hierarchy().sort(Yi),r=0,i=[1,1];return t.size=function(e){return arguments.length?(i=e,t):i},t.radius=function(n){return arguments.length?(e=null==n||"function"==typeof n?n:+n,t):e},t.padding=function(e){return arguments.length?(r=+e,t):r},ci(t,n)},fo.layout.tree=function(){function t(t,i){var l=o.call(this,t,i),d=l[0],h=e(d);if(di(h,n),h.parent.m=-h.z,li(h,r),c)li(d,a);else{var f=d,_=d,p=d;li(d,function(t){t.x<f.x&&(f=t),t.x>_.x&&(_=t),t.depth>p.depth&&(p=t)});var m=u(f,_)/2-f.x,y=s[0]/(_.x+u(_,f)/2+m),g=s[1]/(p.depth||1);li(d,function(t){t.x=(t.x+m)*y,t.y=t.depth*g})}return l}function e(t){for(var e,n={A:null,children:[t]},r=[n];null!=(e=r.pop());)for(var i,a=e.children,o=0,u=a.length;o<u;++o)r.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return n.children[0]}function n(t){var e=t.children,n=t.parent.children,r=t.i?n[t.i-1]:null;if(e.length){Ii(t);var a=(e[0].z+e[e.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-a):t.z=a}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||n[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,e,n){if(e){for(var r,i=t,a=t,o=e,s=i.parent.children[0],c=i.m,l=a.m,d=o.m,h=s.m;o=Ni(o),i=Pi(i),o&&i;)s=Pi(s),a=Ni(a),a.a=t,r=o.z+d-i.z-c+u(o._,i._),r>0&&(Bi(Ri(o,t,n),t,r),c+=r,l+=r),d+=o.m,c+=i.m,h+=s.m,l+=a.m;o&&!Ni(a)&&(a.t=o,a.m+=d-l),i&&!Pi(s)&&(s.t=i,s.m+=c-h,n=t)}return n}function a(t){t.x*=s[0],t.y=t.depth*s[1]}var o=fo.layout.hierarchy().sort(null).value(null),u=Oi,s=[1,1],c=null;return t.separation=function(e){return arguments.length?(u=e,t):u},t.size=function(e){return arguments.length?(c=null==(s=e)?a:null,t):c?null:s},t.nodeSize=function(e){return arguments.length?(c=null==(s=e)?null:a,t):c?s:null},ci(t,o)},fo.layout.cluster=function(){function t(t,a){var o,u=e.call(this,t,a),s=u[0],c=0;di(s,function(t){var e=t.children;e&&e.length?(t.x=zi(e),t.y=Wi(e)):(t.x=o?c+=n(t,o):0,t.y=0,o=t)});var l=qi(s),d=Ui(s),h=l.x-n(l,d)/2,f=d.x+n(d,l)/2;return di(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(f-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var e=fo.layout.hierarchy().sort(null).value(null),n=Oi,r=[1,1],i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(e){return arguments.length?(i=null==(r=e),t):i?null:r},t.nodeSize=function(e){return arguments.length?(i=null!=(r=e),t):i?r:null},ci(t,e)},fo.layout.treemap=function(){function t(t,e){for(var n,r,i=-1,a=t.length;++i<a;)r=(n=t[i]).value*(e<0?0:e),n.area=isNaN(r)||r<=0?0:r}function e(n){var a=n.children;if(a&&a.length){var o,u,s,c=d(n),l=[],h=a.slice(),_=1/0,p="slice"===f?c.dx:"dice"===f?c.dy:"slice-dice"===f?1&n.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(t(h,c.dx*c.dy/n.value),l.area=0;(s=h.length)>0;)l.push(o=h[s-1]),l.area+=o.area,"squarify"!==f||(u=r(l,p))<=_?(h.pop(),_=u):(l.area-=l.pop().area,i(l,p,c,!1),p=Math.min(c.dx,c.dy),l.length=l.area=0,_=1/0);l.length&&(i(l,p,c,!0),l.length=l.area=0),a.forEach(e)}}function n(e){var r=e.children;if(r&&r.length){var a,o=d(e),u=r.slice(),s=[];for(t(u,o.dx*o.dy/e.value),s.area=0;a=u.pop();)s.push(a),s.area+=a.area,null!=a.z&&(i(s,a.z?o.dx:o.dy,o,!u.length),s.length=s.area=0);r.forEach(n)}}function r(t,e){for(var n,r=t.area,i=0,a=1/0,o=-1,u=t.length;++o<u;)(n=t[o].area)&&(n<a&&(a=n),n>i&&(i=n));return r*=r,e*=e,r?Math.max(e*i*_/r,r/(e*a*_)):1/0}function i(t,e,n,r){var i,a=-1,o=t.length,u=n.x,c=n.y,l=e?s(t.area/e):0;if(e==n.dx){for((r||l>n.dy)&&(l=n.dy);++a<o;)i=t[a],i.x=u,i.y=c,i.dy=l,u+=i.dx=Math.min(n.x+n.dx-u,l?s(i.area/l):0);i.z=!0,i.dx+=n.x+n.dx-u,n.y+=l,n.dy-=l}else{for((r||l>n.dx)&&(l=n.dx);++a<o;)i=t[a],i.x=u,i.y=c,i.dx=l,c+=i.dy=Math.min(n.y+n.dy-c,l?s(i.area/l):0);i.z=!1,i.dy+=n.y+n.dy-c,n.x+=l,n.dx-=l}}function a(r){var i=o||u(r),a=i[0];return a.x=a.y=0,a.value?(a.dx=c[0],a.dy=c[1]):a.dx=a.dy=0,o&&u.revalue(a),t([a],a.dx*a.dy/a.value),(o?n:e)(a),h&&(o=i),i}var o,u=fo.layout.hierarchy(),s=Math.round,c=[1,1],l=null,d=$i,h=!1,f="squarify",_=.5*(1+Math.sqrt(5));return a.size=function(t){return arguments.length?(c=t,a):c},a.padding=function(t){function e(e){var n=t.call(a,e,e.depth);return null==n?$i(e):Vi(e,"number"==typeof n?[n,n,n,n]:n)}function n(e){return Vi(e,t)}if(!arguments.length)return l;var r;return d=null==(l=t)?$i:"function"==(r=typeof t)?e:"number"===r?(t=[t,t,t,t],n):n,a},a.round=function(t){return arguments.length?(s=t?Math.round:Number,a):s!=Number},a.sticky=function(t){return arguments.length?(h=t,o=null,a):h},a.ratio=function(t){return arguments.length?(_=t,a):_},a.mode=function(t){return arguments.length?(f=t+"",a):f},ci(a,u)},fo.random={normal:function(t,e){var n=arguments.length;return n<2&&(e=1),n<1&&(t=0),function(){var n,r,i;do{n=2*Math.random()-1,r=2*Math.random()-1,i=n*n+r*r}while(!i||i>1);return t+e*n*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=fo.random.normal.apply(fo,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=fo.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,n=0;n<t;n++)e+=Math.random();return e}}},fo.scale={};var Ds={floor:k,ceil:k};fo.scale.linear=function(){return ta([0,1],[0,1],wr,!1)};var xs={s:1,g:1,p:1,r:1,e:1};fo.scale.log=function(){return sa(fo.scale.linear().domain([0,1]),10,!0,[1,10])};var Ys=fo.format(".0e"),Ts={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};fo.scale.pow=function(){return ca(fo.scale.linear(),1,[0,1])},fo.scale.sqrt=function(){return fo.scale.pow().exponent(.5)},fo.scale.ordinal=function(){return da([],{t:"range",a:[[]]})},fo.scale.category10=function(){return fo.scale.ordinal().range(As)},fo.scale.category20=function(){return fo.scale.ordinal().range(Es)},fo.scale.category20b=function(){return fo.scale.ordinal().range(Ss)},fo.scale.category20c=function(){return fo.scale.ordinal().range(Fs)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(wt),Es=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(wt),Ss=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(wt),Fs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(wt);fo.scale.quantile=function(){return ha([],[])},fo.scale.quantize=function(){return fa(0,1,[0,1])},fo.scale.threshold=function(){return _a([.5],[0,1])},fo.scale.identity=function(){return pa([0,1])},fo.svg={},fo.svg.arc=function(){function t(){var t=Math.max(0,+n.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),l=o.apply(this,arguments)-Uo,d=u.apply(this,arguments)-Uo,h=Math.abs(d-l),f=l>d?0:1;if(c<t&&(_=c,c=t,t=_),h>=qo)return e(c,f)+(t?e(t,1-f):"")+"Z";var _,p,m,y,g,v,M,b,L,k,w,D,x=0,Y=0,T=[];if((y=(+s.apply(this,arguments)||0)/2)&&(m=a===Cs?Math.sqrt(t*t+c*c):+a.apply(this,arguments),f||(Y*=-1),c&&(Y=ot(m/c*Math.sin(y))),t&&(x=ot(m/t*Math.sin(y)))),c){g=c*Math.cos(l+Y),v=c*Math.sin(l+Y),M=c*Math.cos(d-Y),b=c*Math.sin(d-Y);var A=Math.abs(d-l-2*Y)<=Wo?0:1;if(Y&&La(g,v,M,b)===f^A){var E=(l+d)/2;g=c*Math.cos(E),v=c*Math.sin(E),M=b=null}}else g=v=0;if(t){L=t*Math.cos(d-x),k=t*Math.sin(d-x),w=t*Math.cos(l+x),D=t*Math.sin(l+x);var S=Math.abs(l-d+2*x)<=Wo?0:1;if(x&&La(L,k,w,D)===1-f^S){var F=(l+d)/2;L=t*Math.cos(F),k=t*Math.sin(F),w=D=null}}else L=k=0;if(h>Io&&(_=Math.min(Math.abs(c-t)/2,+i.apply(this,arguments)))>.001){p=t<c^f?0:1;var C=_,j=_;if(h<Wo){var H=null==w?[L,k]:null==M?[g,v]:Bn([g,v],[w,D],[M,b],[L,k]),O=g-H[0],P=v-H[1],N=M-H[0],B=b-H[1],I=1/Math.sin(Math.acos((O*N+P*B)/(Math.sqrt(O*O+P*P)*Math.sqrt(N*N+B*B)))/2),R=Math.sqrt(H[0]*H[0]+H[1]*H[1]);j=Math.min(_,(t-R)/(I-1)),C=Math.min(_,(c-R)/(I+1))}if(null!=M){var W=ka(null==w?[L,k]:[w,D],[g,v],c,C,f),z=ka([M,b],[L,k],c,C,f);_===C?T.push("M",W[0],"A",C,",",C," 0 0,",p," ",W[1],"A",c,",",c," 0 ",1-f^La(W[1][0],W[1][1],z[1][0],z[1][1]),",",f," ",z[1],"A",C,",",C," 0 0,",p," ",z[0]):T.push("M",W[0],"A",C,",",C," 0 1,",p," ",z[0])}else T.push("M",g,",",v);if(null!=w){var q=ka([g,v],[w,D],t,-j,f),U=ka([L,k],null==M?[g,v]:[M,b],t,-j,f);_===j?T.push("L",U[0],"A",j,",",j," 0 0,",p," ",U[1],"A",t,",",t," 0 ",f^La(U[1][0],U[1][1],q[1][0],q[1][1]),",",1-f," ",q[1],"A",j,",",j," 0 0,",p," ",q[0]):T.push("L",U[0],"A",j,",",j," 0 0,",p," ",q[0])}else T.push("L",L,",",k)}else T.push("M",g,",",v),null!=M&&T.push("A",c,",",c," 0 ",A,",",f," ",M,",",b),T.push("L",L,",",k),null!=w&&T.push("A",t,",",t," 0 ",S,",",1-f," ",w,",",D);return T.push("Z"),T.join("")}function e(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}var n=ya,r=ga,i=ma,a=Cs,o=va,u=Ma,s=ba;return t.innerRadius=function(e){return arguments.length?(n=St(e),t):n},t.outerRadius=function(e){return arguments.length?(r=St(e),t):r},t.cornerRadius=function(e){return arguments.length?(i=St(e),t):i},t.padRadius=function(e){return arguments.length?(a=e==Cs?Cs:St(e),t):a},t.startAngle=function(e){return arguments.length?(o=St(e),t):o},t.endAngle=function(e){return arguments.length?(u=St(e),t):u},t.padAngle=function(e){return arguments.length?(s=St(e),t):s},t.centroid=function(){var t=(+n.apply(this,arguments)+ +r.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-Uo;return[Math.cos(e)*t,Math.sin(e)*t]},t};var Cs="auto";fo.svg.line=function(){return wa(k)};var js=fo.map({linear:Da,"linear-closed":xa,step:Ya,"step-before":Ta,"step-after":Aa,basis:Ha,"basis-open":Oa,"basis-closed":Pa,bundle:Na,cardinal:Fa,"cardinal-open":Ea,"cardinal-closed":Sa,monotone:qa});js.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Hs=[0,2/3,1/3,0],Os=[0,1/3,2/3,0],Ps=[0,1/6,2/3,1/6];fo.svg.line.radial=function(){var t=wa(Ua);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ta.reverse=Aa,Aa.reverse=Ta,fo.svg.area=function(){return $a(k)},fo.svg.area.radial=function(){var t=$a(Ua);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},fo.svg.chord=function(){function t(t,u){var s=e(this,a,t,u),c=e(this,o,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(n(s,c)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,s.r,s.p0))+"Z"}function e(t,e,n,r){var i=e.call(t,n,r),a=u.call(t,i,r),o=s.call(t,i,r)-Uo,l=c.call(t,i,r)-Uo;return{r:a,a0:o,a1:l,p0:[a*Math.cos(o),a*Math.sin(o)],p1:[a*Math.cos(l),a*Math.sin(l)]}}function n(t,e){return t.a0==e.a0&&t.a1==e.a1}function r(t,e,n){return"A"+t+","+t+" 0 "+ +(n>Wo)+",1 "+e}function i(t,e,n,r){return"Q 0,0 "+r}var a=wn,o=Dn,u=Va,s=va,c=Ma;return t.radius=function(e){return arguments.length?(u=St(e),t):u},t.source=function(e){return arguments.length?(a=St(e),t):a},t.target=function(e){return arguments.length?(o=St(e),t):o},t.startAngle=function(e){return arguments.length?(s=St(e),t):s},t.endAngle=function(e){return arguments.length?(c=St(e),t):c},t},fo.svg.diagonal=function(){function t(t,i){var a=e.call(this,t,i),o=n.call(this,t,i),u=(a.y+o.y)/2,s=[a,{x:a.x,y:u},{x:o.x,y:u},o];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var e=wn,n=Dn,r=Ga;return t.source=function(n){return arguments.length?(e=St(n),t):e},t.target=function(e){return arguments.length?(n=St(e),t):n},t.projection=function(e){return arguments.length?(r=e,t):r},t},fo.svg.diagonal.radial=function(){var t=fo.svg.diagonal(),e=Ga,n=t.projection;return t.projection=function(t){return arguments.length?n(Ja(e=t)):e},t},fo.svg.symbol=function(){function t(t,r){return(Ns.get(e.call(this,t,r))||Xa)(n.call(this,t,r))}var e=Ka,n=Za;return t.type=function(n){return arguments.length?(e=St(n),t):e},t.size=function(e){return arguments.length?(n=St(e),t):n},t};var Ns=fo.map({circle:Xa,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Is)),n=e*Is;return"M0,"+-e+"L"+n+",0 0,"+e+" "+-n+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Bs),n=e*Bs/2;return"M0,"+n+"L"+e+","+-n+" "+-e+","+-n+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Bs),n=e*Bs/2;return"M0,"+-n+"L"+e+","+n+" "+-e+","+n+"Z"}});fo.svg.symbolTypes=Ns.keys();var Bs=Math.sqrt(3),Is=Math.tan(30*$o);Fo.transition=function(t){for(var e,n,r=Rs||++Us,i=ro(t),a=[],o=Ws||{time:Date.now(),ease:Sr,delay:0,duration:250},u=-1,s=this.length;++u<s;){a.push(e=[]);for(var c=this[u],l=-1,d=c.length;++l<d;)(n=c[l])&&io(n,l,i,r,o),e.push(n)}return to(a,i,r)},Fo.interrupt=function(t){return this.each(null==t?zs:Qa(ro(t)))};var Rs,Ws,zs=Qa(ro()),qs=[],Us=0;qs.call=Fo.call,qs.empty=Fo.empty,qs.node=Fo.node,qs.size=Fo.size,fo.transition=function(t,e){return t&&t.transition?Rs?t.transition(e):t:fo.selection().transition(t)},fo.transition.prototype=qs,qs.select=function(t){var e,n,r,i=this.id,a=this.namespace,o=[];t=C(t);for(var u=-1,s=this.length;++u<s;){o.push(e=[]);for(var c=this[u],l=-1,d=c.length;++l<d;)(r=c[l])&&(n=t.call(r,r.__data__,l,u))?("__data__"in r&&(n.__data__=r.__data__),io(n,l,a,i,r[a][i]),e.push(n)):e.push(null)}return to(o,a,i)},qs.selectAll=function(t){var e,n,r,i,a,o=this.id,u=this.namespace,s=[];t=j(t);for(var c=-1,l=this.length;++c<l;)for(var d=this[c],h=-1,f=d.length;++h<f;)if(r=d[h]){a=r[u][o],n=t.call(r,r.__data__,h,c),s.push(e=[]);for(var _=-1,p=n.length;++_<p;)(i=n[_])&&io(i,_,u,o,a),e.push(i)}return to(s,u,o)},qs.filter=function(t){var e,n,r,i=[];"function"!=typeof t&&(t=$(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]);for(var n=this[a],u=0,s=n.length;u<s;u++)(r=n[u])&&t.call(r,r.__data__,u,a)&&e.push(r)}return to(i,this.namespace,this.id)},qs.tween=function(t,e){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(t):G(this,null==e?function(e){e[r][n].tween.remove(t)}:function(i){i[r][n].tween.set(t,e)})},qs.attr=function(t,e){function n(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?n:(t+="",function(){var e,n=this.getAttribute(u);return n!==t&&(e=o(n,t),function(t){this.setAttribute(u,e(t))})})}function a(t){return null==t?r:(t+="",function(){var e,n=this.getAttributeNS(u.space,u.local);return n!==t&&(e=o(n,t),function(t){this.setAttributeNS(u.space,u.local,e(t))})})}if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var o="transform"==t?Xr:wr,u=fo.ns.qualify(t);return eo(this,"attr."+t,e,u.local?a:i)},qs.attrTween=function(t,e){function n(t,n){var r=e.call(this,t,n,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,n){var r=e.call(this,t,n,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=fo.ns.qualify(t);return this.tween("attr."+t,i.local?r:n)},qs.style=function(t,e,n){function r(){this.style.removeProperty(t)}function i(e){return null==e?r:(e+="",function(){var r,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(r=wr(i,e),function(e){this.style.setProperty(t,r(e),n)})})}var a=arguments.length;if(a<3){if("string"!=typeof t){a<2&&(e="");for(n in t)this.style(n,t[n],e);return this}n=""}return eo(this,"style."+t,e,i)},qs.styleTween=function(t,e,n){function r(r,i){var a=e.call(this,r,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),n)}}return arguments.length<3&&(n=""),this.tween("style."+t,r)},qs.text=function(t){return eo(this,"text",t,no)},qs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},qs.ease=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].ease:("function"!=typeof t&&(t=fo.ease.apply(fo,arguments)),G(this,function(r){r[n][e].ease=t}))},qs.delay=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].delay:G(this,"function"==typeof t?function(r,i,a){r[n][e].delay=+t.call(r,r.__data__,i,a)}:(t=+t,function(r){r[n][e].delay=t}))},qs.duration=function(t){var e=this.id,n=this.namespace;return arguments.length<1?this.node()[n][e].duration:G(this,"function"==typeof t?function(r,i,a){r[n][e].duration=Math.max(1,t.call(r,r.__data__,i,a))}:(t=Math.max(1,t),function(r){r[n][e].duration=t}))},qs.each=function(t,e){var n=this.id,r=this.namespace;if(arguments.length<2){var i=Ws,a=Rs;try{Rs=n,G(this,function(e,i,a){Ws=e[r][n],t.call(e,e.__data__,i,a)})}finally{Ws=i,Rs=a}}else G(this,function(i){var a=i[r][n];(a.event||(a.event=fo.dispatch("start","end","interrupt"))).on(t,e)});return this},qs.transition=function(){for(var t,e,n,r,i=this.id,a=++Us,o=this.namespace,u=[],s=0,c=this.length;s<c;s++){u.push(t=[]);for(var e=this[s],l=0,d=e.length;l<d;l++)(n=e[l])&&(r=n[o][i],io(n,l,o,a,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(n)}return to(u,o,a)},fo.svg.axis=function(){function t(t){t.each(function(){var t,c=fo.select(this),l=this.__chart__||n,d=this.__chart__=n.copy(),h=null==s?d.ticks?d.ticks.apply(d,u):d.domain():s,f=null==e?d.tickFormat?d.tickFormat.apply(d,u):k:e,_=c.selectAll(".tick").data(h,d),p=_.enter().insert("g",".domain").attr("class","tick").style("opacity",Io),m=fo.transition(_.exit()).style("opacity",Io).remove(),y=fo.transition(_.order()).style("opacity",1),g=Math.max(i,0)+o,v=Ji(d),M=c.selectAll(".domain").data([0]),b=(M.enter().append("path").attr("class","domain"),fo.transition(M));p.append("line"),p.append("text");var L,w,D,x,Y=p.select("line"),T=y.select("line"),A=_.select("text").text(f),E=p.select("text"),S=y.select("text"),F="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=ao,L="x",D="y",w="x2",x="y2",A.attr("dy",F<0?"0em":".71em").style("text-anchor","middle"),b.attr("d","M"+v[0]+","+F*a+"V0H"+v[1]+"V"+F*a)):(t=oo,L="y",D="x",w="y2",x="x2",A.attr("dy",".32em").style("text-anchor",F<0?"end":"start"),b.attr("d","M"+F*a+","+v[0]+"H0V"+v[1]+"H"+F*a)),Y.attr(x,F*i),E.attr(D,F*g),T.attr(w,0).attr(x,F*i),S.attr(L,0).attr(D,F*g),d.rangeBand){var C=d,j=C.rangeBand()/2;l=d=function(t){return C(t)+j}}else l.rangeBand?l=d:m.call(t,d,l);p.call(t,l,d),y.call(t,d,d)})}var e,n=fo.scale.linear(),r=$s,i=6,a=6,o=3,u=[10],s=null;return t.scale=function(e){return arguments.length?(n=e,t):n},t.orient=function(e){return arguments.length?(r=e in Vs?e+"":$s,t):r},t.ticks=function(){return arguments.length?(u=po(arguments),t):u},t.tickValues=function(e){return arguments.length?(s=e,t):s},t.tickFormat=function(n){return arguments.length?(e=n,t):e},t.tickSize=function(e){var n=arguments.length;return n?(i=+e,a=+arguments[n-1],t):i},t.innerTickSize=function(e){return arguments.length?(i=+e,t):i},t.outerTickSize=function(e){return arguments.length?(a=+e,t):a},t.tickPadding=function(e){return arguments.length?(o=+e,t):o},t.tickSubdivide=function(){return arguments.length&&t},t};var $s="bottom",Vs={top:1,right:1,bottom:1,left:1};fo.svg.brush=function(){function t(a){a.each(function(){var a=fo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),o=a.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),a.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=a.selectAll(".resize").data(p,k);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Gs[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var s,d=fo.transition(a),h=fo.transition(o);c&&(s=Ji(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),n(d)),l&&(s=Ji(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(d)),e(d)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+d[+/e$/.test(t)]+","+h[+/^s/.test(t)]+")"})}function n(t){t.select(".extent").attr("x",d[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",d[1]-d[0])}function r(t){t.select(".extent").attr("y",h[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==fo.event.keyCode&&(T||(v=null,S[0]-=d[1],S[1]-=h[1],T=2),A())}function p(){32==fo.event.keyCode&&2==T&&(S[0]+=d[1],S[1]+=h[1],T=0,A())}function m(){var t=fo.mouse(b),i=!1;M&&(t[0]+=M[0],t[1]+=M[1]),T||(fo.event.altKey?(v||(v=[(d[0]+d[1])/2,(h[0]+h[1])/2]),S[0]=d[+(t[0]<v[0])],S[1]=h[+(t[1]<v[1])]):v=null),x&&y(t,c,0)&&(n(w),i=!0),Y&&y(t,l,1)&&(r(w),i=!0),i&&(e(w),k({type:"brush",mode:T?"move":"resize"}))}function y(t,e,n){var r,i,o=Ji(e),s=o[0],c=o[1],l=S[n],p=n?h:d,m=p[1]-p[0];if(T&&(s-=l,c-=m+l),r=(n?_:f)?Math.max(s,Math.min(c,t[n])):t[n],T?i=(r+=l)+m:(v&&(l=Math.max(s,Math.min(c,2*v[n]-r))),l<r?(i=r,r=l):i=l),p[0]!=r||p[1]!=i)return n?u=null:a=null,p[0]=r,p[1]=i,!0}function g(){m(),w.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),fo.select("body").style("cursor",null),F.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),k({type:"brushend"})}var v,M,b=this,L=fo.select(fo.event.target),k=s.of(b,arguments),w=fo.select(b),D=L.datum(),x=!/^(n|s)$/.test(D)&&c,Y=!/^(e|w)$/.test(D)&&l,T=L.classed("extent"),E=tt(b),S=fo.mouse(b),F=fo.select(o(b)).on("keydown.brush",i).on("keyup.brush",p);if(fo.event.changedTouches?F.on("touchmove.brush",m).on("touchend.brush",g):F.on("mousemove.brush",m).on("mouseup.brush",g),w.interrupt().selectAll("*").interrupt(),T)S[0]=d[0]-S[0],S[1]=h[0]-S[1];else if(D){var C=+/w$/.test(D),j=+/^n/.test(D);M=[d[1-C]-S[0],h[1-j]-S[1]],S[0]=d[C],S[1]=h[j]}else fo.event.altKey&&(v=S.slice());w.style("pointer-events","none").selectAll(".resize").style("display",null),fo.select("body").style("cursor",L.style("cursor")),k({type:"brushstart"}),m()}var a,u,s=S(t,"brushstart","brush","brushend"),c=null,l=null,d=[0,0],h=[0,0],f=!0,_=!0,p=Js[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),e={x:d,y:h,i:a,j:u},n=this.__chart__||e;this.__chart__=e,Rs?fo.select(this).transition().each("start.brush",function(){a=n.i,u=n.j,d=n.x,h=n.y,t({type:"brushstart"})}).tween("brush:brush",function(){var n=Dr(d,e.x),r=Dr(h,e.y);return a=u=null,function(i){d=e.x=n(i),h=e.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=e.i,u=e.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(e){return arguments.length?(c=e,p=Js[!c<<1|!l],t):c},t.y=function(e){return arguments.length?(l=e,p=Js[!c<<1|!l],t):l},t.clamp=function(e){return arguments.length?(c&&l?(f=!!e[0],_=!!e[1]):c?f=!!e:l&&(_=!!e),t):c&&l?[f,_]:c?f:l?_:null},t.extent=function(e){var n,r,i,o,s;return arguments.length?(c&&(n=e[0],r=e[1],l&&(n=n[0],r=r[0]),a=[n,r],c.invert&&(n=c(n),r=c(r)),r<n&&(s=n,n=r,r=s),n==d[0]&&r==d[1]||(d=[n,r])),l&&(i=e[0],o=e[1],c&&(i=i[1],o=o[1]),u=[i,o],l.invert&&(i=l(i),o=l(o)),o<i&&(s=i,i=o,o=s),i==h[0]&&o==h[1]||(h=[i,o])),t):(c&&(a?(n=a[0],r=a[1]):(n=d[0],r=d[1],c.invert&&(n=c.invert(n),r=c.invert(r)),r<n&&(s=n,n=r,r=s))),l&&(u?(i=u[0],o=u[1]):(i=h[0],o=h[1],l.invert&&(i=l.invert(i),o=l.invert(o)),o<i&&(s=i,i=o,o=s))),c&&l?[[n,i],[r,o]]:c?[n,r]:l&&[i,o])},t.clear=function(){return t.empty()||(d=[0,0],h=[0,0],a=u=null),t},t.empty=function(){return!!c&&d[0]==d[1]||!!l&&h[0]==h[1]},fo.rebind(t,s,"on")};var Gs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Js=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Zs=pu.format=bu.timeFormat,Ks=Zs.utc,Xs=Ks("%Y-%m-%dT%H:%M:%S.%LZ");Zs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?uo:Xs,uo.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},uo.toString=Xs.toString,pu.second=Ut(function(t){return new mu(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),pu.seconds=pu.second.range,pu.seconds.utc=pu.second.utc.range,pu.minute=Ut(function(t){return new mu(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),pu.minutes=pu.minute.range,pu.minutes.utc=pu.minute.utc.range,pu.hour=Ut(function(t){var e=t.getTimezoneOffset()/60;return new mu(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),pu.hours=pu.hour.range,pu.hours.utc=pu.hour.utc.range,pu.month=Ut(function(t){return t=pu.day(t),t.setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),pu.months=pu.month.range,pu.months.utc=pu.month.utc.range;var Qs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],tc=[[pu.second,1],[pu.second,5],[pu.second,15],[pu.second,30],[pu.minute,1],[pu.minute,5],[pu.minute,15],[pu.minute,30],[pu.hour,1],[pu.hour,3],[pu.hour,6],[pu.hour,12],[pu.day,1],[pu.day,2],[pu.week,1],[pu.month,1],[pu.month,3],[pu.year,1]],ec=Zs.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",je]]),nc={range:function(t,e,n){return fo.range(Math.ceil(t/n)*n,+e,n).map(co)},floor:k,ceil:k};tc.year=pu.year,pu.scale=function(){return so(fo.scale.linear(),tc,ec)};var rc=tc.map(function(t){return[t[0].utc,t[1]]}),ic=Ks.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",je]]);rc.year=pu.year.utc,pu.scale.utc=function(){return so(fo.scale.linear(),rc,ic)},fo.text=Ft(function(t){return t.responseText}),fo.json=function(t,e){return Ct(t,"application/json",lo,e)},fo.html=function(t,e){return Ct(t,"text/html",ho,e)},fo.xml=Ft(function(t){return t.responseXML}),this.d3=fo,r=fo,void 0!==(i="function"==typeof r?r.call(e,n,e,t):r)&&(t.exports=i)}()},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,4],r=[1,3],i=[1,5],a=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],o=[2,2],u=[1,12],s=[1,13],c=[1,14],l=[1,15],d=[1,31],h=[1,33],f=[1,22],_=[1,34],p=[1,24],m=[1,25],y=[1,26],g=[1,27],v=[1,28],M=[1,38],b=[1,40],L=[1,35],k=[1,39],w=[1,45],D=[1,44],x=[1,36],Y=[1,37],T=[1,41],A=[1,42],E=[1,43],S=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],F=[1,53],C=[1,52],j=[1,54],H=[1,72],O=[1,80],P=[1,81],N=[1,66],B=[1,65],I=[1,85],R=[1,84],W=[1,82],z=[1,83],q=[1,73],U=[1,68],$=[1,67],V=[1,63],G=[1,75],J=[1,76],Z=[1,77],K=[1,78],X=[1,79],Q=[1,70],tt=[1,69],et=[8,9,11],nt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],rt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],at=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],ot=[1,117],ut=[1,118],st=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],dt=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],ht=[1,191],ft=[1,188],_t=[1,195],pt=[1,192],mt=[1,189],yt=[1,196],gt=[1,186],vt=[1,187],Mt=[1,190],bt=[1,193],Lt=[1,194],kt=[1,213],wt=[8,9,11,86],Dt=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],xt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[u]!==[]&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=a[u];break;case 11:r.setDirection(a[u-1]),this.$=a[u-1];break;case 12:r.setDirection("LR"),this.$=a[u-1];break;case 13:r.setDirection("RL"),this.$=a[u-1];break;case 14:r.setDirection("BT"),this.$=a[u-1];break;case 15:r.setDirection("TB"),this.$=a[u-1];break;case 30:this.$=a[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[u-1],a[u-3]);break;case 37:this.$=r.addSubGraph(a[u-1],void 0);break;case 41:r.addLink(a[u-2],a[u],a[u-1]),this.$=[a[u-2],a[u]];break;case 42:this.$=[a[u]];break;case 43:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"square");break;case 44:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"square");break;case 45:this.$=a[u-5],r.addVertex(a[u-5],a[u-2],"circle");break;case 46:this.$=a[u-6],r.addVertex(a[u-6],a[u-3],"circle");break;case 47:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"ellipse");break;case 48:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"ellipse");break;case 49:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"round");break;case 50:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"round");break;case 51:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"diamond");break;case 52:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"diamond");break;case 53:this.$=a[u-3],r.addVertex(a[u-3],a[u-1],"odd");break;case 54:this.$=a[u-4],r.addVertex(a[u-4],a[u-2],"odd");break;case 55:this.$=a[u],r.addVertex(a[u]);break;case 56:this.$=a[u-1],r.addVertex(a[u-1]);break;case 58:case 93:case 96:case 109:this.$=a[u-1]+""+a[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:a[u-1].text=a[u],this.$=a[u-1];break;case 64:case 65:a[u-2].text=a[u-1],this.$=a[u-2];break;case 66:this.$=a[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:a[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:a[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:a[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:a[u-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:a[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:a[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:a[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:a[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:a[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:a[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:a[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:a[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[u-1];break;case 110:case 111:this.$=a[u-4],r.addClass(a[u-2],a[u]);break;case 112:this.$=a[u-4],r.setClass(a[u-2],a[u]);break;case 113:this.$=a[u-4],r.setClickEvent(a[u-2],a[u],void 0,void 0);break;case 114:this.$=a[u-6],r.setClickEvent(a[u-4],a[u-2],void 0,a[u]);break;case 115:this.$=a[u-4],r.setClickEvent(a[u-2],void 0,a[u],void 0);break;case 116:this.$=a[u-6],r.setClickEvent(a[u-4],void 0,a[u-2],a[u]);break;case 117:this.$=a[u-4],r.addVertex(a[u-2],void 0,void 0,a[u]);break;case 118:case 119:case 120:this.$=a[u-4],r.updateLink(a[u-2],a[u]);break;case 121:case 122:this.$=a[u-8],r.updateLinkInterpolate(a[u-6],a[u-2]),r.updateLink(a[u-6],a[u]);break;case 123:case 124:this.$=a[u-6],r.updateLinkInterpolate(a[u-4],a[u]);break;case 126:this.$=[a[u]];break;case 127:a[u-2].push(a[u]),this.$=a[u-2];break;case 129:this.$=a[u-1]+a[u]}},table:[{3:1,4:2,9:n,10:r,12:i},{1:[3]},e(a,o,{5:6}),{4:7,9:n,10:r,12:i},{4:8,9:n,10:r,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:s,10:c,11:l,13:d,18:h,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,44:30,45:32,46:_,71:p,72:m,73:y,74:g,75:v,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(a,[2,9]),e(a,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(S,[2,3]),e(S,[2,4]),e(S,[2,5]),e(S,[2,6]),e(S,[2,7]),e(S,[2,8]),{8:F,9:C,11:j,24:51},{8:F,9:C,11:j,24:55},{8:F,9:C,11:j,24:56},{8:F,9:C,11:j,24:57},{8:F,9:C,11:j,24:58},{8:F,9:C,11:j,24:59},{8:F,9:C,10:H,11:j,12:O,13:P,15:N,16:B,17:I,18:R,24:61,30:W,31:60,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(nt,[2,55],{45:32,21:113,44:114,10:rt,13:d,15:[1,112],18:h,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(at,[2,154]),e(at,[2,155]),e(at,[2,156]),e(at,[2,157]),e(at,[2,158]),e(at,[2,159]),e(at,[2,160]),e(at,[2,161]),e(at,[2,162]),e(at,[2,163]),e(at,[2,164]),{8:ot,9:ut,10:rt,14:116,21:119},{8:ot,9:ut,10:rt,14:120,21:119},{8:ot,9:ut,10:rt,14:121,21:119},{8:ot,9:ut,10:rt,14:122,21:119},{8:ot,9:ut,10:rt,14:123,21:119},e(S,[2,30]),e(S,[2,38]),e(S,[2,39]),e(S,[2,40]),e(S,[2,31]),e(S,[2,32]),e(S,[2,33]),e(S,[2,34]),e(S,[2,35]),{8:F,9:C,10:H,11:j,12:O,13:P,15:N,16:B,17:I,18:R,24:124,30:W,32:z,45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(st,o,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:d,18:h,33:127,35:29,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:131,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:132,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:133,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(dt,[2,79]),e(dt,[2,80]),e(dt,[2,81]),e(dt,[2,82]),e(dt,[2,83]),e(dt,[2,84]),e(dt,[2,85]),e(dt,[2,86]),e(dt,[2,87]),e(dt,[2,88]),e(dt,[2,89]),e(dt,[2,90]),{13:d,18:h,35:134,44:30,45:32,46:_,80:[1,135],81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{78:[1,136],81:[1,137]},{13:d,18:h,35:139,44:30,45:32,46:_,78:[1,138],81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:140,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:141,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:142,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:144,32:z,38:[1,143],45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:145,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:146,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:147,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,56]),e(it,[2,58]),e(nt,[2,29],{21:148,10:rt}),e(a,[2,11]),e(a,[2,21]),e(a,[2,22]),{9:[1,149]},e(a,[2,12]),e(a,[2,13]),e(a,[2,14]),e(a,[2,15]),e(st,o,{5:150}),e(ct,[2,93]),{6:10,7:11,8:u,9:s,10:c,11:l,13:d,18:h,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,151],33:23,35:29,44:30,45:32,46:_,71:p,72:m,73:y,74:g,75:v,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:154,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,60:$,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,167],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,173],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:[1,174],13:d,18:h,44:114,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,37:[1,175],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,31:176,32:z,45:71,46:q,50:U,60:$,66:62,67:V,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,39:[1,177],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,41:[1,178],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,43:[1,179],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,37:[1,180],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,28]),e(a,[2,23]),{6:10,7:11,8:u,9:s,10:c,11:l,13:d,18:h,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,181],33:23,35:29,44:30,45:32,46:_,71:p,72:m,73:y,74:g,75:v,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(S,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,45:71,46:q,50:U,60:$,65:[1,182],66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:ht,46:ft,71:_t,79:183,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:197,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:198,80:pt,81:mt,82:[1,199],84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:200,80:pt,81:mt,82:[1,201],84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:202,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:203,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{13:d,18:h,35:204,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:205,44:30,45:32,46:_,67:[1,206],81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,43],{21:207,10:rt}),{10:H,12:O,13:P,15:N,16:B,17:I,18:R,30:W,32:z,39:[1,208],45:71,46:q,50:U,60:$,66:125,70:74,71:G,72:J,73:Z,74:K,75:X,77:64,78:Q,81:M,84:tt,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},e(nt,[2,49],{21:209,10:rt}),e(nt,[2,47],{21:210,10:rt}),e(nt,[2,51],{21:211,10:rt}),e(nt,[2,53],{21:212,10:rt}),e(S,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:kt}),e(wt,[2,126],{87:214,10:ht,46:ft,71:_t,80:pt,81:mt,84:yt,88:gt,89:vt,90:Mt,91:bt,92:Lt}),e(Dt,[2,128]),e(Dt,[2,130]),e(Dt,[2,131]),e(Dt,[2,132]),e(Dt,[2,133]),e(Dt,[2,134]),e(Dt,[2,135]),e(Dt,[2,136]),e(Dt,[2,137]),e(Dt,[2,138]),e(Dt,[2,139]),e(Dt,[2,140]),e(et,[2,118],{86:kt}),e(et,[2,119],{86:kt}),{10:[1,215]},e(et,[2,120],{86:kt}),{10:[1,216]},e(et,[2,110],{86:kt}),e(et,[2,111],{86:kt}),e(et,[2,112],{45:32,44:114,13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,113],{45:32,44:114,10:[1,217],13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,115],{10:[1,218]}),e(nt,[2,44]),{39:[1,219]},e(nt,[2,50]),e(nt,[2,48]),e(nt,[2,52]),e(nt,[2,54]),{10:ht,46:ft,71:_t,80:pt,81:mt,84:yt,85:220,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},e(Dt,[2,129]),{13:d,18:h,35:221,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{13:d,18:h,35:222,44:30,45:32,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E},{67:[1,223]},{67:[1,224]},e(nt,[2,45],{21:225,10:rt}),e(wt,[2,127],{87:214,10:ht,46:ft,71:_t,80:pt,81:mt,84:yt,88:gt,89:vt,90:Mt,91:bt,92:Lt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,124],{45:32,44:114,10:[1,227],13:d,18:h,46:_,81:M,86:b,88:L,89:k,91:w,92:D,94:x,95:Y,96:T,97:A,98:E}),e(et,[2,114]),e(et,[2,116]),e(nt,[2,46]),{10:ht,46:ft,71:_t,79:228,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},{10:ht,46:ft,71:_t,79:229,80:pt,81:mt,84:yt,85:184,87:185,88:gt,89:vt,90:Mt,91:bt,92:Lt},e(et,[2,121],{86:kt}),e(et,[2,122],{86:kt})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},Yt=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=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:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[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])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}}}();return xt.lexer=Yt,t.prototype=xt,xt.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,5],r=[1,6],i=[1,12],a=[1,13],o=[1,14],u=[1,15],s=[1,16],c=[1,17],l=[1,18],d=[1,19],h=[1,20],f=[1,21],_=[1,22],p=[8,16,17,18,19,20,21,22,23,24,25,26],m=[1,37],y=[1,33],g=[1,34],v=[1,35],M=[1,36],b=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],L=[10,28],k=[10,28,37,57,58],w=[2,49],D=[1,45],x=[1,48],Y=[1,49],T=[1,52],A=[2,65],E=[1,65],S=[1,66],F=[1,67],C=[1,68],j=[1,69],H=[1,70],O=[1,71],P=[1,72],N=[1,73],B=[8,16,17,18,19,20,21,22,23,24,25,26,47],I=[10,28,37],R={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:this.$=a[u-1];break;case 2:this.$=a[u-4];break;case 3:this.$=a[u-5];break;case 4:this.$=a[u-3];break;case 8:case 10:case 11:this.$=a[u];break;case 9:this.$=a[u-1]+""+a[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=a[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:r.addLink(a[u-1],a[u].id,a[u].op),this.$="oy";break;case 42:r.addLink(a[u-1],a[u].id,a[u].op),this.$={op:a[u-2],id:a[u-1]};break;case 44:this.$={op:a[u-1],id:a[u]};break;case 48:r.addVertex(a[u-1]),this.$=a[u-1];break;case 49:r.addVertex(a[u]),this.$=a[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:n,13:r},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{6:23,12:n,13:r},e(p,[2,5]),e(p,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:m,9:25,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_}),e(b,[2,8]),e(b,[2,10]),e(b,[2,11]),e(b,[2,12]),e(b,[2,13]),e(b,[2,14]),e(b,[2,15]),e(b,[2,16]),e(b,[2,17]),e(b,[2,18]),e(b,[2,19]),e(b,[2,20]),{7:39,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{7:30,8:m,9:40,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{10:[1,41]},{10:[2,21],28:[1,42]},e(L,[2,23]),e(L,[2,24]),e(L,[2,25]),e(k,w,{44:44,32:[1,43],45:D}),e(L,[2,27],{41:46,43:47,57:x,58:Y}),e(L,[2,47],{43:47,34:50,41:51,37:T,57:x,58:Y}),{34:53,37:T},{34:54,37:T},{34:55,37:T},{7:56,8:[1,57],14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{7:30,8:m,9:58,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},e(b,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:m,9:61,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{7:62,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},e(k,[2,48]),e(k,A,{14:10,15:11,7:63,46:64,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,48:E,49:S,50:F,51:C,52:j,53:H,54:O,55:P,56:N}),e(L,[2,41],{34:74,37:T}),{7:77,8:m,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,33:76,42:75,47:M},e(B,[2,66]),e(B,[2,67]),e(L,[2,46]),e(L,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,38:79,39:[1,80]},e(L,[2,28]),e(L,[2,29]),e(L,[2,30]),{8:[1,82]},{7:30,8:m,9:83,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{10:[1,84]},{7:30,8:m,9:85,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{5:[2,2]},{10:[2,22]},e(L,[2,26]),e(k,[2,51],{45:[1,86]}),e(k,[2,52]),e(k,[2,56]),e(k,[2,57]),e(k,[2,58]),e(k,[2,59]),e(k,[2,60]),e(k,[2,61]),e(k,[2,62]),e(k,[2,63]),e(k,[2,64]),e(L,[2,38]),e(I,[2,44],{43:47,41:87,57:x,58:Y}),e(I,[2,45],{43:47,41:88,57:x,58:Y}),e(k,w,{44:44,45:D}),e(L,[2,39]),{39:[1,89]},e(L,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:m,9:92,12:y,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,27:26,29:27,30:28,31:29,33:31,35:g,36:v,42:32,47:M},{10:[1,93]},e(k,[2,55]),{10:[1,94]},e(k,A,{46:95,48:E,49:S,50:F,51:C,52:j,53:H,54:O,55:P,56:N}),e(I,[2,42]),e(I,[2,43]),e(L,[2,33],{34:96,37:T}),e(L,[2,32]),{7:97,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_},{10:[1,98]},e(k,[2,54]),{5:[2,3]},e(k,[2,50]),e(L,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(k,[2,53]),{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,38:101},{7:81,14:10,15:11,16:i,17:a,18:o,19:u,20:s,21:c,22:l,23:d,24:h,25:f,26:_,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},W=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=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"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:case 11:case 12:case 13:case 14:case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\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)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}}}();return R.lexer=W,t.prototype=R,R.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){function r(t,e,n,r){return i(t,String(e),n||u,r||function(e){return t.outEdges(e)})}function i(t,e,n,r){var i,a,u={},s=new o,c=function(t){var e=t.v!==i?t.v:t.w,r=u[e],o=n(t),c=a.distance+o;if(o<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+o);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;u[t]={distance:n},s.add(t,n)});s.size()>0&&(i=s.removeMin(),a=u[i],a.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var a=n(5),o=n(28);t.exports=r;var u=a.constant(1)},function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=n(5);t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(t){return t.key})},r.prototype.has=function(t){return i.has(this._keyIndices,t)},r.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!i.has(n,t)){var r=this._arr,a=r.length;return n[t]=a,r.push({key:t,priority:e}),this._decrease(a),!0}return!1},r.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},r.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)},r.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},r.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&(e=t>>1,!(n[e].priority<r));)this._swap(t,e),t=e},r.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){function r(t){function e(u){var s=a[u]={onStack:!0,lowlink:n,index:n++};if(r.push(u),t.successors(u).forEach(function(t){i.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(e(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do{c=r.pop(),a[c].onStack=!1,l.push(c)}while(u!==c);o.push(l)}}var n=0,r=[],a={},o=[];return t.nodes().forEach(function(t){i.has(a,t)||e(t)}),o}var i=n(5);t.exports=r},function(t,e,n){function r(t){function e(u){if(a.has(r,u))throw new i;a.has(n,u)||(r[u]=!0,n[u]=!0,a.each(t.predecessors(u),e),delete r[u],o.push(u))}var n={},r={},o=[];if(a.each(t.sinks(),e),a.size(n)!==t.nodeCount())throw new i;return o}function i(){}var a=n(5);t.exports=r,r.CycleException=i},function(t,e,n){function r(t,e,n){a.isArray(e)||(e=[e]);var r=(t.isDirected()?t.successors:t.neighbors).bind(t),o=[],u={};return a.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,u,r,o)}),o}function i(t,e,n,r,o,u){a.has(r,e)||(r[e]=!0,n||u.push(e),a.each(o(e),function(e){i(t,e,n,r,o,u)}),n&&u.push(e))}var a=n(5);t.exports=r},function(t,e,n){const r=n(33);t.exports=r},function(t,e,n){t.exports={graphlib:n(8),layout:n(202),debug:n(225),util:{time:n(3).time,notime:n(3).notime},version:n(226)}},function(t,e,n){function r(t,e,n,r){return i(t,String(e),n||u,r||function(e){return t.outEdges(e)})}function i(t,e,n,r){var i,a,u={},s=new o,c=function(t){var e=t.v!==i?t.v:t.w,r=u[e],o=n(t),c=a.distance+o;if(o<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+o);c<r.distance&&(r.distance=c,r.predecessor=i,s.decrease(e,c))};for(t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;u[t]={distance:n},s.add(t,n)});s.size()>0&&(i=s.removeMin(),a=u[i],a.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return u}var a=n(6),o=n(35);t.exports=r;var u=a.constant(1)},function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=n(6);t.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(t){return t.key})},r.prototype.has=function(t){return i.has(this._keyIndices,t)},r.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!i.has(n,t)){var r=this._arr,a=r.length;return n[t]=a,r.push({key:t,priority:e}),this._decrease(a),!0}return!1},r.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},r.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)},r.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},r.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&(e=t>>1,!(n[e].priority<r));)this._swap(t,e),t=e},r.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){function r(t){function e(u){var s=a[u]={onStack:!0,lowlink:n,index:n++};if(r.push(u),t.successors(u).forEach(function(t){i.has(a,t)?a[t].onStack&&(s.lowlink=Math.min(s.lowlink,a[t].index)):(e(t),s.lowlink=Math.min(s.lowlink,a[t].lowlink))}),s.lowlink===s.index){var c,l=[];do{c=r.pop(),a[c].onStack=!1,l.push(c)}while(u!==c);o.push(l)}}var n=0,r=[],a={},o=[];return t.nodes().forEach(function(t){i.has(a,t)||e(t)}),o}var i=n(6);t.exports=r},function(t,e,n){function r(t){function e(u){if(a.has(r,u))throw new i;a.has(n,u)||(r[u]=!0,n[u]=!0,a.each(t.predecessors(u),e),delete r[u],o.push(u))}var n={},r={},o=[];if(a.each(t.sinks(),e),a.size(n)!==t.nodeCount())throw new i;return o}function i(){}var a=n(6);t.exports=r,r.CycleException=i},function(t,e,n){function r(t,e,n){a.isArray(e)||(e=[e]);var r=[],o={};return a.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,o,r)}),r}function i(t,e,n,r,o){a.has(r,e)||(r[e]=!0,n||o.push(e),a.each(t.neighbors(e),function(e){i(t,e,n,r,o)}),n&&o.push(e))}var a=n(6);t.exports=r},function(t,e,n){"use strict";function r(t){var e=new s({directed:!1}),n=t.nodes()[0],r=t.nodeCount();e.setNode(n,{});for(var u,l;i(e,t)<r;)u=a(e,t),l=e.hasNode(u.v)?c(t,u):-c(t,u),o(e,t,l);return e}function i(t,e){function n(r){u.each(e.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;t.hasNode(o)||c(e,i)||(t.setNode(o,{}),t.setEdge(r,o,{}),n(o))})}return u.each(t.nodes(),n),t.nodeCount()}function a(t,e){return u.min(e.edges(),function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return c(e,n)})}function o(t,e,n){u.each(t.nodes(),function(t){e.node(t).rank+=n})}var u=n(1),s=n(8).Graph,c=n(17).slack;t.exports=r},function(t,e){function n(t,e){return t.intersect(e)}t.exports=n},function(t,e,n){function r(t,e,n){return i(t,e,e,n)}var i=n(20);t.exports=r},function(t,e,n){function r(t,e,n){var r=t.x,a=t.y,o=[],u=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;e.forEach(function(t){u=Math.min(u,t.x),s=Math.min(s,t.y)});for(var c=r-t.width/2-u,l=a-t.height/2-s,d=0;d<e.length;d++){var h=e[d],f=e[d<e.length-1?d+1:0],_=i(t,n,{x:c+h.x,y:l+h.y},{x:c+f.x,y:l+f.y});_&&o.push(_)}return o.length?(o.length>1&&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,u=e.y-n.y,s=Math.sqrt(o*o+u*u);return a<s?-1:a===s?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}var i=n(228);t.exports=r},function(t,e){function n(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,u=e.y-a,s=t.width/2,c=t.height/2;return Math.abs(u)*s>Math.abs(o)*c?(u<0&&(c=-c),n=0===u?0:c*o/u,r=c):(o<0&&(s=-s),n=s,r=0===o?0:s*u/o),{x:i+n,y:a+r}}t.exports=n},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,2],r=[1,3],i=[1,4],a=[2,4],o=[1,9],u=[1,11],s=[1,12],c=[1,14],l=[1,15],d=[1,17],h=[1,18],f=[1,19],_=[1,20],p=[1,21],m=[1,23],y=[1,24],g=[1,4,5,10,15,16,18,20,21,22,23,24,25,27,28,39],v=[1,32],M=[4,5,10,15,16,18,20,21,22,23,25,28,39],b=[4,5,10,15,16,18,20,21,22,23,25,27,28,39],L=[37,38,39],k={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else:24,par:25,par_sections:26,and:27,note:28,placement:29,over:30,actor_pair:31,spaceList:32,",":33,left_of:34,right_of:35,signaltype:36,"+":37,"-":38,ACTOR:39,SOLID_OPEN_ARROW:40,DOTTED_OPEN_ARROW:41,SOLID_ARROW:42,DOTTED_ARROW:43,SOLID_CROSS:44,DOTTED_CROSS:45,TXT:46,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"par",27:"and",28:"note",30:"over",33:",",34:"left_of",35:"right_of",37:"+",38:"-",39:"ACTOR",40:"SOLID_OPEN_ARROW",41:"DOTTED_OPEN_ARROW",42:"SOLID_ARROW",43:"DOTTED_ARROW",44:"SOLID_CROSS",45:"DOTTED_CROSS",46:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[9,4],[26,1],[26,4],[17,4],[17,4],[32,2],[32,1],[31,3],[31,1],[29,1],[29,1],[14,5],[14,5],[14,4],[11,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 3:return r.apply(a[u]),a[u];case 4:this.$=[];break;case 5:a[u-1].push(a[u]),this.$=a[u-1];break;case 6:case 7:this.$=a[u];break;case 8:this.$=[];break;case 9:a[u-3].description=a[u-1],this.$=a[u-3];break;case 10:this.$=a[u-1];break;case 12:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]};break;case 13:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-1]};break;case 15:this.$=[{type:"setTitle",text:a[u-1]}];break;case 16:a[u-1].unshift({type:"loopStart",loopText:a[u-2],signalType:r.LINETYPE.LOOP_START}),a[u-1].push({type:"loopEnd",loopText:a[u-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[u-1];break;case 17:a[u-1].unshift({type:"optStart",optText:a[u-2],signalType:r.LINETYPE.OPT_START}),a[u-1].push({type:"optEnd",optText:a[u-2],signalType:r.LINETYPE.OPT_END}),this.$=a[u-1];break;case 18:a[u-4].unshift({type:"altStart",altText:a[u-5],signalType:r.LINETYPE.ALT_START}),a[u-4].push({type:"else",altText:a[u-2],signalType:r.LINETYPE.ALT_ELSE}),a[u-4]=a[u-4].concat(a[u-1]),a[u-4].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[u-4];break;case 19:a[u-1].unshift({type:"parStart",parText:a[u-2],signalType:r.LINETYPE.PAR_START}),a[u-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[u-1];break;case 21:this.$=a[u-3].concat([{type:"and",parText:a[u-1],signalType:r.LINETYPE.PAR_AND},a[u]]);break;case 22:this.$=[a[u-1],{type:"addNote",placement:a[u-2],actor:a[u-1].actor,text:a[u]}];break;case 23:a[u-2]=[].concat(a[u-1],a[u-1]).slice(0,2),a[u-2][0]=a[u-2][0].actor,a[u-2][1]=a[u-2][1].actor,this.$=[a[u-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[u-2].slice(0,2),text:a[u]}];break;case 26:this.$=[a[u-2],a[u]];break;case 27:this.$=a[u];break;case 28:this.$=r.PLACEMENT.LEFTOF;break;case 29:this.$=r.PLACEMENT.RIGHTOF;break;case 30:this.$=[a[u-4],a[u-1],{type:"addMessage",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[u-1]}];break;case 31:this.$=[a[u-4],a[u-1],{type:"addMessage",from:a[u-4].actor,to:a[u-1].actor,signalType:a[u-3],msg:a[u]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[u-4]}];break;case 32:this.$=[a[u-3],a[u-1],{type:"addMessage",from:a[u-3].actor,to:a[u-1].actor,signalType:a[u-2],msg:a[u]}];break;case 33:this.$={type:"addActor",actor:a[u]};break;case 34:this.$=r.LINETYPE.SOLID_OPEN;break;case 35:this.$=r.LINETYPE.DOTTED_OPEN;break;case 36:this.$=r.LINETYPE.SOLID;break;case 37:this.$=r.LINETYPE.DOTTED;break;case 38:this.$=r.LINETYPE.SOLID_CROSS;break;case 39:this.$=r.LINETYPE.DOTTED_CROSS;break;case 40:this.$=a[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:n,5:r,6:i},{1:[3]},{3:5,4:n,5:r,6:i},{3:6,4:n,5:r,6:i},e([1,4,5,10,15,16,18,20,22,23,25,28,39],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,22:f,23:_,25:p,28:m,39:y},e(g,[2,5]),{9:25,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,22:f,23:_,25:p,28:m,39:y},e(g,[2,7]),e(g,[2,8]),{11:26,39:y},{5:[1,27]},{11:28,39:y},{11:29,39:y},{5:[1,30]},{19:31,46:v},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{36:37,40:[1,38],41:[1,39],42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{29:44,30:[1,45],34:[1,46],35:[1,47]},e([5,12,33,40,41,42,43,44,45,46],[2,33]),e(g,[2,6]),{5:[1,49],12:[1,48]},e(g,[2,11]),{5:[1,50]},{5:[1,51]},e(g,[2,14]),{5:[1,52]},{5:[2,40]},e(M,a,{7:53}),e(M,a,{7:54}),e([4,5,10,15,16,18,20,22,23,24,25,28,39],a,{7:55}),e(b,a,{26:56,7:57}),{11:60,37:[1,58],38:[1,59],39:y},e(L,[2,34]),e(L,[2,35]),e(L,[2,36]),e(L,[2,37]),e(L,[2,38]),e(L,[2,39]),{11:61,39:y},{11:63,31:62,39:y},{39:[2,28]},{39:[2,29]},{13:[1,64]},e(g,[2,10]),e(g,[2,12]),e(g,[2,13]),e(g,[2,15]),{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[1,65],22:f,23:_,25:p,28:m,39:y},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[1,66],22:f,23:_,25:p,28:m,39:y},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,22:f,23:_,24:[1,67],25:p,28:m,39:y},{21:[1,68]},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[2,20],22:f,23:_,25:p,27:[1,69],28:m,39:y},{11:70,39:y},{11:71,39:y},{19:72,46:v},{19:73,46:v},{19:74,46:v},{33:[1,75],46:[2,27]},{5:[1,76]},e(g,[2,16]),e(g,[2,17]),{13:[1,77]},e(g,[2,19]),{13:[1,78]},{19:79,46:v},{19:80,46:v},{5:[2,32]},{5:[2,22]},{5:[2,23]},{11:81,39:y},e(g,[2,9]),e(M,a,{7:82}),e(b,a,{7:57,26:83}),{5:[2,30]},{5:[2,31]},{46:[2,26]},{4:o,5:u,8:8,9:10,10:s,11:22,14:13,15:c,16:l,17:16,18:d,20:h,21:[1,84],22:f,23:_,25:p,28:m,39:y},{21:[2,21]},e(g,[2,18])],defaultActions:{5:[2,1],6:[2,2],32:[2,40],46:[2,28],47:[2,29],72:[2,32],73:[2,22],74:[2,23],79:[2,30],80:[2,31],81:[2,26],83:[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=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},w=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),39;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 34;case 18:return 35;case 19:return 30;case 20:return 28;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 33;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),39;case 28:return 42;case 29:return 43;case 30:return 40;case 31:return 41;case 32:return 44;case 33:return 45;case 34:return 46;case 35:return 37;case 36:return 38;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\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,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}}}();return k.lexer=w,t.prototype=k,k.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t){var r={},i=[],a=[],o="",u=n(2),s=u.Log;e.addActor=function(t,e,n){var i=r[t];i&&e===i.name&&null==n||(null==n&&(n=e),r[t]={name:e,description:n})},e.addMessage=function(t,e,n,r){i.push({from:t,to:e,message:n,answer:r})},e.addSignal=function(t,e,n,r){s.debug("Adding message from="+t+" to="+e+" message="+n+" type="+r),i.push({from:t,to:e,message:n,type:r})},e.getMessages=function(){return i},e.getActors=function(){return r},e.getActor=function(t){return r[t]},e.getActorKeys=function(){return Object.keys(r)},e.getTitle=function(){return o},e.clear=function(){r={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,n,r){var o={actor:t,placement:n,message:r},u=[].concat(t,t);a.push(o),i.push({from:u[0],to:u[1],message:r,type:e.LINETYPE.NOTE,placement:n})},e.setTitle=function(t){o=t},e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case"addActor":e.addActor(t.actor,t.actor,t.description);break;case"activeStart":case"activeEnd":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":e.addNote(t.actor,t.placement,t.text);break;case"addMessage":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":case"else":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":e.setTitle(t.text);break;case"parStart":case"and":e.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":e.addSignal(void 0,void 0,void 0,t.signalType)}}}).call(e,n(9))},function(t,e,n){(function(t){var r=n(2),i=r.Log,a="",o=!1;e.setMessage=function(t){i.debug("Setting message to: "+t),a=t},e.getMessage=function(){return a},e.setInfo=function(t){o=t},e.getInfo=function(){return o},e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)}}).call(e,n(9))},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[6,9,10,12],r={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:return r;case 4:break;case 6:r.setInfo(!0);break;case 7:r.setMessage(a[u]);break;case 8:this.$=a[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),{13:[1,11]},e(n,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},i=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}}}();return r.lexer=i,t.prototype=r,r.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[6,8,10,11,12,13,14],r=[1,9],i=[1,10],a=[1,11],o=[1,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 1:return a[u-1];case 2:this.$=[];break;case 3:a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 5:this.$=a[u];break;case 6:case 7:this.$=[];break;case 8:r.setDateFormat(a[u].substr(11)),this.$=a[u].substr(11);break;case 9:r.setTitle(a[u].substr(6)),this.$=a[u].substr(6);break;case 10:r.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 11:r.addTask(a[u-1],a[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:i,13:a,14:o},e(n,[2,7],{1:[2,1]}),e(n,[2,3]),{9:13,11:r,12:i,13:a,14:o},e(n,[2,5]),e(n,[2,6]),e(n,[2,8]),e(n,[2,9]),e(n,[2,10]),{15:[1,14]},e(n,[2,4]),e(n,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},s=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\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:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}}}();return u.lexer=s,t.prototype=u,u.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){(function(t){var r=n(0),i=n(2),a=i.Log,o="",u="",s=[],c=[],l="";e.clear=function(){s=[],c=[],l="",u="",p=0,d=void 0,h=void 0,v=[]},e.setDateFormat=function(t){o=t},e.getDateFormat=function(){return o},e.setTitle=function(t){u=t},e.getTitle=function(){return u},e.addSection=function(t){l=t,s.push(t)},e.getTasks=function(){for(var t=b(),e=0;!t&&e<10;)t=b(),e++;return c=v};var d,h,f=function(t,n,i){i=i.trim();var o=/^after\s+([\d\w-]+)/,u=o.exec(i.trim());if(null!==u){var s=e.findTaskById(u[1]);if(void 0===s){var c=new Date;return c.setHours(0,0,0,0),c}return s.endTime}return r(i,n.trim(),!0).isValid()?r(i,n.trim(),!0).toDate():(a.debug("Invalid date:"+i),a.debug("With date format:"+n.trim()),new Date)},_=function(t,e,n){if(n=n.trim(),r(n,e.trim(),!0).isValid())return r(n,e.trim()).toDate();var i=r(t),a=/^([\d]+)([wdhms])/,o=a.exec(n.trim());if(null!==o){switch(o[2]){case"s":i.add(o[1],"seconds");break;case"m":i.add(o[1],"minutes");break;case"h":i.add(o[1],"hours");break;case"d":i.add(o[1],"days");break;case"w":i.add(o[1],"weeks")}return i.toDate()}return i.toDate()},p=0,m=function(t){return void 0===t?"task"+(p+=1):t},y=function(t,n){var r;r=":"===n.substr(0,1)?n.substr(1,n.length):n;for(var i=r.split(","),a={},o=e.getDateFormat(),u=!0;u;)u=!1,i[0].match(/^\s*active\s*$/)&&(a.active=!0,i.shift(1),u=!0),i[0].match(/^\s*done\s*$/)&&(a.done=!0,i.shift(1),u=!0),i[0].match(/^\s*crit\s*$/)&&(a.crit=!0,i.shift(1),u=!0);var s;for(s=0;s<i.length;s++)i[s]=i[s].trim();switch(i.length){case 1:a.id=m(),a.startTime=t.endTime,a.endTime=_(a.startTime,o,i[0]);break;case 2:a.id=m(),a.startTime=f(0,o,i[0]),a.endTime=_(a.startTime,o,i[1]);break;case 3:a.id=m(i[0]),a.startTime=f(0,o,i[1]),a.endTime=_(a.startTime,o,i[2])}return a},g=function(t,e){var n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var r=n.split(","),i={},a=!0;a;)a=!1,r[0].match(/^\s*active\s*$/)&&(i.active=!0,r.shift(1),a=!0),r[0].match(/^\s*done\s*$/)&&(i.done=!0,r.shift(1),a=!0),r[0].match(/^\s*crit\s*$/)&&(i.crit=!0,r.shift(1),a=!0);var o;for(o=0;o<r.length;o++)r[o]=r[o].trim();switch(r.length){case 1:i.id=m(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:r[0]};break;case 2:i.id=m(),i.startTime={type:"getStartDate",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=m(r[0]),i.startTime={type:"getStartDate",startData:r[1]},i.endTime={data:r[2]}}return i},v=[],M={};e.addTask=function(t,e){var n={section:l,type:l,processed:!1,raw:{data:e},task:t},r=g(h,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=h,n.active=r.active,n.done=r.done,n.crit=r.crit;var i=v.push(n);h=n.id,M[n.id]=i-1},e.findTaskById=function(t){var e=M[t];return v[e]},e.addTaskOrg=function(t,e){var n={section:l,type:l,description:t,task:t},r=y(d,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,d=n,c.push(n)};var b=function(){var t,n=e.getDateFormat(),r=!0;for(t=0;t<v.length;t++)!function(t){var r=v[t],i="";switch(v[t].raw.startTime.type){case"prevTaskEnd":var a=e.findTaskById(r.prevTaskId);r.startTime=a.endTime;break;case"getStartDate":i=f(0,n,v[t].raw.startTime.startData),i&&(v[t].startTime=i)}v[t].startTime&&(v[t].endTime=_(v[t].startTime,n,v[t].raw.endTime.data),v[t].endTime&&(v[t].processed=!0)),v[t].processed}(t),r=r&&v[t].processed;return r};e.parseError=function(e,n){t.mermaidAPI.parseError(e,n)}}).call(e,n(9))},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(t){return function(e,n,a,o){var u=r(e),s=i[t][r(e)];return 2===u&&(s=s[n?0:1]),s.replace(/%d/i,e)}},o=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];return t.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(t){return t.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(t){return function(e,i,a,o){var u=n(e),s=r[t][n(e)];return 2===u&&(s=s[i?0:1]),s.replace(/%d/i,e)}},a=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return t.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,r=t%100-n,i=t>=100?100:null;return t+(e[n]||e[r]||e[i])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,r){var i={mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===r?n?"хвіліна":"хвіліну":"h"===r?n?"гадзіна":"гадзіну":t+" "+e(i[r],+t)}return t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return t+" "+i({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}function n(t){switch(r(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}function r(t){return t>9?r(t%10):t}function i(t,e){return 2===e?a(t):t}function a(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}return t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:n},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){return t+(1===t?"añ":"vet")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"[el] D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"[el] D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"[el] dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5&&1!=~~(t/10)}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"pár sekund":"pár sekundami";case"m":return n?"minuta":i?"minutu":"minutou";case"mm":return n||i?a+(e(t)?"minuty":"minut"):a+"minutami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?a+(e(t)?"hodiny":"hodin"):a+"hodinami";case"d":return n||i?"den":"dnem";case"dd":return n||i?a+(e(t)?"dny":"dní"):a+"dny";case"M":return n||i?"měsíc":"měsícem";case"MM":return n||i?a+(e(t)?"měsíce":"měsíců"):a+"měsíci";case"y":return n||i?"rok":"rokem";case"yy":return n||i?a+(e(t)?"roky":"let"):a+"lety"}}var r="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),i="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");return t.defineLocale("cs",{months:r,monthsShort:i,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(r,i),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(i),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(r),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){return t+(/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="",r=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=r[e]),t+n},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}return t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}return t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}return t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];return t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}return t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,n){var r=this._calendarEl[t],i=n&&n.hours();return e(r)&&(r=r.apply(n)),r.replace("{}",i%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few 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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few 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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few 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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few 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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few 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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?i[n][2]?i[n][2]:i[n][1]:r?i[n][0]:i[n][1]}return t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,r,i){var a="";switch(r){case"s":return i?"muutaman sekunnin":"muutama sekunti";case"m":return i?"minuutin":"minuutti";case"mm":a=i?"minuutin":"minuuttia";break;case"h":return i?"tunnin":"tunti";case"hh":a=i?"tunnin":"tuntia";break;case"d":return i?"päivän":"päivä";case"dd":a=i?"päivän":"päivää";break;case"M":return i?"kuukauden":"kuukausi";case"MM":a=i?"kuukauden":"kuukautta";break;case"y":return i?"vuoden":"vuosi";case"yy":a=i?"vuoden":"vuotta"}return a=n(t,i)+" "+a}function n(t,e){return t<10?e?i[t]:r[t]:t}var r="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),i=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",r[7],r[8],r[9]];return t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");return t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],n=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],r=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],i=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],a=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];return t.defineLocale("gd",{months:e,monthsShort:n,monthsParseExact:!0,weekdays:r,weekdaysShort:i,weekdaysMin:a,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){return t+(1===t?"d":t%10==2?"na":"mh")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={s:["thodde secondanim","thodde second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" hor"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?i[n][0]:i[n][1]}return t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}return t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i=t;switch(n){case"s":return r||e?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(r||e?" perc":" perce");case"mm":return i+(r||e?" perc":" perce");case"h":return"egy"+(r||e?" óra":" órája");case"hh":return i+(r||e?" óra":" órája");case"d":return"egy"+(r||e?" nap":" napja");case"dd":return i+(r||e?" nap":" napja");case"M":return"egy"+(r||e?" hónap":" hónapja");case"MM":return i+(r||e?" hónap":" hónapja");case"y":return"egy"+(r||e?" év":" éve");case"yy":return i+(r||e?" év":" éve")}return""}function n(t){return(t?"":"[múlt] ")+"["+r[this.day()]+"] LT[-kor]"}var r="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?a+(n||i?"mínútur":"mínútum"):n?a+"mínúta":a+"mínútu";case"hh":return e(t)?a+(n||i?"klukkustundir":"klukkustundum"):a+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?a+"dagar":a+(i?"daga":"dögum"):n?a+"dagur":a+(i?"dag":"degi");case"M":return n?"mánuður":i?"mánuð":"mánuði";case"MM":return e(t)?n?a+"mánuðir":a+(i?"mánuði":"mánuðum"):n?a+"mánuður":a+(i?"mánuð":"mánuði");case"y":return n||i?"ár":"ári";case"yy":return e(t)?a+(n||i?"ár":"árum"):a+(n||i?"ár":"ári")}}return t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(t)?t.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};return t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};return t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){return i(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t}function r(t){return i(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t}function i(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,n=t/10;return i(0===e?n:e)}if(t<1e4){for(;t>=10;)t/=10;return i(t)}return t/=1e3,i(t)}return t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:n,past:r,s:"e puer Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){return e?"kelios sekundės":r?"kelių sekundžių":"kelias sekundes"}function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return o[t].split("_")}function a(t,e,a,o){var u=t+" ";return 1===t?u+n(t,e,a[0],o):e?u+(r(t)?i(a)[1]:i(a)[0]):o?u+i(a)[1]:u+(r(t)?i(a)[1]:i(a)[2])}var o={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:e,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function n(t,n,r){return t+" "+e(a[r],t,n)}function r(t,n,r){return e(a[r],t,n)}function i(t,e){return e?"dažas sekundes":"dažām sekundēm"}var a={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};return t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:i,m:r,mm:n,h:r,hh:n,d:r,dd:n,M:r,MM:n,y:r,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};return t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i="";if(e)switch(n){case"s":i="काही सेकंद";break;case"m":i="एक मिनिट";break;case"mm":i="%d मिनिटे";break;case"h":i="एक तास";break;case"hh":i="%d तास";break;case"d":i="एक दिवस";break;case"dd":i="%d दिवस";break;case"M":i="एक महिना";break;case"MM":i="%d महिने";break;case"y":i="एक वर्ष";break;case"yy":i="%d वर्षे"}else switch(n){case"s":i="काही सेकंदां";break;case"m":i="एका मिनिटा";break;case"mm":i="%d मिनिटां";break;case"h":i="एका तासा";break;case"hh":i="%d तासां";break;case"d":i="एका दिवसा";break;case"dd":i="%d दिवसां";break;case"M":i="एका महिन्या";break;case"MM":i="%d महिन्यां";break;case"y":i="एका वर्षा";break;case"yy":i="%d वर्षां"}return i.replace(/%d/i,t)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},r={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return r[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return n[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};return t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;return t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};return t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function n(t,n,r){var i=t+" ";switch(r){case"m":return n?"minuta":"minutę";case"mm":return i+(e(t)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return i+(e(t)?"godziny":"godzin");case"MM":return i+(e(t)?"miesiące":"miesięcy");case"yy":return i+(e(t)?"lata":"lat")}}var r="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),i="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return t.defineLocale("pl",{months:function(t,e){return t?""===e?"("+i[t.month()]+"|"+r[t.month()]+")":/D MMMM/.test(e)?i[t.month()]:r[t.month()]:r},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n){var r={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},i=" ";return(t%100>=20||t>=100&&t%100==0)&&(i=" de "),t+i+r[n]}return t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,r){var i={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===r?n?"минута":"минуту":t+" "+e(i[r],+t)}var r=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];return t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];return t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){return t>1&&t<5}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"pár sekúnd":"pár sekundami";case"m":return n?"minúta":i?"minútu":"minútou";case"mm":return n||i?a+(e(t)?"minúty":"minút"):a+"minútami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?a+(e(t)?"hodiny":"hodín"):a+"hodinami";case"d":return n||i?"deň":"dňom";case"dd":return n||i?a+(e(t)?"dni":"dní"):a+"dňami";case"M":return n||i?"mesiac":"mesiacom";case"MM":return n||i?a+(e(t)?"mesiace":"mesiacov"):a+"mesiacmi";case"y":return n||i?"rok":"rokom";case"yy":return n||i?a+(e(t)?"roky":"rokov"):a+"rokmi"}}var r="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),i="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return t.defineLocale("sk",{months:r,monthsShort:i,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"m":return e?"ena minuta":"eno minuto";case"mm":return i+=1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return i+=1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami";case"d":return e||r?"en dan":"enim dnem";case"dd":return i+=1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi";case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+=1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci";case"y":return e||r?"eno leto":"enim letom";case"yy":return i+=1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti"}}return t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};return t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};return t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};return t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"}function n(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"}function r(t,e,n,r){var a=i(t);switch(n){case"mm":return a+" tup";case"hh":return a+" rep";case"dd":return a+" jaj";case"MM":return a+" jar";case"yy":return a+" DIS"}}function i(t){var e=Math.floor(t%1e3/100),n=Math.floor(t%100/10),r=t%10,i="";return e>0&&(i+=a[e]+"vatlh"),n>0&&(i+=(""!==i?" ":"")+a[n]+"maH"),r>0&&(i+=(""!==i?" ":"")+a[r]),""===i?"pagh":i}var a="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");return t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:e,past:n,s:"puS lup",m:"wa’ tup",mm:r,h:"wa’ rep",hh:r,d:"wa’ jaj",dd:r,M:"wa’ jar",MM:r,y:"wa’ DIS",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(t){if(0===t)return t+"'ıncı";var n=t%10,r=t%100-n,i=t>=100?100:null;return t+(e[n]||e[r]||e[i])},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}return t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";function e(t,e){var n=t.split("_");return e%10==1&&e%100!=11?n[0]:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?n[1]:n[2]}function n(t,n,r){var i={mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":t+" "+e(i[r],+t)}function r(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return t?n[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:n.nominative}function i(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}return t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:r,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:i("[Сьогодні "),nextDay:i("[Завтра "),lastDay:i("[Вчора "),nextWeek:i("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return i("[Минулої] dddd [").call(this);case 1:case 2:case 4:return i("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){!function(t,e){e(n(0))}(0,function(t){"use strict";return t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})})},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[1,11],r=[1,12],i=[1,13],a=[1,15],o=[1,16],u=[1,17],s=[6,8],c=[1,26],l=[1,27],d=[1,28],h=[1,29],f=[1,30],_=[1,31],p=[6,8,13,17,23,26,27,28,29,30,31],m=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],y=[23,45,46,47],g=[23,30,31,45,46,47],v=[23,26,27,28,29,45,46,47],M=[6,8,13],b=[1,46],L={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,n,r,i,a,o){var u=a.length-1;switch(i){case 5:this.$=a[u-1]+a[u];break;case 6:this.$=a[u];break;case 7:r.addRelation(a[u]);break;case 8:a[u-1].title=r.cleanupLabel(a[u]),r.addRelation(a[u-1]);break;case 12:r.addMembers(a[u-3],a[u-1]);break;case 13:this.$=[a[u]];break;case 14:a[u].push(a[u-1]),this.$=a[u];break;case 15:break;case 16:r.addMembers(a[u-1],r.cleanupLabel(a[u]));break;case 17:console.warn("Member",a[u]);break;case 18:break;case 19:this.$={id1:a[u-2],id2:a[u],relation:a[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:a[u-3],id2:a[u],relation:a[u-1],relationTitle1:a[u-2],relationTitle2:"none"};break;case 21:this.$={id1:a[u-3],id2:a[u],relation:a[u-2],relationTitle1:"none",relationTitle2:a[u-1]};break;case 22:this.$={id1:a[u-4],id2:a[u],relation:a[u-2],relationTitle1:a[u-3],relationTitle2:a[u-1]};break;case 23:this.$={type1:a[u-2],type2:a[u],lineType:a[u-1]};break;case 24:this.$={type1:"none",type2:a[u],lineType:a[u-1]};break;case 25:this.$={type1:a[u-1],type2:"none",lineType:a[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:a[u]};break;case 27:this.$=r.relationType.AGGREGATION;break;case 28:this.$=r.relationType.EXTENSION;break;case 29:this.$=r.relationType.COMPOSITION;break;case 30:this.$=r.relationType.DEPENDENCY;break;case 31:this.$=r.lineType.LINE;break;case 32:this.$=r.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:n,20:r,21:i,45:a,46:o,47:u},{8:[1,18]},{6:[1,19],8:[2,3]},e(s,[2,7],{13:[1,20]}),e(s,[2,9]),e(s,[2,10]),e(s,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:d,29:h,30:f,31:_}),{10:32,11:14,45:a,46:o,47:u},e(s,[2,17]),e(s,[2,18]),e(p,[2,6],{11:14,10:33,45:a,46:o,47:u}),e(m,[2,46]),e(m,[2,47]),e(m,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:n,20:r,21:i,45:a,46:o,47:u},e(s,[2,8]),{10:35,11:14,23:[1,36],45:a,46:o,47:u},{22:37,24:24,25:25,26:c,27:l,28:d,29:h,30:f,31:_},e(s,[2,16]),{25:38,30:f,31:_},e(y,[2,26],{24:39,26:c,27:l,28:d,29:h}),e(g,[2,27]),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),e(v,[2,31]),e(v,[2,32]),e(s,[2,11],{17:[1,40]}),e(p,[2,5]),{8:[2,4]},e(M,[2,19]),{10:41,11:14,45:a,46:o,47:u},{10:42,11:14,23:[1,43],45:a,46:o,47:u},e(y,[2,25],{24:44,26:c,27:l,28:d,29:h}),e(y,[2,24]),{18:45,20:b},e(M,[2,21]),e(M,[2,20]),{10:47,11:14,45:a,46:o,47:u},e(y,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:b},e(M,[2,22]),e(s,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var n=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},k=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=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:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[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:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}}}();return L.lexer=k,t.prototype=L,L.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){var r,i=n(2),a=i.Log,o=[];r={},e.addClass=function(t){void 0===r[t]&&(r[t]={id:t,methods:[],members:[]})},e.clear=function(){o=[],r={}},t.exports.getClass=function(t){return r[t]},t.exports.getClasses=function(){return r},t.exports.getRelations=function(){return o},e.addRelation=function(t){a.warn("Adding relation: "+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),o.push(t)},e.addMembers=function(t,e){var n=r[t];"string"==typeof e&&(")"===e.substr(-1)?n.methods.push(e):n.members.push(e))},e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},function(t,e,n){(function(t,r){var i=function(){function t(){this.yy={}}var e=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},n=[2,3],r=[1,7],i=[7,12,15,17,19,20,21],a=[7,11,12,15,17,19,20,21],o=[2,20],u=[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 u=a.length-1;switch(i){case 1:return a[u-1];case 2:return r.setDirection(a[u-3]),a[u-1];case 4:r.setOptions(a[u-1]),this.$=a[u];break;case 5:a[u-1]+=a[u],this.$=a[u-1];break;case 7:this.$=[];break;case 8:a[u-1].push(a[u]),this.$=a[u-1];break;case 9:this.$=a[u-1];break;case 11:r.commit(a[u]);break;case 12:r.branch(a[u]);break;case 13:r.checkout(a[u]);break;case 14:r.merge(a[u]);break;case 15:r.reset(a[u]);break;case 16:this.$="";break;case 17:this.$=a[u];break;case 18:this.$=a[u-1]+":"+a[u];break;case 19:this.$=a[u-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:n,9:6,12:r},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(a,[2,6]),{6:12,7:n,9:6,12:r},{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]},e(a,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[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]},e(i,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:o,25:31,26:u},{12:o,25:33,26:u},{12:[2,18]},{12:o,25:34,26:u},{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=function(t,e){this.message=t,this.hash=e};throw n.prototype=Error,new n(t,e)}this.trace(t)},parse:function(t){var e=this,n=[0],r=[null],i=[],a=this.table,o="",u=0,s=0,c=0,l=i.slice.call(arguments,1),d=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);d.setInput(t,h.yy),h.yy.lexer=d,h.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var _=d.yylloc;i.push(_);var p=d.options&&d.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,y,g,v,M,b,L,k,w,D={};;){if(g=n[n.length-1],this.defaultActions[g]?v=this.defaultActions[g]:(null!==m&&void 0!==m||(m=function(){var t;return t=d.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),v=a[g]&&a[g][m]),void 0===v||!v.length||!v[0]){var x="";w=[];for(b in a[g])this.terminals_[b]&&b>2&&w.push("'"+this.terminals_[b]+"'");x=d.showPosition?"Parse error on line "+(u+1)+":\n"+d.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:_,expected:w})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(v[0]){case 1:n.push(m),r.push(d.yytext),i.push(d.yylloc),n.push(v[1]),m=null,y?(m=y,y=null):(s=d.yyleng,o=d.yytext,u=d.yylineno,_=d.yylloc,c>0&&c--);break;case 2:if(L=this.productions_[v[1]][1],D.$=r[r.length-L],D._$={first_line:i[i.length-(L||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(L||1)].first_column,last_column:i[i.length-1].last_column},p&&(D._$.range=[i[i.length-(L||1)].range[0],i[i.length-1].range[1]]),void 0!==(M=this.performAction.apply(D,[o,s,u,h.yy,v[1],r,i].concat(l))))return M;L&&(n=n.slice(0,-1*L*2),r=r.slice(0,-1*L),i=i.slice(0,-1*L)),n.push(this.productions_[v[1]][0]),r.push(D.$),i.push(D._$),k=a[n[n.length-2]][n[n.length-1]],n.push(k);break;case 3:return!0}}return!0}},c=function(){return{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),r&&(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;this._input||(this.done=!0);var t,e,n,r;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,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_]+)/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}}}}();return s.lexer=c,t.prototype=s,s.Parser=t,new t}();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(12).readFileSync(n(13).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(e,n(11),n(4)(t))},function(t,e,n){function r(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="",e=0;e<7;e++)t+="0123456789abcdef"[r(0,16)];return t}function a(t,e){for(l.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return l.debug("In merge commit:",e.parent),a(t,h[e.parent[0]])||a(t,h[e.parent[1]]);e=h[e.parent]}return l.debug(t.id,e.id),t.id===e.id}function o(t,e){return t.seq>e.seq&&a(e,t)}function u(t,e,n){var r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}function s(t){var e=d.maxBy(t,"seq"),n="";t.forEach(function(t){n+=t===e?"\t*":"\t|"});var r=[n,e.id,e.seq];if(d.each(_,function(t,n){t===e.id&&r.push(n)}),l.debug(r.join(" ")),Array.isArray(e.parent)){var i=h[e.parent[0]];u(t,e,i),t.push(h[e.parent[1]])}else{if(null==e.parent)return;var a=h[e.parent];u(t,e,a)}t=d.uniqBy(t,"id"),s(t)}var c=n(2),l=c.Log,d=n(16),h={},f=null,_={master:f},p="master",m="LR",y=0;e.setDirection=function(t){m=t};var g={};e.setOptions=function(t){l.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{g=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},e.getOptions=function(){return g},e.commit=function(t){var e={id:i(),message:t,seq:y++,parent:null==f?null:f.id};f=e,h[e.id]=e,_[p]=e.id,l.debug("in pushCommit "+e.id)},e.branch=function(t){_[t]=null!=f?f.id:null,l.debug("in createBranch")},e.merge=function(t){var e=h[_[p]],n=h[_[t]];if(o(e,n))return void l.debug("Already merged");if(a(e,n))_[p]=_[t],f=h[_[p]];else{var r={id:i(),message:"merged branch "+t+" into "+p,seq:y++,parent:[null==f?null:f.id,_[t]]};f=r,h[r.id]=r,_[p]=r.id}l.debug(_),l.debug("in mergeBranch")},e.checkout=function(t){l.debug("in checkout"),p=t;var e=_[p];f=h[e]},e.reset=function(t){l.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"===e?f:h[_[e]];for(l.debug(r,n);n>0;)if(r=h[r.parent],n--,!r){var i="Critical error - unique parent commit not found during reset";throw l.error(i),i}f=r,_[p]=r.id},e.prettyPrint=function(){l.debug(h),s([e.getCommitsArray()[0]])},e.clear=function(){h={},f=null,_={master:f},p="master",y=0},e.getBranchesAsObjArray=function(){return d.map(_,function(t,e){return{name:e,commit:h[t]}})},e.getBranches=function(){return _},e.getCommits=function(){return h},e.getCommitsArray=function(){var t=Object.keys(h).map(function(t){return h[t]});return t.forEach(function(t){l.debug(t.id)}),d.orderBy(t,["seq"],["desc"])},e.getCurrentBranch=function(){return p},e.getDirection=function(){return m},e.getHead=function(){return f}},function(t,e){t.exports={name:"mermaid",version:"7.0.5",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],bin:{mermaid:"./bin/mermaid.js"},scripts:{build:"node -r babel-register ./node_modules/.bin/webpack --progress --colors",watch:"yarn build -- --watch",release:"yarn build -- -p --config webpack.config.prod.js",upgrade:"yarn-upgrade-all && yarn remove d3 && yarn add d3@3.5.17",lint:"node_modules/.bin/standard",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",test:"yarn lint && yarn tape && yarn karma",live:"live-server ./test/examples",jison:"gulp jison_legacy",live_server:"gulp live-server",prepublishOnly:"yarn build && yarn release && yarn test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js"]},dependencies:{chalk:"^2.1.0",d3:"3.5.17",dagre:"^0.7.4","dagre-d3-renderer":"^0.1.6",he:"^1.1.1",lodash:"^4.17.4",minimist:"^1.2.0",mkdirp:"^0.5.1",moment:"^2.18.1",semver:"^5.4.1",which:"^1.3.0"},devDependencies:{async:"^2.5.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-remove-strict-mode":"^0.0.2","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1",clone:"^2.1.1","codeclimate-test-reporter":"^0.5.0","css-loader":"^0.28.7",dox:"^0.9.0","event-stream":"^3.3.4","extract-text-webpack-plugin":"^3.0.0","front-matter":"^2.2.0",gulp:"^3.9.1","gulp-bower":"^0.0.13","gulp-bump":"^2.7.0","gulp-concat":"^2.6.1","gulp-data":"^1.2.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.3.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.3.0","gulp-hogan":"^2.0.0","gulp-if":"^2.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.2","gulp-jasmine":"^2.4.2","gulp-jasmine-browser":"^1.9.0","gulp-jison":"^1.2.0","gulp-less":"^3.3.2","gulp-livereload":"^3.8.1","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"^1.5.0","gulp-rename":"^1.2.2","gulp-shell":"^0.6.3","gulp-tag-version":"^1.3.0","gulp-util":"^3.0.8","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2","inject-loader":"^3.0.1",jasmine:"^2.8.0","jasmine-es6":"^0.4.1",jison:"^0.4.17",jsdom:"^11.2.0",karma:"^1.7.1","karma-chrome-launcher":"^2.2.0","karma-jasmine":"^1.1.0","karma-webpack":"^2.0.4",less:"^2.7.2","less-loader":"^4.0.5","live-server":"^1.2.0","map-stream":"^0.0.7",marked:"^0.3.6","mock-browser":"^0.92.14","phantomjs-prebuilt":"^2.1.15","require-dir":"^0.3.2",rimraf:"^2.6.1",standard:"^10.0.3","style-loader":"^0.18.2",tape:"^4.8.0",webpack:"^3.5.5","webpack-node-externals":"^1.6.0","yarn-upgrade-all":"^0.1.8"},files:["bin","dist","lib","src"]}},function(t,e,n){(function(r){var i=n(2),a=i.Log,o=n(171),u=0,s=n(250);t.exports.mermaidAPI=o;var c=function(){var t=o.getConfig();a.debug("Starting rendering diagrams");var e;arguments.length>=2?(/*! sequence config was passed as #1 */
+void 0!==arguments[0]&&(r.mermaid.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var n;"function"==typeof arguments[arguments.length-1]?(n=arguments[arguments.length-1],a.debug("Callback function found")):void 0!==t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,a.debug("Callback function found")):a.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof window.Node?[e]:e,void 0!==r.mermaid_config&&o.initialize(r.mermaid_config),a.debug("Start On Load before: "+r.mermaid.startOnLoad),void 0!==r.mermaid.startOnLoad&&(a.debug("Start On Load inner: "+r.mermaid.startOnLoad),o.initialize({startOnLoad:r.mermaid.startOnLoad})),void 0!==r.mermaid.ganttConfig&&o.initialize({gantt:r.mermaid.ganttConfig});for(var i,c=function(t,e){d.innerHTML=t,void 0!==n&&n(h),e(d)},l=0;l<e.length;l++){var d=e[l];/*! Check if previously processed */
+if(!d.getAttribute("data-processed")){d.setAttribute("data-processed",!0);var h="mermaidChart"+u++;i=d.innerHTML,i=s.decode(i).trim(),o.render(h,i,c,d)}}};e.init=c,e.parse=o.parse,e.version=function(){return"v"+n(169).version},e.initialize=function(t){a.debug("Initializing mermaid"),void 0!==t.mermaid&&(void 0!==t.mermaid.startOnLoad&&(r.mermaid.startOnLoad=t.mermaid.startOnLoad),void 0!==t.mermaid.htmlLabels&&(r.mermaid.htmlLabels=t.mermaid.htmlLabels)),o.initialize(t)};var l=function(t,e){return void 0!==e&&t===e};r.mermaid={startOnLoad:!0,htmlLabels:!0,init:function(){c.apply(null,arguments)},initialize:function(t){e.initialize(t)},version:function(){return o.version()},parse:function(t){return o.parse(t)},parseError:function(t){a.debug("Mermaid Syntax error:"),a.debug(t)},render:function(t,e,n,r){return o.render(t,e,n,r)}},e.parseError=r.mermaid.parseError,e.contentLoaded=function(){var t;void 0!==r.mermaid_config&&l(!1,r.mermaid_config.htmlLabels)&&(r.mermaid.htmlLabels=!1),r.mermaid.startOnLoad?void 0!==r.mermaid_config?l(!0,r.mermaid_config.startOnLoad)&&r.mermaid.init():(t=o.getConfig(),t.startOnLoad&&r.mermaid.init()):void 0===r.mermaid.startOnLoad&&(a.debug("In start, no config"),t=o.getConfig(),t.startOnLoad&&r.mermaid.init())},"undefined"!=typeof document&&/*!
+ * Wait for document loaded before starting the execution
+ */
+window.addEventListener("load",function(){e.contentLoaded()},!1)}).call(e,n(9))},function(t,e,n){(function(t){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),a=i.Log,o=n(22),u=n(23),s=n(172),c=n(243),l=n(245),d=n(47),h=n(25),f=n(26),_=n(44),p=n(45),m=n(46),y=n(246),g=n(48),v=n(49),M=n(165),b=n(248),L=n(166),k=n(167),w=n(249),D=n(168),x=n(10),Y={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1===t.getDay()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};i.setLogLevel(Y.logLevel);var T=function(t){var e,n=u.detectType(t);switch(n){case"gitGraph":e=k,e.parser.yy=D;break;case"graph":e=h,e.parser.yy=o;break;case"dotGraph":e=f,e.parser.yy=o;break;case"sequenceDiagram":e=_,e.parser.yy=p;break;case"info":e=d,e.parser.yy=m;break;case"gantt":e=g,e.parser.yy=v;break;case"classDiagram":e=M,e.parser.yy=L}try{return e.parse(t),!0}catch(t){return!1}};e.parse=T,e.version=function(){return n(169).version},e.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},e.decodeEntities=function(t){var e=t;return e=e.replace(/fl°°/g,function(){return"&#"}),e=e.replace(/fl°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var A=function(t,n,r,i){if(void 0!==i)i.innerHTML="",x.select(i).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var d=document.querySelector("#d"+t);d&&(d.innerHTML=""),x.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=n,n=e.encodeEntities(n);var h=x.select("#d"+t).node(),f=u.detectType(n),_={};switch(f){case"gitGraph":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,w.setConf(Y.gitGraph),w.draw(n,t,!1);break;case"graph":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,s.setConf(Y.flowchart),s.draw(n,t,!1),Y.cloneCssStyles&&(_=s.getClasses(n,!1),u.cloneCssStyles(h.firstChild,_));break;case"dotGraph":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,s.setConf(Y.flowchart),s.draw(n,t,!0),Y.cloneCssStyles&&(_=s.getClasses(n,!0),u.cloneCssStyles(h.firstChild,_));break;case"sequenceDiagram":Y.sequenceDiagram.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,c.setConf(Y.sequenceDiagram),c.draw(n,t),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"gantt":Y.gantt.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,y.setConf(Y.gantt),y.draw(n,t),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"classDiagram":Y.classDiagram.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,b.setConf(Y.classDiagram),b.draw(n,t),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[]);break;case"info":Y.info.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,l.draw(n,t,e.version()),Y.cloneCssStyles&&u.cloneCssStyles(h.firstChild,[])}x.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var p="";Y.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)"));var m=x.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+p+"#arrowhead","g");m=e.decodeEntities(m),void 0!==r?r(m,o.bindFunctions):a.warn("CB = undefined!");var g=x.select("#d"+t).node();return null!==g&&"function"==typeof g.remove&&x.select("#d"+t).node().remove(),m};e.render=function(t,e,n,r){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return A(t,e,n,r)}catch(t){a.warn(t)}};var E=function(t){var e,n=Object.keys(t);for(e=0;e<n.length;e++)if("object"===r(t[n[e]])){var i,o=Object.keys(t[n[e]]);for(i=0;i<o.length;i++)a.debug("Setting conf ",n[e],"-",o[i]),void 0===Y[n[e]]&&(Y[n[e]]={}),a.debug("Setting config: "+n[e]+" "+o[i]+" to "+t[n[e]][o[i]]),Y[n[e]][o[i]]=t[n[e]][o[i]]}else Y[n[e]]=t[n[e]]};e.initialize=function(t){a.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":r(t))&&E(t),i.setLogLevel(Y.logLevel)},e.getConfig=function(){return Y},e.parseError=function(e,n){"undefined"!=typeof mermaid?t.mermaid.parseError(e,n):(a.debug("Mermaid Syntax error:"),a.debug(e))},t.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}}).call(e,n(9))},function(t,e,n){var r=n(22),i=n(25),a=n(26),o=n(10),u=n(173),s=n(2),c=s.Log,l={};t.exports.setConf=function(t){var e,n=Object.keys(t);for(e=0;e<n.length;e++)l[n[e]]=t[n[e]]},e.addVertices=function(t,e){var n=function(t,e){var n;for(n=0;n<e.length;n++)void 0!==e[n]&&(t=t+e[n]+";");return t};Object.keys(t).forEach(function(r){var i,a=t[r],o="";a.classes.length>0&&(o=a.classes.join(" "));var u="";u=n(u,a.styles),i=void 0===a.text?a.id:a.text;var s="";if(l.htmlLabels)s="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),d=i.split(/<br>/),h=0;for(h=0;h<d.length;h++){var f=document.createElementNS("http://www.w3.org/2000/svg","tspan");f.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),f.setAttribute("dy","1em"),f.setAttribute("x","1"),f.textContent=d[h],c.appendChild(f)}s="svg",i=c}var _=0,p="";switch(a.type){case"round":_=5,p="rect";break;case"square":p="rect";break;case"diamond":p="question";break;case"odd":case"odd_right":p="rect_left_inv_arrow";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"group":p="rect",i=l.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:p="rect"}e.setNode(a.id,{labelType:s,shape:p,label:i,rx:_,ry:_,class:o,style:u,id:a.id})})},e.addEdges=function(t,e){var n,r=0;void 0!==t.defaultStyle&&(n=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){r++;var a={};"arrow_open"===i.type?a.arrowhead="none":a.arrowhead="normal";var o="";if(void 0!==i.style)i.style.forEach(function(t){o=o+t+";"});else switch(i.stroke){case"normal":o="fill:none",void 0!==n&&(o=n);break;case"dotted":o="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":o="stroke: #333; stroke-width: 3.5px;fill:none"}a.style=o,void 0!==i.interpolate?a.lineInterpolate=i.interpolate:void 0!==t.defaultInterpolate&&(a.lineInterpolate=t.defaultInterpolate),void 0===i.text?void 0!==i.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",void 0===i.style?(a.labelpos="c",l.htmlLabels?(a.labelType="html",a.label='<span class="edgeLabel">'+i.text+"</span>"):(a.labelType="text",a.style="stroke: #333; stroke-width: 1.5px;fill:none",a.label=i.text.replace(/<br>/g,"\n"))):a.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,a,r)})},e.getClasses=function(t,e){var n;r.clear(),n=e?a.parser:i.parser,n.yy=r,n.parse(t);var o=r.getClasses();return void 0===o.default&&(o.default={id:"default"},o.default.styles=[],o.default.clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],o.default.nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],o.default.edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),o},e.draw=function(t,n,s){c.debug("Drawing flowchart");var d;r.clear(),d=s?a.parser:i.parser,d.yy=r;try{d.parse(t)}catch(t){c.debug("Parsing failed")}var h;void 0===(h=r.getDirection())&&(h="TD");var f,_=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:h,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),p=r.getSubGraphs(),m=0;for(m=p.length-1;m>=0;m--)f=p[m],r.addVertex(f.id,f.title,"group",void 0);var y=r.getVertices(),g=r.getEdges();m=0;var v;for(m=p.length-1;m>=0;m--)for(f=p[m],o.selectAll("cluster").append("text"),v=0;v<f.nodes.length;v++)_.setParent(f.nodes[v],f.id);e.addVertices(y,_),e.addEdges(g,_);var M=u.render,b=new M;b.shapes().question=function(t,e,n){var r=e.width,i=e.height,a=.8*(r+i),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}],s=t.insert("polygon",":first-child").attr("points",o.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-a/2+","+2*a/4+")");return n.intersect=function(t){return u.intersect.polygon(n,o,t)},s},b.shapes().rect_left_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return u.intersect.polygon(n,a,t)},o},b.shapes().rect_right_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return u.intersect.polygon(n,a,t)},o},b.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(a,n[r+"Style"])},b.arrows().normal=function(t,e,n,r){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var L=o.select("#"+n),k=o.select("#"+n+" g");for(b(k,_),k.selectAll("g.node").attr("title",function(){return r.getTooltip(this.id)}),l.useMaxWidth?(L.attr("height","100%"),L.attr("width",l.width),L.attr("viewBox","0 0 "+(_.graph().width+20)+" "+(_.graph().height+20)),L.attr("style","max-width:"+(_.graph().width+20)+"px;")):(L.attr("height",_.graph().height),void 0===l.width?L.attr("width",_.graph().width):L.attr("width",l.width),L.attr("viewBox","0 0 "+(_.graph().width+20)+" "+(_.graph().height+20))),r.indexNodes("subGraph"+m),m=0;m<p.length;m++)if(f=p[m],"undefined"!==f.title){var w=document.querySelectorAll("#"+n+" #"+f.id+" rect"),D=document.querySelectorAll("#"+n+" #"+f.id),x=w[0].x.baseVal.value,Y=w[0].y.baseVal.value,T=w[0].width.baseVal.value,A=o.select(D[0]),E=A.append("text");E.attr("x",x+T/2),E.attr("y",Y+14),E.attr("fill","black"),E.attr("stroke","none"),E.attr("id",n+"Text"),E.style("text-anchor","middle"),void 0===f.title?E.text("Undef"):E.text(f.title)}if(!l.htmlLabels){var S,F=document.querySelectorAll("#"+n+" .edgeLabel .label");for(S=0;S<F.length;S++){var C=F[m],j=C.getBBox(),H=document.createElementNS("http://www.w3.org/2000/svg","rect");H.setAttribute("rx",0),H.setAttribute("ry",0),H.setAttribute("width",j.width),H.setAttribute("height",j.height),H.setAttribute("style","fill:#e8e8e8;"),C.insertBefore(H,C.firstChild)}}}},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(174),dagre:n(32),intersect:n(227),render:n(229),util:n(7),version:n(242)}},function(t,e,n){const r=n(175);t.exports=r},function(t,e,n){var r=n(176);t.exports={Graph:r.Graph,json:n(178),alg:n(179),version:r.version}},function(t,e,n){t.exports={Graph:n(18),version:n(177)}},function(t,e){t.exports="2.1.1"},function(t,e,n){function r(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:i(t),edges:a(t)};return u.isUndefined(t.graph())||(e.value=u.clone(t.graph())),e}function i(t){return u.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return u.isUndefined(n)||(i.value=n),u.isUndefined(r)||(i.parent=r),i})}function a(t){return u.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return u.isUndefined(e.name)||(r.name=e.name),u.isUndefined(n)||(r.value=n),r})}function o(t){var e=new s(t.options).setGraph(t.value);return u.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),u.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var u=n(5),s=n(18);t.exports={write:r,read:o}},function(t,e,n){t.exports={components:n(180),dijkstra:n(27),dijkstraAll:n(181),findCycles:n(182),floydWarshall:n(183),isAcyclic:n(184),postorder:n(185),preorder:n(186),prim:n(187),tarjan:n(29),topsort:n(30)}},function(t,e,n){function r(t){function e(a){i.has(r,a)||(r[a]=!0,n.push(a),i.each(t.successors(a),e),i.each(t.predecessors(a),e))}var n,r={},a=[];return i.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var i=n(5);t.exports=r},function(t,e,n){function r(t,e,n){return a.transform(t.nodes(),function(r,a){r[a]=i(t,a,e,n)},{})}var i=n(27),a=n(5);t.exports=r},function(t,e,n){function r(t){return i.filter(a(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var i=n(5),a=n(29);t.exports=r},function(t,e,n){function r(t,e,n){return i(t,e||o,n||function(e){return t.outEdges(e)})}function i(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],u=r.distance+i.distance;u<o.distance&&(o.distance=u,o.predecessor=i.predecessor)})})}),r}var a=n(5);t.exports=r;var o=a.constant(1)},function(t,e,n){function r(t){try{i(t)}catch(t){if(t instanceof i.CycleException)return!1;throw t}return!0}var i=n(30);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"post")}var i=n(31);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"pre")}var i=n(31);t.exports=r},function(t,e,n){function r(t,e){function n(t){var n=t.v===r?t.w:t.v,i=c.priority(n);if(void 0!==i){var a=e(t);a<i&&(s[n]=r,c.decrease(n,a))}}var r,u=new a,s={},c=new o;if(0===t.nodeCount())return u;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),u.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(r=c.removeMin(),i.has(s,r))u.setEdge(r,s[r]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(r).forEach(n)}return u}var i=n(5),a=n(18),o=n(28);t.exports=r},function(t,e,n){var r=n(189);t.exports={Graph:r.Graph,json:n(192),alg:n(193),version:r.version}},function(t,e,n){t.exports={Graph:n(19),version:n(191)}},function(t,e,n){(function(t,n){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===D,i=t===t,a=null===e,o=e===D,u=e===e;if(t>e&&!a||!i||n&&!o&&u||r&&u)return 1;if(t<e&&!n||!u||a&&!r&&i||o&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function a(t,e,n){if(e!==e)return m(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function o(t){return"function"==typeof t||!1}function u(t){return null==t?"":t+""}function s(t,e){for(var n=-1,r=t.length;++n<r&&e.indexOf(t.charAt(n))>-1;);return n}function c(t,e){for(var n=t.length;n--&&e.indexOf(t.charAt(n))>-1;);return n}function l(t,e){return r(t.criteria,e.criteria)||t.index-e.index}function d(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,u=a.length,s=n.length;++i<u;){var c=r(a[i],o[i]);if(c){if(i>=s)return c;var l=n[i];return c*("asc"===l||!0===l?1:-1)}}return t.index-e.index}function h(t){return Rt[t]}function f(t){return Wt[t]}function _(t,e,n){return e?t=Ut[t]:n&&(t=$t[t]),"\\"+t}function p(t){return"\\"+$t[t]}function m(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function y(t){return!!t&&"object"==typeof t}function g(t){return t<=160&&t>=9&&t<=13||32==t||160==t||5760==t||6158==t||t>=8192&&(t<=8202||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function v(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;)t[n]===e&&(t[n]=q,a[++i]=n);return a}function M(t,e){for(var n,r=-1,i=t.length,a=-1,o=[];++r<i;){var u=t[r],s=e?e(u,r,t):u;r&&n===s||(n=s,o[++a]=u)}return o}function b(t){for(var e=-1,n=t.length;++e<n&&g(t.charCodeAt(e)););return e}function L(t){for(var e=t.length;e--&&g(t.charCodeAt(e)););return e}function k(t){return zt[t]}function w(t){function e(t){if(y(t)&&!Au(t)&&!(t instanceof Rt)){if(t instanceof g)return t;if(to.call(t,"__chain__")&&to.call(t,"__wrapped__"))return fr(t)}return new g(t)}function n(){}function g(t,e,n){this.__wrapped__=t,this.__actions__=n||[],this.__chain__=!!e}function Rt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=To,this.__views__=[]}function Wt(){var t=new Rt(this.__wrapped__);return t.__actions__=ne(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ne(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ne(this.__views__),t}function zt(){if(this.__filtered__){var t=new Rt(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function qt(){var t=this.__wrapped__.value(),e=this.__dir__,n=Au(t),r=e<0,i=n?t.length:0,a=$n(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,d=l.length,h=0,f=ko(s,this.__takeCount__);if(!n||i<I||i==s&&f==s)return nn(r&&n?t.reverse():t,this.__actions__);var _=[];t:for(;s--&&h<f;){c+=e;for(var p=-1,m=t[c];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==W)m=M;else if(!M){if(v==R)continue t;break t}}_[h++]=m}return _}function Ut(){this.__data__={}}function $t(t){return this.has(t)&&delete this.__data__[t]}function Vt(t){return"__proto__"==t?D:this.__data__[t]}function Gt(t){return"__proto__"!=t&&to.call(this.__data__,t)}function Jt(t,e){return"__proto__"!=t&&(this.__data__[t]=e),this}function Zt(t){var e=t?t.length:0;for(this.data={hash:yo(null),set:new lo};e--;)this.push(t[e])}function Kt(t,e){var n=t.data;return("string"==typeof e||ji(e)?n.set.has(e):n.hash[e])?0:-1}function Xt(t){var e=this.data;"string"==typeof t||ji(t)?e.set.add(t):e.hash[t]=!0}function ee(t,e){for(var n=-1,r=t.length,i=-1,a=e.length,o=Ia(r+a);++n<r;)o[n]=t[n];for(;++i<a;)o[n++]=e[i];return o}function ne(t,e){var n=-1,r=t.length;for(e||(e=Ia(r));++n<r;)e[n]=t[n];return e}function re(t,e){for(var n=-1,r=t.length;++n<r&&!1!==e(t[n],n,t););return t}function ie(t,e){for(var n=t.length;n--&&!1!==e(t[n],n,t););return t}function ae(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function oe(t,e,n,r){for(var i=-1,a=t.length,o=r,u=o;++i<a;){var s=t[i],c=+e(s);n(c,o)&&(o=c,u=s)}return u}function ue(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[++i]=o)}return a}function se(t,e){for(var n=-1,r=t.length,i=Ia(r);++n<r;)i[n]=e(t[n],n,t);return i}function ce(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function le(t,e,n,r){var i=-1,a=t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function de(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function he(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function fe(t,e){for(var n=t.length,r=0;n--;)r+=+e(t[n])||0;return r}function _e(t,e){return t===D?e:t}function pe(t,e,n,r){return t!==D&&to.call(r,n)?t:e}function me(t,e,n){for(var r=-1,i=Iu(e),a=i.length;++r<a;){var o=i[r],u=t[o],s=n(u,e[o],o,t,e);(s===s?s===u:u!==u)&&(u!==D||o in t)||(t[o]=s)}return t}function ye(t,e){return null==e?t:ve(e,Iu(e),t)}function ge(t,e){for(var n=-1,r=null==t,i=!r&&Kn(t),a=i?t.length:0,o=e.length,u=Ia(o);++n<o;){var s=e[n];u[n]=i?Xn(s,a)?t[s]:D:r?D:t[s]}return u}function ve(t,e,n){n||(n={});for(var r=-1,i=e.length;++r<i;){var a=e[r];n[a]=t[a]}return n}function Me(t,e,n){var r=typeof t;return"function"==r?e===D?t:on(t,e,n):null==t?Ya:"object"==r?Be(t):e===D?Ca(t):Ie(t,e)}function be(t,e,n,r,i,a,o){var u;if(n&&(u=i?n(t,r,i):n(t)),u!==D)return u;if(!ji(t))return t;var s=Au(t);if(s){if(u=Vn(t),!e)return ne(t,u)}else{var c=no.call(t),l=c==Z;if(c!=X&&c!=U&&(!l||i))return It[c]?Jn(t,c,e):i?t:{};if(u=Gn(l?{}:t),!e)return ye(u,t)}a||(a=[]),o||(o=[]);for(var d=a.length;d--;)if(a[d]==t)return o[d];return a.push(t),o.push(u),(s?re:Se)(t,function(r,i){u[i]=be(r,e,n,i,t,a,o)}),u}function Le(t,e,n){if("function"!=typeof t)throw new Ja(z);return ho(function(){t.apply(D,n)},e)}function ke(t,e){var n=t?t.length:0,r=[];if(!n)return r;var i=-1,o=zn(),u=o==a,s=u&&e.length>=I?pn(e):null,c=e.length;s&&(o=Kt,u=!1,e=s);t:for(;++i<n;){var l=t[i];if(u&&l===l){for(var d=c;d--;)if(e[d]===l)continue t;r.push(l)}else o(e,l,0)<0&&r.push(l)}return r}function we(t,e){var n=!0;return Oo(t,function(t,r,i){return n=!!e(t,r,i)}),n}function De(t,e,n,r){var i=r,a=i;return Oo(t,function(t,o,u){var s=+e(t,o,u);(n(s,i)||s===r&&s===a)&&(i=s,a=t)}),a}function xe(t,e,n,r){var i=t.length;for(n=null==n?0:+n||0,n<0&&(n=-n>i?0:i+n),r=r===D||r>i?i:+r||0,r<0&&(r+=i),i=n>r?0:r>>>0,n>>>=0;n<i;)t[n++]=e;return t}function Ye(t,e){var n=[];return Oo(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Te(t,e,n,r){var i;return n(t,function(t,n,a){if(e(t,n,a))return i=r?n:t,!1}),i}function Ae(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++i<a;){var o=t[i];y(o)&&Kn(o)&&(n||Au(o)||Di(o))?e?Ae(o,e,n,r):ce(r,o):n||(r[r.length]=o)}return r}function Ee(t,e){return No(t,e,ta)}function Se(t,e){return No(t,e,Iu)}function Fe(t,e){return Bo(t,e,Iu)}function Ce(t,e){for(var n=-1,r=e.length,i=-1,a=[];++n<r;){var o=e[n];Ci(t[o])&&(a[++i]=o)}return a}function je(t,e,n){if(null!=t){n!==D&&n in dr(t)&&(e=[n]);for(var r=0,i=e.length;null!=t&&r<i;)t=t[e[r++]];return r&&r==i?t:D}}function He(t,e,n,r,i,a){return t===e||(null==t||null==e||!ji(t)&&!y(e)?t!==t&&e!==e:Oe(t,e,He,n,r,i,a))}function Oe(t,e,n,r,i,a,o){var u=Au(t),s=Au(e),c=$,l=$;u||(c=no.call(t),c==U?c=X:c!=X&&(u=zi(t))),s||(l=no.call(e),l==U?l=X:l!=X&&(s=zi(e)));var d=c==X,h=l==X,f=c==l;if(f&&!u&&!d)return Bn(t,e,c);if(!i){var _=d&&to.call(t,"__wrapped__"),p=h&&to.call(e,"__wrapped__");if(_||p)return n(_?t.value():t,p?e.value():e,r,i,a,o)}if(!f)return!1;a||(a=[]),o||(o=[]);for(var m=a.length;m--;)if(a[m]==t)return o[m]==e;a.push(t),o.push(e);var y=(u?Nn:In)(t,e,n,r,i,a,o);return a.pop(),o.pop(),y}function Pe(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=dr(t);r--;){var o=e[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++r<i;){o=e[r];var u=o[0],s=t[u],c=o[1];if(a&&o[2]){if(s===D&&!(u in t))return!1}else{var l=n?n(s,c,u):D;if(!(l===D?He(c,s,n,!0):l))return!1}}return!0}function Ne(t,e){var n=-1,r=Kn(t)?Ia(t.length):[];return Oo(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function Be(t){var e=qn(t);if(1==e.length&&e[0][2]){var n=e[0][0],r=e[0][1];return function(t){return null!=t&&(t[n]===r&&(r!==D||n in dr(t)))}}return function(t){return Pe(t,e)}}function Ie(t,e){var n=Au(t),r=tr(t)&&rr(e),i=t+"";return t=hr(t),function(a){if(null==a)return!1;var o=i;if(a=dr(a),(n||!r)&&!(o in a)){if(null==(a=1==t.length?a:je(a,Ge(t,0,-1))))return!1;o=xr(t),a=dr(a)}return a[o]===e?e!==D||o in a:He(e,a[o],D,!0)}}function Re(t,e,n,r,i){if(!ji(t))return t;var a=Kn(e)&&(Au(e)||zi(e)),o=a?D:Iu(e);return re(o||e,function(u,s){if(o&&(s=u,u=e[s]),y(u))r||(r=[]),i||(i=[]),We(t,e,s,Re,n,r,i);else{var c=t[s],l=n?n(c,u,s,t,e):D,d=l===D;d&&(l=u),l===D&&(!a||s in t)||!d&&(l===l?l===c:c!==c)||(t[s]=l)}}),t}function We(t,e,n,r,i,a,o){for(var u=a.length,s=e[n];u--;)if(a[u]==s)return void(t[n]=o[u]);var c=t[n],l=i?i(c,s,n,t,e):D,d=l===D;d&&(l=s,Kn(s)&&(Au(s)||zi(s))?l=Au(c)?c:Kn(c)?ne(c):[]:Ii(s)||Di(s)?l=Di(c)?Gi(c):Ii(c)?c:{}:d=!1),a.push(s),o.push(l),d?t[n]=r(l,s,i,a,o):(l===l?l!==c:c===c)&&(t[n]=l)}function ze(t){return function(e){return null==e?D:e[t]}}function qe(t){var e=t+"";return t=hr(t),function(n){return je(n,t,e)}}function Ue(t,e){for(var n=t?e.length:0;n--;){var r=e[n];if(r!=i&&Xn(r)){var i=r;fo.call(t,r,1)}}return t}function $e(t,e){return t+go(xo()*(e-t+1))}function Ve(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function Ge(t,e,n){var r=-1,i=t.length;e=null==e?0:+e||0,e<0&&(e=-e>i?0:i+e),n=n===D||n>i?i:+n||0,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Ia(i);++r<i;)a[r]=t[r+e];return a}function Je(t,e){var n;return Oo(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function Ze(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function Ke(t,e,n){var r=Rn(),i=-1;return e=se(e,function(t){return r(t)}),Ze(Ne(t,function(t){return{criteria:se(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return d(t,e,n)})}function Xe(t,e){var n=0;return Oo(t,function(t,r,i){n+=+e(t,r,i)||0}),n}function Qe(t,e){var n=-1,r=zn(),i=t.length,o=r==a,u=o&&i>=I,s=u?pn():null,c=[];s?(r=Kt,o=!1):(u=!1,s=e?[]:c);t:for(;++n<i;){var l=t[n],d=e?e(l,n,t):l;if(o&&l===l){for(var h=s.length;h--;)if(s[h]===d)continue t;e&&s.push(d),c.push(l)}else r(s,d,0)<0&&((e||u)&&s.push(d),c.push(l))}return c}function tn(t,e){for(var n=-1,r=e.length,i=Ia(r);++n<r;)i[n]=t[e[n]];return i}function en(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Ge(t,r?0:a,r?a+1:i):Ge(t,r?a+1:0,r?i:a)}function nn(t,e){var n=t;n instanceof Rt&&(n=n.value());for(var r=-1,i=e.length;++r<i;){var a=e[r];n=a.func.apply(a.thisArg,ce([n],a.args))}return n}function rn(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&i<=So){for(;r<i;){var a=r+i>>>1,o=t[a];(n?o<=e:o<e)&&null!==o?r=a+1:i=a}return i}return an(t,e,Ya,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,o=e!==e,u=null===e,s=e===D;i<a;){var c=go((i+a)/2),l=n(t[c]),d=l!==D,h=l===l;if(o)var f=h||r;else f=u?h&&d&&(r||null!=l):s?h&&(r||d):null!=l&&(r?l<=e:l<e);f?i=c+1:a=c}return ko(a,Eo)}function on(t,e,n){if("function"!=typeof t)return Ya;if(e===D)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,a){return t.call(e,n,r,i,a)};case 5:return function(n,r,i,a,o){return t.call(e,n,r,i,a,o)}}return function(){return t.apply(e,arguments)}}function un(t){var e=new ao(t.byteLength);return new _o(e).set(new _o(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=Lo(t.length-r,0),o=-1,u=e.length,s=Ia(u+a);++o<u;)s[o]=e[o];for(;++i<r;)s[n[i]]=t[i];for(;a--;)s[o++]=t[i++];return s}function cn(t,e,n){for(var r=-1,i=n.length,a=-1,o=Lo(t.length-i,0),u=-1,s=e.length,c=Ia(o+s);++a<o;)c[a]=t[a];for(var l=a;++u<s;)c[l+u]=e[u];for(;++r<i;)c[l+n[r]]=t[a++];return c}function ln(t,e){return function(n,r,i){var a=e?e():{};if(r=Rn(r,i,3),Au(n))for(var o=-1,u=n.length;++o<u;){var s=n[o];t(a,s,r(s,o,n),n)}else Oo(n,function(e,n,i){t(a,e,r(e,n,i),i)});return a}}function dn(t){return yi(function(e,n){var r=-1,i=null==e?0:n.length,a=i>2?n[i-2]:D,o=i>2?n[2]:D,u=i>1?n[i-1]:D;for("function"==typeof a?(a=on(a,u,5),i-=2):(a="function"==typeof u?u:D,i-=a?1:0),o&&Qn(n[0],n[1],o)&&(a=i<3?D:a,i=1);++r<i;){var s=n[r];s&&t(e,s,a)}return e})}function hn(t,e){return function(n,r){var i=n?Wo(n):0;if(!nr(i))return t(n,r);for(var a=e?i:-1,o=dr(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function fn(t){return function(e,n,r){for(var i=dr(e),a=r(e),o=a.length,u=t?o:-1;t?u--:++u<o;){var s=a[u];if(!1===n(i[s],s,i))break}return e}}function _n(t,e){function n(){return(this&&this!==Qt&&this instanceof n?r:t).apply(e,arguments)}var r=yn(t);return n}function pn(t){return yo&&lo?new Zt(t):null}function mn(t){return function(e){for(var n=-1,r=wa(la(e)),i=r.length,a="";++n<i;)a=t(a,r[n],n);return a}}function yn(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Ho(t.prototype),r=t.apply(n,e);return ji(r)?r:n}}function gn(t){function e(n,r,i){i&&Qn(n,r,i)&&(r=D);var a=Pn(n,t,D,D,D,D,D,r);return a.placeholder=e.placeholder,a}return e}function vn(t,e){return yi(function(n){var r=n[0];return null==r?r:(n.push(e),t.apply(D,n))})}function Mn(t,e){return function(n,r,i){if(i&&Qn(n,r,i)&&(r=D),r=Rn(r,i,3),1==r.length){n=Au(n)?n:lr(n);var a=oe(n,r,t,e);if(!n.length||a!==e)return a}return De(n,r,t,e)}}function bn(t,e){return function(n,r,a){if(r=Rn(r,a,3),Au(n)){var o=i(n,r,e);return o>-1?n[o]:D}return Te(n,r,t)}}function Ln(t){return function(e,n,r){return e&&e.length?(n=Rn(n,r,3),i(e,n,t)):-1}}function kn(t){return function(e,n,r){return n=Rn(n,r,3),Te(e,n,t,!0)}}function wn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=Ia(n);t?r--:++r<n;){var o=a[i++]=arguments[r];if("function"!=typeof o)throw new Ja(z);!e&&g.prototype.thru&&"wrapper"==Wn(o)&&(e=new g([],!0))}for(r=e?-1:n;++r<n;){o=a[r];var u=Wn(o),s="wrapper"==u?Ro(o):D;e=s&&er(s[0])&&s[1]==(j|E|F|H)&&!s[4].length&&1==s[9]?e[Wn(s[0])].apply(e,s[3]):1==o.length&&er(o)?e[u]():e.thru(o)}return function(){var t=arguments,r=t[0];if(e&&1==t.length&&Au(r)&&r.length>=I)return e.plant(r).value();for(var i=0,o=n?a[i].apply(this,t):r;++i<n;)o=a[i].call(this,o);return o}}}function Dn(t,e){return function(n,r,i){return"function"==typeof r&&i===D&&Au(n)?t(n,r):e(n,on(r,i,3))}}function xn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n,ta)}}function Yn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n)}}function Tn(t){return function(e,n,r){var i={};return n=Rn(n,r,3),Se(e,function(e,r,a){var o=n(e,r,a);r=t?o:r,e=t?e:o,i[r]=e}),i}}function An(t){return function(e,n,r){return e=u(e),(t?e:"")+Cn(e,n,r)+(t?"":e)}}function En(t){var e=yi(function(n,r){var i=v(r,e.placeholder);return Pn(n,t,D,r,i)});return e}function Sn(t,e){return function(n,r,i,a){var o=arguments.length<3;return"function"==typeof r&&a===D&&Au(n)?t(n,r,i,o):Ve(n,Rn(r,a,4),i,o,e)}}function Fn(t,e,n,r,i,a,o,u,s,c){function l(){for(var g=arguments.length,M=g,b=Ia(g);M--;)b[M]=arguments[M];if(r&&(b=sn(b,r,i)),a&&(b=cn(b,a,o)),_||m){var L=l.placeholder,k=v(b,L);if((g-=k.length)<c){var w=u?ne(u):D,x=Lo(c-g,0),A=_?k:D,E=_?D:k,S=_?b:D,j=_?D:b;e|=_?F:C,e&=~(_?C:F),p||(e&=~(Y|T));var H=[t,e,n,S,A,j,E,w,s,x],O=Fn.apply(D,H);return er(t)&&zo(O,H),O.placeholder=L,O}}var P=h?n:this,N=f?P[t]:t;return u&&(b=sr(b,u)),d&&s<b.length&&(b.length=s),this&&this!==Qt&&this instanceof l&&(N=y||yn(t)),N.apply(P,b)}var d=e&j,h=e&Y,f=e&T,_=e&E,p=e&A,m=e&S,y=f?D:yn(t);return l}function Cn(t,e,n){var r=t.length;if(e=+e,r>=e||!Mo(e))return"";var i=e-r;return n=null==n?" ":n+"",ma(n,mo(i/n.length)).slice(0,i)}function jn(t,e,n,r){function i(){for(var e=-1,u=arguments.length,s=-1,c=r.length,l=Ia(c+u);++s<c;)l[s]=r[s];for(;u--;)l[s++]=arguments[++e];return(this&&this!==Qt&&this instanceof i?o:t).apply(a?n:this,l)}var a=e&Y,o=yn(t);return i}function Hn(t){var e=qa[t];return function(t,n){return n=n===D?0:+n||0,n?(n=so(10,n),e(t*n)/n):e(t)}}function On(t){return function(e,n,r,i){var a=Rn(r);return null==r&&a===Me?rn(e,n,t):an(e,n,a(r,i,1),t)}}function Pn(t,e,n,r,i,a,o,u){var s=e&T;if(!s&&"function"!=typeof t)throw new Ja(z);var c=r?r.length:0;if(c||(e&=~(F|C),r=i=D),c-=i?i.length:0,e&C){var l=r,d=i;r=i=D}var h=s?D:Ro(t),f=[t,e,n,r,i,l,d,a,o,u];if(h&&(ir(f,h),e=f[1],u=f[9]),f[9]=null==u?s?0:t.length:Lo(u-c,0)||0,e==Y)var _=_n(f[0],f[2]);else _=e!=F&&e!=(Y|F)||f[4].length?Fn.apply(D,f):jn.apply(D,f);return(h?Io:zo)(_,f)}function Nn(t,e,n,r,i,a,o){var u=-1,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;for(;++u<s;){var l=t[u],d=e[u],h=r?r(i?d:l,i?l:d,u):D;if(h!==D){if(h)continue;return!1}if(i){if(!he(e,function(t){return l===t||n(l,t,r,i,a,o)}))return!1}else if(l!==d&&!n(l,d,r,i,a,o))return!1}return!0}function Bn(t,e,n){switch(n){case V:case G:return+t==+e;case J:return t.name==e.name&&t.message==e.message;case K:return t!=+t?e!=+e:t==+e;case Q:case tt:return t==e+""}return!1}function In(t,e,n,r,i,a,o){var u=Iu(t),s=u.length;if(s!=Iu(e).length&&!i)return!1;for(var c=s;c--;){var l=u[c];if(!(i?l in e:to.call(e,l)))return!1}for(var d=i;++c<s;){l=u[c];var h=t[l],f=e[l],_=r?r(i?f:h,i?h:f,l):D;if(!(_===D?n(h,f,r,i,a,o):_))return!1;d||(d="constructor"==l)}if(!d){var p=t.constructor,m=e.constructor;if(p!=m&&"constructor"in t&&"constructor"in e&&!("function"==typeof p&&p instanceof p&&"function"==typeof m&&m instanceof m))return!1}return!0}function Rn(t,n,r){var i=e.callback||Da;return i=i===Da?Me:i,r?i(t,n,r):i}function Wn(t){for(var e=t.name,n=jo[e],r=n?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function zn(t,n,r){var i=e.indexOf||wr;return i=i===wr?a:i,t?i(t,n,r):i}function qn(t){for(var e=ea(t),n=e.length;n--;)e[n][2]=rr(e[n][1]);return e}function Un(t,e){var n=null==t?D:t[e];return Pi(n)?n:D}function $n(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=ko(e,t+o);break;case"takeRight":t=Lo(t,e-o)}}return{start:t,end:e}}function Vn(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&to.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Gn(t){var e=t.constructor;return"function"==typeof e&&e instanceof e||(e=$a),new e}function Jn(t,e,n){var r=t.constructor;switch(e){case et:return un(t);case V:case G:return new r(+t);case nt:case rt:case it:case at:case ot:case ut:case st:case ct:case lt:var i=t.buffer;return new r(n?un(i):i,t.byteOffset,t.length);case K:case tt:return new r(t);case Q:var a=new r(t.source,At.exec(t));a.lastIndex=t.lastIndex}return a}function Zn(t,e,n){null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),e=xr(e));var r=null==t?t:t[e];return null==r?D:r.apply(t,n)}function Kn(t){return null!=t&&nr(Wo(t))}function Xn(t,e){return t="number"==typeof t||Ft.test(t)?+t:-1,e=null==e?Fo:e,t>-1&&t%1==0&&t<e}function Qn(t,e,n){if(!ji(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Xn(e,n.length):"string"==r&&e in n){var i=n[e];return t===t?t===i:i!==i}return!1}function tr(t,e){var n=typeof t;return!!("string"==n&&Lt.test(t)||"number"==n)||!Au(t)&&(!bt.test(t)||null!=e&&t in dr(e))}function er(t){var n=Wn(t);if(!(n in Rt.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Ro(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Fo}function rr(t){return t===t&&!ji(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=i<j,o=r==j&&n==E||r==j&&n==H&&t[7].length<=e[8]||r==(j|H)&&n==E;if(!a&&!o)return t;r&Y&&(t[2]=e[2],i|=n&Y?0:A);var u=e[3];if(u){var s=t[3];t[3]=s?sn(s,u,e[4]):ne(u),t[4]=s?v(t[3],q):ne(e[4])}return u=e[5],u&&(s=t[5],t[5]=s?cn(s,u,e[6]):ne(u),t[6]=s?v(t[5],q):ne(e[6])),u=e[7],u&&(t[7]=ne(u)),r&j&&(t[8]=null==t[8]?e[8]:ko(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function ar(t,e){return t===D?e:Eu(t,e,ar)}function or(t,e){t=dr(t);for(var n=-1,r=e.length,i={};++n<r;){var a=e[n];a in t&&(i[a]=t[a])}return i}function ur(t,e){var n={};return Ee(t,function(t,r,i){e(t,r,i)&&(n[r]=t)}),n}function sr(t,e){for(var n=t.length,r=ko(e.length,n),i=ne(t);r--;){var a=e[r];t[r]=Xn(a,n)?i[a]:D}return t}function cr(t){for(var e=ta(t),n=e.length,r=n&&t.length,i=!!r&&nr(r)&&(Au(t)||Di(t)),a=-1,o=[];++a<n;){var u=e[a];(i&&Xn(u,r)||to.call(t,u))&&o.push(u)}return o}function lr(t){return null==t?[]:Kn(t)?ji(t)?t:$a(t):aa(t)}function dr(t){return ji(t)?t:$a(t)}function hr(t){if(Au(t))return t;var e=[];return u(t).replace(kt,function(t,n,r,i){e.push(r?i.replace(Yt,"$1"):n||t)}),e}function fr(t){return t instanceof Rt?t.clone():new g(t.__wrapped__,t.__chain__,ne(t.__actions__))}function _r(t,e,n){e=(n?Qn(t,e,n):null==e)?1:Lo(go(e)||1,1);for(var r=0,i=t?t.length:0,a=-1,o=Ia(mo(i/e));r<i;)o[++a]=Ge(t,r,r+=e);return o}function pr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++e<n;){var a=t[e];a&&(i[++r]=a)}return i}function mr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,e<0?0:e)):[]}function yr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,0,e<0?0:e)):[]}function gr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0,!0):[]}function vr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0):[]}function Mr(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),xe(t,e,n,r)):[]}function br(t){return t?t[0]:D}function Lr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Ae(t,e):[]}function kr(t){return(t?t.length:0)?Ae(t,!0):[]}function wr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=n<0?Lo(r+n,0):n;else if(n){var i=rn(t,e);return i<r&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Dr(t){return yr(t,1)}function xr(t){var e=t?t.length:0;return e?t[e-1]:D}function Yr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(n<0?Lo(r+n,0):ko(n||0,r-1))+1;else if(n){i=rn(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return m(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Tr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=zn(),i=t.length;++n<i;)for(var a=0,o=t[n];(a=r(e,o,a))>-1;)fo.call(e,a,1);return e}function Ar(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(e=Rn(e,n,3);++i<o;){var u=t[i];e(u,i,t)&&(r.push(u),a.push(i))}return Ue(t,a),r}function Er(t){return mr(t,1)}function Sr(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Qn(t,e,n)&&(e=0,n=r),Ge(t,e,n)):[]}function Fr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,0,e<0?0:e)):[]}function Cr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,e<0?0:e)):[]}function jr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!1,!0):[]}function Hr(t,e,n){return t&&t.length?en(t,Rn(e,n,3)):[]}function Or(t,e,n,r){if(!(t?t.length:0))return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?D:e,e=!1);var i=Rn();return null==n&&i===Me||(n=i(n,r,3)),e&&zn()==a?M(t,n):Qe(t,n)}function Pr(t){if(!t||!t.length)return[];var e=-1,n=0;t=ue(t,function(t){if(Kn(t))return n=Lo(t.length,n),!0});for(var r=Ia(n);++e<n;)r[e]=se(t,ze(e));return r}function Nr(t,e,n){if(!(t?t.length:0))return[];var r=Pr(t);return null==e?r:(e=on(e,n,4),se(r,function(t){return le(t,e,D,!0)}))}function Br(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Kn(n))var r=r?ce(ke(r,n),ke(n,r)):n}return r?Qe(r):[]}function Ir(t,e){var n=-1,r=t?t.length:0,i={};for(!r||e||Au(t[0])||(e=[]);++n<r;){var a=t[n];e?i[a]=e[n]:a&&(i[a[0]]=a[1])}return i}function Rr(t){var n=e(t);return n.__chain__=!0,n}function Wr(t,e,n){return e.call(n,t),t}function zr(t,e,n){return e.call(n,t)}function qr(){return Rr(this)}function Ur(){return new g(this.value(),this.__chain__)}function $r(t){for(var e,r=this;r instanceof n;){var i=fr(r);e?a.__wrapped__=i:e=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,e}function Vr(){var t=this.__wrapped__,e=function(t){return n&&n.__dir__<0?t:t.reverse()};if(t instanceof Rt){var n=t;return this.__actions__.length&&(n=new Rt(this)),n=n.reverse(),n.__actions__.push({func:zr,args:[e],thisArg:D}),new g(n,this.__chain__)}return this.thru(e)}function Gr(){return this.value()+""}function Jr(){return nn(this.__wrapped__,this.__actions__)}function Zr(t,e,n){var r=Au(t)?ae:we;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function Kr(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,e)}function Xr(t,e){return iu(t,Be(e))}function Qr(t,e,n,r){var i=t?Wo(t):0;return nr(i)||(t=aa(t),i=t.length),n="number"!=typeof n||r&&Qn(e,n,r)?0:n<0?Lo(i+n,0):n||0,"string"==typeof t||!Au(t)&&Wi(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&zn(t,e,n)>-1}function ti(t,e,n){var r=Au(t)?se:Ne;return e=Rn(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ca(e))}function ni(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Qn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[$e(0,r-1)]:D}var i=-1,a=Vi(t),r=a.length,o=r-1;for(e=ko(e<0?0:+e||0,r);++i<e;){var u=$e(i,o),s=a[u];a[u]=a[i],a[i]=s}return a.length=e,a}function ii(t){return ri(t,To)}function ai(t){var e=t?Wo(t):0;return nr(e)?e:Iu(t).length}function oi(t,e,n){var r=Au(t)?he:Je;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function ui(t,e,n){if(null==t)return[];n&&Qn(t,e,n)&&(e=D);var r=-1;return e=Rn(e,n,3),Ze(Ne(t,function(t,n,i){return{criteria:e(t,n,i),index:++r,value:t}}),l)}function si(t,e,n,r){return null==t?[]:(r&&Qn(e,n,r)&&(n=D),Au(e)||(e=null==e?[]:[e]),Au(n)||(n=null==n?[]:[n]),Ke(t,e,n))}function ci(t,e){return Kr(t,Be(e))}function li(t,e){if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var n=t;t=e,e=n}return t=Mo(t=+t)?t:0,function(){if(--t<1)return e.apply(this,arguments)}}function di(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=t&&null==e?t.length:Lo(+e||0,0),Pn(t,j,D,D,D,D,e)}function hi(t,e){var n;if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var r=t;t=e,e=r}return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=D),n}}function fi(t,e,n){function r(){f&&oo(f),c&&oo(c),p=0,c=f=_=D}function i(e,n){n&&oo(n),c=f=_=D,e&&(p=pu(),l=t.apply(h,s),f||c||(s=h=D))}function a(){var t=e-(pu()-d);t<=0||t>e?i(_,c):f=ho(a,t)}function o(){i(y,f)}function u(){if(s=arguments,d=pu(),h=this,_=y&&(f||!g),!1===m)var n=g&&!f;else{c||g||(p=d);var r=m-(d-p),i=r<=0||r>m;i?(c&&(c=oo(c)),p=d,l=t.apply(h,s)):c||(c=ho(o,r))}return i&&f?f=oo(f):f||e===m||(f=ho(a,e)),n&&(i=!0,l=t.apply(h,s)),!i||f||c||(s=h=D),l}var s,c,l,d,h,f,_,p=0,m=!1,y=!0;if("function"!=typeof t)throw new Ja(z);if(e=e<0?0:+e||0,!0===n){var g=!0;y=!1}else ji(n)&&(g=!!n.leading,m="maxWait"in n&&Lo(+n.maxWait||0,e),y="trailing"in n?!!n.trailing:y);return u.cancel=r,u}function _i(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Ja(z);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new _i.Cache,n}function pi(t){if("function"!=typeof t)throw new Ja(z);return function(){return!t.apply(this,arguments)}}function mi(t){return hi(2,t)}function yi(t,e){if("function"!=typeof t)throw new Ja(z);return e=Lo(e===D?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=Lo(n.length-e,0),a=Ia(i);++r<i;)a[r]=n[e+r];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,n[0],a);case 2:return t.call(this,n[0],n[1],a)}var o=Ia(e+1);for(r=-1;++r<e;)o[r]=n[r];return o[e]=a,t.apply(this,o)}}function gi(t){if("function"!=typeof t)throw new Ja(z);return function(e){return t.apply(this,e)}}function vi(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Ja(z);return!1===n?r=!1:ji(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),fi(t,e,{leading:r,maxWait:+e,trailing:i})}function Mi(t,e){return e=null==e?Ya:e,Pn(e,F,D,[t],[])}function bi(t,e,n,r){return e&&"boolean"!=typeof e&&Qn(t,e,n)?e=!1:"function"==typeof e&&(r=n,n=e,e=!1),"function"==typeof n?be(t,e,on(n,r,1)):be(t,e)}function Li(t,e,n){return"function"==typeof e?be(t,!0,on(e,n,1)):be(t,!0)}function ki(t,e){return t>e}function wi(t,e){return t>=e}function Di(t){return y(t)&&Kn(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function xi(t){return!0===t||!1===t||y(t)&&no.call(t)==V}function Yi(t){return y(t)&&no.call(t)==G}function Ti(t){return!!t&&1===t.nodeType&&y(t)&&!Ii(t)}function Ai(t){return null==t||(Kn(t)&&(Au(t)||Wi(t)||Di(t)||y(t)&&Ci(t.splice))?!t.length:!Iu(t).length)}function Ei(t,e,n,r){n="function"==typeof n?on(n,r,3):D;var i=n?n(t,e):D;return i===D?He(t,e,n):!!i}function Si(t){return y(t)&&"string"==typeof t.message&&no.call(t)==J}function Fi(t){return"number"==typeof t&&Mo(t)}function Ci(t){return ji(t)&&no.call(t)==Z}function ji(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Hi(t,e,n,r){return n="function"==typeof n?on(n,r,3):D,Pe(t,qn(e),n)}function Oi(t){return Bi(t)&&t!=+t}function Pi(t){return null!=t&&(Ci(t)?io.test(Qa.call(t)):y(t)&&St.test(t))}function Ni(t){return null===t}function Bi(t){return"number"==typeof t||y(t)&&no.call(t)==K}function Ii(t){var e;if(!y(t)||no.call(t)!=X||Di(t)||!to.call(t,"constructor")&&"function"==typeof(e=t.constructor)&&!(e instanceof e))return!1;var n;return Ee(t,function(t,e){n=e}),n===D||to.call(t,n)}function Ri(t){return ji(t)&&no.call(t)==Q}function Wi(t){return"string"==typeof t||y(t)&&no.call(t)==tt}function zi(t){return y(t)&&nr(t.length)&&!!Bt[no.call(t)]}function qi(t){return t===D}function Ui(t,e){return t<e}function $i(t,e){return t<=e}function Vi(t){var e=t?Wo(t):0;return nr(e)?e?ne(t):[]:aa(t)}function Gi(t){return ve(t,ta(t))}function Ji(t,e,n){var r=Ho(t);return n&&Qn(t,e,n)&&(e=D),e?ye(r,e):r}function Zi(t){return Ce(t,ta(t))}function Ki(t,e,n){var r=null==t?D:je(t,hr(e),e+"");return r===D?n:r}function Xi(t,e){if(null==t)return!1;var n=to.call(t,e);if(!n&&!tr(e)){if(e=hr(e),null==(t=1==e.length?t:je(t,Ge(e,0,-1))))return!1;e=xr(e),n=to.call(t,e)}return n||nr(t.length)&&Xn(e,t.length)&&(Au(t)||Di(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=D);for(var r=-1,i=Iu(t),a=i.length,o={};++r<a;){var u=i[r],s=t[u];e?to.call(o,s)?o[s].push(u):o[s]=[u]:o[s]=u}return o}function ta(t){if(null==t)return[];ji(t)||(t=$a(t));var e=t.length;e=e&&nr(e)&&(Au(t)||Di(t))&&e||0;for(var n=t.constructor,r=-1,i="function"==typeof n&&n.prototype===t,a=Ia(e),o=e>0;++r<e;)a[r]=r+"";for(var u in t)o&&Xn(u,e)||"constructor"==u&&(i||!to.call(t,u))||a.push(u);return a}function ea(t){t=dr(t);for(var e=-1,n=Iu(t),r=n.length,i=Ia(r);++e<r;){var a=n[e];i[e]=[a,t[a]]}return i}function na(t,e,n){var r=null==t?D:t[e];return r===D&&(null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),r=null==t?D:t[xr(e)]),r=r===D?n:r),Ci(r)?r.call(t):r}function ra(t,e,n){if(null==t)return t;var r=e+"";e=null!=t[r]||tr(e,t)?[r]:hr(e);for(var i=-1,a=e.length,o=a-1,u=t;null!=u&&++i<a;){var s=e[i];ji(u)&&(i==o?u[s]=n:null==u[s]&&(u[s]=Xn(e[i+1])?[]:{})),u=u[s]}return t}function ia(t,e,n,r){var i=Au(t)||zi(t);if(e=Rn(e,r,4),null==n)if(i||ji(t)){var a=t.constructor;n=i?Au(t)?new a:[]:Ho(Ci(a)?a.prototype:D)}else n={};return(i?re:Se)(t,function(t,r,i){return e(n,t,r,i)}),n}function aa(t){return tn(t,Iu(t))}function oa(t){return tn(t,ta(t))}function ua(t,e,n){return e=+e||0,n===D?(n=e,e=0):n=+n||0,t>=ko(e,n)&&t<Lo(e,n)}function sa(t,e,n){n&&Qn(t,e,n)&&(e=n=D);var r=null==t,i=null==e;if(null==n&&(i&&"boolean"==typeof t?(n=t,t=1):"boolean"==typeof e&&(n=e,i=!0)),r&&i&&(e=1,i=!1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var a=xo();return ko(t+a*(e-t+uo("1e-"+((a+"").length-1))),e)}return $e(t,e)}function ca(t){return(t=u(t))&&t.charAt(0).toUpperCase()+t.slice(1)}function la(t){return(t=u(t))&&t.replace(Ct,h).replace(xt,"")}function da(t,e,n){t=u(t),e+="";var r=t.length;return n=n===D?r:ko(n<0?0:+n||0,r),(n-=e.length)>=0&&t.indexOf(e,n)==n}function ha(t){return t=u(t),t&&yt.test(t)?t.replace(pt,f):t}function fa(t){return t=u(t),t&&Dt.test(t)?t.replace(wt,_):t||"(?:)"}function _a(t,e,n){t=u(t),e=+e;var r=t.length;if(r>=e||!Mo(e))return t;var i=(e-r)/2,a=go(i);return n=Cn("",mo(i),n),n.slice(0,a)+t+n}function pa(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=va(t),Do(t,e||(Et.test(t)?16:10))}function ma(t,e){var n="";if(t=u(t),(e=+e)<1||!t||!Mo(e))return n;do{e%2&&(n+=t),e=go(e/2),t+=t}while(e);return n}function ya(t,e,n){return t=u(t),n=null==n?0:ko(n<0?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function ga(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=D),t=u(t),n=me(ye({},r||n),i,pe);var a,o,s=me(ye({},n.imports),i.imports,pe),c=Iu(s),l=tn(s,c),d=0,h=n.interpolate||jt,f="__p += '",_=Va((n.escape||jt).source+"|"+h.source+"|"+(h===Mt?Tt:jt).source+"|"+(n.evaluate||jt).source+"|$","g"),m="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Nt+"]")+"\n";t.replace(_,function(e,n,r,i,u,s){return r||(r=i),f+=t.slice(d,s).replace(Ht,p),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),d=s+e.length,e}),f+="';\n";var y=n.variable;y||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(dt,""):f).replace(ht,"$1").replace(ft,"$1;"),f="function("+(y||"obj")+") {\n"+(y?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Ku(function(){return za(c,m+"return "+f).apply(D,l)});if(g.source=f,Si(g))throw g;return g}function va(t,e,n){var r=t;return(t=u(t))?(n?Qn(r,e,n):null==e)?t.slice(b(t),L(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function Ma(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(b(t)):t.slice(s(t,e+"")):t}function ba(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,L(t)+1):t.slice(0,c(t,e+"")+1):t}function La(t,e,n){n&&Qn(t,e,n)&&(e=D);var r=O,i=P;if(null!=e)if(ji(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?u(e.omission):i}else r=+e||0;if(t=u(t),r>=t.length)return t;var o=r-i.length;if(o<1)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ri(a)){if(t.slice(o).search(a)){var c,l,d=t.slice(0,o);for(a.global||(a=Va(a.source,(At.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(d);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var h=s.lastIndexOf(a);h>-1&&(s=s.slice(0,h))}return s+i}function ka(t){return t=u(t),t&&mt.test(t)?t.replace(_t,k):t}function wa(t,e,n){return n&&Qn(t,e,n)&&(e=D),t=u(t),t.match(e||Ot)||[]}function Da(t,e,n){return n&&Qn(t,e,n)&&(e=D),y(t)?Ta(t):Me(t,e)}function xa(t){return function(){return t}}function Ya(t){return t}function Ta(t){return Be(be(t,!0))}function Aa(t,e){return Ie(t,be(e,!0))}function Ea(t,e,n){if(null==n){var r=ji(e),i=r?Iu(e):D,a=i&&i.length?Ce(e,i):D;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Ce(e,Iu(e)));var o=!0,u=-1,s=Ci(t),c=a.length;!1===n?o=!1:ji(n)&&"chain"in n&&(o=n.chain);for(;++u<c;){var l=a[u],d=e[l];t[l]=d,s&&(t.prototype[l]=function(e){return function(){var n=this.__chain__;if(o||n){var r=t(this.__wrapped__);return(r.__actions__=ne(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,ce([this.value()],arguments))}}(d))}return t}function Sa(){return Qt._=ro,this}function Fa(){}function Ca(t){return tr(t)?ze(t):qe(t)}function ja(t){return function(e){return je(t,hr(e),e+"")}}function Ha(t,e,n){n&&Qn(t,e,n)&&(e=n=D),t=+t||0,n=null==n?1:+n||0,null==e?(e=t,t=0):e=+e||0;for(var r=-1,i=Lo(mo((e-t)/(n||1)),0),a=Ia(i);++r<i;)a[r]=t,t+=n;return a}function Oa(t,e,n){if((t=go(t))<1||!Mo(t))return[];var r=-1,i=Ia(ko(t,Ao));for(e=on(e,n,1);++r<t;)r<Ao?i[r]=e(r):e(r);return i}function Pa(t){var e=++eo;return u(t)+e}function Na(t,e){return(+t||0)+(+e||0)}function Ba(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=Rn(e,n,3),1==e.length?fe(Au(t)?t:lr(t),e):Xe(t,e)}t=t?te.defaults(Qt.Object(),t,te.pick(Qt,Pt)):Qt;var Ia=t.Array,Ra=t.Date,Wa=t.Error,za=t.Function,qa=t.Math,Ua=t.Number,$a=t.Object,Va=t.RegExp,Ga=t.String,Ja=t.TypeError,Za=Ia.prototype,Ka=$a.prototype,Xa=Ga.prototype,Qa=za.prototype.toString,to=Ka.hasOwnProperty,eo=0,no=Ka.toString,ro=Qt._,io=Va("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,uo=t.parseFloat,so=qa.pow,co=Ka.propertyIsEnumerable,lo=Un(t,"Set"),ho=t.setTimeout,fo=Za.splice,_o=t.Uint8Array,po=Un(t,"WeakMap"),mo=qa.ceil,yo=Un($a,"create"),go=qa.floor,vo=Un(Ia,"isArray"),Mo=t.isFinite,bo=Un($a,"keys"),Lo=qa.max,ko=qa.min,wo=Un(Ra,"now"),Do=t.parseInt,xo=qa.random,Yo=Ua.NEGATIVE_INFINITY,To=Ua.POSITIVE_INFINITY,Ao=4294967295,Eo=Ao-1,So=Ao>>>1,Fo=9007199254740991,Co=po&&new po,jo={};e.support={};e.templateSettings={escape:gt,evaluate:vt,interpolate:Mt,variable:"",imports:{_:e}};var Ho=function(){function t(){}return function(e){if(ji(e)){t.prototype=e;var n=new t;t.prototype=D}return n||{}}}(),Oo=hn(Se),Po=hn(Fe,!0),No=fn(),Bo=fn(!0),Io=Co?function(t,e){return Co.set(t,e),t}:Ya,Ro=Co?function(t){return Co.get(t)}:Fa,Wo=ze("length"),zo=function(){var t=0,e=0;return function(n,r){var i=pu(),a=B-(i-e);if(e=i,a>0){if(++t>=N)return n}else t=0;return Io(n,r)}}(),qo=yi(function(t,e){return y(t)&&Kn(t)?ke(t,Ae(e,!1,!0)):[]}),Uo=Ln(),$o=Ln(!0),Vo=yi(function(t){for(var e=t.length,n=e,r=Ia(d),i=zn(),o=i==a,u=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=o&&s.length>=120?pn(n&&s):null}var c=t[0],l=-1,d=c?c.length:0,h=r[0];t:for(;++l<d;)if(s=c[l],(h?Kt(h,s):i(u,s,0))<0){for(var n=e;--n;){var f=r[n];if((f?Kt(f,s):i(t[n],s,0))<0)continue t}h&&h.push(s),u.push(s)}return u}),Go=yi(function(t,e){e=Ae(e);var n=ge(t,e);return Ue(t,e.sort(r)),n}),Jo=On(),Zo=On(!0),Ko=yi(function(t){return Qe(Ae(t,!1,!0))}),Xo=yi(function(t,e){return Kn(t)?ke(t,e):[]}),Qo=yi(Pr),tu=yi(function(t){var e=t.length,n=e>2?t[e-2]:D,r=e>1?t[e-1]:D;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):D,r=D),t.length=e,Nr(t,n,r)}),eu=yi(function(t){return t=Ae(t),this.thru(function(e){return ee(Au(e)?e:[dr(e)],t)})}),nu=yi(function(t,e){return ge(t,Ae(e))}),ru=ln(function(t,e,n){to.call(t,n)?++t[n]:t[n]=1}),iu=bn(Oo),au=bn(Po,!0),ou=Dn(re,Oo),uu=Dn(ie,Po),su=ln(function(t,e,n){to.call(t,n)?t[n].push(e):t[n]=[e]}),cu=ln(function(t,e,n){t[n]=e}),lu=yi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),o=Kn(t)?Ia(t.length):[];return Oo(t,function(t){var u=i?e:a&&null!=t?t[e]:D;o[++r]=u?u.apply(t,n):Zn(t,e,n)}),o}),du=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),hu=Sn(le,Oo),fu=Sn(de,Po),_u=yi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Ae(e),[])}),pu=wo||function(){return(new Ra).getTime()},mu=yi(function(t,e,n){var r=Y;if(n.length){var i=v(n,mu.placeholder);r|=F}return Pn(t,r,e,n,i)}),yu=yi(function(t,e){e=e.length?Ae(e):Zi(t);for(var n=-1,r=e.length;++n<r;){var i=e[n];t[i]=Pn(t[i],Y,t)}return t}),gu=yi(function(t,e,n){var r=Y|T;if(n.length){var i=v(n,gu.placeholder);r|=F}return Pn(e,r,t,n,i)}),vu=gn(E),Mu=gn(S),bu=yi(function(t,e){return Le(t,1,e)}),Lu=yi(function(t,e,n){return Le(t,e,n)}),ku=wn(),wu=wn(!0),Du=yi(function(t,e){if(e=Ae(e),"function"!=typeof t||!ae(e,o))throw new Ja(z);var n=e.length;return yi(function(r){for(var i=ko(r.length,n);i--;)r[i]=e[i](r[i]);return t.apply(this,r)})}),xu=En(F),Yu=En(C),Tu=yi(function(t,e){return Pn(t,H,D,D,D,Ae(e))}),Au=vo||function(t){return y(t)&&nr(t.length)&&no.call(t)==$},Eu=dn(Re),Su=dn(function(t,e,n){return n?me(t,e,n):ye(t,e)}),Fu=vn(Su,_e),Cu=vn(Eu,ar),ju=kn(Se),Hu=kn(Fe),Ou=xn(No),Pu=xn(Bo),Nu=Yn(Se),Bu=Yn(Fe),Iu=bo?function(t){var e=null==t?D:t.constructor;return"function"==typeof e&&e.prototype===t||"function"!=typeof t&&Kn(t)?cr(t):ji(t)?bo(t):[]}:cr,Ru=Tn(!0),Wu=Tn(),zu=yi(function(t,e){if(null==t)return{};if("function"!=typeof e[0]){var e=se(Ae(e),Ga);return or(t,ke(ta(t),e))}var n=on(e[0],e[1],3);return ur(t,function(t,e,r){return!n(t,e,r)})}),qu=yi(function(t,e){return null==t?{}:"function"==typeof e[0]?ur(t,on(e[0],e[1],3)):or(t,Ae(e))}),Uu=mn(function(t,e,n){return e=e.toLowerCase(),t+(n?e.charAt(0).toUpperCase()+e.slice(1):e)}),$u=mn(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Vu=An(),Gu=An(!0),Ju=mn(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Zu=mn(function(t,e,n){return t+(n?" ":"")+(e.charAt(0).toUpperCase()+e.slice(1))}),Ku=yi(function(t,e){try{return t.apply(D,e)}catch(t){return Si(t)?t:new Wa(t)}}),Xu=yi(function(t,e){return function(n){return Zn(n,t,e)}}),Qu=yi(function(t,e){return function(n){return Zn(t,n,e)}}),ts=Hn("ceil"),es=Hn("floor"),ns=Mn(ki,Yo),rs=Mn(Ui,To),is=Hn("round");return e.prototype=n.prototype,g.prototype=Ho(n.prototype),g.prototype.constructor=g,Rt.prototype=Ho(n.prototype),Rt.prototype.constructor=Rt,Ut.prototype.delete=$t,Ut.prototype.get=Vt,Ut.prototype.has=Gt,Ut.prototype.set=Jt,Zt.prototype.push=Xt,_i.Cache=Ut,e.after=li,e.ary=di,e.assign=Su,e.at=nu,e.before=hi,e.bind=mu,e.bindAll=yu,e.bindKey=gu,e.callback=Da,e.chain=Rr,e.chunk=_r,e.compact=pr,e.constant=xa,e.countBy=ru,e.create=Ji,e.curry=vu,e.curryRight=Mu,e.debounce=fi,e.defaults=Fu,e.defaultsDeep=Cu,e.defer=bu,e.delay=Lu,e.difference=qo,e.drop=mr,e.dropRight=yr,e.dropRightWhile=gr,e.dropWhile=vr,e.fill=Mr,e.filter=Kr,e.flatten=Lr,e.flattenDeep=kr,e.flow=ku,e.flowRight=wu,e.forEach=ou,e.forEachRight=uu,e.forIn=Ou,e.forInRight=Pu,e.forOwn=Nu,e.forOwnRight=Bu,e.functions=Zi,e.groupBy=su,e.indexBy=cu,e.initial=Dr,e.intersection=Vo,e.invert=Qi,e.invoke=lu,e.keys=Iu,e.keysIn=ta,e.map=ti,e.mapKeys=Ru,e.mapValues=Wu,e.matches=Ta,e.matchesProperty=Aa,e.memoize=_i,e.merge=Eu,e.method=Xu,e.methodOf=Qu,e.mixin=Ea,e.modArgs=Du,e.negate=pi,e.omit=zu,e.once=mi,e.pairs=ea,e.partial=xu,e.partialRight=Yu,e.partition=du,e.pick=qu,e.pluck=ei,e.property=Ca,e.propertyOf=ja,e.pull=Tr,e.pullAt=Go,e.range=Ha,e.rearg=Tu,e.reject=ni,e.remove=Ar,e.rest=Er,e.restParam=yi,e.set=ra,e.shuffle=ii,e.slice=Sr,e.sortBy=ui,e.sortByAll=_u,e.sortByOrder=si,e.spread=gi,e.take=Fr,e.takeRight=Cr,e.takeRightWhile=jr,e.takeWhile=Hr,e.tap=Wr,e.throttle=vi,e.thru=zr,e.times=Oa,e.toArray=Vi,e.toPlainObject=Gi,e.transform=ia,e.union=Ko,e.uniq=Or,e.unzip=Pr,e.unzipWith=Nr,e.values=aa,e.valuesIn=oa,e.where=ci,e.without=Xo,e.wrap=Mi,e.xor=Br,e.zip=Qo,e.zipObject=Ir,e.zipWith=tu,e.backflow=wu,e.collect=ti,e.compose=wu,e.each=ou,e.eachRight=uu,e.extend=Su,e.iteratee=Da,e.methods=Zi,e.object=Ir,e.select=Kr,e.tail=Er,e.unique=Or,Ea(e,e),e.add=Na,e.attempt=Ku,e.camelCase=Uu,e.capitalize=ca,e.ceil=ts,e.clone=bi,e.cloneDeep=Li,e.deburr=la,e.endsWith=da,e.escape=ha,e.escapeRegExp=fa,e.every=Zr,e.find=iu,e.findIndex=Uo,e.findKey=ju,e.findLast=au,e.findLastIndex=$o,e.findLastKey=Hu,e.findWhere=Xr,e.first=br,e.floor=es,e.get=Ki,e.gt=ki,e.gte=wi,e.has=Xi,e.identity=Ya,e.includes=Qr,e.indexOf=wr,e.inRange=ua,e.isArguments=Di,e.isArray=Au,e.isBoolean=xi,e.isDate=Yi,e.isElement=Ti,e.isEmpty=Ai,e.isEqual=Ei,e.isError=Si,e.isFinite=Fi,e.isFunction=Ci,e.isMatch=Hi,e.isNaN=Oi,e.isNative=Pi,e.isNull=Ni,e.isNumber=Bi,e.isObject=ji,e.isPlainObject=Ii,e.isRegExp=Ri,e.isString=Wi,e.isTypedArray=zi,e.isUndefined=qi,e.kebabCase=$u,e.last=xr,e.lastIndexOf=Yr,e.lt=Ui,e.lte=$i,e.max=ns,e.min=rs,e.noConflict=Sa,e.noop=Fa,e.now=pu,e.pad=_a,e.padLeft=Vu,e.padRight=Gu,e.parseInt=pa,e.random=sa,e.reduce=hu,e.reduceRight=fu,e.repeat=ma,e.result=na,e.round=is,e.runInContext=w,e.size=ai,e.snakeCase=Ju,e.some=oi,e.sortedIndex=Jo,e.sortedLastIndex=Zo,e.startCase=Zu,e.startsWith=ya,e.sum=Ba,e.template=ga,e.trim=va,e.trimLeft=Ma,e.trimRight=ba,e.trunc=La,e.unescape=ka,e.uniqueId=Pa,e.words=wa,e.all=Zr,e.any=oi,e.contains=Qr,e.eq=Ei,e.detect=iu,e.foldl=hu,e.foldr=fu,e.head=br,e.include=Qr,e.inject=hu,Ea(e,function(){var t={};return Se(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.sample=ri,e.prototype.sample=function(t){return this.__chain__||null!=t?this.thru(function(e){return ri(e,t)}):ri(this.value())},e.VERSION=x,re(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),re(["drop","take"],function(t,e){Rt.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new Rt(this);n=null==n?1:Lo(go(n)||0,0);var i=this.clone();return r?i.__takeCount__=ko(i.__takeCount__,n):i.__views__.push({size:n,type:t+(i.__dir__<0?"Right":"")}),i},Rt.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),re(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n!=W;Rt.prototype[t]=function(t,e){var i=this.clone();return i.__iteratees__.push({iteratee:Rn(t,e,1),type:n}),i.__filtered__=i.__filtered__||r,i}}),re(["first","last"],function(t,e){var n="take"+(e?"Right":"");Rt.prototype[t]=function(){return this[n](1).value()[0]}}),re(["initial","rest"],function(t,e){var n="drop"+(e?"":"Right");Rt.prototype[t]=function(){return this.__filtered__?new Rt(this):this[n](1)}}),re(["pluck","where"],function(t,e){var n=e?"filter":"map",r=e?Be:Ca;Rt.prototype[t]=function(t){return this[n](r(t))}}),Rt.prototype.compact=function(){return this.filter(Ya)},Rt.prototype.reject=function(t,e){return t=Rn(t,e,1),this.filter(function(e){return!t(e)})},Rt.prototype.slice=function(t,e){t=null==t?0:+t||0;var n=this;return n.__filtered__&&(t>0||e<0)?new Rt(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==D&&(e=+e||0,n=e<0?n.dropRight(-e):n.take(e-t)),n)},Rt.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},Rt.prototype.toArray=function(){return this.take(To)},Se(Rt.prototype,function(t,n){var r=/^(?:filter|map|reject)|While$/.test(n),i=/^(?:first|last)$/.test(n),a=e[i?"take"+("last"==n?"Right":""):n];a&&(e.prototype[n]=function(){var e=i?[1]:arguments,n=this.__chain__,o=this.__wrapped__,u=!!this.__actions__.length,s=o instanceof Rt,c=e[0],l=s||Au(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var d=function(t){return i&&n?a(t,1)[0]:a.apply(D,ce([t],e))},h={func:zr,args:[d],thisArg:D},f=s&&!u;if(i&&!n)return f?(o=o.clone(),o.__actions__.push(h),t.call(o)):a.call(D,this.value())[0];if(!i&&l){o=f?o:new Rt(this);var _=t.apply(o,e);return _.__actions__.push(h),new g(_,n)}return this.thru(d)})}),re(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Xa:Za)[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:join|pop|replace|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?n.apply(this.value(),t):this[r](function(e){return n.apply(e,t)})}}),Se(Rt.prototype,function(t,n){var r=e[n];if(r){var i=r.name;(jo[i]||(jo[i]=[])).push({name:n,func:r})}}),jo[Fn(D,T).name]=[{name:"wrapper",func:D}],Rt.prototype.clone=Wt,Rt.prototype.reverse=zt,Rt.prototype.value=qt,e.prototype.chain=qr,e.prototype.commit=Ur,e.prototype.concat=eu,e.prototype.plant=$r,e.prototype.reverse=Vr,e.prototype.toString=Gr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Jr,e.prototype.collect=e.prototype.map,e.prototype.head=e.prototype.first,e.prototype.select=e.prototype.filter,e.prototype.tail=e.prototype.rest,e}var D,x="3.10.1",Y=1,T=2,A=4,E=8,S=16,F=32,C=64,j=128,H=256,O=30,P="...",N=150,B=16,I=200,R=1,W=2,z="Expected a function",q="__lodash_placeholder__",U="[object Arguments]",$="[object Array]",V="[object Boolean]",G="[object Date]",J="[object Error]",Z="[object Function]",K="[object Number]",X="[object Object]",Q="[object RegExp]",tt="[object String]",et="[object ArrayBuffer]",nt="[object Float32Array]",rt="[object Float64Array]",it="[object Int8Array]",at="[object Int16Array]",ot="[object Int32Array]",ut="[object Uint8Array]",st="[object Uint8ClampedArray]",ct="[object Uint16Array]",lt="[object Uint32Array]",dt=/\b__p \+= '';/g,ht=/\b(__p \+=) '' \+/g,ft=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39|#96);/g,pt=/[&<>"'`]/g,mt=RegExp(_t.source),yt=RegExp(pt.source),gt=/<%-([\s\S]+?)%>/g,vt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,bt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Lt=/^\w*$/,kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,wt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Dt=RegExp(wt.source),xt=/[\u0300-\u036f\ufe20-\ufe23]/g,Yt=/\\(\\)?/g,Tt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,At=/\w*$/,Et=/^0[xX]/,St=/^\[object .+?Constructor\]$/,Ft=/^\d+$/,Ct=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,jt=/($^)/,Ht=/['\n\r\u2028\u2029\\]/g,Ot=function(){var t="[A-Z\\xc0-\\xd6\\xd8-\\xde]",e="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(t+"+(?="+t+e+")|"+t+"?"+e+"|"+t+"+|[0-9]+","g")}(),Pt=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Nt=-1,Bt={};Bt[nt]=Bt[rt]=Bt[it]=Bt[at]=Bt[ot]=Bt[ut]=Bt[st]=Bt[ct]=Bt[lt]=!0,Bt[U]=Bt[$]=Bt[et]=Bt[V]=Bt[G]=Bt[J]=Bt[Z]=Bt["[object Map]"]=Bt[K]=Bt[X]=Bt[Q]=Bt["[object Set]"]=Bt[tt]=Bt["[object WeakMap]"]=!1;var It={};It[U]=It[$]=It[et]=It[V]=It[G]=It[nt]=It[rt]=It[it]=It[at]=It[ot]=It[K]=It[X]=It[Q]=It[tt]=It[ut]=It[st]=It[ct]=It[lt]=!0,It[J]=It[Z]=It["[object Map]"]=It["[object Set]"]=It["[object WeakMap]"]=!1;var Rt={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Wt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},zt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},qt={function:!0,object:!0},Ut={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},$t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Vt=qt[typeof e]&&e&&!e.nodeType&&e,Gt=qt[typeof t]&&t&&!t.nodeType&&t,Jt=Vt&&Gt&&"object"==typeof n&&n&&n.Object&&n,Zt=qt[typeof self]&&self&&self.Object&&self,Kt=qt[typeof window]&&window&&window.Object&&window,Xt=Gt&&Gt.exports===Vt&&Vt,Qt=Jt||Kt!==(this&&this.window)&&Kt||Zt||this,te=w();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Qt._=te,define(function(){return te})):Vt&&Gt?Xt?(Gt.exports=te)._=te:Vt._=te:Qt._=te}).call(this)}).call(e,n(4)(t),n(9))},function(t,e){t.exports="1.0.7"},function(t,e,n){function r(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:i(t),edges:a(t)};return u.isUndefined(t.graph())||(e.value=u.clone(t.graph())),e}function i(t){return u.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return u.isUndefined(n)||(i.value=n),u.isUndefined(r)||(i.parent=r),i})}function a(t){return u.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return u.isUndefined(e.name)||(r.name=e.name),u.isUndefined(n)||(r.value=n),r})}function o(t){var e=new s(t.options).setGraph(t.value);return u.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),u.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var u=n(6),s=n(19);t.exports={write:r,read:o}},function(t,e,n){t.exports={components:n(194),dijkstra:n(34),dijkstraAll:n(195),findCycles:n(196),floydWarshall:n(197),isAcyclic:n(198),postorder:n(199),preorder:n(200),prim:n(201),tarjan:n(36),topsort:n(37)}},function(t,e,n){function r(t){function e(a){i.has(r,a)||(r[a]=!0,n.push(a),i.each(t.successors(a),e),i.each(t.predecessors(a),e))}var n,r={},a=[];return i.each(t.nodes(),function(t){n=[],e(t),n.length&&a.push(n)}),a}var i=n(6);t.exports=r},function(t,e,n){function r(t,e,n){return a.transform(t.nodes(),function(r,a){r[a]=i(t,a,e,n)},{})}var i=n(34),a=n(6);t.exports=r},function(t,e,n){function r(t){return i.filter(a(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var i=n(6),a=n(36);t.exports=r},function(t,e,n){function r(t,e,n){return i(t,e||o,n||function(e){return t.outEdges(e)})}function i(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],u=r.distance+i.distance;u<o.distance&&(o.distance=u,o.predecessor=i.predecessor)})})}),r}var a=n(6);t.exports=r;var o=a.constant(1)},function(t,e,n){function r(t){try{i(t)}catch(t){if(t instanceof i.CycleException)return!1;throw t}return!0}var i=n(37);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"post")}var i=n(38);t.exports=r},function(t,e,n){function r(t,e){return i(t,e,"pre")}var i=n(38);t.exports=r},function(t,e,n){function r(t,e){function n(t){var n=t.v===r?t.w:t.v,i=c.priority(n);if(void 0!==i){var a=e(t);a<i&&(s[n]=r,c.decrease(n,a))}}var r,u=new a,s={},c=new o;if(0===t.nodeCount())return u;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),u.setNode(t)}),c.decrease(t.nodes()[0],0);for(var l=!1;c.size()>0;){if(r=c.removeMin(),i.has(s,r))u.setEdge(r,s[r]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(r).forEach(n)}return u}var i=n(6),a=n(19),o=n(35);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n=e&&e.debugTiming?C.time:C.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return o(t)});n(" runLayout",function(){i(e,n)}),n(" updateInputGraph",function(){a(t,e)})})}function i(t,e){e(" makeSpaceForEdgeLabels",function(){u(t)}),e(" removeSelfEdges",function(){m(t)}),e(" acyclic",function(){L.run(t)}),e(" nestingGraph.run",function(){T.run(t)}),e(" rank",function(){w(C.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){s(t)}),e(" removeEmptyRanks",function(){Y(t)}),e(" nestingGraph.cleanup",function(){T.cleanup(t)}),e(" normalizeRanks",function(){D(t)}),e(" assignRankMinMax",function(){c(t)}),e(" removeEdgeLabelProxies",function(){l(t)}),e(" normalize.run",function(){k.run(t)}),e(" parentDummyChains",function(){x(t)}),e(" addBorderSegments",function(){A(t)}),e(" order",function(){S(t)}),e(" insertSelfEdges",function(){y(t)}),e(" adjustCoordinateSystem",function(){E.adjust(t)}),e(" position",function(){F(t)}),e(" positionSelfEdges",function(){g(t)}),e(" removeBorderNodes",function(){p(t)}),e(" normalize.undo",function(){k.undo(t)}),e(" fixupEdgeLabelCoords",function(){f(t)}),e(" undoCoordinateSystem",function(){E.undo(t)}),e(" translateGraph",function(){d(t)}),e(" assignNodeIntersects",function(){h(t)}),e(" reversePoints",function(){_(t)}),e(" acyclic.undo",function(){L.undo(t)})}function a(t,e){b.each(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))}),b.each(t.edges(),function(n){var r=t.edge(n),i=e.edge(n);r.points=i.points,b.has(i,"x")&&(r.x=i.x,r.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function o(t){var e=new j({multigraph:!0,compound:!0}),n=M(t.graph());return e.setGraph(b.merge({},O,v(n,H),b.pick(n,P))),b.each(t.nodes(),function(n){var r=M(t.node(n));e.setNode(n,b.defaults(v(r,N),B)),e.setParent(n,t.parent(n))}),b.each(t.edges(),function(n){var r=M(t.edge(n));e.setEdge(n,b.merge({},R,v(r,I),b.pick(r,W)))}),e}function u(t){var e=t.graph();e.ranksep/=2,b.each(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)})}function s(t){b.each(t.edges(),function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-r.rank)/2+r.rank,e:e};C.addDummyNode(t,"edge-proxy",a,"_ep")}})}function c(t){var e=0;b.each(t.nodes(),function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=b.max(e,r.maxRank))}),t.graph().maxRank=e}function l(t){b.each(t.nodes(),function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))})}function d(t){function e(t){var e=t.x,o=t.y,u=t.width,s=t.height;n=Math.min(n,e-u/2),r=Math.max(r,e+u/2),i=Math.min(i,o-s/2),a=Math.max(a,o+s/2)}var n=Number.POSITIVE_INFINITY,r=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),u=o.marginx||0,s=o.marginy||0;b.each(t.nodes(),function(n){e(t.node(n))}),b.each(t.edges(),function(n){var r=t.edge(n);b.has(r,"x")&&e(r)}),n-=u,i-=s,b.each(t.nodes(),function(e){var r=t.node(e);r.x-=n,r.y-=i}),b.each(t.edges(),function(e){var r=t.edge(e);b.each(r.points,function(t){t.x-=n,t.y-=i}),b.has(r,"x")&&(r.x-=n),b.has(r,"y")&&(r.y-=i)}),o.width=r-n+u,o.height=a-i+s}function h(t){b.each(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(C.intersectRect(a,n)),i.points.push(C.intersectRect(o,r))})}function f(t){b.each(t.edges(),function(e){var n=t.edge(e);if(b.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}})}function _(t){b.each(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}function p(t){b.each(t.nodes(),function(e){if(t.children(e).length){var n=t.node(e),r=t.node(n.borderTop),i=t.node(n.borderBottom),a=t.node(b.last(n.borderLeft)),o=t.node(b.last(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),b.each(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}function m(t){b.each(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)}})}function y(t){var e=C.buildLayerMatrix(t);b.each(e,function(e){var n=0;b.each(e,function(e,r){var i=t.node(e);i.order=r+n,b.each(i.selfEdges,function(e){C.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:r+ ++n,e:e.e,label:e.label},"_se")}),delete i.selfEdges})})}function g(t){b.each(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,u=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*o/3,y:a-u},{x:i+5*o/6,y:a-u},{x:i+o,y:a},{x:i+5*o/6,y:a+u},{x:i+2*o/3,y:a+u}],n.label.x=n.x,n.label.y=n.y}})}function v(t,e){return b.mapValues(b.pick(t,e),Number)}function M(t){var e={};return b.each(t,function(t,n){e[n.toLowerCase()]=t}),e}var b=n(1),L=n(204),k=n(207),w=n(208),D=n(3).normalizeRanks,x=n(210),Y=n(3).removeEmptyRanks,T=n(211),A=n(212),E=n(213),S=n(214),F=n(223),C=n(3),j=n(8).Graph;t.exports=r;var H=["nodesep","edgesep","ranksep","marginx","marginy"],O={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},P=["acyclicer","ranker","rankdir","align"],N=["width","height"],B={width:0,height:0},I=["minlen","weight","width","height","labeloffset"],R={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},W=["labelpos"]},function(t,e,n){(function(t,n){(function(){function r(t,e){if(t!==e){var n=null===t,r=t===D,i=t===t,a=null===e,o=e===D,u=e===e;if(t>e&&!a||!i||n&&!o&&u||r&&u)return 1;if(t<e&&!n||!u||a&&!r&&i||o&&i)return-1}return 0}function i(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function a(t,e,n){if(e!==e)return m(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function o(t){return"function"==typeof t||!1}function u(t){return null==t?"":t+""}function s(t,e){for(var n=-1,r=t.length;++n<r&&e.indexOf(t.charAt(n))>-1;);return n}function c(t,e){for(var n=t.length;n--&&e.indexOf(t.charAt(n))>-1;);return n}function l(t,e){return r(t.criteria,e.criteria)||t.index-e.index}function d(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,u=a.length,s=n.length;++i<u;){var c=r(a[i],o[i]);if(c){if(i>=s)return c;var l=n[i];return c*("asc"===l||!0===l?1:-1)}}return t.index-e.index}function h(t){return Rt[t]}function f(t){return Wt[t]}function _(t,e,n){return e?t=Ut[t]:n&&(t=$t[t]),"\\"+t}function p(t){return"\\"+$t[t]}function m(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var a=t[i];if(a!==a)return i}return-1}function y(t){return!!t&&"object"==typeof t}function g(t){return t<=160&&t>=9&&t<=13||32==t||160==t||5760==t||6158==t||t>=8192&&(t<=8202||8232==t||8233==t||8239==t||8287==t||12288==t||65279==t)}function v(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;)t[n]===e&&(t[n]=q,a[++i]=n);return a}function M(t,e){for(var n,r=-1,i=t.length,a=-1,o=[];++r<i;){var u=t[r],s=e?e(u,r,t):u;r&&n===s||(n=s,o[++a]=u)}return o}function b(t){for(var e=-1,n=t.length;++e<n&&g(t.charCodeAt(e)););return e}function L(t){for(var e=t.length;e--&&g(t.charCodeAt(e)););return e}function k(t){return zt[t]}function w(t){function e(t){if(y(t)&&!Au(t)&&!(t instanceof Rt)){if(t instanceof g)return t;if(to.call(t,"__chain__")&&to.call(t,"__wrapped__"))return fr(t)}return new g(t)}function n(){}function g(t,e,n){this.__wrapped__=t,this.__actions__=n||[],this.__chain__=!!e}function Rt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=To,this.__views__=[]}function Wt(){var t=new Rt(this.__wrapped__);return t.__actions__=ne(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ne(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ne(this.__views__),t}function zt(){if(this.__filtered__){var t=new Rt(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function qt(){var t=this.__wrapped__.value(),e=this.__dir__,n=Au(t),r=e<0,i=n?t.length:0,a=$n(0,i,this.__views__),o=a.start,u=a.end,s=u-o,c=r?u:o-1,l=this.__iteratees__,d=l.length,h=0,f=ko(s,this.__takeCount__);if(!n||i<I||i==s&&f==s)return nn(r&&n?t.reverse():t,this.__actions__);var _=[];t:for(;s--&&h<f;){c+=e;for(var p=-1,m=t[c];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==W)m=M;else if(!M){if(v==R)continue t;break t}}_[h++]=m}return _}function Ut(){this.__data__={}}function $t(t){return this.has(t)&&delete this.__data__[t]}function Vt(t){return"__proto__"==t?D:this.__data__[t]}function Gt(t){return"__proto__"!=t&&to.call(this.__data__,t)}function Jt(t,e){return"__proto__"!=t&&(this.__data__[t]=e),this}function Zt(t){var e=t?t.length:0;for(this.data={hash:yo(null),set:new lo};e--;)this.push(t[e])}function Kt(t,e){var n=t.data;return("string"==typeof e||ji(e)?n.set.has(e):n.hash[e])?0:-1}function Xt(t){var e=this.data;"string"==typeof t||ji(t)?e.set.add(t):e.hash[t]=!0}function ee(t,e){for(var n=-1,r=t.length,i=-1,a=e.length,o=Ia(r+a);++n<r;)o[n]=t[n];for(;++i<a;)o[n++]=e[i];return o}function ne(t,e){var n=-1,r=t.length;for(e||(e=Ia(r));++n<r;)e[n]=t[n];return e}function re(t,e){for(var n=-1,r=t.length;++n<r&&!1!==e(t[n],n,t););return t}function ie(t,e){for(var n=t.length;n--&&!1!==e(t[n],n,t););return t}function ae(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function oe(t,e,n,r){for(var i=-1,a=t.length,o=r,u=o;++i<a;){var s=t[i],c=+e(s);n(c,o)&&(o=c,u=s)}return u}function ue(t,e){for(var n=-1,r=t.length,i=-1,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[++i]=o)}return a}function se(t,e){for(var n=-1,r=t.length,i=Ia(r);++n<r;)i[n]=e(t[n],n,t);return i}function ce(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function le(t,e,n,r){var i=-1,a=t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function de(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function he(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function fe(t,e){for(var n=t.length,r=0;n--;)r+=+e(t[n])||0;return r}function _e(t,e){return t===D?e:t}function pe(t,e,n,r){return t!==D&&to.call(r,n)?t:e}function me(t,e,n){for(var r=-1,i=Iu(e),a=i.length;++r<a;){var o=i[r],u=t[o],s=n(u,e[o],o,t,e);(s===s?s===u:u!==u)&&(u!==D||o in t)||(t[o]=s)}return t}function ye(t,e){return null==e?t:ve(e,Iu(e),t)}function ge(t,e){for(var n=-1,r=null==t,i=!r&&Kn(t),a=i?t.length:0,o=e.length,u=Ia(o);++n<o;){var s=e[n];u[n]=i?Xn(s,a)?t[s]:D:r?D:t[s]}return u}function ve(t,e,n){n||(n={});for(var r=-1,i=e.length;++r<i;){var a=e[r];n[a]=t[a]}return n}function Me(t,e,n){var r=typeof t;return"function"==r?e===D?t:on(t,e,n):null==t?Ya:"object"==r?Be(t):e===D?Ca(t):Ie(t,e)}function be(t,e,n,r,i,a,o){var u;if(n&&(u=i?n(t,r,i):n(t)),u!==D)return u;if(!ji(t))return t;var s=Au(t);if(s){if(u=Vn(t),!e)return ne(t,u)}else{var c=no.call(t),l=c==Z;if(c!=X&&c!=U&&(!l||i))return It[c]?Jn(t,c,e):i?t:{};if(u=Gn(l?{}:t),!e)return ye(u,t)}a||(a=[]),o||(o=[]);for(var d=a.length;d--;)if(a[d]==t)return o[d];return a.push(t),o.push(u),(s?re:Se)(t,function(r,i){u[i]=be(r,e,n,i,t,a,o)}),u}function Le(t,e,n){if("function"!=typeof t)throw new Ja(z);return ho(function(){t.apply(D,n)},e)}function ke(t,e){var n=t?t.length:0,r=[];if(!n)return r;var i=-1,o=zn(),u=o==a,s=u&&e.length>=I?pn(e):null,c=e.length;s&&(o=Kt,u=!1,e=s);t:for(;++i<n;){var l=t[i];if(u&&l===l){for(var d=c;d--;)if(e[d]===l)continue t;r.push(l)}else o(e,l,0)<0&&r.push(l)}return r}function we(t,e){var n=!0;return Oo(t,function(t,r,i){return n=!!e(t,r,i)}),n}function De(t,e,n,r){var i=r,a=i;return Oo(t,function(t,o,u){var s=+e(t,o,u);(n(s,i)||s===r&&s===a)&&(i=s,a=t)}),a}function xe(t,e,n,r){var i=t.length;for(n=null==n?0:+n||0,n<0&&(n=-n>i?0:i+n),r=r===D||r>i?i:+r||0,r<0&&(r+=i),i=n>r?0:r>>>0,n>>>=0;n<i;)t[n++]=e;return t}function Ye(t,e){var n=[];return Oo(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Te(t,e,n,r){var i;return n(t,function(t,n,a){if(e(t,n,a))return i=r?n:t,!1}),i}function Ae(t,e,n,r){r||(r=[]);for(var i=-1,a=t.length;++i<a;){var o=t[i];y(o)&&Kn(o)&&(n||Au(o)||Di(o))?e?Ae(o,e,n,r):ce(r,o):n||(r[r.length]=o)}return r}function Ee(t,e){return No(t,e,ta)}function Se(t,e){return No(t,e,Iu)}function Fe(t,e){return Bo(t,e,Iu)}function Ce(t,e){for(var n=-1,r=e.length,i=-1,a=[];++n<r;){var o=e[n];Ci(t[o])&&(a[++i]=o)}return a}function je(t,e,n){if(null!=t){n!==D&&n in dr(t)&&(e=[n]);for(var r=0,i=e.length;null!=t&&r<i;)t=t[e[r++]];return r&&r==i?t:D}}function He(t,e,n,r,i,a){return t===e||(null==t||null==e||!ji(t)&&!y(e)?t!==t&&e!==e:Oe(t,e,He,n,r,i,a))}function Oe(t,e,n,r,i,a,o){var u=Au(t),s=Au(e),c=$,l=$;u||(c=no.call(t),c==U?c=X:c!=X&&(u=zi(t))),s||(l=no.call(e),l==U?l=X:l!=X&&(s=zi(e)));var d=c==X,h=l==X,f=c==l;if(f&&!u&&!d)return Bn(t,e,c);if(!i){var _=d&&to.call(t,"__wrapped__"),p=h&&to.call(e,"__wrapped__");if(_||p)return n(_?t.value():t,p?e.value():e,r,i,a,o)}if(!f)return!1;a||(a=[]),o||(o=[]);for(var m=a.length;m--;)if(a[m]==t)return o[m]==e;a.push(t),o.push(e);var y=(u?Nn:In)(t,e,n,r,i,a,o);return a.pop(),o.pop(),y}function Pe(t,e,n){var r=e.length,i=r,a=!n;if(null==t)return!i;for(t=dr(t);r--;){var o=e[r];if(a&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++r<i;){o=e[r];var u=o[0],s=t[u],c=o[1];if(a&&o[2]){if(s===D&&!(u in t))return!1}else{var l=n?n(s,c,u):D;if(!(l===D?He(c,s,n,!0):l))return!1}}return!0}function Ne(t,e){var n=-1,r=Kn(t)?Ia(t.length):[];return Oo(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function Be(t){var e=qn(t);if(1==e.length&&e[0][2]){var n=e[0][0],r=e[0][1];return function(t){return null!=t&&(t[n]===r&&(r!==D||n in dr(t)))}}return function(t){return Pe(t,e)}}function Ie(t,e){var n=Au(t),r=tr(t)&&rr(e),i=t+"";return t=hr(t),function(a){if(null==a)return!1;var o=i;if(a=dr(a),(n||!r)&&!(o in a)){if(null==(a=1==t.length?a:je(a,Ge(t,0,-1))))return!1;o=xr(t),a=dr(a)}return a[o]===e?e!==D||o in a:He(e,a[o],D,!0)}}function Re(t,e,n,r,i){if(!ji(t))return t;var a=Kn(e)&&(Au(e)||zi(e)),o=a?D:Iu(e);return re(o||e,function(u,s){if(o&&(s=u,u=e[s]),y(u))r||(r=[]),i||(i=[]),We(t,e,s,Re,n,r,i);else{var c=t[s],l=n?n(c,u,s,t,e):D,d=l===D;d&&(l=u),l===D&&(!a||s in t)||!d&&(l===l?l===c:c!==c)||(t[s]=l)}}),t}function We(t,e,n,r,i,a,o){for(var u=a.length,s=e[n];u--;)if(a[u]==s)return void(t[n]=o[u]);var c=t[n],l=i?i(c,s,n,t,e):D,d=l===D;d&&(l=s,Kn(s)&&(Au(s)||zi(s))?l=Au(c)?c:Kn(c)?ne(c):[]:Ii(s)||Di(s)?l=Di(c)?Gi(c):Ii(c)?c:{}:d=!1),a.push(s),o.push(l),d?t[n]=r(l,s,i,a,o):(l===l?l!==c:c===c)&&(t[n]=l)}function ze(t){return function(e){return null==e?D:e[t]}}function qe(t){var e=t+"";return t=hr(t),function(n){return je(n,t,e)}}function Ue(t,e){for(var n=t?e.length:0;n--;){var r=e[n];if(r!=i&&Xn(r)){var i=r;fo.call(t,r,1)}}return t}function $e(t,e){return t+go(xo()*(e-t+1))}function Ve(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function Ge(t,e,n){var r=-1,i=t.length;e=null==e?0:+e||0,e<0&&(e=-e>i?0:i+e),n=n===D||n>i?i:+n||0,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Ia(i);++r<i;)a[r]=t[r+e];return a}function Je(t,e){var n;return Oo(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function Ze(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function Ke(t,e,n){var r=Rn(),i=-1;return e=se(e,function(t){return r(t)}),Ze(Ne(t,function(t){return{criteria:se(e,function(e){return e(t)}),index:++i,value:t}}),function(t,e){return d(t,e,n)})}function Xe(t,e){var n=0;return Oo(t,function(t,r,i){n+=+e(t,r,i)||0}),n}function Qe(t,e){var n=-1,r=zn(),i=t.length,o=r==a,u=o&&i>=I,s=u?pn():null,c=[];s?(r=Kt,o=!1):(u=!1,s=e?[]:c);t:for(;++n<i;){var l=t[n],d=e?e(l,n,t):l;if(o&&l===l){for(var h=s.length;h--;)if(s[h]===d)continue t;e&&s.push(d),c.push(l)}else r(s,d,0)<0&&((e||u)&&s.push(d),c.push(l))}return c}function tn(t,e){for(var n=-1,r=e.length,i=Ia(r);++n<r;)i[n]=t[e[n]];return i}function en(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Ge(t,r?0:a,r?a+1:i):Ge(t,r?a+1:0,r?i:a)}function nn(t,e){var n=t;n instanceof Rt&&(n=n.value());for(var r=-1,i=e.length;++r<i;){var a=e[r];n=a.func.apply(a.thisArg,ce([n],a.args))}return n}function rn(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&i<=So){for(;r<i;){var a=r+i>>>1,o=t[a];(n?o<=e:o<e)&&null!==o?r=a+1:i=a}return i}return an(t,e,Ya,n)}function an(t,e,n,r){e=n(e);for(var i=0,a=t?t.length:0,o=e!==e,u=null===e,s=e===D;i<a;){var c=go((i+a)/2),l=n(t[c]),d=l!==D,h=l===l;if(o)var f=h||r;else f=u?h&&d&&(r||null!=l):s?h&&(r||d):null!=l&&(r?l<=e:l<e);f?i=c+1:a=c}return ko(a,Eo)}function on(t,e,n){if("function"!=typeof t)return Ya;if(e===D)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,a){return t.call(e,n,r,i,a)};case 5:return function(n,r,i,a,o){return t.call(e,n,r,i,a,o)}}return function(){return t.apply(e,arguments)}}function un(t){var e=new ao(t.byteLength);return new _o(e).set(new _o(t)),e}function sn(t,e,n){for(var r=n.length,i=-1,a=Lo(t.length-r,0),o=-1,u=e.length,s=Ia(u+a);++o<u;)s[o]=e[o];for(;++i<r;)s[n[i]]=t[i];for(;a--;)s[o++]=t[i++];return s}function cn(t,e,n){for(var r=-1,i=n.length,a=-1,o=Lo(t.length-i,0),u=-1,s=e.length,c=Ia(o+s);++a<o;)c[a]=t[a];for(var l=a;++u<s;)c[l+u]=e[u];for(;++r<i;)c[l+n[r]]=t[a++];return c}function ln(t,e){return function(n,r,i){var a=e?e():{};if(r=Rn(r,i,3),Au(n))for(var o=-1,u=n.length;++o<u;){var s=n[o];t(a,s,r(s,o,n),n)}else Oo(n,function(e,n,i){t(a,e,r(e,n,i),i)});return a}}function dn(t){return yi(function(e,n){var r=-1,i=null==e?0:n.length,a=i>2?n[i-2]:D,o=i>2?n[2]:D,u=i>1?n[i-1]:D;for("function"==typeof a?(a=on(a,u,5),i-=2):(a="function"==typeof u?u:D,i-=a?1:0),o&&Qn(n[0],n[1],o)&&(a=i<3?D:a,i=1);++r<i;){var s=n[r];s&&t(e,s,a)}return e})}function hn(t,e){return function(n,r){var i=n?Wo(n):0;if(!nr(i))return t(n,r);for(var a=e?i:-1,o=dr(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function fn(t){return function(e,n,r){for(var i=dr(e),a=r(e),o=a.length,u=t?o:-1;t?u--:++u<o;){var s=a[u];if(!1===n(i[s],s,i))break}return e}}function _n(t,e){function n(){return(this&&this!==Qt&&this instanceof n?r:t).apply(e,arguments)}var r=yn(t);return n}function pn(t){return yo&&lo?new Zt(t):null}function mn(t){return function(e){for(var n=-1,r=wa(la(e)),i=r.length,a="";++n<i;)a=t(a,r[n],n);return a}}function yn(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Ho(t.prototype),r=t.apply(n,e);return ji(r)?r:n}}function gn(t){function e(n,r,i){i&&Qn(n,r,i)&&(r=D);var a=Pn(n,t,D,D,D,D,D,r);return a.placeholder=e.placeholder,a}return e}function vn(t,e){return yi(function(n){var r=n[0];return null==r?r:(n.push(e),t.apply(D,n))})}function Mn(t,e){return function(n,r,i){if(i&&Qn(n,r,i)&&(r=D),r=Rn(r,i,3),1==r.length){n=Au(n)?n:lr(n);var a=oe(n,r,t,e);if(!n.length||a!==e)return a}return De(n,r,t,e)}}function bn(t,e){return function(n,r,a){if(r=Rn(r,a,3),Au(n)){var o=i(n,r,e);return o>-1?n[o]:D}return Te(n,r,t)}}function Ln(t){return function(e,n,r){return e&&e.length?(n=Rn(n,r,3),i(e,n,t)):-1}}function kn(t){return function(e,n,r){return n=Rn(n,r,3),Te(e,n,t,!0)}}function wn(t){return function(){for(var e,n=arguments.length,r=t?n:-1,i=0,a=Ia(n);t?r--:++r<n;){var o=a[i++]=arguments[r];if("function"!=typeof o)throw new Ja(z);!e&&g.prototype.thru&&"wrapper"==Wn(o)&&(e=new g([],!0))}for(r=e?-1:n;++r<n;){o=a[r];var u=Wn(o),s="wrapper"==u?Ro(o):D;e=s&&er(s[0])&&s[1]==(j|E|F|H)&&!s[4].length&&1==s[9]?e[Wn(s[0])].apply(e,s[3]):1==o.length&&er(o)?e[u]():e.thru(o)}return function(){var t=arguments,r=t[0];if(e&&1==t.length&&Au(r)&&r.length>=I)return e.plant(r).value();for(var i=0,o=n?a[i].apply(this,t):r;++i<n;)o=a[i].call(this,o);return o}}}function Dn(t,e){return function(n,r,i){return"function"==typeof r&&i===D&&Au(n)?t(n,r):e(n,on(r,i,3))}}function xn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n,ta)}}function Yn(t){return function(e,n,r){return"function"==typeof n&&r===D||(n=on(n,r,3)),t(e,n)}}function Tn(t){return function(e,n,r){var i={};return n=Rn(n,r,3),Se(e,function(e,r,a){var o=n(e,r,a);r=t?o:r,e=t?e:o,i[r]=e}),i}}function An(t){return function(e,n,r){return e=u(e),(t?e:"")+Cn(e,n,r)+(t?"":e)}}function En(t){var e=yi(function(n,r){var i=v(r,e.placeholder);return Pn(n,t,D,r,i)});return e}function Sn(t,e){return function(n,r,i,a){var o=arguments.length<3;return"function"==typeof r&&a===D&&Au(n)?t(n,r,i,o):Ve(n,Rn(r,a,4),i,o,e)}}function Fn(t,e,n,r,i,a,o,u,s,c){function l(){for(var g=arguments.length,M=g,b=Ia(g);M--;)b[M]=arguments[M];if(r&&(b=sn(b,r,i)),a&&(b=cn(b,a,o)),_||m){var L=l.placeholder,k=v(b,L);if((g-=k.length)<c){var w=u?ne(u):D,x=Lo(c-g,0),A=_?k:D,E=_?D:k,S=_?b:D,j=_?D:b;e|=_?F:C,e&=~(_?C:F),p||(e&=~(Y|T));var H=[t,e,n,S,A,j,E,w,s,x],O=Fn.apply(D,H);return er(t)&&zo(O,H),O.placeholder=L,O}}var P=h?n:this,N=f?P[t]:t;return u&&(b=sr(b,u)),d&&s<b.length&&(b.length=s),this&&this!==Qt&&this instanceof l&&(N=y||yn(t)),N.apply(P,b)}var d=e&j,h=e&Y,f=e&T,_=e&E,p=e&A,m=e&S,y=f?D:yn(t);return l}function Cn(t,e,n){var r=t.length;if(e=+e,r>=e||!Mo(e))return"";var i=e-r;return n=null==n?" ":n+"",ma(n,mo(i/n.length)).slice(0,i)}function jn(t,e,n,r){function i(){for(var e=-1,u=arguments.length,s=-1,c=r.length,l=Ia(c+u);++s<c;)l[s]=r[s];for(;u--;)l[s++]=arguments[++e];return(this&&this!==Qt&&this instanceof i?o:t).apply(a?n:this,l)}var a=e&Y,o=yn(t);return i}function Hn(t){var e=qa[t];return function(t,n){return n=n===D?0:+n||0,n?(n=so(10,n),e(t*n)/n):e(t)}}function On(t){return function(e,n,r,i){var a=Rn(r);return null==r&&a===Me?rn(e,n,t):an(e,n,a(r,i,1),t)}}function Pn(t,e,n,r,i,a,o,u){var s=e&T;if(!s&&"function"!=typeof t)throw new Ja(z);var c=r?r.length:0;if(c||(e&=~(F|C),r=i=D),c-=i?i.length:0,e&C){var l=r,d=i;r=i=D}var h=s?D:Ro(t),f=[t,e,n,r,i,l,d,a,o,u];if(h&&(ir(f,h),e=f[1],u=f[9]),f[9]=null==u?s?0:t.length:Lo(u-c,0)||0,e==Y)var _=_n(f[0],f[2]);else _=e!=F&&e!=(Y|F)||f[4].length?Fn.apply(D,f):jn.apply(D,f);return(h?Io:zo)(_,f)}function Nn(t,e,n,r,i,a,o){var u=-1,s=t.length,c=e.length;if(s!=c&&!(i&&c>s))return!1;for(;++u<s;){var l=t[u],d=e[u],h=r?r(i?d:l,i?l:d,u):D;if(h!==D){if(h)continue;return!1}if(i){if(!he(e,function(t){return l===t||n(l,t,r,i,a,o)}))return!1}else if(l!==d&&!n(l,d,r,i,a,o))return!1}return!0}function Bn(t,e,n){switch(n){case V:case G:return+t==+e;case J:return t.name==e.name&&t.message==e.message;case K:return t!=+t?e!=+e:t==+e;case Q:case tt:return t==e+""}return!1}function In(t,e,n,r,i,a,o){var u=Iu(t),s=u.length;if(s!=Iu(e).length&&!i)return!1;for(var c=s;c--;){var l=u[c];if(!(i?l in e:to.call(e,l)))return!1}for(var d=i;++c<s;){l=u[c];var h=t[l],f=e[l],_=r?r(i?f:h,i?h:f,l):D;if(!(_===D?n(h,f,r,i,a,o):_))return!1;d||(d="constructor"==l)}if(!d){var p=t.constructor,m=e.constructor;if(p!=m&&"constructor"in t&&"constructor"in e&&!("function"==typeof p&&p instanceof p&&"function"==typeof m&&m instanceof m))return!1}return!0}function Rn(t,n,r){var i=e.callback||Da;return i=i===Da?Me:i,r?i(t,n,r):i}function Wn(t){for(var e=t.name,n=jo[e],r=n?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function zn(t,n,r){var i=e.indexOf||wr;return i=i===wr?a:i,t?i(t,n,r):i}function qn(t){for(var e=ea(t),n=e.length;n--;)e[n][2]=rr(e[n][1]);return e}function Un(t,e){var n=null==t?D:t[e];return Pi(n)?n:D}function $n(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=ko(e,t+o);break;case"takeRight":t=Lo(t,e-o)}}return{start:t,end:e}}function Vn(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&to.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Gn(t){var e=t.constructor;return"function"==typeof e&&e instanceof e||(e=$a),new e}function Jn(t,e,n){var r=t.constructor;switch(e){case et:return un(t);case V:case G:return new r(+t);case nt:case rt:case it:case at:case ot:case ut:case st:case ct:case lt:var i=t.buffer;return new r(n?un(i):i,t.byteOffset,t.length);case K:case tt:return new r(t);case Q:var a=new r(t.source,At.exec(t));a.lastIndex=t.lastIndex}return a}function Zn(t,e,n){null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),e=xr(e));var r=null==t?t:t[e];return null==r?D:r.apply(t,n)}function Kn(t){return null!=t&&nr(Wo(t))}function Xn(t,e){return t="number"==typeof t||Ft.test(t)?+t:-1,e=null==e?Fo:e,t>-1&&t%1==0&&t<e}function Qn(t,e,n){if(!ji(n))return!1;var r=typeof e;if("number"==r?Kn(n)&&Xn(e,n.length):"string"==r&&e in n){var i=n[e];return t===t?t===i:i!==i}return!1}function tr(t,e){var n=typeof t;return!!("string"==n&&Lt.test(t)||"number"==n)||!Au(t)&&(!bt.test(t)||null!=e&&t in dr(e))}function er(t){var n=Wn(t);if(!(n in Rt.prototype))return!1;var r=e[n];if(t===r)return!0;var i=Ro(r);return!!i&&t===i[0]}function nr(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Fo}function rr(t){return t===t&&!ji(t)}function ir(t,e){var n=t[1],r=e[1],i=n|r,a=i<j,o=r==j&&n==E||r==j&&n==H&&t[7].length<=e[8]||r==(j|H)&&n==E;if(!a&&!o)return t;r&Y&&(t[2]=e[2],i|=n&Y?0:A);var u=e[3];if(u){var s=t[3];t[3]=s?sn(s,u,e[4]):ne(u),t[4]=s?v(t[3],q):ne(e[4])}return u=e[5],u&&(s=t[5],t[5]=s?cn(s,u,e[6]):ne(u),t[6]=s?v(t[5],q):ne(e[6])),u=e[7],u&&(t[7]=ne(u)),r&j&&(t[8]=null==t[8]?e[8]:ko(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function ar(t,e){return t===D?e:Eu(t,e,ar)}function or(t,e){t=dr(t);for(var n=-1,r=e.length,i={};++n<r;){var a=e[n];a in t&&(i[a]=t[a])}return i}function ur(t,e){var n={};return Ee(t,function(t,r,i){e(t,r,i)&&(n[r]=t)}),n}function sr(t,e){for(var n=t.length,r=ko(e.length,n),i=ne(t);r--;){var a=e[r];t[r]=Xn(a,n)?i[a]:D}return t}function cr(t){for(var e=ta(t),n=e.length,r=n&&t.length,i=!!r&&nr(r)&&(Au(t)||Di(t)),a=-1,o=[];++a<n;){var u=e[a];(i&&Xn(u,r)||to.call(t,u))&&o.push(u)}return o}function lr(t){return null==t?[]:Kn(t)?ji(t)?t:$a(t):aa(t)}function dr(t){return ji(t)?t:$a(t)}function hr(t){if(Au(t))return t;var e=[];return u(t).replace(kt,function(t,n,r,i){e.push(r?i.replace(Yt,"$1"):n||t)}),e}function fr(t){return t instanceof Rt?t.clone():new g(t.__wrapped__,t.__chain__,ne(t.__actions__))}function _r(t,e,n){e=(n?Qn(t,e,n):null==e)?1:Lo(go(e)||1,1);for(var r=0,i=t?t.length:0,a=-1,o=Ia(mo(i/e));r<i;)o[++a]=Ge(t,r,r+=e);return o}function pr(t){for(var e=-1,n=t?t.length:0,r=-1,i=[];++e<n;){var a=t[e];a&&(i[++r]=a)}return i}function mr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,e<0?0:e)):[]}function yr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,0,e<0?0:e)):[]}function gr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0,!0):[]}function vr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!0):[]}function Mr(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Qn(t,e,n)&&(n=0,r=i),xe(t,e,n,r)):[]}function br(t){return t?t[0]:D}function Lr(t,e,n){var r=t?t.length:0;return n&&Qn(t,e,n)&&(e=!1),r?Ae(t,e):[]}function kr(t){return(t?t.length:0)?Ae(t,!0):[]}function wr(t,e,n){var r=t?t.length:0;if(!r)return-1;if("number"==typeof n)n=n<0?Lo(r+n,0):n;else if(n){var i=rn(t,e);return i<r&&(e===e?e===t[i]:t[i]!==t[i])?i:-1}return a(t,e,n||0)}function Dr(t){return yr(t,1)}function xr(t){var e=t?t.length:0;return e?t[e-1]:D}function Yr(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if("number"==typeof n)i=(n<0?Lo(r+n,0):ko(n||0,r-1))+1;else if(n){i=rn(t,e,!0)-1;var a=t[i];return(e===e?e===a:a!==a)?i:-1}if(e!==e)return m(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Tr(){var t=arguments,e=t[0];if(!e||!e.length)return e;for(var n=0,r=zn(),i=t.length;++n<i;)for(var a=0,o=t[n];(a=r(e,o,a))>-1;)fo.call(e,a,1);return e}function Ar(t,e,n){var r=[];if(!t||!t.length)return r;var i=-1,a=[],o=t.length;for(e=Rn(e,n,3);++i<o;){var u=t[i];e(u,i,t)&&(r.push(u),a.push(i))}return Ue(t,a),r}function Er(t){return mr(t,1)}function Sr(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Qn(t,e,n)&&(e=0,n=r),Ge(t,e,n)):[]}function Fr(t,e,n){return(t?t.length:0)?((n?Qn(t,e,n):null==e)&&(e=1),Ge(t,0,e<0?0:e)):[]}function Cr(t,e,n){var r=t?t.length:0;return r?((n?Qn(t,e,n):null==e)&&(e=1),e=r-(+e||0),Ge(t,e<0?0:e)):[]}function jr(t,e,n){return t&&t.length?en(t,Rn(e,n,3),!1,!0):[]}function Hr(t,e,n){return t&&t.length?en(t,Rn(e,n,3)):[]}function Or(t,e,n,r){if(!(t?t.length:0))return[];null!=e&&"boolean"!=typeof e&&(r=n,n=Qn(t,e,r)?D:e,e=!1);var i=Rn();return null==n&&i===Me||(n=i(n,r,3)),e&&zn()==a?M(t,n):Qe(t,n)}function Pr(t){if(!t||!t.length)return[];var e=-1,n=0;t=ue(t,function(t){if(Kn(t))return n=Lo(t.length,n),!0});for(var r=Ia(n);++e<n;)r[e]=se(t,ze(e));return r}function Nr(t,e,n){if(!(t?t.length:0))return[];var r=Pr(t);return null==e?r:(e=on(e,n,4),se(r,function(t){return le(t,e,D,!0)}))}function Br(){for(var t=-1,e=arguments.length;++t<e;){var n=arguments[t];if(Kn(n))var r=r?ce(ke(r,n),ke(n,r)):n}return r?Qe(r):[]}function Ir(t,e){var n=-1,r=t?t.length:0,i={};for(!r||e||Au(t[0])||(e=[]);++n<r;){var a=t[n];e?i[a]=e[n]:a&&(i[a[0]]=a[1])}return i}function Rr(t){var n=e(t);return n.__chain__=!0,n}function Wr(t,e,n){return e.call(n,t),t}function zr(t,e,n){return e.call(n,t)}function qr(){return Rr(this)}function Ur(){return new g(this.value(),this.__chain__)}function $r(t){for(var e,r=this;r instanceof n;){var i=fr(r);e?a.__wrapped__=i:e=i;var a=i;r=r.__wrapped__}return a.__wrapped__=t,e}function Vr(){var t=this.__wrapped__,e=function(t){return n&&n.__dir__<0?t:t.reverse()};if(t instanceof Rt){var n=t;return this.__actions__.length&&(n=new Rt(this)),n=n.reverse(),n.__actions__.push({func:zr,args:[e],thisArg:D}),new g(n,this.__chain__)}return this.thru(e)}function Gr(){return this.value()+""}function Jr(){return nn(this.__wrapped__,this.__actions__)}function Zr(t,e,n){var r=Au(t)?ae:we;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function Kr(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,e)}function Xr(t,e){return iu(t,Be(e))}function Qr(t,e,n,r){var i=t?Wo(t):0;return nr(i)||(t=aa(t),i=t.length),n="number"!=typeof n||r&&Qn(e,n,r)?0:n<0?Lo(i+n,0):n||0,"string"==typeof t||!Au(t)&&Wi(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&zn(t,e,n)>-1}function ti(t,e,n){var r=Au(t)?se:Ne;return e=Rn(e,n,3),r(t,e)}function ei(t,e){return ti(t,Ca(e))}function ni(t,e,n){var r=Au(t)?ue:Ye;return e=Rn(e,n,3),r(t,function(t,n,r){return!e(t,n,r)})}function ri(t,e,n){if(n?Qn(t,e,n):null==e){t=lr(t);var r=t.length;return r>0?t[$e(0,r-1)]:D}var i=-1,a=Vi(t),r=a.length,o=r-1;for(e=ko(e<0?0:+e||0,r);++i<e;){var u=$e(i,o),s=a[u];a[u]=a[i],a[i]=s}return a.length=e,a}function ii(t){return ri(t,To)}function ai(t){var e=t?Wo(t):0;return nr(e)?e:Iu(t).length}function oi(t,e,n){var r=Au(t)?he:Je;return n&&Qn(t,e,n)&&(e=D),"function"==typeof e&&n===D||(e=Rn(e,n,3)),r(t,e)}function ui(t,e,n){if(null==t)return[];n&&Qn(t,e,n)&&(e=D);var r=-1;return e=Rn(e,n,3),Ze(Ne(t,function(t,n,i){return{criteria:e(t,n,i),index:++r,value:t}}),l)}function si(t,e,n,r){return null==t?[]:(r&&Qn(e,n,r)&&(n=D),Au(e)||(e=null==e?[]:[e]),Au(n)||(n=null==n?[]:[n]),Ke(t,e,n))}function ci(t,e){return Kr(t,Be(e))}function li(t,e){if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var n=t;t=e,e=n}return t=Mo(t=+t)?t:0,function(){if(--t<1)return e.apply(this,arguments)}}function di(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=t&&null==e?t.length:Lo(+e||0,0),Pn(t,j,D,D,D,D,e)}function hi(t,e){var n;if("function"!=typeof e){if("function"!=typeof t)throw new Ja(z);var r=t;t=e,e=r}return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=D),n}}function fi(t,e,n){function r(){f&&oo(f),c&&oo(c),p=0,c=f=_=D}function i(e,n){n&&oo(n),c=f=_=D,e&&(p=pu(),l=t.apply(h,s),f||c||(s=h=D))}function a(){var t=e-(pu()-d);t<=0||t>e?i(_,c):f=ho(a,t)}function o(){i(y,f)}function u(){if(s=arguments,d=pu(),h=this,_=y&&(f||!g),!1===m)var n=g&&!f;else{c||g||(p=d);var r=m-(d-p),i=r<=0||r>m;i?(c&&(c=oo(c)),p=d,l=t.apply(h,s)):c||(c=ho(o,r))}return i&&f?f=oo(f):f||e===m||(f=ho(a,e)),n&&(i=!0,l=t.apply(h,s)),!i||f||c||(s=h=D),l}var s,c,l,d,h,f,_,p=0,m=!1,y=!0;if("function"!=typeof t)throw new Ja(z);if(e=e<0?0:+e||0,!0===n){var g=!0;y=!1}else ji(n)&&(g=!!n.leading,m="maxWait"in n&&Lo(+n.maxWait||0,e),y="trailing"in n?!!n.trailing:y);return u.cancel=r,u}function _i(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new Ja(z);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o),o};return n.cache=new _i.Cache,n}function pi(t){if("function"!=typeof t)throw new Ja(z);return function(){return!t.apply(this,arguments)}}function mi(t){return hi(2,t)}function yi(t,e){if("function"!=typeof t)throw new Ja(z);return e=Lo(e===D?t.length-1:+e||0,0),function(){for(var n=arguments,r=-1,i=Lo(n.length-e,0),a=Ia(i);++r<i;)a[r]=n[e+r];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,n[0],a);case 2:return t.call(this,n[0],n[1],a)}var o=Ia(e+1);for(r=-1;++r<e;)o[r]=n[r];return o[e]=a,t.apply(this,o)}}function gi(t){if("function"!=typeof t)throw new Ja(z);return function(e){return t.apply(this,e)}}function vi(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new Ja(z);return!1===n?r=!1:ji(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),fi(t,e,{leading:r,maxWait:+e,trailing:i})}function Mi(t,e){return e=null==e?Ya:e,Pn(e,F,D,[t],[])}function bi(t,e,n,r){return e&&"boolean"!=typeof e&&Qn(t,e,n)?e=!1:"function"==typeof e&&(r=n,n=e,e=!1),"function"==typeof n?be(t,e,on(n,r,1)):be(t,e)}function Li(t,e,n){return"function"==typeof e?be(t,!0,on(e,n,1)):be(t,!0)}function ki(t,e){return t>e}function wi(t,e){return t>=e}function Di(t){return y(t)&&Kn(t)&&to.call(t,"callee")&&!co.call(t,"callee")}function xi(t){return!0===t||!1===t||y(t)&&no.call(t)==V}function Yi(t){return y(t)&&no.call(t)==G}function Ti(t){return!!t&&1===t.nodeType&&y(t)&&!Ii(t)}function Ai(t){return null==t||(Kn(t)&&(Au(t)||Wi(t)||Di(t)||y(t)&&Ci(t.splice))?!t.length:!Iu(t).length)}function Ei(t,e,n,r){n="function"==typeof n?on(n,r,3):D;var i=n?n(t,e):D;return i===D?He(t,e,n):!!i}function Si(t){return y(t)&&"string"==typeof t.message&&no.call(t)==J}function Fi(t){return"number"==typeof t&&Mo(t)}function Ci(t){return ji(t)&&no.call(t)==Z}function ji(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Hi(t,e,n,r){return n="function"==typeof n?on(n,r,3):D,Pe(t,qn(e),n)}function Oi(t){return Bi(t)&&t!=+t}function Pi(t){return null!=t&&(Ci(t)?io.test(Qa.call(t)):y(t)&&St.test(t))}function Ni(t){return null===t}function Bi(t){return"number"==typeof t||y(t)&&no.call(t)==K}function Ii(t){var e;if(!y(t)||no.call(t)!=X||Di(t)||!to.call(t,"constructor")&&"function"==typeof(e=t.constructor)&&!(e instanceof e))return!1;var n;return Ee(t,function(t,e){n=e}),n===D||to.call(t,n)}function Ri(t){return ji(t)&&no.call(t)==Q}function Wi(t){return"string"==typeof t||y(t)&&no.call(t)==tt}function zi(t){return y(t)&&nr(t.length)&&!!Bt[no.call(t)]}function qi(t){return t===D}function Ui(t,e){return t<e}function $i(t,e){return t<=e}function Vi(t){var e=t?Wo(t):0;return nr(e)?e?ne(t):[]:aa(t)}function Gi(t){return ve(t,ta(t))}function Ji(t,e,n){var r=Ho(t);return n&&Qn(t,e,n)&&(e=D),e?ye(r,e):r}function Zi(t){return Ce(t,ta(t))}function Ki(t,e,n){var r=null==t?D:je(t,hr(e),e+"");return r===D?n:r}function Xi(t,e){if(null==t)return!1;var n=to.call(t,e);if(!n&&!tr(e)){if(e=hr(e),null==(t=1==e.length?t:je(t,Ge(e,0,-1))))return!1;e=xr(e),n=to.call(t,e)}return n||nr(t.length)&&Xn(e,t.length)&&(Au(t)||Di(t))}function Qi(t,e,n){n&&Qn(t,e,n)&&(e=D);for(var r=-1,i=Iu(t),a=i.length,o={};++r<a;){var u=i[r],s=t[u];e?to.call(o,s)?o[s].push(u):o[s]=[u]:o[s]=u}return o}function ta(t){if(null==t)return[];ji(t)||(t=$a(t));var e=t.length;e=e&&nr(e)&&(Au(t)||Di(t))&&e||0;for(var n=t.constructor,r=-1,i="function"==typeof n&&n.prototype===t,a=Ia(e),o=e>0;++r<e;)a[r]=r+"";for(var u in t)o&&Xn(u,e)||"constructor"==u&&(i||!to.call(t,u))||a.push(u);return a}function ea(t){t=dr(t);for(var e=-1,n=Iu(t),r=n.length,i=Ia(r);++e<r;){var a=n[e];i[e]=[a,t[a]]}return i}function na(t,e,n){var r=null==t?D:t[e];return r===D&&(null==t||tr(e,t)||(e=hr(e),t=1==e.length?t:je(t,Ge(e,0,-1)),r=null==t?D:t[xr(e)]),r=r===D?n:r),Ci(r)?r.call(t):r}function ra(t,e,n){if(null==t)return t;var r=e+"";e=null!=t[r]||tr(e,t)?[r]:hr(e);for(var i=-1,a=e.length,o=a-1,u=t;null!=u&&++i<a;){var s=e[i];ji(u)&&(i==o?u[s]=n:null==u[s]&&(u[s]=Xn(e[i+1])?[]:{})),u=u[s]}return t}function ia(t,e,n,r){var i=Au(t)||zi(t);if(e=Rn(e,r,4),null==n)if(i||ji(t)){var a=t.constructor;n=i?Au(t)?new a:[]:Ho(Ci(a)?a.prototype:D)}else n={};return(i?re:Se)(t,function(t,r,i){return e(n,t,r,i)}),n}function aa(t){return tn(t,Iu(t))}function oa(t){return tn(t,ta(t))}function ua(t,e,n){return e=+e||0,n===D?(n=e,e=0):n=+n||0,t>=ko(e,n)&&t<Lo(e,n)}function sa(t,e,n){n&&Qn(t,e,n)&&(e=n=D);var r=null==t,i=null==e;if(null==n&&(i&&"boolean"==typeof t?(n=t,t=1):"boolean"==typeof e&&(n=e,i=!0)),r&&i&&(e=1,i=!1),t=+t||0,i?(e=t,t=0):e=+e||0,n||t%1||e%1){var a=xo();return ko(t+a*(e-t+uo("1e-"+((a+"").length-1))),e)}return $e(t,e)}function ca(t){return(t=u(t))&&t.charAt(0).toUpperCase()+t.slice(1)}function la(t){return(t=u(t))&&t.replace(Ct,h).replace(xt,"")}function da(t,e,n){t=u(t),e+="";var r=t.length;return n=n===D?r:ko(n<0?0:+n||0,r),(n-=e.length)>=0&&t.indexOf(e,n)==n}function ha(t){return t=u(t),t&&yt.test(t)?t.replace(pt,f):t}function fa(t){return t=u(t),t&&Dt.test(t)?t.replace(wt,_):t||"(?:)"}function _a(t,e,n){t=u(t),e=+e;var r=t.length;if(r>=e||!Mo(e))return t;var i=(e-r)/2,a=go(i);return n=Cn("",mo(i),n),n.slice(0,a)+t+n}function pa(t,e,n){return(n?Qn(t,e,n):null==e)?e=0:e&&(e=+e),t=va(t),Do(t,e||(Et.test(t)?16:10))}function ma(t,e){var n="";if(t=u(t),(e=+e)<1||!t||!Mo(e))return n;do{e%2&&(n+=t),e=go(e/2),t+=t}while(e);return n}function ya(t,e,n){return t=u(t),n=null==n?0:ko(n<0?0:+n||0,t.length),t.lastIndexOf(e,n)==n}function ga(t,n,r){var i=e.templateSettings;r&&Qn(t,n,r)&&(n=r=D),t=u(t),n=me(ye({},r||n),i,pe);var a,o,s=me(ye({},n.imports),i.imports,pe),c=Iu(s),l=tn(s,c),d=0,h=n.interpolate||jt,f="__p += '",_=Va((n.escape||jt).source+"|"+h.source+"|"+(h===Mt?Tt:jt).source+"|"+(n.evaluate||jt).source+"|$","g"),m="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Nt+"]")+"\n";t.replace(_,function(e,n,r,i,u,s){return r||(r=i),f+=t.slice(d,s).replace(Ht,p),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),d=s+e.length,e}),f+="';\n";var y=n.variable;y||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(dt,""):f).replace(ht,"$1").replace(ft,"$1;"),f="function("+(y||"obj")+") {\n"+(y?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Ku(function(){return za(c,m+"return "+f).apply(D,l)});if(g.source=f,Si(g))throw g;return g}function va(t,e,n){var r=t;return(t=u(t))?(n?Qn(r,e,n):null==e)?t.slice(b(t),L(t)+1):(e+="",t.slice(s(t,e),c(t,e)+1)):t}function Ma(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(b(t)):t.slice(s(t,e+"")):t}function ba(t,e,n){var r=t;return t=u(t),t?(n?Qn(r,e,n):null==e)?t.slice(0,L(t)+1):t.slice(0,c(t,e+"")+1):t}function La(t,e,n){n&&Qn(t,e,n)&&(e=D);var r=O,i=P;if(null!=e)if(ji(e)){var a="separator"in e?e.separator:a;r="length"in e?+e.length||0:r,i="omission"in e?u(e.omission):i}else r=+e||0;if(t=u(t),r>=t.length)return t;var o=r-i.length;if(o<1)return i;var s=t.slice(0,o);if(null==a)return s+i;if(Ri(a)){if(t.slice(o).search(a)){var c,l,d=t.slice(0,o);for(a.global||(a=Va(a.source,(At.exec(a)||"")+"g")),a.lastIndex=0;c=a.exec(d);)l=c.index;s=s.slice(0,null==l?o:l)}}else if(t.indexOf(a,o)!=o){var h=s.lastIndexOf(a);h>-1&&(s=s.slice(0,h))}return s+i}function ka(t){return t=u(t),t&&mt.test(t)?t.replace(_t,k):t}function wa(t,e,n){return n&&Qn(t,e,n)&&(e=D),t=u(t),t.match(e||Ot)||[]}function Da(t,e,n){return n&&Qn(t,e,n)&&(e=D),y(t)?Ta(t):Me(t,e)}function xa(t){return function(){return t}}function Ya(t){return t}function Ta(t){return Be(be(t,!0))}function Aa(t,e){return Ie(t,be(e,!0))}function Ea(t,e,n){if(null==n){var r=ji(e),i=r?Iu(e):D,a=i&&i.length?Ce(e,i):D;(a?a.length:r)||(a=!1,n=e,e=t,t=this)}a||(a=Ce(e,Iu(e)));var o=!0,u=-1,s=Ci(t),c=a.length;!1===n?o=!1:ji(n)&&"chain"in n&&(o=n.chain);for(;++u<c;){var l=a[u],d=e[l];t[l]=d,s&&(t.prototype[l]=function(e){return function(){var n=this.__chain__;if(o||n){var r=t(this.__wrapped__);return(r.__actions__=ne(this.__actions__)).push({func:e,args:arguments,thisArg:t}),r.__chain__=n,r}return e.apply(t,ce([this.value()],arguments))}}(d))}return t}function Sa(){return Qt._=ro,this}function Fa(){}function Ca(t){return tr(t)?ze(t):qe(t)}function ja(t){return function(e){return je(t,hr(e),e+"")}}function Ha(t,e,n){n&&Qn(t,e,n)&&(e=n=D),t=+t||0,n=null==n?1:+n||0,null==e?(e=t,t=0):e=+e||0;for(var r=-1,i=Lo(mo((e-t)/(n||1)),0),a=Ia(i);++r<i;)a[r]=t,t+=n;return a}function Oa(t,e,n){if((t=go(t))<1||!Mo(t))return[];var r=-1,i=Ia(ko(t,Ao));for(e=on(e,n,1);++r<t;)r<Ao?i[r]=e(r):e(r);return i}function Pa(t){var e=++eo;return u(t)+e}function Na(t,e){return(+t||0)+(+e||0)}function Ba(t,e,n){return n&&Qn(t,e,n)&&(e=D),e=Rn(e,n,3),1==e.length?fe(Au(t)?t:lr(t),e):Xe(t,e)}t=t?te.defaults(Qt.Object(),t,te.pick(Qt,Pt)):Qt;var Ia=t.Array,Ra=t.Date,Wa=t.Error,za=t.Function,qa=t.Math,Ua=t.Number,$a=t.Object,Va=t.RegExp,Ga=t.String,Ja=t.TypeError,Za=Ia.prototype,Ka=$a.prototype,Xa=Ga.prototype,Qa=za.prototype.toString,to=Ka.hasOwnProperty,eo=0,no=Ka.toString,ro=Qt._,io=Va("^"+Qa.call(to).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ao=t.ArrayBuffer,oo=t.clearTimeout,uo=t.parseFloat,so=qa.pow,co=Ka.propertyIsEnumerable,lo=Un(t,"Set"),ho=t.setTimeout,fo=Za.splice,_o=t.Uint8Array,po=Un(t,"WeakMap"),mo=qa.ceil,yo=Un($a,"create"),go=qa.floor,vo=Un(Ia,"isArray"),Mo=t.isFinite,bo=Un($a,"keys"),Lo=qa.max,ko=qa.min,wo=Un(Ra,"now"),Do=t.parseInt,xo=qa.random,Yo=Ua.NEGATIVE_INFINITY,To=Ua.POSITIVE_INFINITY,Ao=4294967295,Eo=Ao-1,So=Ao>>>1,Fo=9007199254740991,Co=po&&new po,jo={};e.support={};e.templateSettings={escape:gt,evaluate:vt,interpolate:Mt,variable:"",imports:{_:e}};var Ho=function(){function t(){}return function(e){if(ji(e)){t.prototype=e;var n=new t;t.prototype=D}return n||{}}}(),Oo=hn(Se),Po=hn(Fe,!0),No=fn(),Bo=fn(!0),Io=Co?function(t,e){return Co.set(t,e),t}:Ya,Ro=Co?function(t){return Co.get(t)}:Fa,Wo=ze("length"),zo=function(){var t=0,e=0;return function(n,r){var i=pu(),a=B-(i-e);if(e=i,a>0){if(++t>=N)return n}else t=0;return Io(n,r)}}(),qo=yi(function(t,e){return y(t)&&Kn(t)?ke(t,Ae(e,!1,!0)):[]}),Uo=Ln(),$o=Ln(!0),Vo=yi(function(t){for(var e=t.length,n=e,r=Ia(d),i=zn(),o=i==a,u=[];n--;){var s=t[n]=Kn(s=t[n])?s:[];r[n]=o&&s.length>=120?pn(n&&s):null}var c=t[0],l=-1,d=c?c.length:0,h=r[0];t:for(;++l<d;)if(s=c[l],(h?Kt(h,s):i(u,s,0))<0){for(var n=e;--n;){var f=r[n];if((f?Kt(f,s):i(t[n],s,0))<0)continue t}h&&h.push(s),u.push(s)}return u}),Go=yi(function(t,e){e=Ae(e);var n=ge(t,e);return Ue(t,e.sort(r)),n}),Jo=On(),Zo=On(!0),Ko=yi(function(t){return Qe(Ae(t,!1,!0))}),Xo=yi(function(t,e){return Kn(t)?ke(t,e):[]}),Qo=yi(Pr),tu=yi(function(t){var e=t.length,n=e>2?t[e-2]:D,r=e>1?t[e-1]:D;return e>2&&"function"==typeof n?e-=2:(n=e>1&&"function"==typeof r?(--e,r):D,r=D),t.length=e,Nr(t,n,r)}),eu=yi(function(t){return t=Ae(t),this.thru(function(e){return ee(Au(e)?e:[dr(e)],t)})}),nu=yi(function(t,e){return ge(t,Ae(e))}),ru=ln(function(t,e,n){to.call(t,n)?++t[n]:t[n]=1}),iu=bn(Oo),au=bn(Po,!0),ou=Dn(re,Oo),uu=Dn(ie,Po),su=ln(function(t,e,n){to.call(t,n)?t[n].push(e):t[n]=[e]}),cu=ln(function(t,e,n){t[n]=e}),lu=yi(function(t,e,n){var r=-1,i="function"==typeof e,a=tr(e),o=Kn(t)?Ia(t.length):[];return Oo(t,function(t){var u=i?e:a&&null!=t?t[e]:D;o[++r]=u?u.apply(t,n):Zn(t,e,n)}),o}),du=ln(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),hu=Sn(le,Oo),fu=Sn(de,Po),_u=yi(function(t,e){if(null==t)return[];var n=e[2];return n&&Qn(e[0],e[1],n)&&(e.length=1),Ke(t,Ae(e),[])}),pu=wo||function(){return(new Ra).getTime()},mu=yi(function(t,e,n){var r=Y;if(n.length){var i=v(n,mu.placeholder);r|=F}return Pn(t,r,e,n,i)}),yu=yi(function(t,e){e=e.length?Ae(e):Zi(t);for(var n=-1,r=e.length;++n<r;){var i=e[n];t[i]=Pn(t[i],Y,t)}return t}),gu=yi(function(t,e,n){var r=Y|T;if(n.length){var i=v(n,gu.placeholder);r|=F}return Pn(e,r,t,n,i)}),vu=gn(E),Mu=gn(S),bu=yi(function(t,e){return Le(t,1,e)}),Lu=yi(function(t,e,n){return Le(t,e,n)}),ku=wn(),wu=wn(!0),Du=yi(function(t,e){if(e=Ae(e),"function"!=typeof t||!ae(e,o))throw new Ja(z);var n=e.length;return yi(function(r){for(var i=ko(r.length,n);i--;)r[i]=e[i](r[i]);return t.apply(this,r)})}),xu=En(F),Yu=En(C),Tu=yi(function(t,e){return Pn(t,H,D,D,D,Ae(e))}),Au=vo||function(t){return y(t)&&nr(t.length)&&no.call(t)==$},Eu=dn(Re),Su=dn(function(t,e,n){return n?me(t,e,n):ye(t,e)}),Fu=vn(Su,_e),Cu=vn(Eu,ar),ju=kn(Se),Hu=kn(Fe),Ou=xn(No),Pu=xn(Bo),Nu=Yn(Se),Bu=Yn(Fe),Iu=bo?function(t){var e=null==t?D:t.constructor;return"function"==typeof e&&e.prototype===t||"function"!=typeof t&&Kn(t)?cr(t):ji(t)?bo(t):[]}:cr,Ru=Tn(!0),Wu=Tn(),zu=yi(function(t,e){if(null==t)return{};if("function"!=typeof e[0]){var e=se(Ae(e),Ga);return or(t,ke(ta(t),e))}var n=on(e[0],e[1],3);return ur(t,function(t,e,r){return!n(t,e,r)})}),qu=yi(function(t,e){return null==t?{}:"function"==typeof e[0]?ur(t,on(e[0],e[1],3)):or(t,Ae(e))}),Uu=mn(function(t,e,n){return e=e.toLowerCase(),t+(n?e.charAt(0).toUpperCase()+e.slice(1):e)}),$u=mn(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Vu=An(),Gu=An(!0),Ju=mn(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Zu=mn(function(t,e,n){return t+(n?" ":"")+(e.charAt(0).toUpperCase()+e.slice(1))}),Ku=yi(function(t,e){try{return t.apply(D,e)}catch(t){return Si(t)?t:new Wa(t)}}),Xu=yi(function(t,e){return function(n){return Zn(n,t,e)}}),Qu=yi(function(t,e){return function(n){return Zn(t,n,e)}}),ts=Hn("ceil"),es=Hn("floor"),ns=Mn(ki,Yo),rs=Mn(Ui,To),is=Hn("round");return e.prototype=n.prototype,g.prototype=Ho(n.prototype),g.prototype.constructor=g,Rt.prototype=Ho(n.prototype),Rt.prototype.constructor=Rt,Ut.prototype.delete=$t,Ut.prototype.get=Vt,Ut.prototype.has=Gt,Ut.prototype.set=Jt,Zt.prototype.push=Xt,_i.Cache=Ut,e.after=li,e.ary=di,e.assign=Su,e.at=nu,e.before=hi,e.bind=mu,e.bindAll=yu,e.bindKey=gu,e.callback=Da,e.chain=Rr,e.chunk=_r,e.compact=pr,e.constant=xa,e.countBy=ru,e.create=Ji,e.curry=vu,e.curryRight=Mu,e.debounce=fi,e.defaults=Fu,e.defaultsDeep=Cu,e.defer=bu,e.delay=Lu,e.difference=qo,e.drop=mr,e.dropRight=yr,e.dropRightWhile=gr,e.dropWhile=vr,e.fill=Mr,e.filter=Kr,e.flatten=Lr,e.flattenDeep=kr,e.flow=ku,e.flowRight=wu,e.forEach=ou,e.forEachRight=uu,e.forIn=Ou,e.forInRight=Pu,e.forOwn=Nu,e.forOwnRight=Bu,e.functions=Zi,e.groupBy=su,e.indexBy=cu,e.initial=Dr,e.intersection=Vo,e.invert=Qi,e.invoke=lu,e.keys=Iu,e.keysIn=ta,e.map=ti,e.mapKeys=Ru,e.mapValues=Wu,e.matches=Ta,e.matchesProperty=Aa,e.memoize=_i,e.merge=Eu,e.method=Xu,e.methodOf=Qu,e.mixin=Ea,e.modArgs=Du,e.negate=pi,e.omit=zu,e.once=mi,e.pairs=ea,e.partial=xu,e.partialRight=Yu,e.partition=du,e.pick=qu,e.pluck=ei,e.property=Ca,e.propertyOf=ja,e.pull=Tr,e.pullAt=Go,e.range=Ha,e.rearg=Tu,e.reject=ni,e.remove=Ar,e.rest=Er,e.restParam=yi,e.set=ra,e.shuffle=ii,e.slice=Sr,e.sortBy=ui,e.sortByAll=_u,e.sortByOrder=si,e.spread=gi,e.take=Fr,e.takeRight=Cr,e.takeRightWhile=jr,e.takeWhile=Hr,e.tap=Wr,e.throttle=vi,e.thru=zr,e.times=Oa,e.toArray=Vi,e.toPlainObject=Gi,e.transform=ia,e.union=Ko,e.uniq=Or,e.unzip=Pr,e.unzipWith=Nr,e.values=aa,e.valuesIn=oa,e.where=ci,e.without=Xo,e.wrap=Mi,e.xor=Br,e.zip=Qo,e.zipObject=Ir,e.zipWith=tu,e.backflow=wu,e.collect=ti,e.compose=wu,e.each=ou,e.eachRight=uu,e.extend=Su,e.iteratee=Da,e.methods=Zi,e.object=Ir,e.select=Kr,e.tail=Er,e.unique=Or,Ea(e,e),e.add=Na,e.attempt=Ku,e.camelCase=Uu,e.capitalize=ca,e.ceil=ts,e.clone=bi,e.cloneDeep=Li,e.deburr=la,e.endsWith=da,e.escape=ha,e.escapeRegExp=fa,e.every=Zr,e.find=iu,e.findIndex=Uo,e.findKey=ju,e.findLast=au,e.findLastIndex=$o,e.findLastKey=Hu,e.findWhere=Xr,e.first=br,e.floor=es,e.get=Ki,e.gt=ki,e.gte=wi,e.has=Xi,e.identity=Ya,e.includes=Qr,e.indexOf=wr,e.inRange=ua,e.isArguments=Di,e.isArray=Au,e.isBoolean=xi,e.isDate=Yi,e.isElement=Ti,e.isEmpty=Ai,e.isEqual=Ei,e.isError=Si,e.isFinite=Fi,e.isFunction=Ci,e.isMatch=Hi,e.isNaN=Oi,e.isNative=Pi,e.isNull=Ni,e.isNumber=Bi,e.isObject=ji,e.isPlainObject=Ii,e.isRegExp=Ri,e.isString=Wi,e.isTypedArray=zi,e.isUndefined=qi,e.kebabCase=$u,e.last=xr,e.lastIndexOf=Yr,e.lt=Ui,e.lte=$i,e.max=ns,e.min=rs,e.noConflict=Sa,e.noop=Fa,e.now=pu,e.pad=_a,e.padLeft=Vu,e.padRight=Gu,e.parseInt=pa,e.random=sa,e.reduce=hu,e.reduceRight=fu,e.repeat=ma,e.result=na,e.round=is,e.runInContext=w,e.size=ai,e.snakeCase=Ju,e.some=oi,e.sortedIndex=Jo,e.sortedLastIndex=Zo,e.startCase=Zu,e.startsWith=ya,e.sum=Ba,e.template=ga,e.trim=va,e.trimLeft=Ma,e.trimRight=ba,e.trunc=La,e.unescape=ka,e.uniqueId=Pa,e.words=wa,e.all=Zr,e.any=oi,e.contains=Qr,e.eq=Ei,e.detect=iu,e.foldl=hu,e.foldr=fu,e.head=br,e.include=Qr,e.inject=hu,Ea(e,function(){var t={};return Se(e,function(n,r){e.prototype[r]||(t[r]=n)}),t}(),!1),e.sample=ri,e.prototype.sample=function(t){return this.__chain__||null!=t?this.thru(function(e){return ri(e,t)}):ri(this.value())},e.VERSION=x,re(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),re(["drop","take"],function(t,e){Rt.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new Rt(this);n=null==n?1:Lo(go(n)||0,0);var i=this.clone();return r?i.__takeCount__=ko(i.__takeCount__,n):i.__views__.push({size:n,type:t+(i.__dir__<0?"Right":"")}),i},Rt.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),re(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n!=W;Rt.prototype[t]=function(t,e){var i=this.clone();return i.__iteratees__.push({iteratee:Rn(t,e,1),type:n}),i.__filtered__=i.__filtered__||r,i}}),re(["first","last"],function(t,e){var n="take"+(e?"Right":"");Rt.prototype[t]=function(){return this[n](1).value()[0]}}),re(["initial","rest"],function(t,e){var n="drop"+(e?"":"Right");Rt.prototype[t]=function(){return this.__filtered__?new Rt(this):this[n](1)}}),re(["pluck","where"],function(t,e){var n=e?"filter":"map",r=e?Be:Ca;Rt.prototype[t]=function(t){return this[n](r(t))}}),Rt.prototype.compact=function(){return this.filter(Ya)},Rt.prototype.reject=function(t,e){return t=Rn(t,e,1),this.filter(function(e){return!t(e)})},Rt.prototype.slice=function(t,e){t=null==t?0:+t||0;var n=this;return n.__filtered__&&(t>0||e<0)?new Rt(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==D&&(e=+e||0,n=e<0?n.dropRight(-e):n.take(e-t)),n)},Rt.prototype.takeRightWhile=function(t,e){return this.reverse().takeWhile(t,e).reverse()},Rt.prototype.toArray=function(){return this.take(To)},Se(Rt.prototype,function(t,n){var r=/^(?:filter|map|reject)|While$/.test(n),i=/^(?:first|last)$/.test(n),a=e[i?"take"+("last"==n?"Right":""):n];a&&(e.prototype[n]=function(){var e=i?[1]:arguments,n=this.__chain__,o=this.__wrapped__,u=!!this.__actions__.length,s=o instanceof Rt,c=e[0],l=s||Au(o);l&&r&&"function"==typeof c&&1!=c.length&&(s=l=!1);var d=function(t){return i&&n?a(t,1)[0]:a.apply(D,ce([t],e))},h={func:zr,args:[d],thisArg:D},f=s&&!u;if(i&&!n)return f?(o=o.clone(),o.__actions__.push(h),t.call(o)):a.call(D,this.value())[0];if(!i&&l){o=f?o:new Rt(this);var _=t.apply(o,e);return _.__actions__.push(h),new g(_,n)}return this.thru(d)})}),re(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(t){var n=(/^(?:replace|split)$/.test(t)?Xa:Za)[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:join|pop|replace|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;return i&&!this.__chain__?n.apply(this.value(),t):this[r](function(e){return n.apply(e,t)})}}),Se(Rt.prototype,function(t,n){var r=e[n];if(r){var i=r.name;(jo[i]||(jo[i]=[])).push({name:n,func:r})}}),jo[Fn(D,T).name]=[{name:"wrapper",func:D}],Rt.prototype.clone=Wt,Rt.prototype.reverse=zt,Rt.prototype.value=qt,e.prototype.chain=qr,e.prototype.commit=Ur,e.prototype.concat=eu,e.prototype.plant=$r,e.prototype.reverse=Vr,e.prototype.toString=Gr,e.prototype.run=e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=Jr,e.prototype.collect=e.prototype.map,e.prototype.head=e.prototype.first,e.prototype.select=e.prototype.filter,e.prototype.tail=e.prototype.rest,e}var D,x="3.10.1",Y=1,T=2,A=4,E=8,S=16,F=32,C=64,j=128,H=256,O=30,P="...",N=150,B=16,I=200,R=1,W=2,z="Expected a function",q="__lodash_placeholder__",U="[object Arguments]",$="[object Array]",V="[object Boolean]",G="[object Date]",J="[object Error]",Z="[object Function]",K="[object Number]",X="[object Object]",Q="[object RegExp]",tt="[object String]",et="[object ArrayBuffer]",nt="[object Float32Array]",rt="[object Float64Array]",it="[object Int8Array]",at="[object Int16Array]",ot="[object Int32Array]",ut="[object Uint8Array]",st="[object Uint8ClampedArray]",ct="[object Uint16Array]",lt="[object Uint32Array]",dt=/\b__p \+= '';/g,ht=/\b(__p \+=) '' \+/g,ft=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39|#96);/g,pt=/[&<>"'`]/g,mt=RegExp(_t.source),yt=RegExp(pt.source),gt=/<%-([\s\S]+?)%>/g,vt=/<%([\s\S]+?)%>/g,Mt=/<%=([\s\S]+?)%>/g,bt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,Lt=/^\w*$/,kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,wt=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Dt=RegExp(wt.source),xt=/[\u0300-\u036f\ufe20-\ufe23]/g,Yt=/\\(\\)?/g,Tt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,At=/\w*$/,Et=/^0[xX]/,St=/^\[object .+?Constructor\]$/,Ft=/^\d+$/,Ct=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,jt=/($^)/,Ht=/['\n\r\u2028\u2029\\]/g,Ot=function(){var t="[A-Z\\xc0-\\xd6\\xd8-\\xde]",e="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(t+"+(?="+t+e+")|"+t+"?"+e+"|"+t+"+|[0-9]+","g")}(),Pt=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Nt=-1,Bt={};Bt[nt]=Bt[rt]=Bt[it]=Bt[at]=Bt[ot]=Bt[ut]=Bt[st]=Bt[ct]=Bt[lt]=!0,Bt[U]=Bt[$]=Bt[et]=Bt[V]=Bt[G]=Bt[J]=Bt[Z]=Bt["[object Map]"]=Bt[K]=Bt[X]=Bt[Q]=Bt["[object Set]"]=Bt[tt]=Bt["[object WeakMap]"]=!1;var It={};It[U]=It[$]=It[et]=It[V]=It[G]=It[nt]=It[rt]=It[it]=It[at]=It[ot]=It[K]=It[X]=It[Q]=It[tt]=It[ut]=It[st]=It[ct]=It[lt]=!0,It[J]=It[Z]=It["[object Map]"]=It["[object Set]"]=It["[object WeakMap]"]=!1;var Rt={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Wt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},zt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},qt={function:!0,object:!0},Ut={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},$t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Vt=qt[typeof e]&&e&&!e.nodeType&&e,Gt=qt[typeof t]&&t&&!t.nodeType&&t,Jt=Vt&&Gt&&"object"==typeof n&&n&&n.Object&&n,Zt=qt[typeof self]&&self&&self.Object&&self,Kt=qt[typeof window]&&window&&window.Object&&window,Xt=Gt&&Gt.exports===Vt&&Vt,Qt=Jt||Kt!==(this&&this.window)&&Kt||Zt||this,te=w();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Qt._=te,define(function(){return te})):Vt&&Gt?Xt?(Gt.exports=te)._=te:Vt._=te:Qt._=te}).call(this)}).call(e,n(4)(t),n(9))},function(t,e,n){"use strict";function r(t){var e="greedy"===t.graph().acyclicer?u(t,function(t){return function(e){return t.edge(e).weight}}(t)):i(t);o.each(e,function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,o.uniqueId("rev"))})}function i(t){function e(a){o.has(i,a)||(i[a]=!0,r[a]=!0,o.each(t.outEdges(a),function(t){o.has(r,t.w)?n.push(t):e(t.w)}),delete r[a])}var n=[],r={},i={};return o.each(t.nodes(),e),n}function a(t){o.each(t.edges(),function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}})}var o=n(1),u=n(205);t.exports={run:r,undo:a}},function(t,e,n){function r(t,e){if(t.nodeCount()<=1)return[];var n=o(t,e||d),r=i(n.graph,n.buckets,n.zeroIdx);return s.flatten(s.map(r,function(e){return t.outEdges(e.v,e.w)}),!0)}function i(t,e,n){for(var r,i=[],o=e[e.length-1],u=e[0];t.nodeCount();){for(;r=u.dequeue();)a(t,e,n,r);for(;r=o.dequeue();)a(t,e,n,r);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(r=e[s].dequeue()){i=i.concat(a(t,e,n,r,!0));break}}return i}function a(t,e,n,r,i){var a=i?[]:void 0;return s.each(t.inEdges(r.v),function(r){var o=t.edge(r),s=t.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,u(e,n,s)}),s.each(t.outEdges(r.v),function(r){var i=t.edge(r),a=r.w,o=t.node(a);o.in-=i,u(e,n,o)}),t.removeNode(r.v),a}function o(t,e){var n=new c,r=0,i=0;s.each(t.nodes(),function(t){n.setNode(t,{v:t,in:0,out:0})}),s.each(t.edges(),function(t){var a=n.edge(t.v,t.w)||0,o=e(t),u=a+o;n.setEdge(t.v,t.w,u),i=Math.max(i,n.node(t.v).out+=o),r=Math.max(r,n.node(t.w).in+=o)});var a=s.range(i+r+3).map(function(){return new l}),o=r+1;return s.each(n.nodes(),function(t){u(a,o,n.node(t))}),{graph:n,buckets:a,zeroIdx:o}}function u(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)}var s=n(1),c=n(8).Graph,l=n(206);t.exports=r;var d=s.constant(1)},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";function r(t){t.graph().dummyChains=[],o.each(t.edges(),function(e){i(t,e)})}function i(t,e){var n=e.v,r=t.node(n).rank,i=e.w,a=t.node(i).rank,o=e.name,s=t.edge(e),c=s.labelRank;if(a!==r+1){t.removeEdge(e);var l,d,h;for(h=0,++r;r<a;++h,++r)s.points=[],d={width:0,height:0,edgeLabel:s,edgeObj:e,rank:r},l=u.addDummyNode(t,"edge",d,"_d"),r===c&&(d.width=s.width,d.height=s.height,d.dummy="edge-label",d.labelpos=s.labelpos),t.setEdge(n,l,{weight:s.weight},o),0===h&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,i,{weight:s.weight},o)}}function a(t){o.each(t.graph().dummyChains,function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)})}var o=n(1),u=n(3);t.exports={run:r,undo:a}},function(t,e,n){"use strict";function r(t){switch(t.graph().ranker){case"network-simplex":a(t);break;case"tight-tree":i(t);break;case"longest-path":l(t);break;default:a(t)}}function i(t){u(t),s(t)}function a(t){c(t)}var o=n(17),u=o.longestPath,s=n(39),c=n(209);t.exports=r;var l=u},function(t,e,n){"use strict";function r(t){t=b(t),g(t);var e=m(t);u(e),i(e,t);for(var n,r;n=c(e);)r=l(e,t,n),d(e,t,n,r)}function i(t,e){var n=M(t,t.nodes());n=n.slice(0,n.length-1),p.each(n,function(n){a(t,e,n)})}function a(t,e,n){var r=t.node(n),i=r.parent;t.edge(n,i).cutvalue=o(t,e,n)}function o(t,e,n){var r=t.node(n),i=r.parent,a=!0,o=e.edge(n,i),u=0;return o||(a=!1,o=e.edge(i,n)),u=o.weight,p.each(e.nodeEdges(n),function(r){var o=r.v===n,s=o?r.w:r.v;if(s!==i){var c=o===a,l=e.edge(r).weight;if(u+=c?l:-l,f(t,n,s)){var d=t.edge(n,s).cutvalue;u+=c?-d:d}}}),u}function u(t,e){arguments.length<2&&(e=t.nodes()[0]),s(t,{},1,e)}function s(t,e,n,r,i){var a=n,o=t.node(r);return e[r]=!0,p.each(t.neighbors(r),function(i){p.has(e,i)||(n=s(t,e,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function c(t){return p.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function l(t,e,n){var r=n.v,i=n.w;e.hasEdge(r,i)||(r=n.w,i=n.v);var a=t.node(r),o=t.node(i),u=a,s=!1;a.lim>o.lim&&(u=o,s=!0);var c=p.filter(e.edges(),function(e){return s===_(t,t.node(e.v),u)&&s!==_(t,t.node(e.w),u)});return p.min(c,function(t){return y(e,t)})}function d(t,e,n,r){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(r.v,r.w,{}),u(t),i(t,e),h(t,e)}function h(t,e){var n=p.find(t.nodes(),function(t){return!e.node(t).parent}),r=v(t,n);r=r.slice(1),p.each(r,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)})}function f(t,e,n){return t.hasEdge(e,n)}function _(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}var p=n(1),m=n(39),y=n(17).slack,g=n(17).longestPath,v=n(8).alg.preorder,M=n(8).alg.postorder,b=n(3).simplify;t.exports=r,r.initLowLimValues=u,r.initCutValues=i,r.calcCutValue=o,r.leaveEdge=c,r.enterEdge=l,r.exchangeEdges=d},function(t,e,n){function r(t){var e=a(t);o.each(t.graph().dummyChains,function(n){for(var r=t.node(n),a=r.edgeObj,o=i(t,e,a.v,a.w),u=o.path,s=o.lca,c=0,l=u[c],d=!0;n!==a.w;){if(r=t.node(n),d){for(;(l=u[c])!==s&&t.node(l).maxRank<r.rank;)c++;l===s&&(d=!1)}if(!d){for(;c<u.length-1&&t.node(l=u[c+1]).minRank<=r.rank;)c++;l=u[c]}t.setParent(n,l),n=t.successors(n)[0]}})}function i(t,e,n,r){var i,a,o=[],u=[],s=Math.min(e[n].low,e[r].low),c=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),o.push(i)}while(i&&(e[i].low>s||c>e[i].lim));for(a=i,i=r;(i=t.parent(i))!==a;)u.push(i);return{path:o.concat(u.reverse()),lca:a}}function a(t){function e(i){var a=r;o.each(t.children(i),e),n[i]={low:a,lim:r++}}var n={},r=0;return o.each(t.children(),e),n}var o=n(1);t.exports=r},function(t,e,n){function r(t){var e=c.addDummyNode(t,"root",{},"_root"),n=a(t),r=s.max(n)-1,u=2*r+1;t.graph().nestingRoot=e,s.each(t.edges(),function(e){t.edge(e).minlen*=u});var l=o(t)+1;s.each(t.children(),function(a){i(t,e,u,l,r,n,a)}),t.graph().nodeRankFactor=u}function i(t,e,n,r,a,o,u){var l=t.children(u);if(!l.length)return void(u!==e&&t.setEdge(e,u,{weight:0,minlen:n}));var d=c.addBorderNode(t,"_bt"),h=c.addBorderNode(t,"_bb"),f=t.node(u);t.setParent(d,u),f.borderTop=d,t.setParent(h,u),f.borderBottom=h,s.each(l,function(s){i(t,e,n,r,a,o,s);var c=t.node(s),l=c.borderTop?c.borderTop:s,f=c.borderBottom?c.borderBottom:s,_=c.borderTop?r:2*r,p=l!==f?1:a-o[u]+1;t.setEdge(d,l,{weight:_,minlen:p,nestingEdge:!0}),t.setEdge(f,h,{weight:_,minlen:p,nestingEdge:!0})}),t.parent(u)||t.setEdge(e,d,{weight:0,minlen:a+o[u]})}function a(t){function e(r,i){var a=t.children(r);a&&a.length&&s.each(a,function(t){e(t,i+1)}),n[r]=i}var n={};return s.each(t.children(),function(t){e(t,1)}),n}function o(t){return s.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}function u(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,s.each(t.edges(),function(e){t.edge(e).nestingEdge&&t.removeEdge(e)})}var s=n(1),c=n(3);t.exports={run:r,cleanup:u}},function(t,e,n){function r(t){function e(n){var r=t.children(n),o=t.node(n);if(r.length&&a.each(r,e),a.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var u=o.minRank,s=o.maxRank+1;u<s;++u)i(t,"borderLeft","_bl",n,o,u),i(t,"borderRight","_br",n,o,u)}}a.each(t.children(),e)}function i(t,e,n,r,i,a){var u={width:0,height:0,rank:a,borderType:e},s=i[e][a-1],c=o.addDummyNode(t,"border",u,n);i[e][a]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var a=n(1),o=n(3);t.exports=r},function(t,e,n){"use strict";function r(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||a(t)}function i(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||u(t),"lr"!==e&&"rl"!==e||(c(t),a(t))}function a(t){d.each(t.nodes(),function(e){o(t.node(e))}),d.each(t.edges(),function(e){o(t.edge(e))})}function o(t){var e=t.width;t.width=t.height,t.height=e}function u(t){d.each(t.nodes(),function(e){s(t.node(e))}),d.each(t.edges(),function(e){var n=t.edge(e);d.each(n.points,s),d.has(n,"y")&&s(n)})}function s(t){t.y=-t.y}function c(t){d.each(t.nodes(),function(e){l(t.node(e))}),d.each(t.edges(),function(e){var n=t.edge(e);d.each(n.points,l),d.has(n,"x")&&l(n)})}function l(t){var e=t.x;t.x=t.y,t.y=e}var d=n(1);t.exports={adjust:r,undo:i}},function(t,e,n){"use strict";function r(t){var e=_.maxRank(t),n=i(t,u.range(1,e+1),"inEdges"),r=i(t,u.range(e-1,-1,-1),"outEdges"),l=s(t);o(t,l);for(var d,h=Number.POSITIVE_INFINITY,f=0,p=0;p<4;++f,++p){a(f%2?n:r,f%4>=2),l=_.buildLayerMatrix(t);var m=c(t,l);m<h&&(p=0,d=u.cloneDeep(l),h=m)}o(t,d)}function i(t,e,n){return u.map(e,function(e){return d(t,e,n)})}function a(t,e){var n=new f;u.each(t,function(t){var r=t.graph().root,i=l(t,r,n,e);u.each(i.vs,function(e,n){t.node(e).order=n}),h(t,n,i.vs)})}function o(t,e){u.each(e,function(e){u.each(e,function(e,n){t.node(e).order=n})})}var u=n(1),s=n(215),c=n(216),l=n(217),d=n(221),h=n(222),f=n(8).Graph,_=n(3);t.exports=r},function(t,e,n){"use strict";function r(t){function e(r){if(!i.has(n,r)){n[r]=!0;var a=t.node(r);o[a.rank].push(r),i.each(t.successors(r),e)}}var n={},r=i.filter(t.nodes(),function(e){return!t.children(e).length}),a=i.max(i.map(r,function(e){return t.node(e).rank})),o=i.map(i.range(a+1),function(){return[]}),u=i.sortBy(r,function(e){return t.node(e).rank});return i.each(u,e),o}var i=n(1);t.exports=r},function(t,e,n){"use strict";function r(t,e){for(var n=0,r=1;r<e.length;++r)n+=i(t,e[r-1],e[r]);return n}function i(t,e,n){for(var r=a.zipObject(n,a.map(n,function(t,e){return e})),i=a.flatten(a.map(e,function(e){return a.chain(t.outEdges(e)).map(function(e){return{pos:r[e.w],weight:t.edge(e).weight}}).sortBy("pos").value()}),!0),o=1;o<n.length;)o<<=1;var u=2*o-1;o-=1;var s=a.map(new Array(u),function(){return 0}),c=0;return a.each(i.forEach(function(t){var e=t.pos+o;s[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=s[e+1]),e=e-1>>1,s[e]+=t.weight;c+=t.weight*n})),c}var a=n(1);t.exports=r},function(t,e,n){function r(t,e,n,l){var d=t.children(e),h=t.node(e),f=h?h.borderLeft:void 0,_=h?h.borderRight:void 0,p={};f&&(d=o.filter(d,function(t){return t!==f&&t!==_}));var m=u(t,d);o.each(m,function(e){if(t.children(e.v).length){var i=r(t,e.v,n,l);p[e.v]=i,o.has(i,"barycenter")&&a(e,i)}});var y=s(m,n);i(y,p);var g=c(y,l);if(f&&(g.vs=o.flatten([f,g.vs,_],!0),t.predecessors(f).length)){var v=t.node(t.predecessors(f)[0]),M=t.node(t.predecessors(_)[0]);o.has(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+v.order+M.order)/(g.weight+2),g.weight+=2}return g}function i(t,e){o.each(t,function(t){t.vs=o.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}function a(t,e){o.isUndefined(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var o=n(1),u=n(218),s=n(219),c=n(220);t.exports=r},function(t,e,n){function r(t,e){return i.map(e,function(e){var n=t.inEdges(e);if(n.length){var r=i.reduce(n,function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}},{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}})}var i=n(1);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n={};return o.each(t,function(t,e){var r=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};o.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),o.each(e.edges(),function(t){var e=n[t.v],r=n[t.w];o.isUndefined(e)||o.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))}),i(o.filter(n,function(t){return!t.indegree}))}function i(t){for(var e=[];t.length;){var n=t.pop();e.push(n),o.each(n.in.reverse(),function(t){return function(e){e.merged||(o.isUndefined(e.barycenter)||o.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&a(t,e)}}(n)),o.each(n.out,function(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}(n))}return o.chain(e).filter(function(t){return!t.merged}).map(function(t){return o.pick(t,["vs","i","barycenter","weight"])}).value()}function a(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}var o=n(1);t.exports=r},function(t,e,n){function r(t,e){var n=u.partition(t,function(t){return o.has(t,"barycenter")}),r=n.lhs,s=o.sortBy(n.rhs,function(t){return-t.i}),c=[],l=0,d=0,h=0;r.sort(a(!!e)),h=i(c,s,h),o.each(r,function(t){h+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,d+=t.weight,h=i(c,s,h)});var f={vs:o.flatten(c,!0)};return d&&(f.barycenter=l/d,f.weight=d),f}function i(t,e,n){for(var r;e.length&&(r=o.last(e)).i<=n;)e.pop(),t.push(r.vs),n++;return n}function a(t){return function(e,n){return e.barycenter<n.barycenter?-1:e.barycenter>n.barycenter?1:t?n.i-e.i:e.i-n.i}}var o=n(1),u=n(3);t.exports=r},function(t,e,n){function r(t,e,n){var r=i(t),u=new o({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(e){return t.node(e)});return a.each(t.nodes(),function(i){var o=t.node(i),s=t.parent(i);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(u.setNode(i),u.setParent(i,s||r),a.each(t[n](i),function(e){var n=e.v===i?e.w:e.v,r=u.edge(n,i),o=a.isUndefined(r)?0:r.weight;u.setEdge(n,i,{weight:t.edge(e).weight+o})}),a.has(o,"minRank")&&u.setNode(i,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),u}function i(t){for(var e;t.hasNode(e=a.uniqueId("_root")););return e}var a=n(1),o=n(8).Graph;t.exports=r},function(t,e,n){function r(t,e,n){var r,a={};i.each(n,function(n){for(var i,o,u=t.parent(n);u;){if(i=t.parent(u),i?(o=a[i],a[i]=u):(o=r,r=u),o&&o!==u)return void e.setEdge(o,u);u=i}})}var i=n(1);t.exports=r},function(t,e,n){"use strict";function r(t){t=o.asNonCompoundGraph(t),i(t),a.each(u(t),function(e,n){t.node(n).x=e})}function i(t){var e=o.buildLayerMatrix(t),n=t.graph().ranksep,r=0;a.each(e,function(e){var i=a.max(a.map(e,function(e){return t.node(e).height}));a.each(e,function(e){t.node(e).y=r+i/2}),r+=i+n})}var a=n(1),o=n(3),u=n(224).positionX;t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(e,n){var i=0,u=0,s=e.length,c=y.last(n);return y.each(n,function(e,l){var d=a(t,e),h=d?t.node(d).order:s;(d||e===c)&&(y.each(n.slice(u,l+1),function(e){y.each(t.predecessors(e),function(n){var a=t.node(n),u=a.order;!(u<i||h<u)||a.dummy&&t.node(e).dummy||o(r,n,e)})}),u=l+1,i=h)}),n}var r={};return y.reduce(e,n),r}function i(t,e){function n(e,n,r,a,u){var s;y.each(y.range(n,r),function(n){s=e[n],t.node(s).dummy&&y.each(t.predecessors(s),function(e){var n=t.node(e);n.dummy&&(n.order<a||n.order>u)&&o(i,e,s)})})}function r(e,r){var i,a=-1,o=0;return y.each(r,function(u,s){if("border"===t.node(u).dummy){var c=t.predecessors(u);c.length&&(i=t.node(c[0]).order,n(r,o,s,a,i),o=s,a=i)}n(r,o,r.length,i,e.length)}),r}var i={};return y.reduce(e,r),i}function a(t,e){if(t.node(e).dummy)return y.find(t.predecessors(e),function(e){return t.node(e).dummy})}function o(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 r=e;e=n,n=r}return y.has(t[e],n)}function s(t,e,n,r){var i={},a={},o={};return y.each(e,function(t){y.each(t,function(t,e){i[t]=t,a[t]=t,o[t]=e})}),y.each(e,function(t){var e=-1;y.each(t,function(t){var s=r(t);if(s.length){s=y.sortBy(s,function(t){return o[t]});for(var c=(s.length-1)/2,l=Math.floor(c),d=Math.ceil(c);l<=d;++l){var h=s[l];a[t]===t&&e<o[h]&&!u(n,t,h)&&(a[h]=t,a[t]=i[t]=i[h],e=o[h])}}})}),{root:i,align:a}}function c(t,e,n,r,i){function a(t){y.has(c,t)||(c[t]=!0,u[t]=y.reduce(s.inEdges(t),function(t,e){return a(e.v),Math.max(t,u[e.v]+s.edge(e))},0))}function o(e){if(2!==c[e]){c[e]++;var n=t.node(e),r=y.reduce(s.outEdges(e),function(t,e){return o(e.w),Math.min(t,u[e.w]-s.edge(e))},Number.POSITIVE_INFINITY);r!==Number.POSITIVE_INFINITY&&n.borderType!==d&&(u[e]=Math.max(u[e],r))}}var u={},s=l(t,e,n,i),c={};y.each(s.nodes(),a);var d=i?"borderLeft":"borderRight";return y.each(s.nodes(),o),y.each(r,function(t){u[t]=u[n[t]]}),u}function l(t,e,n,r){var i=new g,a=t.graph(),o=p(a.nodesep,a.edgesep,r);return y.each(e,function(e){var r;y.each(e,function(e){var a=n[e];if(i.setNode(a),r){var u=n[r],s=i.edge(u,a);i.setEdge(u,a,Math.max(o(t,e,r),s||0))}r=e})}),i}function d(t,e){return y.min(e,function(e){var n=y.min(e,function(e,n){return e-m(t,n)/2});return y.max(e,function(e,n){return e+m(t,n)/2})-n})}function h(t,e){var n=y.min(e),r=y.max(e);y.each(["u","d"],function(i){y.each(["l","r"],function(a){var o,u=i+a,s=t[u];s!==e&&(o="l"===a?n-y.min(s):r-y.max(s))&&(t[u]=y.mapValues(s,function(t){return t+o}))})})}function f(t,e){return y.mapValues(t.ul,function(n,r){if(e)return t[e.toLowerCase()][r];var i=y.sortBy(y.pluck(t,r));return(i[1]+i[2])/2})}function _(t){var e,n=v.buildLayerMatrix(t),a=y.merge(r(t,n),i(t,n)),o={};y.each(["u","d"],function(r){e="u"===r?n:y.values(n).reverse(),y.each(["l","r"],function(n){"r"===n&&(e=y.map(e,function(t){return y.values(t).reverse()}));var i=y.bind("u"===r?t.predecessors:t.successors,t),u=s(t,e,a,i),l=c(t,e,u.root,u.align,"r"===n);"r"===n&&(l=y.mapValues(l,function(t){return-t})),o[r+n]=l})});var u=d(t,o);return h(o,u),f(o,t.graph().align)}function p(t,e,n){return function(r,i,a){var o,u=r.node(i),s=r.node(a),c=0;if(c+=u.width/2,y.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":o=-u.width/2;break;case"r":o=u.width/2}if(o&&(c+=n?o:-o),o=0,c+=(u.dummy?e:t)/2,c+=(s.dummy?e:t)/2,c+=s.width/2,y.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":o=s.width/2;break;case"r":o=-s.width/2}return o&&(c+=n?o:-o),o=0,c}}function m(t,e){return t.node(e).width}var y=n(1),g=n(8).Graph,v=n(3);t.exports={positionX:_,findType1Conflicts:r,findType2Conflicts:i,addConflict:o,hasConflict:u,verticalAlignment:s,horizontalCompaction:c,alignCoordinates:h,findSmallestWidthAlignment:d,balance:f}},function(t,e,n){function r(t){var e=a.buildLayerMatrix(t),n=new o({compound:!0,multigraph:!0}).setGraph({});return i.each(t.nodes(),function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)}),i.each(t.edges(),function(t){n.setEdge(t.v,t.w,{},t.name)}),i.each(e,function(t,e){var r="layer"+e;n.setNode(r,{rank:"same"}),i.reduce(t,function(t,e){return n.setEdge(t,e,{style:"invis"}),e})}),n}var i=n(1),a=n(3),o=n(8).Graph;t.exports={debugOrdering:r}},function(t,e){t.exports="0.7.4"},function(t,e,n){t.exports={node:n(40),circle:n(41),ellipse:n(20),polygon:n(42),rect:n(43)}},function(t,e){function n(t,e,n,i){var a,o,u,s,c,l,d,h,f,_,p,m,y,g,v;if(a=e.y-t.y,u=t.x-e.x,c=e.x*t.y-t.x*e.y,f=a*n.x+u*n.y+c,_=a*i.x+u*i.y+c,!(0!==f&&0!==_&&r(f,_)||(o=i.y-n.y,s=n.x-i.x,l=i.x*n.y-n.x*i.y,d=o*t.x+s*t.y+l,h=o*e.x+s*e.y+l,0!==d&&0!==h&&r(d,h)||0==(p=a*s-o*u))))return m=Math.abs(p/2),y=u*l-s*c,g=y<0?(y-m)/p:(y+m)/p,y=o*c-a*l,v=y<0?(y-m)/p:(y+m)/p,{x:g,y:v}}function r(t,e){return t*e>0}t.exports=n},function(t,e,n){function r(){var t=n(230),e=n(234),r=n(235),u=n(236),c=n(237),l=n(238),d=n(239),h=n(240),f=n(241),_=function(n,_){i(_);var p=o(n,"output"),m=o(p,"clusters"),y=o(p,"edgePaths"),g=r(o(p,"edgeLabels"),_),v=t(o(p,"nodes"),_,h);s(_),c(v,_),l(g,_),u(y,_,f);var M=e(m,_);d(M,_),a(_)};return _.createNodes=function(e){return arguments.length?(t=e,_):t},_.createClusters=function(t){return arguments.length?(e=t,_):e},_.createEdgeLabels=function(t){return arguments.length?(r=t,_):r},_.createEdgePaths=function(t){return arguments.length?(u=t,_):u},_.shapes=function(t){return arguments.length?(h=t,_):h},_.arrows=function(t){return arguments.length?(f=t,_):f},_}function i(t){t.nodes().forEach(function(e){var n=t.node(e);u.has(n,"label")||t.children(e).length||(n.label=e),u.has(n,"paddingX")&&u.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),u.has(n,"paddingY")&&u.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),u.has(n,"padding")&&u.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),u.defaults(n,c),u.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){n[t]=Number(n[t])}),u.has(n,"width")&&(n._prevWidth=n.width),u.has(n,"height")&&(n._prevHeight=n.height)}),t.edges().forEach(function(e){var n=t.edge(e);u.has(n,"label")||(n.label=""),u.defaults(n,l)})}function a(t){u.each(t.nodes(),function(e){var n=t.node(e);u.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,u.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight})}function o(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}var u=n(14),s=n(32).layout;t.exports=r;var c={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},l={arrowhead:"normal",lineInterpolate:"linear"}},function(t,e,n){"use strict";function r(t,e,n){var r=e.nodes().filter(function(t){return!o.isSubgraph(e,t)}),s=t.selectAll("g.node").data(r,function(t){return t}).classed("update",!0);return s.selectAll("*").remove(),s.enter().append("g").attr("class","node").style("opacity",0),s.each(function(t){var r=e.node(t),s=u.select(this),c=s.append("g").attr("class","label"),l=a(c,r),d=n[r.shape],h=i.pick(l.node().getBBox(),"width","height");r.elem=this,r.id&&s.attr("id",r.id),r.labelId&&c.attr("id",r.labelId),o.applyClass(s,r.class,(s.classed("update")?"update ":"")+"node"),i.has(r,"width")&&(h.width=r.width),i.has(r,"height")&&(h.height=r.height),h.width+=r.paddingLeft+r.paddingRight,h.height+=r.paddingTop+r.paddingBottom,c.attr("transform","translate("+(r.paddingLeft-r.paddingRight)/2+","+(r.paddingTop-r.paddingBottom)/2+")");var f=d(u.select(this),h,r);o.applyStyle(f,r.style);var _=f.node().getBBox();r.width=_.width,r.height=_.height}),o.applyTransition(s.exit(),e).style("opacity",0).remove(),s}var i=n(14),a=n(21),o=n(7),u=n(15);t.exports=r},function(t,e,n){function r(t,e){for(var n=t.append("text"),r=i(e.label).split("\n"),o=0;o<r.length;o++)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(r[o]);return a.applyStyle(n,e.labelStyle),n}function i(t){for(var e,n="",r=!1,i=0;i<t.length;++i)if(e=t[i],r){switch(e){case"n":n+="\n";break;default:n+=e}r=!1}else"\\"===e?r=!0:n+=e;return n}var a=n(7);t.exports=r},function(t,e,n){function r(t,e){var n=t.append("foreignObject").attr("width","100000"),r=n.append("xhtml:div");r.attr("xmlns","http://www.w3.org/1999/xhtml");var a=e.label;switch(typeof a){case"function":r.insert(a);break;case"object":r.insert(function(){return a});break;default:r.html(a)}i.applyStyle(r,e.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap");var o=r[0][0].getBoundingClientRect();return n.attr("width",o.width).attr("height",o.height),n}var i=n(7);t.exports=r},function(t,e,n){function r(t,e){var n=t;return n.node().appendChild(e.label),i.applyStyle(n,e.labelStyle),n}var i=n(7);t.exports=r},function(t,e,n){function r(t,e){var n=e.nodes().filter(function(t){return i.isSubgraph(e,t)}),r=t.selectAll("g.cluster").data(n,function(t){return t});return r.selectAll("*").remove(),r.enter().append("g").attr("class","cluster").attr("id",function(t){return e.node(t).id}).style("opacity",0),i.applyTransition(r,e).style("opacity",1),r.each(function(t){var n=e.node(t),r=d3.select(this);d3.select(this).append("rect");var i=r.append("g").attr("class","label");a(i,n,n.clusterLabelPos)}),r.selectAll("rect").each(function(t){var n=e.node(t),r=d3.select(this);i.applyStyle(r,n.style)}),i.applyTransition(r.exit(),e).style("opacity",0).remove(),r}var i=n(7),a=n(21);t.exports=r},function(t,e,n){"use strict";function r(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return o.edgeToId(t)}).classed("update",!0);return n.selectAll("*").remove(),n.enter().append("g").classed("edgeLabel",!0).style("opacity",0),n.each(function(t){var n=e.edge(t),r=a(u.select(this),e.edge(t),0,0).classed("label",!0),o=r.node().getBBox();n.labelId&&r.attr("id",n.labelId),i.has(n,"width")||(n.width=o.width),i.has(n,"height")||(n.height=o.height)}),o.applyTransition(n.exit(),e).style("opacity",0).remove(),n}var i=n(14),a=n(21),o=n(7),u=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e,n){var r=t.selectAll("g.edgePath").data(e.edges(),function(t){return h.edgeToId(t)}).classed("update",!0);return s(r,e),c(r,e),h.applyTransition(r,e).style("opacity",1),r.each(function(t){var n=f.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),h.applyClass(n,r.class,(n.classed("update")?"update ":"")+"edgePath")}),r.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=l.uniqueId("arrowhead");var r=f.select(this).attr("marker-end",function(){return"url("+i(location.href,n.arrowheadId)+")"}).style("fill","none");h.applyTransition(r,e).attr("d",function(t){return a(e,t)}),h.applyStyle(r,n.style)}),r.selectAll("defs *").remove(),r.selectAll("defs").each(function(t){var r=e.edge(t);(0,n[r.arrowhead])(f.select(this),r.arrowheadId,r,"arrowhead")}),r}function i(t,e){return t.split("#")[0]+"#"+e}function a(t,e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),a=n.points.slice(1,n.points.length-1);return a.unshift(d(r,a[0])),a.push(d(i,a[a.length-1])),o(n,a)}function o(t,e){var n=f.svg.line().x(function(t){return t.x}).y(function(t){return t.y});return l.has(t,"lineInterpolate")&&n.interpolate(t.lineInterpolate),l.has(t,"lineTension")&&n.tension(Number(t.lineTension)),n(e)}function u(t){var e=t.getBBox(),n=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2);return{x:n.e,y:n.f}}function s(t,e){var n=t.enter().append("g").attr("class","edgePath").style("opacity",0);n.append("path").attr("class","path").attr("d",function(t){var n=e.edge(t),r=e.node(t.v).elem;return o(n,l.range(n.points.length).map(function(){return u(r)}))}),n.append("defs")}function c(t,e){var n=t.exit();h.applyTransition(n,e).style("opacity",0).remove(),h.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);if(n){return o({},l.range(this.getTotalLength()).map(function(){return n}))}return f.select(this).attr("d")})}var l=n(14),d=n(40),h=n(7),f=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}t.filter(function(){return!a.select(this).classed("update")}).attr("transform",n),i.applyTransition(t,e).style("opacity",1).attr("transform",n)}var i=n(7),a=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(t){var n=e.edge(t);return o.has(n,"x")?"translate("+n.x+","+n.y+")":""}t.filter(function(){return!a.select(this).classed("update")}).attr("transform",n),i.applyTransition(t,e).style("opacity",1).attr("transform",n)}var i=n(7),a=n(15),o=n(14);t.exports=r},function(t,e,n){"use strict";function r(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}var r=t.filter(function(){return!a.select(this).classed("update")});r.attr("transform",n),i.applyTransition(t,e).style("opacity",1).attr("transform",n),i.applyTransition(r.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){return-e.node(t).width/2}).attr("y",function(t){return-e.node(t).height/2})}var i=n(7),a=n(15);t.exports=r},function(t,e,n){"use strict";function r(t,e,n){var r=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return u(n,t)},r}function i(t,e,n){var r=e.width/2,i=e.height/2,a=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",i);return n.intersect=function(t){return s(n,r,i,t)},a}function a(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return c(n,r,t)},i}function o(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" "));return n.intersect=function(t){return l(n,a,t)},o}var u=n(43),s=n(20),c=n(41),l=n(42);t.exports={rect:r,ellipse:i,circle:a,diamond:o}},function(t,e,n){function r(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");o.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}function i(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");o.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}function a(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),a=i.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");o.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}var o=n(7);t.exports={default:r,normal:r,vee:i,undirected:a}},function(t,e){t.exports="0.1.6"},function(t,e,n){var r=n(44).parser;r.yy=n(45);var i=n(244),a=n(10),o=n(2),u=o.Log,s={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],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,n,r,i){function a(a){return function(c){u++;var l=o.sequenceItems.length-u+1;o.updateVal(c,"starty",n-l*s.boxMargin,Math.min),o.updateVal(c,"stopy",i+l*s.boxMargin,Math.max),o.updateVal(e.bounds.data,"startx",t-l*s.boxMargin,Math.min),o.updateVal(e.bounds.data,"stopx",r+l*s.boxMargin,Math.max),"activation"!==a&&(o.updateVal(c,"startx",t-l*s.boxMargin,Math.min),o.updateVal(c,"stopx",r+l*s.boxMargin,Math.max),o.updateVal(e.bounds.data,"starty",n-l*s.boxMargin,Math.min),o.updateVal(e.bounds.data,"stopy",i+l*s.boxMargin,Math.max))}}var o=this,u=0;this.sequenceItems.forEach(a()),this.activations.forEach(a("activation"))},insert:function(t,n,r,i){var a,o,u,s;a=Math.min(t,r),u=Math.max(t,r),o=Math.min(n,i),s=Math.max(n,i),this.updateVal(e.bounds.data,"startx",a,Math.min),this.updateVal(e.bounds.data,"starty",o,Math.min),this.updateVal(e.bounds.data,"stopx",u,Math.max),this.updateVal(e.bounds.data,"stopy",s,Math.max),this.updateBounds(a,o,u,s)},newActivation:function(t,e){var n=r.yy.getActors()[t.from.actor],a=d(t.from.actor).length,o=n.x+s.width/2+(a-1)*s.activationWidth/2;this.activations.push({startx:o,starty:this.verticalPos+2,stopx:o+s.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var n=this.sequenceItems.pop();n.sections=n.sections||[],n.sectionTitles=n.sectionTitles||[],n.sections.push(e.bounds.getVerticalPos()),n.sectionTitles.push(t),this.sequenceItems.push(n)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,n,r,a,o){var u=i.getNoteRect();u.x=n,u.y=r,u.width=o||s.width,u.class="note";var c=t.append("g"),l=i.drawRect(c,u),d=i.getTextObj();d.x=n-4,d.y=r-13,d.textMargin=s.noteMargin,d.dy="1em",d.text=a.message,d.class="noteText";var h=i.drawText(c,d,u.width-s.noteMargin),f=h[0][0].getBBox().height;!o&&f>s.width?(h.remove(),c=t.append("g"),h=i.drawText(c,d,2*u.width-s.noteMargin),f=h[0][0].getBBox().height,l.attr("width",2*u.width),e.bounds.insert(n,r,n+2*u.width,r+2*s.noteMargin+f)):e.bounds.insert(n,r,n+u.width,r+2*s.noteMargin+f),l.attr("height",f+2*s.noteMargin),e.bounds.bumpVerticalPos(f+2*s.noteMargin)},l=function(t,n,i,a,o){var u,c=t.append("g"),l=n+(i-n)/2,d=c.append("text").attr("x",l).attr("y",a-7).style("text-anchor","middle").attr("class","messageText").text(o.message);u=void 0!==d[0][0].getBBox?d[0][0].getBBox().width:d[0][0].getBoundingClientRect();var h;if(n===i){h=c.append("path").attr("d","M "+n+","+a+" C "+(n+60)+","+(a-10)+" "+(n+60)+","+(a+30)+" "+n+","+(a+20)),e.bounds.bumpVerticalPos(30);var f=Math.max(u/2,100);e.bounds.insert(n-f,e.bounds.getVerticalPos()-10,i+f,e.bounds.getVerticalPos())}else h=c.append("line"),h.attr("x1",n),h.attr("y1",a),h.attr("x2",i),h.attr("y2",a),e.bounds.insert(n,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());o.type===r.yy.LINETYPE.DOTTED||o.type===r.yy.LINETYPE.DOTTED_CROSS||o.type===r.yy.LINETYPE.DOTTED_OPEN?(h.style("stroke-dasharray","3, 3"),h.attr("class","messageLine1")):h.attr("class","messageLine0");var _="";s.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),h.attr("stroke-width",2),h.attr("stroke","black"),h.style("fill","none"),o.type!==r.yy.LINETYPE.SOLID&&o.type!==r.yy.LINETYPE.DOTTED||h.attr("marker-end","url("+_+"#arrowhead)"),o.type!==r.yy.LINETYPE.SOLID_CROSS&&o.type!==r.yy.LINETYPE.DOTTED_CROSS||h.attr("marker-end","url("+_+"#crosshead)")};t.exports.drawActors=function(t,n,r,a){var o;for(o=0;o<r.length;o++){var u=r[o];n[u].x=o*s.actorMargin+o*s.width,n[u].y=a,n[u].width=s.diagramMarginX,n[u].height=s.diagramMarginY,i.drawActor(t,n[u].x,a,n[u].description,s),e.bounds.insert(n[u].x,a,n[u].x+s.width,s.height)}e.bounds.bumpVerticalPos(s.height)},t.exports.setConf=function(t){Object.keys(t).forEach(function(e){s[e]=t[e]})};var d=function(e){return t.exports.bounds.activations.filter(function(t){return t.actor===e})},h=function(t){var e=r.yy.getActors(),n=d(t);return[n.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+s.width/2),n.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+s.width/2)]};t.exports.draw=function(n,o){function d(t,n){var r=e.bounds.endActivation(t);r.starty+18>n&&(r.starty=n-6,n+=12),i.drawActivation(m,r,n,s),e.bounds.insert(r.startx,n-10,r.stopx,n)}r.yy.clear(),r.parse(n+"\n"),e.bounds.init();var f,_,p,m=a.select("#"+o),y=r.yy.getActors(),g=r.yy.getActorKeys(),v=r.yy.getMessages(),M=r.yy.getTitle();t.exports.drawActors(m,y,g,0),i.insertArrowHead(m),i.insertArrowCrossHead(m),v.forEach(function(t){var n;switch(t.type){case r.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(s.boxMargin),f=y[t.from].x,_=y[t.to].x,t.placement===r.yy.PLACEMENT.RIGHTOF?c(m,f+(s.width+s.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===r.yy.PLACEMENT.LEFTOF?c(m,f-(s.width+s.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(m,f,e.bounds.getVerticalPos(),t):(p=Math.abs(f-_)+s.actorMargin,c(m,(f+_+s.width-p)/2,e.bounds.getVerticalPos(),t,p));break;case r.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,m);break;case r.yy.LINETYPE.ACTIVE_END:d(t,e.bounds.getVerticalPos());break;case r.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.LOOP_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"loop",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.OPT_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"opt",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(s.boxMargin),n=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.ALT_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"alt",s),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.PAR_START:e.bounds.bumpVerticalPos(s.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin+s.boxTextMargin);break;case r.yy.LINETYPE.PAR_AND:e.bounds.bumpVerticalPos(s.boxMargin),n=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(s.boxMargin);break;case r.yy.LINETYPE.PAR_END:n=e.bounds.endLoop(),i.drawLoop(m,n,"par",s),e.bounds.bumpVerticalPos(s.boxMargin);break;default:try{e.bounds.bumpVerticalPos(s.messageMargin);var a=h(t.from),o=h(t.to),u=a[0]<=o[0]?1:0,g=a[0]<o[0]?0:1;f=a[u],_=o[g];var v=e.bounds.getVerticalPos();l(m,f,_,v,t);var M=a.concat(o);e.bounds.insert(Math.min.apply(null,M),v,Math.max.apply(null,M),v)}catch(t){console.error("error while drawing message",t)}}}),s.mirrorActors&&(e.bounds.bumpVerticalPos(2*s.boxMargin),t.exports.drawActors(m,y,g,e.bounds.getVerticalPos()));var b=e.bounds.getBounds();u.debug("For line height fix Querying: #"+o+" .actor-line"),a.selectAll("#"+o+" .actor-line").attr("y2",b.stopy);var L=b.stopy-b.starty+2*s.diagramMarginY;s.mirrorActors&&(L=L-s.boxMargin+s.bottomMarginAdj);var k=b.stopx-b.startx+2*s.diagramMarginX;M&&m.append("text").text(M).attr("x",(b.stopx-b.startx)/2-2*s.diagramMarginX).attr("y",-25),s.useMaxWidth?(m.attr("height","100%"),m.attr("width","100%"),m.attr("style","max-width:"+k+"px;")):(m.attr("height",L),m.attr("width",k));var w=M?40:0;m.attr("viewBox",b.startx-s.diagramMarginX+" -"+(s.diagramMarginY+w)+" "+k+" "+(L+w))}},function(t,e){e.drawRect=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},e.drawText=function(t,e,n){var r=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(r),void 0!==i.textwrap&&i.textwrap({x:e.x,y:e.y,width:n,height:1800},e.textMargin),i},e.drawLabel=function(t,n){var r=t.append("polygon");r.attr("points",function(t,e,n,r,i){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+r-i)+" "+(t+n-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(n.x,n.y,50,20,7)),r.attr("class","labelBox"),n.y=n.y+n.labelMargin,n.x=n.x+.5*n.labelMargin,e.drawText(t,n)};var n=-1;e.drawActor=function(t,i,a,o,u){var s=i+u.width/2,c=t.append("g");0===a&&(n++,c.append("line").attr("id","actor"+n).attr("x1",s).attr("y1",5).attr("x2",s).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var l=e.getNoteRect();l.x=i,l.y=a,l.fill="#eaeaea",l.width=u.width,l.height=u.height,l.class="actor",l.rx=3,l.ry=3,e.drawRect(c,l),r(u)(o,c,l.x,l.y,l.width,l.height,{class:"actor"})},e.anchorElement=function(t){return t.append("g")},e.drawActivation=function(t,n,r){var i=e.getNoteRect(),a=n.anchored;i.x=n.startx,i.y=n.starty,i.fill="#f4f4f4",i.width=n.stopx-n.startx,i.height=r-n.starty,e.drawRect(a,i)},e.drawLoop=function(t,n,r,i){var a=t.append("g"),o=function(t,e,n,r){return a.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")};o(n.startx,n.starty,n.stopx,n.starty),o(n.stopx,n.starty,n.stopx,n.stopy),o(n.startx,n.stopy,n.stopx,n.stopy),o(n.startx,n.starty,n.startx,n.stopy),void 0!==n.sections&&n.sections.forEach(function(t){o(n.startx,t,n.stopx,t).style("stroke-dasharray","3, 3")});var u=e.getTextObj();u.text=r,u.x=n.startx,u.y=n.starty,u.labelMargin=15,u.class="labelText",e.drawLabel(a,u),u=e.getTextObj(),u.text="[ "+n.title+" ]",u.x=n.startx+(n.stopx-n.startx)/2,u.y=n.starty+1.5*i.boxMargin,u.anchor="middle",u.class="loopText",e.drawText(a,u),void 0!==n.sectionTitles&&n.sectionTitles.forEach(function(t,r){""!==t&&(u.text="[ "+t+" ]",u.y=n.sections[r]+1.5*i.boxMargin,e.drawText(a,u))})},e.insertArrowHead=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")},e.insertArrowCrossHead=function(t){var e=t.append("defs"),n=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}};var r=function(){function t(t,e,n,i,a,o,u){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),u)}function e(t,e,n,i,a,o,u){var s=e.append("text").attr("x",n+a/2).attr("y",i).style("text-anchor","middle");if(s.append("tspan").attr("x",n+a/2).attr("dy","0").text(t),void 0!==s.textwrap){s.textwrap({x:n+a/2,y:i,width:a,height:o},0);var c=s.selectAll("tspan");c.length>0&&c[0].length>0&&(c=c[0],s.attr("y",i+(o/2-s[0][0].getBBox().height*(1-1/c.length)/2)).attr("dominant-baseline","central").attr("alignment-baseline","central"))}r(s,u)}function n(t,n,i,a,o,u,s){var c=n.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",u),d=l.append("div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,a,o,u,s),r(d,s)}function r(t,e){for(var n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}()},function(t,e,n){var r=n(46),i=n(47),a=n(10),o=n(2),u=o.Log;e.draw=function(t,e,n){var o;o=i.parser,o.yy=r,u.debug("Renering example diagram"),o.parse(t);var s=a.select("#"+e);s.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+n),s.attr("height",100),s.attr("width",400)}},function(t,e,n){var r=n(48).parser;r.yy=n(49);var i,a=n(10),o=n(0),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})};var s;t.exports.draw=function(t,e){function n(t,e,n,r,i,a,o,s){y.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,r){return r*e+n-2}).attr("width",function(){return o-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<b.length;e++)if(t.type===b[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var c=y.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return M(t.startTime)+r}).attr("y",function(t,r){return r*e+n}).attr("width",function(t){return M(t.endTime)-M(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",n=0,r=0;r<b.length;r++)t.type===b[r]&&(n=r%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+n:e+" active"+n:t.done?t.crit?e+" doneCrit"+n:e+" done"+n:t.crit?e+" crit"+n:e+" task"+n}),c.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=M(t.startTime),n=M(t.endTime),i=this.getBBox().width;return i>n-e?n+i+1.5*u.leftPadding>o?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+u.barHeight/2+(u.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=M(t.startTime),n=M(t.endTime),r=this.getBBox().width,i=0,a=0;a<b.length;a++)t.type===b[a]&&(i=a%u.numberSectionStyles);var s="";return t.active&&(s=t.crit?"activeCritText"+i:"activeText"+i),t.done?s=t.crit?s+" doneCritText"+i:s+" doneText"+i:t.crit&&(s=s+" critText"+i),r>n-e?n+r+1.5*u.leftPadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}function c(t,e,n,r){var o,s=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%B",function(t){return t.getMonth()}]];void 0!==u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),o=s.concat(l).concat(c);var d=a.svg.axis().scale(M).orient("bottom").tickSize(-r+e+u.gridLineStartPadding,0,0).tickFormat(a.time.format.multi(o));i>7&&i<230&&(d=d.ticks(a.time.monday.range)),y.append("g").attr("class","grid").attr("transform","translate("+t+", "+(r-50)+")").call(d).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function l(t,e){for(var n=[],r=0,i=0;i<b.length;i++)n[i]=[b[i],f(b[i],k)];y.append("g").selectAll("text").data(n).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,a){if(!(a>0))return i[1]*t/2+e;for(var o=0;o<a;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;e<b.length;e++)if(t[0]===b[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function d(t,e,n,r){var i=y.append("g").attr("class","today"),a=new Date;i.append("line").attr("x1",M(a)+t).attr("x2",M(a)+t).attr("y1",u.titleTopMargin).attr("y2",r-u.titleTopMargin).attr("class","today")}function h(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}function f(t,e){return h(e)[t]||0}r.yy.clear(),r.parse(t);var _=document.getElementById(e);s=_.parentElement.offsetWidth,void 0===s&&(s=1200),void 0!==u.useWidth&&(s=u.useWidth);var p=r.yy.getTasks(),m=p.length*(u.barHeight+u.barGap)+2*u.topPadding;_.setAttribute("height","100%"),_.setAttribute("viewBox","0 0 "+s+" "+m);var y=a.select("#"+e),g=a.min(p,function(t){return t.startTime}),v=a.max(p,function(t){return t.endTime}),M=a.time.scale().domain([a.min(p,function(t){return t.startTime}),a.max(p,function(t){return t.endTime})]).rangeRound([0,s-u.leftPadding-u.rightPadding]),b=[];i=o.duration(v-g).asDays();for(var L=0;L<p.length;L++)b.push(p[L].type);var k=b;b=function(t){for(var e={},n=[],r=0,i=t.length;r<i;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(b),function(t,e,r){var i=u.barHeight,o=i+u.barGap,s=u.topPadding,h=u.leftPadding,f=a.scale.linear().domain([0,b.length]).range(["#00B9FA","#F95002"]).interpolate(a.interpolateHcl);c(h,s,e,r),n(t,o,s,h,i,f,e,r),l(o,s),d(h,s,e,r)}(p,s,m),void 0!==u.useWidth&&_.setAttribute("width",s),y.append("text").text(r.yy.getTitle()).attr("x",s/2).attr("y",u.titleTopMargin).attr("class","titleText")}},function(t,e,n){function r(t){return n(i(t))}function i(t){var e=a[t];if(!(e+1))throw new Error("Cannot find module '"+t+"'.");return e}var a={"./af":50,"./af.js":50,"./ar":51,"./ar-dz":52,"./ar-dz.js":52,"./ar-kw":53,"./ar-kw.js":53,"./ar-ly":54,"./ar-ly.js":54,"./ar-ma":55,"./ar-ma.js":55,"./ar-sa":56,"./ar-sa.js":56,"./ar-tn":57,"./ar-tn.js":57,"./ar.js":51,"./az":58,"./az.js":58,"./be":59,"./be.js":59,"./bg":60,"./bg.js":60,"./bn":61,"./bn.js":61,"./bo":62,"./bo.js":62,"./br":63,"./br.js":63,"./bs":64,"./bs.js":64,"./ca":65,"./ca.js":65,"./cs":66,"./cs.js":66,"./cv":67,"./cv.js":67,"./cy":68,"./cy.js":68,"./da":69,"./da.js":69,"./de":70,"./de-at":71,"./de-at.js":71,"./de-ch":72,"./de-ch.js":72,"./de.js":70,"./dv":73,"./dv.js":73,"./el":74,"./el.js":74,"./en-au":75,"./en-au.js":75,"./en-ca":76,"./en-ca.js":76,"./en-gb":77,"./en-gb.js":77,"./en-ie":78,"./en-ie.js":78,"./en-nz":79,"./en-nz.js":79,"./eo":80,"./eo.js":80,"./es":81,"./es-do":82,"./es-do.js":82,"./es.js":81,"./et":83,"./et.js":83,"./eu":84,"./eu.js":84,"./fa":85,"./fa.js":85,"./fi":86,"./fi.js":86,"./fo":87,"./fo.js":87,"./fr":88,"./fr-ca":89,"./fr-ca.js":89,"./fr-ch":90,"./fr-ch.js":90,"./fr.js":88,"./fy":91,"./fy.js":91,"./gd":92,"./gd.js":92,"./gl":93,"./gl.js":93,"./gom-latn":94,"./gom-latn.js":94,"./he":95,"./he.js":95,"./hi":96,"./hi.js":96,"./hr":97,"./hr.js":97,"./hu":98,"./hu.js":98,"./hy-am":99,"./hy-am.js":99,"./id":100,"./id.js":100,"./is":101,"./is.js":101,"./it":102,"./it.js":102,"./ja":103,"./ja.js":103,"./jv":104,"./jv.js":104,"./ka":105,"./ka.js":105,"./kk":106,"./kk.js":106,"./km":107,"./km.js":107,"./kn":108,"./kn.js":108,"./ko":109,"./ko.js":109,"./ky":110,"./ky.js":110,"./lb":111,"./lb.js":111,"./lo":112,"./lo.js":112,"./lt":113,"./lt.js":113,"./lv":114,"./lv.js":114,"./me":115,"./me.js":115,"./mi":116,"./mi.js":116,"./mk":117,"./mk.js":117,"./ml":118,"./ml.js":118,"./mr":119,"./mr.js":119,"./ms":120,"./ms-my":121,"./ms-my.js":121,"./ms.js":120,"./my":122,"./my.js":122,"./nb":123,"./nb.js":123,"./ne":124,"./ne.js":124,"./nl":125,"./nl-be":126,"./nl-be.js":126,"./nl.js":125,"./nn":127,"./nn.js":127,"./pa-in":128,"./pa-in.js":128,"./pl":129,"./pl.js":129,"./pt":130,"./pt-br":131,"./pt-br.js":131,"./pt.js":130,"./ro":132,"./ro.js":132,"./ru":133,"./ru.js":133,"./sd":134,"./sd.js":134,"./se":135,"./se.js":135,"./si":136,"./si.js":136,"./sk":137,"./sk.js":137,"./sl":138,"./sl.js":138,"./sq":139,"./sq.js":139,"./sr":140,"./sr-cyrl":141,"./sr-cyrl.js":141,"./sr.js":140,"./ss":142,"./ss.js":142,"./sv":143,"./sv.js":143,"./sw":144,"./sw.js":144,"./ta":145,"./ta.js":145,"./te":146,"./te.js":146,"./tet":147,"./tet.js":147,"./th":148,"./th.js":148,"./tl-ph":149,"./tl-ph.js":149,"./tlh":150,"./tlh.js":150,"./tr":151,"./tr.js":151,"./tzl":152,"./tzl.js":152,"./tzm":153,"./tzm-latn":154,"./tzm-latn.js":154,"./tzm.js":153,"./uk":155,"./uk.js":155,"./ur":156,"./ur.js":156,"./uz":157,"./uz-latn":158,"./uz-latn.js":158,"./uz.js":157,"./vi":159,"./vi.js":159,"./x-pseudo":160,"./x-pseudo.js":160,"./yo":161,"./yo.js":161,"./zh-cn":162,"./zh-cn.js":162,"./zh-hk":163,"./zh-hk.js":163,"./zh-tw":164,"./zh-tw.js":164};r.keys=function(){return Object.keys(a)},r.resolve=i,t.exports=r,r.id=247},function(t,e,n){var r=n(165).parser,i=n(166);r.yy=i;var a,o=n(10),u=n(2),s=u.Log,c=n(33);a={};var l=0,d={dividerMargin:10,padding:5,textHeight:10},h=function(t){var e,n=Object.keys(a);for(e=0;e<n.length;e++)if(a[n[e]].label===t)return n[e]},f=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},_=0,p=function(t,e,n){var r=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}},a=e.points,u=o.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),s=t.append("path").attr("d",u(a)).attr("id","edge"+_).attr("class","relation"),c="";d.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==n.relation.type1&&s.attr("marker-start","url("+c+"#"+r(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&s.attr("marker-end","url("+c+"#"+r(n.relation.type2)+"End)");var l,h,f=e.points.length;if(f%2!=0){var p=e.points[Math.floor(f/2)],m=e.points[Math.ceil(f/2)];l=(p.x+m.x)/2,h=(p.y+m.y)/2}else{var y=e.points[Math.floor(f/2)];l=y.x,h=y.y}if(void 0!==n.title){var g=t.append("g").attr("class","classLabel"),v=g.append("text").attr("class","label").attr("x",l).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=v;var M=v.node().getBBox();g.insert("rect",":first-child").attr("class","box").attr("x",M.x-d.padding/2).attr("y",M.y-d.padding/2).attr("width",M.width+d.padding).attr("height",M.height+d.padding)}_++},m=function(t,e){s.info("Rendering class "+e);var n=function(t,e,n){var r=t.append("tspan").attr("x",d.padding).text(e);n||r.attr("dy",d.textHeight)},r="classId"+l,i={id:r,label:e.id,width:0,height:0},o=t.append("g").attr("id",r).attr("class","classGroup"),u=o.append("text").attr("x",d.padding).attr("y",d.textHeight+d.padding).text(e.id),c=u.node().getBBox().height,h=o.append("line").attr("x1",0).attr("y1",d.padding+c+d.dividerMargin/2).attr("y2",d.padding+c+d.dividerMargin/2),f=o.append("text").attr("x",d.padding).attr("y",c+d.dividerMargin+d.textHeight).attr("fill","white").attr("class","classText"),_=!0;e.members.forEach(function(t){n(f,t,_),_=!1});var p=f.node().getBBox(),m=o.append("line").attr("x1",0).attr("y1",d.padding+c+d.dividerMargin+p.height).attr("y2",d.padding+c+d.dividerMargin+p.height),y=o.append("text").attr("x",d.padding).attr("y",c+2*d.dividerMargin+p.height+d.textHeight).attr("fill","white").attr("class","classText");_=!0,e.methods.forEach(function(t){n(y,t,_),_=!1});var g=o.node().getBBox();return o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",g.width+2*d.padding).attr("height",g.height+d.padding+.5*d.dividerMargin),h.attr("x2",g.width+2*d.padding),m.attr("x2",g.width+2*d.padding),i.width=g.width+2*d.padding,i.height=g.height+d.padding+.5*d.dividerMargin,a[r]=i,l++,i};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){d[e]=t[e]})},t.exports.draw=function(t,e){r.yy.clear(),r.parse(t),s.info("Rendering diagram "+t);var n=o.select("#"+e);f(n);var a=new c.graphlib.Graph({multigraph:!0});a.setGraph({isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});var u,l=i.getClasses(),d=Object.keys(l);for(u=0;u<d.length;u++){var _=l[d[u]],y=m(n,_);a.setNode(y.id,y),s.info("Org height: "+y.height)}i.getRelations().forEach(function(t){s.info("tjoho"+h(t.id1)+h(t.id2)+JSON.stringify(t)),a.setEdge(h(t.id1),h(t.id2),{relation:t})}),c.layout(a),a.nodes().forEach(function(t){void 0!==t&&(s.debug("Node "+t+": "+JSON.stringify(a.node(t))),o.select("#"+t).attr("transform","translate("+(a.node(t).x-a.node(t).width/2)+","+(a.node(t).y-a.node(t).height/2)+" )"))}),a.edges().forEach(function(t){s.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(a.edge(t))),p(n,a.edge(t),a.edge(t).relation)}),n.attr("height","100%"),n.attr("width","100%"),n.attr("viewBox","0 0 "+(a.graph().width+20)+" "+(a.graph().height+20))}},function(t,e,n){function r(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",g.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",g.nodeLabel.width).attr("height",g.nodeLabel.height).attr("x",g.nodeLabel.x).attr("y",g.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,n,r){r=r||"basis";var i=g.branchColors[n%g.branchColors.length],a=_.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(r);t.append("svg:path").attr("d",a(e)).style("stroke",i).style("stroke-width",g.lineStrokeWidth).style("fill","none")}function a(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 o(t,e,n,r,o){m.debug("svgDrawLineForCommits: ",e,n);var u=a(t.select("#node-"+e+" circle")),s=a(t.select("#node-"+n+" circle"));switch(r){case"LR":if(u.left-s.left>g.nodeSpacing){var c={x:u.left-g.nodeSpacing,y:s.top+s.height/2},l={x:s.left+s.width,y:s.top+s.height/2};i(t,[c,l],o,"linear"),i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:c.y},c],o)}else i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-g.nodeSpacing/2,y:s.top+s.height/2},{x:s.left+s.width,y:s.top+s.height/2}],o);break;case"BT":s.top-u.top>g.nodeSpacing?(c={x:s.left+s.width/2,y:u.top+u.height+g.nodeSpacing},l={x:s.left+s.width/2,y:s.top},i(t,[c,l],o,"linear"),i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+u.height+g.nodeSpacing/2},{x:s.left+s.width/2,y:c.y-g.nodeSpacing/2},c],o)):i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+g.nodeSpacing/2},{x:s.left+s.width/2,y:s.top-g.nodeSpacing/2},{x:s.left+s.width/2,y:s.top}],o)}}function u(t,e){return t.select(e).node().cloneNode(!0)}function s(t,e,n,r){var i,a=Object.keys(y).length;if(h.isString(e))do{if(i=y[e],m.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return u(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(r){case"LR":return"translate("+(i.seq*g.nodeSpacing+g.leftMargin)+", "+l*g.branchOffset+")";case"BT":return"translate("+(l*g.branchOffset+g.leftMargin)+", "+(a-i.seq)*g.nodeSpacing+")"}}).attr("fill",g.nodeFillColor).attr("stroke",g.nodeStrokeColor).attr("stroke-width",g.nodeStrokeWidth);var o=h.find(n,["commit",i]);o&&(m.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&&y[e]);h.isArray(e)&&(m.debug("found merge commmit",e),s(t,e[0],n,r),l++,s(t,e[1],n,r),l--)}function c(t,e,n,r){for(r=r||0;e.seq>0&&!e.lineDrawn;)h.isString(e.parent)?(o(t,e.id,e.parent,n,r),e.lineDrawn=!0,e=y[e.parent]):h.isArray(e.parent)&&(o(t,e.id,e.parent[0],n,r),o(t,e.id,e.parent[1],n,r+1),c(t,y[e.parent[1]],n,r+1),e.lineDrawn=!0,e=y[e.parent[0]])}var l,d=n(168),h=n(16),f=n(167),_=n(10),p=n(2),m=p.Log,y={},g={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}},v={};e.setConf=function(t){v=t},e.draw=function(t,e,n){try{var i;i=f.parser,i.yy=d,m.debug("in gitgraph renderer",t,e,n),i.parse(t+"\n"),g=h.extend(g,v,d.getOptions()),m.debug("effective options",g);var a=d.getDirection();y=d.getCommits();var o=d.getBranchesAsObjArray();"BT"===a&&(g.nodeLabel.x=o.length*g.branchOffset,g.nodeLabel.width="100%",g.nodeLabel.y=-2*g.nodeRadius);var u=_.select("#"+e);r(u),l=1,h.each(o,function(t){s(u,t.commit.id,o,a),c(u,t.commit,a),l++}),u.attr("height",function(){return"BT"===a?Object.keys(y).length*g.nodeSpacing:(o.length+1)*g.branchOffset})}catch(t){m.error("Error while rendering gitgraph"),m.error(t.message)}}},function(t,e,n){(function(t,r){var i;!function(a){var o="object"==typeof e&&e,u=("object"==typeof t&&t&&t.exports,"object"==typeof r&&r);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[\x01-\x7F]/g,l=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,d=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},f=/["&'<>`]/g,_={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,m=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)([=a-zA-Z0-9])?/g,g={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},M={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},b=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],L=String.fromCharCode,k={},w=k.hasOwnProperty,D=function(t,e){return w.call(t,e)},x=function(t,e){for(var n=-1,r=t.length;++n<r;)if(t[n]==e)return!0;return!1},Y=function(t,e){if(!t)return e;var n,r={};for(n in e)r[n]=D(t,n)?t[n]:e[n];return r},T=function(t,e){var n="";return t>=55296&&t<=57343||t>1114111?(e&&S("character reference outside the permissible Unicode range"),"�"):D(M,t)?(e&&S("disallowed character reference"),M[t]):(e&&x(b,t)&&S("disallowed character reference"),t>65535&&(t-=65536,n+=L(t>>>10&1023|55296),t=56320|1023&t),n+=L(t))},A=function(t){return"&#x"+t.toString(16).toUpperCase()+";"},E=function(t){return"&#"+t+";"},S=function(t){throw Error("Parse error: "+t)},F=function(t,e){e=Y(e,F.options),e.strict&&m.test(t)&&S("forbidden code point");var n=e.encodeEverything,r=e.useNamedReferences,i=e.allowUnsafeSymbols,a=e.decimal?E:A,o=function(t){return a(t.charCodeAt(0))};return n?(t=t.replace(c,function(t){return r&&D(h,t)?"&"+h[t]+";":o(t)}),r&&(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),r&&(t=t.replace(d,function(t){return"&"+h[t]+";"}))):r?(i||(t=t.replace(f,function(t){return"&"+h[t]+";"})),t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;"),t=t.replace(d,function(t){return"&"+h[t]+";"})):i||(t=t.replace(f,o)),t.replace(s,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1);return a(1024*(e-55296)+n-56320+65536)}).replace(l,o)};F.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var C=function(t,e){e=Y(e,C.options);var n=e.strict;return n&&p.test(t)&&S("malformed character reference"),t.replace(y,function(t,r,i,a,o,u,s,c){var l,d,h,f,_,p;return r?(h=r,d=i,n&&!d&&S("character reference was not terminated by a semicolon"),l=parseInt(h,10),T(l,n)):a?(f=a,d=o,n&&!d&&S("character reference was not terminated by a semicolon"),l=parseInt(f,16),T(l,n)):u?(_=u,D(g,_)?g[_]:(n&&S("named character reference was not terminated by a semicolon"),t)):(_=s,p=c,p&&e.isAttributeValue?(n&&"="==p&&S("`&` did not start a character reference"),t):(n&&S("named character reference was not terminated by a semicolon"),v[_]+(p||"")))})};C.options={isAttributeValue:!1,strict:!1};var j=function(t){return t.replace(f,function(t){return _[t]})},H={version:"1.1.1",encode:F,decode:C,escape:j,unescape:C};void 0!==(i=function(){return H}.call(e,n,e,t))&&(t.exports=i)}()}).call(e,n(4)(t),n(9))}]); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css
new file mode 100644
index 00000000..e9570979
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaid.neutral.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#eee;stroke:#999;stroke-width:1px}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff}.cluster rect{fill:#eaf2fb!important;rx:4!important;stroke:#26a!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText,.loopText{fill:#fff;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:#000;stroke:none;font-family:Arial,Helvetica,sans-serif;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#7fb2e6}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#e5e5e5;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#194c7f}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#194c7f}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333!important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333!important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333!important}.titleText{text-anchor:middle;font-size:18px;fill:#333}g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}svg .classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#999;stroke:#999;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#eee;stroke:#999;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#999;stroke:#999;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:Arial,Helvetica,sans-serif}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js
new file mode 100644
index 00000000..4d8b8b58
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/7.0.5/mermaidAPI.min.js
@@ -0,0 +1 @@
+module.exports=function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=21)}([function(t,e,r){"use strict";function n(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getSeconds(),i=t.getMilliseconds();return e<10&&(e="0"+e),r<10&&(r="0"+r),n<10&&(n="0"+n),i<100&&(i="0"+i),i<10&&(i="00"+i),e+":"+r+":"+n+" ("+i+")"}function i(t){return"%c "+n(new Date)+" :%c"+t+": "}var s=function(){},a=function(){},u=function(){},o=function(){},c=function(){};e.setLogLevel=function(t){t<6&&(e.Log.fatal=console.log.bind(console,i("FATAL"),"color:grey;","color: red;")),t<5&&(e.Log.error=console.log.bind(console,i("ERROR"),"color:grey;","color: red;")),t<4&&(e.Log.warn=console.log.bind(console,i("WARN"),"color:grey;","color: orange;")),t<3&&(e.Log.info=console.log.bind(console,i("INFO"),"color:grey;","color: info;")),t<2&&(e.Log.debug=console.log.bind(console,i("DEBUG"),"color:grey;","color: green;"))},e.Log={debug:s,info:a,warn:u,error:o,fatal:c}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(22);t.exports=i,function(){var t=!1;if(t="tspans",i.selection.prototype.textwrap)return!1;void 0===t&&(t=!1),i.selection.prototype.textwrap=i.selection.enter.prototype.textwrap=function(e,r){r=parseInt(r)||0;var s,a=this,u=function(t){var e=t[0][0];if("rect"!==e.tagName.toString())return!1;var r={};return r.x=i.select(e).attr("x")||0,r.y=i.select(e).attr("y")||0,r.width=i.select(e).attr("width")||0,r.height=i.select(e).attr("height")||0,r.attr=t.attr,r},o=function(t){if(t.attr||(t.attr=function(t){if(this[t])return this[t]}),"object"===(void 0===t?"undefined":n(t))&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){return u(t)}return!1}(e);if(r&&(o=function(t,e){var r=t;return 0!==e&&(r.x=parseInt(r.x)+e,r.y=parseInt(r.y)+e,r.width-=2*e,r.height-=2*e),r}(o,r)),0!==a.length&&i&&e&&o){e=o;var c,l=function(t){var r=i.select(t[0].parentNode),n=r.select("text"),a=n.style("line-height"),u=n.text();n.remove();var o=r.append("foreignObject");o.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=o.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(u),a&&c.style("line-height",a),s=r.select("foreignObject")},h=function(t){var n,a=t[0],u=a.parentNode,o=i.select(a),c=a.getBBox().height,l=a.getBBox().width,h=c,y=o.style("line-height");if(n=y&&parseInt(y)?parseInt(y.replace("px","")):h,l>e.width){var d=o.text();if(o.text(""),d){var p,g;if(-1!==d.indexOf(" "))p=" ",g=d.split(" ");else{p="";var f=d.length,m=Math.ceil(l/e.width),A=Math.floor(f/m);A*m>=f||m++,g=[];for(var b,E,x=0;x<m;x++)E=x*A,b=d.substr(E,A),g.push(b)}var k=[],_=0,v={};for(x=0;x<g.length;x++){var F,D=g[x],C=o.text(),T=a.getComputedTextLength();F=C?C+p+D:D,o.text(F);var w=a.getComputedTextLength();if(w>e.width&&C&&""!==C&&(_+=T,v={string:C,width:T,offset:_},k.push(v),o.text(""),o.text(D),x===g.length-1&&(F=D,o.text(F),w=a.getComputedTextLength())),x===g.length-1){o.text("");var S=F;S&&""!==S&&(w-_>0&&(w-=_),v={string:S,width:w,offset:_},k.push(v))}}var B;for(o.text(""),x=0;x<k.length;x++)b=k[x].string,x*n<e.height-1.5*n&&(B=o.append("tspan").text(b),B.attr("dy",function(t){if(x>0)return n}),B.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}o.attr("y",function(){var t=e.y;return n&&(t+=n),r&&(t+=r),t}),o.attr("x",function(){var t=e.x;return r&&(t+=r),t}),s=i.select(u).selectAll("text")};t&&("foreignobjects"===t?c=l:"tspans"===t&&(c=h)),t||(c="undefined"!=typeof SVGForeignObjectElement?l:h);for(var y=0;y<a.length;y++){c(a[y])}return s}return a||!1}}()},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){t.exports=require("fs")},function(t,e){t.exports=require("path")},function(t,e,r){"use strict";var n,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(0),a=s.Log,u=r(6),o=r(1),c={},l=[],h=[],y=[],d={},p=0,g=[];e.addVertex=function(t,e,r,n){var i;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==r&&(c[t].type=r),void 0!==r&&(c[t].type=r),void 0!==n&&null!==n&&n.forEach(function(e){c[t].styles.push(e)}))},e.addLink=function(t,e,r,n){a.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};n=r.text,void 0!==n&&(i.text=n.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==r&&(i.type=r.type,i.stroke=r.stroke),l.push(i)},e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},e.addClass=function(t,e){void 0===h[t]&&(h[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){h[t].styles.push(e)})},e.setDirection=function(t){n=t},e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)};var f=function(t,e){void 0!==e&&(d[t]=e)},m=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window[e](t)})})},A=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window.open(e,"newTab")})})};e.getTooltip=function(t){return d[t]},e.setClickEvent=function(t,e,r,n){t.indexOf(",")>0?t.split(",").forEach(function(t){f(t,n),m(t,e),A(t,r)}):(f(t,n),m(t,e),A(t,r))},e.bindFunctions=function(t){g.forEach(function(e){e(t)})},e.getDirection=function(){return n},e.getVertices=function(){return c},e.getEdges=function(){return l},e.getClasses=function(){return h};var b=function(t){var e=o.select(".mermaidTooltip");null===e[0][0]&&(e=o.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),o.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=o.select(this);if(null!==t.attr("title")){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),o.select(this).classed("hover",!1)})};g.push(b),e.clear=function(){c={},h={},l=[],g=[],g.push(b),y=[],p=0,d=[]},e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},e.addSubGraph=function(t,e){var r=[];r=function(t){var e={boolean:{},number:{},string:{}},r=[];return t.filter(function(t){var n=void 0===t?"undefined":i(t);return" "!==t&&(n in e?!e[n].hasOwnProperty(t)&&(e[n][t]=!0):!(r.indexOf(t)>=0)&&r.push(t))})}(r.concat.apply(r,t));var n={id:"subGraph"+p,nodes:r,title:e};return y.push(n),p+=1,n.id};var E=function(t){var e;for(e=0;e<y.length;e++)if(y[e].id===t)return e;return-1},x=-1,k=[],_=function t(e,r){var n=y[r].nodes;if(!((x+=1)>2e3)){if(k[x]=r,y[r].id===e)return{result:!0,count:0};for(var i=0,s=1;i<n.length;){var a=E(n[i]);if(a>=0){var u=t(e,a);if(u.result)return{result:!0,count:s+u.count};s+=u.count}i+=1}return{result:!1,count:s}}};e.getDepthFirstPos=function(t){return k[t]},e.indexNodes=function(){x=-1,y.length>0&&_("none",y.length-1)},e.getSubGraphs=function(){return y},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};e.detectType=s;var a=function(t,e){for(var r,n="",s=document.styleSheets,a=0;a<s.length;a++)if("mermaid-svg-internal-css"!==s[a].title)try{var u=s[a].cssRules;if(null!==u)for(var o=0;o<u.length;o++)if(r=u[o],void 0!==r.style){var c;c=t.querySelectorAll(r.selectorText),c.length>0&&(n+=r.selectorText+" { "+r.style.cssText+"}\n")}}catch(t){void 0!==r&&i.warn('Invalid CSS selector "'+r.selectorText+'"',t)}var l="",h="";for(var y in e)e.hasOwnProperty(y)&&void 0!==y&&("default"===y?(e.default.styles instanceof Array&&(l+="#"+t.id.trim()+" .node>rect { "+e[y].styles.join("; ")+"; }\n"),e.default.nodeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .node text { "+e[y].nodeLabelStyles.join("; ")+"; }\n"),e.default.edgeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .edgeLabel text { "+e[y].edgeLabelStyles.join("; ")+"; }\n"),e.default.clusterStyles instanceof Array&&(l+="#"+t.id.trim()+" .cluster rect { "+e[y].clusterStyles.join("; ")+"; }\n")):e[y].styles instanceof Array&&(h+="#"+t.id.trim()+" ."+y+">rect, ."+y+">polygon, ."+y+">circle, ."+y+">ellipse { "+e[y].styles.join("; ")+"; }\n"));if(""!==n||""!==l||""!==h){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* <![CDATA[ */\n",""!==l&&(d.innerHTML+=l),""!==n&&(d.innerHTML+=n),""!==h&&(d.innerHTML+=h),d.innerHTML+="/* ]]> */\n",t.insertBefore(d,t.firstChild)}};e.cloneCssStyles=a;var u=function(t,e){for(var r=0;r<e.length;r++)if(e[r].match(t))return r;return-1};e.isSubstringInArray=u},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,4],n=[1,3],i=[1,5],s=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],a=[2,2],u=[1,12],o=[1,13],c=[1,14],l=[1,15],h=[1,31],y=[1,33],d=[1,22],p=[1,34],g=[1,24],f=[1,25],m=[1,26],A=[1,27],b=[1,28],E=[1,38],x=[1,40],k=[1,35],_=[1,39],v=[1,45],F=[1,44],D=[1,36],C=[1,37],T=[1,41],w=[1,42],S=[1,43],B=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],L=[1,53],I=[1,52],O=[1,54],P=[1,72],N=[1,80],M=[1,81],R=[1,66],$=[1,65],j=[1,85],V=[1,84],U=[1,82],G=[1,83],H=[1,73],Y=[1,68],W=[1,67],q=[1,63],z=[1,75],X=[1,76],K=[1,77],Z=[1,78],Q=[1,79],J=[1,70],tt=[1,69],et=[8,9,11],rt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],nt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],st=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],at=[1,117],ut=[1,118],ot=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],ht=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],yt=[1,191],dt=[1,188],pt=[1,195],gt=[1,192],ft=[1,189],mt=[1,196],At=[1,186],bt=[1,187],Et=[1,190],xt=[1,193],kt=[1,194],_t=[1,213],vt=[8,9,11,86],Ft=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],Dt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 2:this.$=[];break;case 3:s[u]!==[]&&s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=s[u];break;case 11:n.setDirection(s[u-1]),this.$=s[u-1];break;case 12:n.setDirection("LR"),this.$=s[u-1];break;case 13:n.setDirection("RL"),this.$=s[u-1];break;case 14:n.setDirection("BT"),this.$=s[u-1];break;case 15:n.setDirection("TB"),this.$=s[u-1];break;case 30:this.$=s[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=n.addSubGraph(s[u-1],s[u-3]);break;case 37:this.$=n.addSubGraph(s[u-1],void 0);break;case 41:n.addLink(s[u-2],s[u],s[u-1]),this.$=[s[u-2],s[u]];break;case 42:this.$=[s[u]];break;case 43:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"square");break;case 44:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"square");break;case 45:this.$=s[u-5],n.addVertex(s[u-5],s[u-2],"circle");break;case 46:this.$=s[u-6],n.addVertex(s[u-6],s[u-3],"circle");break;case 47:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"ellipse");break;case 48:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"ellipse");break;case 49:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"round");break;case 50:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"round");break;case 51:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"diamond");break;case 52:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"diamond");break;case 53:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"odd");break;case 54:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"odd");break;case 55:this.$=s[u],n.addVertex(s[u]);break;case 56:this.$=s[u-1],n.addVertex(s[u-1]);break;case 58:case 93:case 96:case 109:this.$=s[u-1]+""+s[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:s[u-1].text=s[u],this.$=s[u-1];break;case 64:case 65:s[u-2].text=s[u-1],this.$=s[u-2];break;case 66:this.$=s[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:s[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:s[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:s[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:s[u-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:s[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:s[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:s[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:s[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:s[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:s[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:s[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:s[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=s[u-1];break;case 110:case 111:this.$=s[u-4],n.addClass(s[u-2],s[u]);break;case 112:this.$=s[u-4],n.setClass(s[u-2],s[u]);break;case 113:this.$=s[u-4],n.setClickEvent(s[u-2],s[u],void 0,void 0);break;case 114:this.$=s[u-6],n.setClickEvent(s[u-4],s[u-2],void 0,s[u]);break;case 115:this.$=s[u-4],n.setClickEvent(s[u-2],void 0,s[u],void 0);break;case 116:this.$=s[u-6],n.setClickEvent(s[u-4],void 0,s[u-2],s[u]);break;case 117:this.$=s[u-4],n.addVertex(s[u-2],void 0,void 0,s[u]);break;case 118:case 119:case 120:this.$=s[u-4],n.updateLink(s[u-2],s[u]);break;case 121:case 122:this.$=s[u-8],n.updateLinkInterpolate(s[u-6],s[u-2]),n.updateLink(s[u-6],s[u]);break;case 123:case 124:this.$=s[u-6],n.updateLinkInterpolate(s[u-4],s[u]);break;case 126:this.$=[s[u]];break;case 127:s[u-2].push(s[u]),this.$=s[u-2];break;case 129:this.$=s[u-1]+s[u]}},table:[{3:1,4:2,9:r,10:n,12:i},{1:[3]},e(s,a,{5:6}),{4:7,9:r,10:n,12:i},{4:8,9:r,10:n,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(s,[2,9]),e(s,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(B,[2,3]),e(B,[2,4]),e(B,[2,5]),e(B,[2,6]),e(B,[2,7]),e(B,[2,8]),{8:L,9:I,11:O,24:51},{8:L,9:I,11:O,24:55},{8:L,9:I,11:O,24:56},{8:L,9:I,11:O,24:57},{8:L,9:I,11:O,24:58},{8:L,9:I,11:O,24:59},{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:61,30:U,31:60,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(rt,[2,55],{45:32,21:113,44:114,10:nt,13:h,15:[1,112],18:y,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(st,[2,154]),e(st,[2,155]),e(st,[2,156]),e(st,[2,157]),e(st,[2,158]),e(st,[2,159]),e(st,[2,160]),e(st,[2,161]),e(st,[2,162]),e(st,[2,163]),e(st,[2,164]),{8:at,9:ut,10:nt,14:116,21:119},{8:at,9:ut,10:nt,14:120,21:119},{8:at,9:ut,10:nt,14:121,21:119},{8:at,9:ut,10:nt,14:122,21:119},{8:at,9:ut,10:nt,14:123,21:119},e(B,[2,30]),e(B,[2,38]),e(B,[2,39]),e(B,[2,40]),e(B,[2,31]),e(B,[2,32]),e(B,[2,33]),e(B,[2,34]),e(B,[2,35]),{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:124,30:U,32:G,45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ot,a,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:h,18:y,33:127,35:29,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:131,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:132,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:133,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ht,[2,79]),e(ht,[2,80]),e(ht,[2,81]),e(ht,[2,82]),e(ht,[2,83]),e(ht,[2,84]),e(ht,[2,85]),e(ht,[2,86]),e(ht,[2,87]),e(ht,[2,88]),e(ht,[2,89]),e(ht,[2,90]),{13:h,18:y,35:134,44:30,45:32,46:p,80:[1,135],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{78:[1,136],81:[1,137]},{13:h,18:y,35:139,44:30,45:32,46:p,78:[1,138],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:140,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:141,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:142,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:144,32:G,38:[1,143],45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:145,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:146,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:147,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,56]),e(it,[2,58]),e(rt,[2,29],{21:148,10:nt}),e(s,[2,11]),e(s,[2,21]),e(s,[2,22]),{9:[1,149]},e(s,[2,12]),e(s,[2,13]),e(s,[2,14]),e(s,[2,15]),e(ot,a,{5:150}),e(ct,[2,93]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,151],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:154,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,167],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,173],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,174],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,175],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:176,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,177],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,41:[1,178],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,43:[1,179],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,180],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,28]),e(s,[2,23]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,181],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(B,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,65:[1,182],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:yt,46:dt,71:pt,79:183,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:197,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:198,80:gt,81:ft,82:[1,199],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:200,80:gt,81:ft,82:[1,201],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:202,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:203,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{13:h,18:y,35:204,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:205,44:30,45:32,46:p,67:[1,206],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,43],{21:207,10:nt}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,208],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,49],{21:209,10:nt}),e(rt,[2,47],{21:210,10:nt}),e(rt,[2,51],{21:211,10:nt}),e(rt,[2,53],{21:212,10:nt}),e(B,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:_t}),e(vt,[2,126],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(Ft,[2,128]),e(Ft,[2,130]),e(Ft,[2,131]),e(Ft,[2,132]),e(Ft,[2,133]),e(Ft,[2,134]),e(Ft,[2,135]),e(Ft,[2,136]),e(Ft,[2,137]),e(Ft,[2,138]),e(Ft,[2,139]),e(Ft,[2,140]),e(et,[2,118],{86:_t}),e(et,[2,119],{86:_t}),{10:[1,215]},e(et,[2,120],{86:_t}),{10:[1,216]},e(et,[2,110],{86:_t}),e(et,[2,111],{86:_t}),e(et,[2,112],{45:32,44:114,13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,113],{45:32,44:114,10:[1,217],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,115],{10:[1,218]}),e(rt,[2,44]),{39:[1,219]},e(rt,[2,50]),e(rt,[2,48]),e(rt,[2,52]),e(rt,[2,54]),{10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,85:220,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(Ft,[2,129]),{13:h,18:y,35:221,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:222,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{67:[1,223]},{67:[1,224]},e(rt,[2,45],{21:225,10:nt}),e(vt,[2,127],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,124],{45:32,44:114,10:[1,227],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,114]),e(et,[2,116]),e(rt,[2,46]),{10:yt,46:dt,71:pt,79:228,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:229,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(et,[2,121],{86:_t}),e(et,[2,122],{86:_t})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},Ct=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[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])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}}}();return Dt.lexer=Ct,t.prototype=Dt,Dt.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,5],n=[1,6],i=[1,12],s=[1,13],a=[1,14],u=[1,15],o=[1,16],c=[1,17],l=[1,18],h=[1,19],y=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],f=[1,37],m=[1,33],A=[1,34],b=[1,35],E=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],k=[10,28],_=[10,28,37,57,58],v=[2,49],F=[1,45],D=[1,48],C=[1,49],T=[1,52],w=[2,65],S=[1,65],B=[1,66],L=[1,67],I=[1,68],O=[1,69],P=[1,70],N=[1,71],M=[1,72],R=[1,73],$=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:this.$=s[u-1];break;case 2:this.$=s[u-4];break;case 3:this.$=s[u-5];break;case 4:this.$=s[u-3];break;case 8:case 10:case 11:this.$=s[u];break;case 9:this.$=s[u-1]+""+s[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=s[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:n.addLink(s[u-1],s[u].id,s[u].op),this.$="oy";break;case 42:n.addLink(s[u-1],s[u].id,s[u].op),this.$={op:s[u-2],id:s[u-1]};break;case 44:this.$={op:s[u-1],id:s[u]};break;case 48:n.addVertex(s[u-1]),this.$=s[u-1];break;case 49:n.addVertex(s[u]),this.$=s[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{6:23,12:r,13:n},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:f,9:25,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p}),e(x,[2,8]),e(x,[2,10]),e(x,[2,11]),e(x,[2,12]),e(x,[2,13]),e(x,[2,14]),e(x,[2,15]),e(x,[2,16]),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),{7:39,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:40,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,41]},{10:[2,21],28:[1,42]},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(_,v,{44:44,32:[1,43],45:F}),e(k,[2,27],{41:46,43:47,57:D,58:C}),e(k,[2,47],{43:47,34:50,41:51,37:T,57:D,58:C}),{34:53,37:T},{34:54,37:T},{34:55,37:T},{7:56,8:[1,57],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:58,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:f,9:61,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{7:62,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},e(_,[2,48]),e(_,w,{14:10,15:11,7:63,46:64,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(k,[2,41],{34:74,37:T}),{7:77,8:f,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,33:76,42:75,47:E},e($,[2,66]),e($,[2,67]),e(k,[2,46]),e(k,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:79,39:[1,80]},e(k,[2,28]),e(k,[2,29]),e(k,[2,30]),{8:[1,82]},{7:30,8:f,9:83,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,84]},{7:30,8:f,9:85,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{5:[2,2]},{10:[2,22]},e(k,[2,26]),e(_,[2,51],{45:[1,86]}),e(_,[2,52]),e(_,[2,56]),e(_,[2,57]),e(_,[2,58]),e(_,[2,59]),e(_,[2,60]),e(_,[2,61]),e(_,[2,62]),e(_,[2,63]),e(_,[2,64]),e(k,[2,38]),e(j,[2,44],{43:47,41:87,57:D,58:C}),e(j,[2,45],{43:47,41:88,57:D,58:C}),e(_,v,{44:44,45:F}),e(k,[2,39]),{39:[1,89]},e(k,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:f,9:92,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,93]},e(_,[2,55]),{10:[1,94]},e(_,w,{46:95,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(j,[2,42]),e(j,[2,43]),e(k,[2,33],{34:96,37:T}),e(k,[2,32]),{7:97,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{10:[1,98]},e(_,[2,54]),{5:[2,3]},e(_,[2,50]),e(k,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(_,[2,53]),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},U=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:case 11:case 12:case 13:case 14:case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\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)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}}}();return V.lexer=U,t.prototype=V,V.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,2],n=[1,3],i=[1,4],s=[2,4],a=[1,9],u=[1,11],o=[1,12],c=[1,14],l=[1,15],h=[1,17],y=[1,18],d=[1,19],p=[1,20],g=[1,21],f=[1,23],m=[1,24],A=[1,4,5,10,15,16,18,20,21,22,23,24,25,27,28,39],b=[1,32],E=[4,5,10,15,16,18,20,21,22,23,25,28,39],x=[4,5,10,15,16,18,20,21,22,23,25,27,28,39],k=[37,38,39],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else:24,par:25,par_sections:26,and:27,note:28,placement:29,over:30,actor_pair:31,spaceList:32,",":33,left_of:34,right_of:35,signaltype:36,"+":37,"-":38,ACTOR:39,SOLID_OPEN_ARROW:40,DOTTED_OPEN_ARROW:41,SOLID_ARROW:42,DOTTED_ARROW:43,SOLID_CROSS:44,DOTTED_CROSS:45,TXT:46,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"par",27:"and",28:"note",30:"over",33:",",34:"left_of",35:"right_of",37:"+",38:"-",39:"ACTOR",40:"SOLID_OPEN_ARROW",41:"DOTTED_OPEN_ARROW",42:"SOLID_ARROW",43:"DOTTED_ARROW",44:"SOLID_CROSS",45:"DOTTED_CROSS",46:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[9,4],[26,1],[26,4],[17,4],[17,4],[32,2],[32,1],[31,3],[31,1],[29,1],[29,1],[14,5],[14,5],[14,4],[11,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 3:return n.apply(s[u]),s[u];case 4:this.$=[];break;case 5:s[u-1].push(s[u]),this.$=s[u-1];break;case 6:case 7:this.$=s[u];break;case 8:this.$=[];break;case 9:s[u-3].description=s[u-1],this.$=s[u-3];break;case 10:this.$=s[u-1];break;case 12:this.$={type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]};break;case 13:this.$={type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-1]};break;case 15:this.$=[{type:"setTitle",text:s[u-1]}];break;case 16:s[u-1].unshift({type:"loopStart",loopText:s[u-2],signalType:n.LINETYPE.LOOP_START}),s[u-1].push({type:"loopEnd",loopText:s[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=s[u-1];break;case 17:s[u-1].unshift({type:"optStart",optText:s[u-2],signalType:n.LINETYPE.OPT_START}),s[u-1].push({type:"optEnd",optText:s[u-2],signalType:n.LINETYPE.OPT_END}),this.$=s[u-1];break;case 18:s[u-4].unshift({type:"altStart",altText:s[u-5],signalType:n.LINETYPE.ALT_START}),s[u-4].push({type:"else",altText:s[u-2],signalType:n.LINETYPE.ALT_ELSE}),s[u-4]=s[u-4].concat(s[u-1]),s[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=s[u-4];break;case 19:s[u-1].unshift({type:"parStart",parText:s[u-2],signalType:n.LINETYPE.PAR_START}),s[u-1].push({type:"parEnd",signalType:n.LINETYPE.PAR_END}),this.$=s[u-1];break;case 21:this.$=s[u-3].concat([{type:"and",parText:s[u-1],signalType:n.LINETYPE.PAR_AND},s[u]]);break;case 22:this.$=[s[u-1],{type:"addNote",placement:s[u-2],actor:s[u-1].actor,text:s[u]}];break;case 23:s[u-2]=[].concat(s[u-1],s[u-1]).slice(0,2),s[u-2][0]=s[u-2][0].actor,s[u-2][1]=s[u-2][1].actor,this.$=[s[u-1],{type:"addNote",placement:n.PLACEMENT.OVER,actor:s[u-2].slice(0,2),text:s[u]}];break;case 26:this.$=[s[u-2],s[u]];break;case 27:this.$=s[u];break;case 28:this.$=n.PLACEMENT.LEFTOF;break;case 29:this.$=n.PLACEMENT.RIGHTOF;break;case 30:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]}];break;case 31:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-4]}];break;case 32:this.$=[s[u-3],s[u-1],{type:"addMessage",from:s[u-3].actor,to:s[u-1].actor,signalType:s[u-2],msg:s[u]}];break;case 33:this.$={type:"addActor",actor:s[u]};break;case 34:this.$=n.LINETYPE.SOLID_OPEN;break;case 35:this.$=n.LINETYPE.DOTTED_OPEN;break;case 36:this.$=n.LINETYPE.SOLID;break;case 37:this.$=n.LINETYPE.DOTTED;break;case 38:this.$=n.LINETYPE.SOLID_CROSS;break;case 39:this.$=n.LINETYPE.DOTTED_CROSS;break;case 40:this.$=s[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:r,5:n,6:i},{1:[3]},{3:5,4:r,5:n,6:i},{3:6,4:r,5:n,6:i},e([1,4,5,10,15,16,18,20,22,23,25,28,39],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,5]),{9:25,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,7]),e(A,[2,8]),{11:26,39:m},{5:[1,27]},{11:28,39:m},{11:29,39:m},{5:[1,30]},{19:31,46:b},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{36:37,40:[1,38],41:[1,39],42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{29:44,30:[1,45],34:[1,46],35:[1,47]},e([5,12,33,40,41,42,43,44,45,46],[2,33]),e(A,[2,6]),{5:[1,49],12:[1,48]},e(A,[2,11]),{5:[1,50]},{5:[1,51]},e(A,[2,14]),{5:[1,52]},{5:[2,40]},e(E,s,{7:53}),e(E,s,{7:54}),e([4,5,10,15,16,18,20,22,23,24,25,28,39],s,{7:55}),e(x,s,{26:56,7:57}),{11:60,37:[1,58],38:[1,59],39:m},e(k,[2,34]),e(k,[2,35]),e(k,[2,36]),e(k,[2,37]),e(k,[2,38]),e(k,[2,39]),{11:61,39:m},{11:63,31:62,39:m},{39:[2,28]},{39:[2,29]},{13:[1,64]},e(A,[2,10]),e(A,[2,12]),e(A,[2,13]),e(A,[2,15]),{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,65],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,66],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,24:[1,67],25:g,28:f,39:m},{21:[1,68]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[2,20],22:d,23:p,25:g,27:[1,69],28:f,39:m},{11:70,39:m},{11:71,39:m},{19:72,46:b},{19:73,46:b},{19:74,46:b},{33:[1,75],46:[2,27]},{5:[1,76]},e(A,[2,16]),e(A,[2,17]),{13:[1,77]},e(A,[2,19]),{13:[1,78]},{19:79,46:b},{19:80,46:b},{5:[2,32]},{5:[2,22]},{5:[2,23]},{11:81,39:m},e(A,[2,9]),e(E,s,{7:82}),e(x,s,{7:57,26:83}),{5:[2,30]},{5:[2,31]},{46:[2,26]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,84],22:d,23:p,25:g,28:f,39:m},{21:[2,21]},e(A,[2,18])],defaultActions:{5:[2,1],6:[2,2],32:[2,40],46:[2,28],47:[2,29],72:[2,32],73:[2,22],74:[2,23],79:[2,30],80:[2,31],81:[2,26],83:[2,21]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},v=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),39;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 34;case 18:return 35;case 19:return 30;case 20:return 28;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 33;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),39;case 28:return 42;case 29:return 43;case 30:return 40;case 31:return 41;case 32:return 44;case 33:return 45;case 34:return 46;case 35:return 37;case 36:return 38;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\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,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}}}();return _.lexer=v,t.prototype=_,_.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n={},i=[],s=[],a="",u=r(0),o=u.Log;e.addActor=function(t,e,r){var i=n[t];i&&e===i.name&&null==r||(null==r&&(r=e),n[t]={name:e,description:r})},e.addMessage=function(t,e,r,n){i.push({from:t,to:e,message:r,answer:n})},e.addSignal=function(t,e,r,n){o.debug("Adding message from="+t+" to="+e+" message="+r+" type="+n),i.push({from:t,to:e,message:r,type:n})},e.getMessages=function(){return i},e.getActors=function(){return n},e.getActor=function(t){return n[t]},e.getActorKeys=function(){return Object.keys(n)},e.getTitle=function(){return a},e.clear=function(){n={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,r,n){var a={actor:t,placement:r,message:n},u=[].concat(t,t);s.push(a),i.push({from:u[0],to:u[1],message:n,type:e.LINETYPE.NOTE,placement:r})},e.setTitle=function(t){a=t},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case"addActor":e.addActor(t.actor,t.actor,t.description);break;case"activeStart":case"activeEnd":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":e.addNote(t.actor,t.placement,t.text);break;case"addMessage":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":case"else":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":e.setTitle(t.text);break;case"parStart":case"and":e.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":e.addSignal(void 0,void 0,void 0,t.signalType)}}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s="",a=!1;e.setMessage=function(t){i.debug("Setting message to: "+t),s=t},e.getMessage=function(){return s},e.setInfo=function(t){a=t},e.getInfo=function(){return a},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,9,10,12],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return n;case 4:break;case 6:n.setInfo(!0);break;case 7:n.setMessage(s[u]);break;case 8:this.$=s[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(r,[2,3]),e(r,[2,4]),e(r,[2,5]),e(r,[2,6]),e(r,[2,7]),{13:[1,11]},e(r,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},i=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}}}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,8,10,11,12,13,14],n=[1,9],i=[1,10],s=[1,11],a=[1,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:this.$=[];break;case 3:s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 5:this.$=s[u];break;case 6:case 7:this.$=[];break;case 8:n.setDateFormat(s[u].substr(11)),this.$=s[u].substr(11);break;case 9:n.setTitle(s[u].substr(6)),this.$=s[u].substr(6);break;case 10:n.addSection(s[u].substr(8)),this.$=s[u].substr(8);break;case 11:n.addTask(s[u-1],s[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,13:s,14:a},e(r,[2,7],{1:[2,1]}),e(r,[2,3]),{9:13,11:n,12:i,13:s,14:a},e(r,[2,5]),e(r,[2,6]),e(r,[2,8]),e(r,[2,9]),e(r,[2,10]),{15:[1,14]},e(r,[2,4]),e(r,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},o=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\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:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}}}();return u.lexer=o,t.prototype=u,u.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n=r(15),i=r(0),s=i.Log,a="",u="",o=[],c=[],l="";e.clear=function(){o=[],c=[],l="",u="",g=0,h=void 0,y=void 0,b=[]},e.setDateFormat=function(t){a=t},e.getDateFormat=function(){return a},e.setTitle=function(t){u=t},e.getTitle=function(){return u},e.addSection=function(t){l=t,o.push(t)},e.getTasks=function(){for(var t=x(),e=0;!t&&e<10;)t=x(),e++;return c=b};var h,y,d=function(t,r,i){i=i.trim();var a=/^after\s+([\d\w-]+)/,u=a.exec(i.trim());if(null!==u){var o=e.findTaskById(u[1]);if(void 0===o){var c=new Date;return c.setHours(0,0,0,0),c}return o.endTime}return n(i,r.trim(),!0).isValid()?n(i,r.trim(),!0).toDate():(s.debug("Invalid date:"+i),s.debug("With date format:"+r.trim()),new Date)},p=function(t,e,r){if(r=r.trim(),n(r,e.trim(),!0).isValid())return n(r,e.trim()).toDate();var i=n(t),s=/^([\d]+)([wdhms])/,a=s.exec(r.trim());if(null!==a){switch(a[2]){case"s":i.add(a[1],"seconds");break;case"m":i.add(a[1],"minutes");break;case"h":i.add(a[1],"hours");break;case"d":i.add(a[1],"days");break;case"w":i.add(a[1],"weeks")}return i.toDate()}return i.toDate()},g=0,f=function(t){return void 0===t?"task"+(g+=1):t},m=function(t,r){var n;n=":"===r.substr(0,1)?r.substr(1,r.length):r;for(var i=n.split(","),s={},a=e.getDateFormat(),u=!0;u;)u=!1,i[0].match(/^\s*active\s*$/)&&(s.active=!0,i.shift(1),u=!0),i[0].match(/^\s*done\s*$/)&&(s.done=!0,i.shift(1),u=!0),i[0].match(/^\s*crit\s*$/)&&(s.crit=!0,i.shift(1),u=!0);var o;for(o=0;o<i.length;o++)i[o]=i[o].trim();switch(i.length){case 1:s.id=f(),s.startTime=t.endTime,s.endTime=p(s.startTime,a,i[0]);break;case 2:s.id=f(),s.startTime=d(0,a,i[0]),s.endTime=p(s.startTime,a,i[1]);break;case 3:s.id=f(i[0]),s.startTime=d(0,a,i[1]),s.endTime=p(s.startTime,a,i[2])}return s},A=function(t,e){var r;r=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var n=r.split(","),i={},s=!0;s;)s=!1,n[0].match(/^\s*active\s*$/)&&(i.active=!0,n.shift(1),s=!0),n[0].match(/^\s*done\s*$/)&&(i.done=!0,n.shift(1),s=!0),n[0].match(/^\s*crit\s*$/)&&(i.crit=!0,n.shift(1),s=!0);var a;for(a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:i.id=f(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:n[0]};break;case 2:i.id=f(),i.startTime={type:"getStartDate",startData:n[0]},i.endTime={data:n[1]};break;case 3:i.id=f(n[0]),i.startTime={type:"getStartDate",startData:n[1]},i.endTime={data:n[2]}}return i},b=[],E={};e.addTask=function(t,e){var r={section:l,type:l,processed:!1,raw:{data:e},task:t},n=A(y,e);r.raw.startTime=n.startTime,r.raw.endTime=n.endTime,r.id=n.id,r.prevTaskId=y,r.active=n.active,r.done=n.done,r.crit=n.crit;var i=b.push(r);y=r.id,E[r.id]=i-1},e.findTaskById=function(t){var e=E[t];return b[e]},e.addTaskOrg=function(t,e){var r={section:l,type:l,description:t,task:t},n=m(h,e);r.startTime=n.startTime,r.endTime=n.endTime,r.id=n.id,r.active=n.active,r.done=n.done,r.crit=n.crit,h=r,c.push(r)};var x=function(){var t,r=e.getDateFormat(),n=!0;for(t=0;t<b.length;t++)!function(t){var n=b[t],i="";switch(b[t].raw.startTime.type){case"prevTaskEnd":var s=e.findTaskById(n.prevTaskId);n.startTime=s.endTime;break;case"getStartDate":i=d(0,r,b[t].raw.startTime.startData),i&&(b[t].startTime=i)}b[t].startTime&&(b[t].endTime=p(b[t].startTime,r,b[t].raw.endTime.data),b[t].endTime&&(b[t].processed=!0)),b[t].processed}(t),n=n&&b[t].processed;return n};e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e){t.exports=require("moment")},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,11],n=[1,12],i=[1,13],s=[1,15],a=[1,16],u=[1,17],o=[6,8],c=[1,26],l=[1,27],h=[1,28],y=[1,29],d=[1,30],p=[1,31],g=[6,8,13,17,23,26,27,28,29,30,31],f=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],A=[23,30,31,45,46,47],b=[23,26,27,28,29,45,46,47],E=[6,8,13],x=[1,46],k={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 5:this.$=s[u-1]+s[u];break;case 6:this.$=s[u];break;case 7:n.addRelation(s[u]);break;case 8:s[u-1].title=n.cleanupLabel(s[u]),n.addRelation(s[u-1]);break;case 12:n.addMembers(s[u-3],s[u-1]);break;case 13:this.$=[s[u]];break;case 14:s[u].push(s[u-1]),this.$=s[u];break;case 15:break;case 16:n.addMembers(s[u-1],n.cleanupLabel(s[u]));break;case 17:console.warn("Member",s[u]);break;case 18:break;case 19:this.$={id1:s[u-2],id2:s[u],relation:s[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:s[u-3],id2:s[u],relation:s[u-1],relationTitle1:s[u-2],relationTitle2:"none"};break;case 21:this.$={id1:s[u-3],id2:s[u],relation:s[u-2],relationTitle1:"none",relationTitle2:s[u-1]};break;case 22:this.$={id1:s[u-4],id2:s[u],relation:s[u-2],relationTitle1:s[u-3],relationTitle2:s[u-1]};break;case 23:this.$={type1:s[u-2],type2:s[u],lineType:s[u-1]};break;case 24:this.$={type1:"none",type2:s[u],lineType:s[u-1]};break;case 25:this.$={type1:s[u-1],type2:"none",lineType:s[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:s[u]};break;case 27:this.$=n.relationType.AGGREGATION;break;case 28:this.$=n.relationType.EXTENSION;break;case 29:this.$=n.relationType.COMPOSITION;break;case 30:this.$=n.relationType.DEPENDENCY;break;case 31:this.$=n.lineType.LINE;break;case 32:this.$=n.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},{8:[1,18]},{6:[1,19],8:[2,3]},e(o,[2,7],{13:[1,20]}),e(o,[2,9]),e(o,[2,10]),e(o,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:h,29:y,30:d,31:p}),{10:32,11:14,45:s,46:a,47:u},e(o,[2,17]),e(o,[2,18]),e(g,[2,6],{11:14,10:33,45:s,46:a,47:u}),e(f,[2,46]),e(f,[2,47]),e(f,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},e(o,[2,8]),{10:35,11:14,23:[1,36],45:s,46:a,47:u},{22:37,24:24,25:25,26:c,27:l,28:h,29:y,30:d,31:p},e(o,[2,16]),{25:38,30:d,31:p},e(m,[2,26],{24:39,26:c,27:l,28:h,29:y}),e(A,[2,27]),e(A,[2,28]),e(A,[2,29]),e(A,[2,30]),e(b,[2,31]),e(b,[2,32]),e(o,[2,11],{17:[1,40]}),e(g,[2,5]),{8:[2,4]},e(E,[2,19]),{10:41,11:14,45:s,46:a,47:u},{10:42,11:14,23:[1,43],45:s,46:a,47:u},e(m,[2,25],{24:44,26:c,27:l,28:h,29:y}),e(m,[2,24]),{18:45,20:x},e(E,[2,21]),e(E,[2,20]),{10:47,11:14,45:s,46:a,47:u},e(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:x},e(E,[2,22]),e(o,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},_=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[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:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}}}();return k.lexer=_,t.prototype=k,k.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n,i=r(0),s=i.Log,a=[];n={},e.addClass=function(t){void 0===n[t]&&(n[t]={id:t,methods:[],members:[]})},e.clear=function(){a=[],n={}},t.exports.getClass=function(t){return n[t]},t.exports.getClasses=function(){return n},t.exports.getRelations=function(){return a},e.addRelation=function(t){s.warn("Adding relation: "+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),a.push(t)},e.addMembers=function(t,e){var r=n[t];"string"==typeof e&&(")"===e.substr(-1)?r.methods.push(e):r.members.push(e))},e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[2,3],n=[1,7],i=[7,12,15,17,19,20,21],s=[7,11,12,15,17,19,20,21],a=[2,20],u=[1,32],o={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,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:return n.setDirection(s[u-3]),s[u-1];case 4:n.setOptions(s[u-1]),this.$=s[u];break;case 5:s[u-1]+=s[u],this.$=s[u-1];break;case 7:this.$=[];break;case 8:s[u-1].push(s[u]),this.$=s[u-1];break;case 9:this.$=s[u-1];break;case 11:n.commit(s[u]);break;case 12:n.branch(s[u]);break;case 13:n.checkout(s[u]);break;case 14:n.merge(s[u]);break;case 15:n.reset(s[u]);break;case 16:this.$="";break;case 17:this.$=s[u];break;case 18:this.$=s[u-1]+":"+s[u];break;case 19:this.$=s[u-1]+":"+n.count,n.count=0;break;case 20:n.count=0;break;case 21:n.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:r,9:6,12:n},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(s,[2,6]),{6:12,7:r,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]},e(s,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[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]},e(i,[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:u},{12:a,25:33,26:u},{12:[2,18]},{12:a,25:34,26:u},{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 r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},c=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){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_]+)/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}}}}();return o.lexer=c,t.prototype=o,o.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";function n(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="",e=0;e<7;e++)t+="0123456789abcdef"[n(0,16)];return t}function s(t,e){for(l.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return l.debug("In merge commit:",e.parent),s(t,y[e.parent[0]])||s(t,y[e.parent[1]]);e=y[e.parent]}return l.debug(t.id,e.id),t.id===e.id}function a(t,e){return t.seq>e.seq&&s(e,t)}function u(t,e,r){var n=t.indexOf(e);-1===n?t.push(r):t.splice(n,1,r)}function o(t){var e=h.maxBy(t,"seq"),r="";t.forEach(function(t){r+=t===e?"\t*":"\t|"});var n=[r,e.id,e.seq];if(h.each(p,function(t,r){t===e.id&&n.push(r)}),l.debug(n.join(" ")),Array.isArray(e.parent)){var i=y[e.parent[0]];u(t,e,i),t.push(y[e.parent[1]])}else{if(null==e.parent)return;var s=y[e.parent];u(t,e,s)}t=h.uniqBy(t,"id"),o(t)}var c=r(0),l=c.Log,h=r(20),y={},d=null,p={master:d},g="master",f="LR",m=0;e.setDirection=function(t){f=t};var A={};e.setOptions=function(t){l.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{A=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},e.getOptions=function(){return A},e.commit=function(t){var e={id:i(),message:t,seq:m++,parent:null==d?null:d.id};d=e,y[e.id]=e,p[g]=e.id,l.debug("in pushCommit "+e.id)},e.branch=function(t){p[t]=null!=d?d.id:null,l.debug("in createBranch")},e.merge=function(t){var e=y[p[g]],r=y[p[t]];if(a(e,r))return void l.debug("Already merged");if(s(e,r))p[g]=p[t],d=y[p[g]];else{var n={id:i(),message:"merged branch "+t+" into "+g,seq:m++,parent:[null==d?null:d.id,p[t]]};d=n,y[n.id]=n,p[g]=n.id}l.debug(p),l.debug("in mergeBranch")},e.checkout=function(t){l.debug("in checkout"),g=t;var e=p[g];d=y[e]},e.reset=function(t){l.debug("in reset",t);var e=t.split(":")[0],r=parseInt(t.split(":")[1]),n="HEAD"===e?d:y[p[e]];for(l.debug(n,r);r>0;)if(n=y[n.parent],r--,!n){var i="Critical error - unique parent commit not found during reset";throw l.error(i),i}d=n,p[g]=n.id},e.prettyPrint=function(){l.debug(y),o([e.getCommitsArray()[0]])},e.clear=function(){y={},d=null,p={master:d},g="master",m=0},e.getBranchesAsObjArray=function(){return h.map(p,function(t,e){return{name:e,commit:y[t]}})},e.getBranches=function(){return p},e.getCommits=function(){return y},e.getCommitsArray=function(){var t=Object.keys(y).map(function(t){return y[t]});return t.forEach(function(t){l.debug(t.id)}),h.orderBy(t,["seq"],["desc"])},e.getCurrentBranch=function(){return g},e.getDirection=function(){return f},e.getHead=function(){return d}},function(t,e){t.exports=require("lodash")},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(0),s=i.Log,a=r(5),u=r(6),o=r(23),c=r(25),l=r(27),h=r(12),y=r(7),d=r(8),p=r(9),g=r(10),f=r(11),m=r(28),A=r(13),b=r(14),E=r(16),x=r(29),k=r(17),_=r(18),v=r(31),F=r(19),D=r(1),C={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1===t.getDay()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};i.setLogLevel(C.logLevel);var T=function(t){var e,r=u.detectType(t);switch(r){case"gitGraph":e=_,e.parser.yy=F;break;case"graph":e=y,e.parser.yy=a;break;case"dotGraph":e=d,e.parser.yy=a;break;case"sequenceDiagram":e=p,e.parser.yy=g;break;case"info":e=h,e.parser.yy=f;break;case"gantt":e=A,e.parser.yy=b;break;case"classDiagram":e=E,e.parser.yy=k}try{return e.parse(t),!0}catch(t){return!1}};e.parse=T,e.version=function(){return r(32).version},e.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},e.decodeEntities=function(t){var e=t;return e=e.replace(/fl°°/g,function(){return"&#"}),e=e.replace(/fl°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var w=function(t,r,n,i){if(void 0!==i)i.innerHTML="",D.select(i).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var h=document.querySelector("#d"+t);h&&(h.innerHTML=""),D.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=r,r=e.encodeEntities(r);var y=D.select("#d"+t).node(),d=u.detectType(r),p={};switch(d){case"gitGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,v.setConf(C.gitGraph),v.draw(r,t,!1);break;case"graph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!1),C.cloneCssStyles&&(p=o.getClasses(r,!1),u.cloneCssStyles(y.firstChild,p));break;case"dotGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!0),C.cloneCssStyles&&(p=o.getClasses(r,!0),u.cloneCssStyles(y.firstChild,p));break;case"sequenceDiagram":C.sequenceDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,c.setConf(C.sequenceDiagram),c.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"gantt":C.gantt.arrowMarkerAbsolute=C.arrowMarkerAbsolute,m.setConf(C.gantt),m.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"classDiagram":C.classDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,x.setConf(C.classDiagram),x.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"info":C.info.arrowMarkerAbsolute=C.arrowMarkerAbsolute,l.draw(r,t,e.version()),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[])}D.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var g="";C.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)"));var f=D.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+g+"#arrowhead","g");f=e.decodeEntities(f),void 0!==n?n(f,a.bindFunctions):s.warn("CB = undefined!");var A=D.select("#d"+t).node();return null!==A&&"function"==typeof A.remove&&D.select("#d"+t).node().remove(),f};e.render=function(t,e,r,n){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return w(t,e,r,n)}catch(t){s.warn(t)}};var S=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)if("object"===n(t[r[e]])){var i,a=Object.keys(t[r[e]]);for(i=0;i<a.length;i++)s.debug("Setting conf ",r[e],"-",a[i]),void 0===C[r[e]]&&(C[r[e]]={}),s.debug("Setting config: "+r[e]+" "+a[i]+" to "+t[r[e]][a[i]]),C[r[e]][a[i]]=t[r[e]][a[i]]}else C[r[e]]=t[r[e]]};e.initialize=function(t){s.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":n(t))&&S(t),i.setLogLevel(C.logLevel)},e.getConfig=function(){return C},e.parseError=function(t,e){"undefined"!=typeof mermaid?global.mermaid.parseError(t,e):(s.debug("Mermaid Syntax error:"),s.debug(t))},global.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}},function(t,e){t.exports=require("d3")},function(t,e,r){"use strict";var n=r(5),i=r(7),s=r(8),a=r(1),u=r(24),o=r(0),c=o.Log,l={};t.exports.setConf=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)l[r[e]]=t[r[e]]},e.addVertices=function(t,e){var r=function(t,e){var r;for(r=0;r<e.length;r++)void 0!==e[r]&&(t=t+e[r]+";");return t};Object.keys(t).forEach(function(n){var i,s=t[n],a="";s.classes.length>0&&(a=s.classes.join(" "));var u="";u=r(u,s.styles),i=void 0===s.text?s.id:s.text;var o="";if(l.htmlLabels)o="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),h=i.split(/<br>/),y=0;for(y=0;y<h.length;y++){var d=document.createElementNS("http://www.w3.org/2000/svg","tspan");d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),d.setAttribute("dy","1em"),d.setAttribute("x","1"),d.textContent=h[y],c.appendChild(d)}o="svg",i=c}var p=0,g="";switch(s.type){case"round":p=5,g="rect";break;case"square":g="rect";break;case"diamond":g="question";break;case"odd":case"odd_right":g="rect_left_inv_arrow";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"group":g="rect",i=l.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:g="rect"}e.setNode(s.id,{labelType:o,shape:g,label:i,rx:p,ry:p,class:a,style:u,id:s.id})})},e.addEdges=function(t,e){var r,n=0;void 0!==t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){n++;var s={};"arrow_open"===i.type?s.arrowhead="none":s.arrowhead="normal";var a="";if(void 0!==i.style)i.style.forEach(function(t){a=a+t+";"});else switch(i.stroke){case"normal":a="fill:none",void 0!==r&&(a=r);break;case"dotted":a="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":a="stroke: #333; stroke-width: 3.5px;fill:none"}s.style=a,void 0!==i.interpolate?s.lineInterpolate=i.interpolate:void 0!==t.defaultInterpolate&&(s.lineInterpolate=t.defaultInterpolate),void 0===i.text?void 0!==i.style&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",void 0===i.style?(s.labelpos="c",l.htmlLabels?(s.labelType="html",s.label='<span class="edgeLabel">'+i.text+"</span>"):(s.labelType="text",s.style="stroke: #333; stroke-width: 1.5px;fill:none",s.label=i.text.replace(/<br>/g,"\n"))):s.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,s,n)})},e.getClasses=function(t,e){var r;n.clear(),r=e?s.parser:i.parser,r.yy=n,r.parse(t);var a=n.getClasses();return void 0===a.default&&(a.default={id:"default"},a.default.styles=[],a.default.clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],a.default.nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],a.default.edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),a},e.draw=function(t,r,o){c.debug("Drawing flowchart");var h;n.clear(),h=o?s.parser:i.parser,h.yy=n;try{h.parse(t)}catch(t){c.debug("Parsing failed")}var y;void 0===(y=n.getDirection())&&(y="TD");var d,p=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:y,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),g=n.getSubGraphs(),f=0;for(f=g.length-1;f>=0;f--)d=g[f],n.addVertex(d.id,d.title,"group",void 0);var m=n.getVertices(),A=n.getEdges();f=0;var b;for(f=g.length-1;f>=0;f--)for(d=g[f],a.selectAll("cluster").append("text"),b=0;b<d.nodes.length;b++)p.setParent(d.nodes[b],d.id);e.addVertices(m,p),e.addEdges(A,p);var E=u.render,x=new E;x.shapes().question=function(t,e,r){var n=e.width,i=e.height,s=.8*(n+i),a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-s/2+","+2*s/4+")");return r.intersect=function(t){return u.intersect.polygon(r,a,t)},o},x.shapes().rect_left_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.shapes().rect_right_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.arrows().none=function(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(s,r[n+"Style"])},x.arrows().normal=function(t,e,r,n){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var k=a.select("#"+r),_=a.select("#"+r+" g");for(x(_,p),_.selectAll("g.node").attr("title",function(){return n.getTooltip(this.id)}),l.useMaxWidth?(k.attr("height","100%"),k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20)),k.attr("style","max-width:"+(p.graph().width+20)+"px;")):(k.attr("height",p.graph().height),void 0===l.width?k.attr("width",p.graph().width):k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20))),n.indexNodes("subGraph"+f),f=0;f<g.length;f++)if(d=g[f],"undefined"!==d.title){var v=document.querySelectorAll("#"+r+" #"+d.id+" rect"),F=document.querySelectorAll("#"+r+" #"+d.id),D=v[0].x.baseVal.value,C=v[0].y.baseVal.value,T=v[0].width.baseVal.value,w=a.select(F[0]),S=w.append("text");S.attr("x",D+T/2),S.attr("y",C+14),S.attr("fill","black"),S.attr("stroke","none"),S.attr("id",r+"Text"),S.style("text-anchor","middle"),void 0===d.title?S.text("Undef"):S.text(d.title)}if(!l.htmlLabels){var B,L=document.querySelectorAll("#"+r+" .edgeLabel .label");for(B=0;B<L.length;B++){var I=L[f],O=I.getBBox(),P=document.createElementNS("http://www.w3.org/2000/svg","rect");P.setAttribute("rx",0),P.setAttribute("ry",0),P.setAttribute("width",O.width),P.setAttribute("height",O.height),P.setAttribute("style","fill:#e8e8e8;"),I.insertBefore(P,I.firstChild)}}}},function(t,e){t.exports=require("dagre-d3-renderer")},function(t,e,r){"use strict";var n=r(9).parser;n.yy=r(10);var i=r(26),s=r(1),a=r(0),u=a.Log,o={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])},updateBounds:function(t,r,n,i){function s(s){return function(c){u++;var l=a.sequenceItems.length-u+1;a.updateVal(c,"starty",r-l*o.boxMargin,Math.min),a.updateVal(c,"stopy",i+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"startx",t-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopx",n+l*o.boxMargin,Math.max),"activation"!==s&&(a.updateVal(c,"startx",t-l*o.boxMargin,Math.min),a.updateVal(c,"stopx",n+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"starty",r-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopy",i+l*o.boxMargin,Math.max))}}var a=this,u=0;this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},insert:function(t,r,n,i){var s,a,u,o;s=Math.min(t,n),u=Math.max(t,n),a=Math.min(r,i),o=Math.max(r,i),this.updateVal(e.bounds.data,"startx",s,Math.min),this.updateVal(e.bounds.data,"starty",a,Math.min),this.updateVal(e.bounds.data,"stopx",u,Math.max),this.updateVal(e.bounds.data,"stopy",o,Math.max),this.updateBounds(s,a,u,o)},newActivation:function(t,e){var r=n.yy.getActors()[t.from.actor],s=h(t.from.actor).length,a=r.x+o.width/2+(s-1)*o.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+o.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var r=this.sequenceItems.pop();r.sections=r.sections||[],r.sectionTitles=r.sectionTitles||[],r.sections.push(e.bounds.getVerticalPos()),r.sectionTitles.push(t),this.sequenceItems.push(r)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,r,n,s,a){var u=i.getNoteRect();u.x=r,u.y=n,u.width=a||o.width,u.class="note";var c=t.append("g"),l=i.drawRect(c,u),h=i.getTextObj();h.x=r-4,h.y=n-13,h.textMargin=o.noteMargin,h.dy="1em",h.text=s.message,h.class="noteText";var y=i.drawText(c,h,u.width-o.noteMargin),d=y[0][0].getBBox().height;!a&&d>o.width?(y.remove(),c=t.append("g"),y=i.drawText(c,h,2*u.width-o.noteMargin),d=y[0][0].getBBox().height,l.attr("width",2*u.width),e.bounds.insert(r,n,r+2*u.width,n+2*o.noteMargin+d)):e.bounds.insert(r,n,r+u.width,n+2*o.noteMargin+d),l.attr("height",d+2*o.noteMargin),e.bounds.bumpVerticalPos(d+2*o.noteMargin)},l=function(t,r,i,s,a){var u,c=t.append("g"),l=r+(i-r)/2,h=c.append("text").attr("x",l).attr("y",s-7).style("text-anchor","middle").attr("class","messageText").text(a.message);u=void 0!==h[0][0].getBBox?h[0][0].getBBox().width:h[0][0].getBoundingClientRect();var y;if(r===i){y=c.append("path").attr("d","M "+r+","+s+" C "+(r+60)+","+(s-10)+" "+(r+60)+","+(s+30)+" "+r+","+(s+20)),e.bounds.bumpVerticalPos(30);var d=Math.max(u/2,100);e.bounds.insert(r-d,e.bounds.getVerticalPos()-10,i+d,e.bounds.getVerticalPos())}else y=c.append("line"),y.attr("x1",r),y.attr("y1",s),y.attr("x2",i),y.attr("y2",s),e.bounds.insert(r,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());a.type===n.yy.LINETYPE.DOTTED||a.type===n.yy.LINETYPE.DOTTED_CROSS||a.type===n.yy.LINETYPE.DOTTED_OPEN?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");var p="";o.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),y.attr("stroke-width",2),y.attr("stroke","black"),y.style("fill","none"),a.type!==n.yy.LINETYPE.SOLID&&a.type!==n.yy.LINETYPE.DOTTED||y.attr("marker-end","url("+p+"#arrowhead)"),a.type!==n.yy.LINETYPE.SOLID_CROSS&&a.type!==n.yy.LINETYPE.DOTTED_CROSS||y.attr("marker-end","url("+p+"#crosshead)")};t.exports.drawActors=function(t,r,n,s){var a;for(a=0;a<n.length;a++){var u=n[a];r[u].x=a*o.actorMargin+a*o.width,r[u].y=s,r[u].width=o.diagramMarginX,r[u].height=o.diagramMarginY,i.drawActor(t,r[u].x,s,r[u].description,o),e.bounds.insert(r[u].x,s,r[u].x+o.width,o.height)}e.bounds.bumpVerticalPos(o.height)},t.exports.setConf=function(t){Object.keys(t).forEach(function(e){o[e]=t[e]})};var h=function(e){return t.exports.bounds.activations.filter(function(t){return t.actor===e})},y=function(t){var e=n.yy.getActors(),r=h(t);return[r.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+o.width/2),r.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+o.width/2)]};t.exports.draw=function(r,a){function h(t,r){var n=e.bounds.endActivation(t);n.starty+18>r&&(n.starty=r-6,r+=12),i.drawActivation(f,n,r,o),e.bounds.insert(n.startx,r-10,n.stopx,r)}n.yy.clear(),n.parse(r+"\n"),e.bounds.init();var d,p,g,f=s.select("#"+a),m=n.yy.getActors(),A=n.yy.getActorKeys(),b=n.yy.getMessages(),E=n.yy.getTitle();t.exports.drawActors(f,m,A,0),i.insertArrowHead(f),i.insertArrowCrossHead(f),b.forEach(function(t){var r;switch(t.type){case n.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(o.boxMargin),d=m[t.from].x,p=m[t.to].x,t.placement===n.yy.PLACEMENT.RIGHTOF?c(f,d+(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===n.yy.PLACEMENT.LEFTOF?c(f,d-(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(f,d,e.bounds.getVerticalPos(),t):(g=Math.abs(d-p)+o.actorMargin,c(f,(d+p+o.width-g)/2,e.bounds.getVerticalPos(),t,g));break;case n.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,f);break;case n.yy.LINETYPE.ACTIVE_END:h(t,e.bounds.getVerticalPos());break;case n.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.LOOP_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"loop",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.OPT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"opt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"alt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.PAR_AND:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"par",o),e.bounds.bumpVerticalPos(o.boxMargin);break;default:try{e.bounds.bumpVerticalPos(o.messageMargin);var s=y(t.from),a=y(t.to),u=s[0]<=a[0]?1:0,A=s[0]<a[0]?0:1;d=s[u],p=a[A];var b=e.bounds.getVerticalPos();l(f,d,p,b,t);var E=s.concat(a);e.bounds.insert(Math.min.apply(null,E),b,Math.max.apply(null,E),b)}catch(t){console.error("error while drawing message",t)}}}),o.mirrorActors&&(e.bounds.bumpVerticalPos(2*o.boxMargin),t.exports.drawActors(f,m,A,e.bounds.getVerticalPos()));var x=e.bounds.getBounds();u.debug("For line height fix Querying: #"+a+" .actor-line"),s.selectAll("#"+a+" .actor-line").attr("y2",x.stopy);var k=x.stopy-x.starty+2*o.diagramMarginY;o.mirrorActors&&(k=k-o.boxMargin+o.bottomMarginAdj);var _=x.stopx-x.startx+2*o.diagramMarginX;E&&f.append("text").text(E).attr("x",(x.stopx-x.startx)/2-2*o.diagramMarginX).attr("y",-25),o.useMaxWidth?(f.attr("height","100%"),f.attr("width","100%"),f.attr("style","max-width:"+_+"px;")):(f.attr("height",k),f.attr("width",_));var v=E?40:0;f.attr("viewBox",x.startx-o.diagramMarginX+" -"+(o.diagramMarginY+v)+" "+_+" "+(k+v))}},function(t,e,r){"use strict";e.drawRect=function(t,e){var r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),void 0!==e.class&&r.attr("class",e.class),r},e.drawText=function(t,e,r){var n=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.attr("fill",e.fill),s.text(n),void 0!==i.textwrap&&i.textwrap({x:e.x,y:e.y,width:r,height:1800},e.textMargin),i},e.drawLabel=function(t,r){var n=t.append("polygon");n.attr("points",function(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}(r.x,r.y,50,20,7)),n.attr("class","labelBox"),r.y=r.y+r.labelMargin,r.x=r.x+.5*r.labelMargin,e.drawText(t,r)};var n=-1;e.drawActor=function(t,r,s,a,u){var o=r+u.width/2,c=t.append("g");0===s&&(n++,c.append("line").attr("id","actor"+n).attr("x1",o).attr("y1",5).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var l=e.getNoteRect();l.x=r,l.y=s,l.fill="#eaeaea",l.width=u.width,l.height=u.height,l.class="actor",l.rx=3,l.ry=3,e.drawRect(c,l),i(u)(a,c,l.x,l.y,l.width,l.height,{class:"actor"})},e.anchorElement=function(t){return t.append("g")},e.drawActivation=function(t,r,n){var i=e.getNoteRect(),s=r.anchored;i.x=r.startx,i.y=r.starty,i.fill="#f4f4f4",i.width=r.stopx-r.startx,i.height=n-r.starty,e.drawRect(s,i)},e.drawLoop=function(t,r,n,i){var s=t.append("g"),a=function(t,e,r,n){return s.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("class","loopLine")};a(r.startx,r.starty,r.stopx,r.starty),a(r.stopx,r.starty,r.stopx,r.stopy),a(r.startx,r.stopy,r.stopx,r.stopy),a(r.startx,r.starty,r.startx,r.stopy),void 0!==r.sections&&r.sections.forEach(function(t){a(r.startx,t,r.stopx,t).style("stroke-dasharray","3, 3")});var u=e.getTextObj();u.text=n,u.x=r.startx,u.y=r.starty,u.labelMargin=15,u.class="labelText",e.drawLabel(s,u),u=e.getTextObj(),u.text="[ "+r.title+" ]",u.x=r.startx+(r.stopx-r.startx)/2,u.y=r.starty+1.5*i.boxMargin,u.anchor="middle",u.class="loopText",e.drawText(s,u),void 0!==r.sectionTitles&&r.sectionTitles.forEach(function(t,n){""!==t&&(u.text="[ "+t+" ]",u.y=r.sections[n]+1.5*i.boxMargin,e.drawText(s,u))})},e.insertArrowHead=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")},e.insertArrowCrossHead=function(t){var e=t.append("defs"),r=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}};var i=function(){function t(t,e,r,i,s,a,u){n(e.append("text").attr("x",r+s/2).attr("y",i+a/2+5).style("text-anchor","middle").text(t),u)}function e(t,e,r,i,s,a,u){var o=e.append("text").attr("x",r+s/2).attr("y",i).style("text-anchor","middle");if(o.append("tspan").attr("x",r+s/2).attr("dy","0").text(t),void 0!==o.textwrap){o.textwrap({x:r+s/2,y:i,width:s,height:a},0);var c=o.selectAll("tspan");c.length>0&&c[0].length>0&&(c=c[0],o.attr("y",i+(a/2-o[0][0].getBBox().height*(1-1/c.length)/2)).attr("dominant-baseline","central").attr("alignment-baseline","central"))}n(o,u)}function r(t,r,i,s,a,u,o){var c=r.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",s).attr("width",a).attr("height",u),h=l.append("div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,s,a,u,o),n(h,o)}function n(t,e){for(var r in e)e.hasOwnProperty(r)&&t.attr(r,e[r])}return function(n){return"fo"===n.textPlacement?r:"old"===n.textPlacement?t:e}}()},function(t,e,r){"use strict";var n=r(11),i=r(12),s=r(1),a=r(0),u=a.Log;e.draw=function(t,e,r){var a;a=i.parser,a.yy=n,u.debug("Renering example diagram"),a.parse(t);var o=s.select("#"+e);o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+r),o.attr("height",100),o.attr("width",400)}},function(t,e,r){"use strict";var n=r(13).parser;n.yy=r(14);var i,s=r(1),a=r(15),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})};var o;t.exports.draw=function(t,e){function r(t,e,r,n,i,s,a,o){m.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,n){return n*e+r-2}).attr("width",function(){return a-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<x.length;e++)if(t.type===x[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var c=m.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return E(t.startTime)+n}).attr("y",function(t,n){return n*e+r}).attr("width",function(t){return E(t.endTime)-E(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",r=0,n=0;n<x.length;n++)t.type===x[n]&&(r=n%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+r:e+" active"+r:t.done?t.crit?e+" doneCrit"+r:e+" done"+r:t.crit?e+" crit"+r:e+" task"+r}),c.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=E(t.startTime),r=E(t.endTime),i=this.getBBox().width;return i>r-e?r+i+1.5*u.leftPadding>a?e+n-5:r+n+5:(r-e)/2+e+n}).attr("y",function(t,n){return n*e+u.barHeight/2+(u.fontSize/2-2)+r}).attr("text-height",i).attr("class",function(t){for(var e=E(t.startTime),r=E(t.endTime),n=this.getBBox().width,i=0,s=0;s<x.length;s++)t.type===x[s]&&(i=s%u.numberSectionStyles);var o="";return t.active&&(o=t.crit?"activeCritText"+i:"activeText"+i),t.done?o=t.crit?o+" doneCritText"+i:o+" doneText"+i:t.crit&&(o=o+" critText"+i),n>r-e?r+n+1.5*u.leftPadding>a?"taskTextOutsideLeft taskTextOutside"+i+" "+o:"taskTextOutsideRight taskTextOutside"+i+" "+o:"taskText taskText"+i+" "+o})}function c(t,e,r,n){var a,o=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%B",function(t){return t.getMonth()}]];void 0!==u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),a=o.concat(l).concat(c);var h=s.svg.axis().scale(E).orient("bottom").tickSize(-n+e+u.gridLineStartPadding,0,0).tickFormat(s.time.format.multi(a));i>7&&i<230&&(h=h.ticks(s.time.monday.range)),m.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function l(t,e){for(var r=[],n=0,i=0;i<x.length;i++)r[i]=[x[i],d(x[i],_)];m.append("g").selectAll("text").data(r).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,s){if(!(s>0))return i[1]*t/2+e;for(var a=0;a<s;a++)return n+=r[s-1][1],i[1]*t/2+n*t+e}).attr("class",function(t){for(var e=0;e<x.length;e++)if(t[0]===x[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function h(t,e,r,n){var i=m.append("g").attr("class","today"),s=new Date;i.append("line").attr("x1",E(s)+t).attr("x2",E(s)+t).attr("y1",u.titleTopMargin).attr("y2",n-u.titleTopMargin).attr("class","today")}function y(t){for(var e=t.length,r={};e;)r[t[--e]]=(r[t[e]]||0)+1;return r}function d(t,e){return y(e)[t]||0}n.yy.clear(),n.parse(t);var p=document.getElementById(e);o=p.parentElement.offsetWidth,void 0===o&&(o=1200),void 0!==u.useWidth&&(o=u.useWidth);var g=n.yy.getTasks(),f=g.length*(u.barHeight+u.barGap)+2*u.topPadding;p.setAttribute("height","100%"),p.setAttribute("viewBox","0 0 "+o+" "+f);var m=s.select("#"+e),A=s.min(g,function(t){return t.startTime}),b=s.max(g,function(t){return t.endTime}),E=s.time.scale().domain([s.min(g,function(t){return t.startTime}),s.max(g,function(t){return t.endTime})]).rangeRound([0,o-u.leftPadding-u.rightPadding]),x=[];i=a.duration(b-A).asDays();for(var k=0;k<g.length;k++)x.push(g[k].type);var _=x;x=function(t){for(var e={},r=[],n=0,i=t.length;n<i;++n)e.hasOwnProperty(t[n])||(e[t[n]]=!0,r.push(t[n]));return r}(x),function(t,e,n){var i=u.barHeight,a=i+u.barGap,o=u.topPadding,y=u.leftPadding,d=s.scale.linear().domain([0,x.length]).range(["#00B9FA","#F95002"]).interpolate(s.interpolateHcl);c(y,o,e,n),r(t,a,o,y,i,d,e,n),l(a,o),h(y,o,e,n)}(g,o,f),void 0!==u.useWidth&&p.setAttribute("width",o),m.append("text").text(n.yy.getTitle()).attr("x",o/2).attr("y",u.titleTopMargin).attr("class","titleText")}},function(t,e,r){"use strict";var n=r(16).parser,i=r(17);n.yy=i;var s,a=r(1),u=r(0),o=u.Log,c=r(30);s={};var l=0,h={dividerMargin:10,padding:5,textHeight:10},y=function(t){var e,r=Object.keys(s);for(e=0;e<r.length;e++)if(s[r[e]].label===t)return r[e]},d=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},p=0,g=function(t,e,r){var n=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}},s=e.points,u=a.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),o=t.append("path").attr("d",u(s)).attr("id","edge"+p).attr("class","relation"),c="";h.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==r.relation.type1&&o.attr("marker-start","url("+c+"#"+n(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&o.attr("marker-end","url("+c+"#"+n(r.relation.type2)+"End)");var l,y,d=e.points.length;if(d%2!=0){var g=e.points[Math.floor(d/2)],f=e.points[Math.ceil(d/2)];l=(g.x+f.x)/2,y=(g.y+f.y)/2}else{var m=e.points[Math.floor(d/2)];l=m.x,y=m.y}if(void 0!==r.title){var A=t.append("g").attr("class","classLabel"),b=A.append("text").attr("class","label").attr("x",l).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=b;var E=b.node().getBBox();A.insert("rect",":first-child").attr("class","box").attr("x",E.x-h.padding/2).attr("y",E.y-h.padding/2).attr("width",E.width+h.padding).attr("height",E.height+h.padding)}p++},f=function(t,e){o.info("Rendering class "+e);var r=function(t,e,r){var n=t.append("tspan").attr("x",h.padding).text(e);r||n.attr("dy",h.textHeight)},n="classId"+l,i={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",n).attr("class","classGroup"),u=a.append("text").attr("x",h.padding).attr("y",h.textHeight+h.padding).text(e.id),c=u.node().getBBox().height,y=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin/2).attr("y2",h.padding+c+h.dividerMargin/2),d=a.append("text").attr("x",h.padding).attr("y",c+h.dividerMargin+h.textHeight).attr("fill","white").attr("class","classText"),p=!0;e.members.forEach(function(t){r(d,t,p),p=!1});var g=d.node().getBBox(),f=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin+g.height).attr("y2",h.padding+c+h.dividerMargin+g.height),m=a.append("text").attr("x",h.padding).attr("y",c+2*h.dividerMargin+g.height+h.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach(function(t){r(m,t,p),p=!1});var A=a.node().getBBox();return a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*h.padding).attr("height",A.height+h.padding+.5*h.dividerMargin),y.attr("x2",A.width+2*h.padding),f.attr("x2",A.width+2*h.padding),i.width=A.width+2*h.padding,i.height=A.height+h.padding+.5*h.dividerMargin,s[n]=i,l++,i};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){h[e]=t[e]})},t.exports.draw=function(t,e){n.yy.clear(),n.parse(t),o.info("Rendering diagram "+t);var r=a.select("#"+e);d(r);var s=new c.graphlib.Graph({multigraph:!0});s.setGraph({isMultiGraph:!0}),s.setDefaultEdgeLabel(function(){return{}});var u,l=i.getClasses(),h=Object.keys(l);for(u=0;u<h.length;u++){var p=l[h[u]],m=f(r,p);s.setNode(m.id,m),o.info("Org height: "+m.height)}i.getRelations().forEach(function(t){o.info("tjoho"+y(t.id1)+y(t.id2)+JSON.stringify(t)),s.setEdge(y(t.id1),y(t.id2),{relation:t})}),c.layout(s),s.nodes().forEach(function(t){void 0!==t&&(o.debug("Node "+t+": "+JSON.stringify(s.node(t))),a.select("#"+t).attr("transform","translate("+(s.node(t).x-s.node(t).width/2)+","+(s.node(t).y-s.node(t).height/2)+" )"))}),s.edges().forEach(function(t){o.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),g(r,s.edge(t),s.edge(t).relation)}),r.attr("height","100%"),r.attr("width","100%"),r.attr("viewBox","0 0 "+(s.graph().width+20)+" "+(s.graph().height+20))}},function(t,e){t.exports=require("dagre")},function(t,e,r){"use strict";function n(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",A.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",A.nodeLabel.width).attr("height",A.nodeLabel.height).attr("x",A.nodeLabel.x).attr("y",A.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,r,n){n=n||"basis";var i=A.branchColors[r%A.branchColors.length],s=p.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(n);t.append("svg:path").attr("d",s(e)).style("stroke",i).style("stroke-width",A.lineStrokeWidth).style("fill","none")}function s(t,e){e=e||t.node().getBBox();var r=t.node().getCTM();return{left:r.e+e.x*r.a,top:r.f+e.y*r.d,width:e.width,height:e.height}}function a(t,e,r,n,a){f.debug("svgDrawLineForCommits: ",e,r);var u=s(t.select("#node-"+e+" circle")),o=s(t.select("#node-"+r+" circle"));switch(n){case"LR":if(u.left-o.left>A.nodeSpacing){var c={x:u.left-A.nodeSpacing,y:o.top+o.height/2},l={x:o.left+o.width,y:o.top+o.height/2};i(t,[c,l],a,"linear"),i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:c.y},c],a)}else i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],a);break;case"BT":o.top-u.top>A.nodeSpacing?(c={x:o.left+o.width/2,y:u.top+u.height+A.nodeSpacing},l={x:o.left+o.width/2,y:o.top},i(t,[c,l],a,"linear"),i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+u.height+A.nodeSpacing/2},{x:o.left+o.width/2,y:c.y-A.nodeSpacing/2},c],a)):i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],a)}}function u(t,e){return t.select(e).node().cloneNode(!0)}function o(t,e,r,n){var i,s=Object.keys(m).length;if(y.isString(e))do{if(i=m[e],f.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return u(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(n){case"LR":return"translate("+(i.seq*A.nodeSpacing+A.leftMargin)+", "+l*A.branchOffset+")";case"BT":return"translate("+(l*A.branchOffset+A.leftMargin)+", "+(s-i.seq)*A.nodeSpacing+")"}}).attr("fill",A.nodeFillColor).attr("stroke",A.nodeStrokeColor).attr("stroke-width",A.nodeStrokeWidth);var a=y.find(r,["commit",i]);a&&(f.debug("found branch ",a.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(a.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===n&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&m[e]);y.isArray(e)&&(f.debug("found merge commmit",e),o(t,e[0],r,n),l++,o(t,e[1],r,n),l--)}function c(t,e,r,n){for(n=n||0;e.seq>0&&!e.lineDrawn;)y.isString(e.parent)?(a(t,e.id,e.parent,r,n),e.lineDrawn=!0,e=m[e.parent]):y.isArray(e.parent)&&(a(t,e.id,e.parent[0],r,n),a(t,e.id,e.parent[1],r,n+1),c(t,m[e.parent[1]],r,n+1),e.lineDrawn=!0,e=m[e.parent[0]])}var l,h=r(19),y=r(20),d=r(18),p=r(1),g=r(0),f=g.Log,m={},A={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}},b={};e.setConf=function(t){b=t},e.draw=function(t,e,r){try{var i;i=d.parser,i.yy=h,f.debug("in gitgraph renderer",t,e,r),i.parse(t+"\n"),A=y.extend(A,b,h.getOptions()),f.debug("effective options",A);var s=h.getDirection();m=h.getCommits();var a=h.getBranchesAsObjArray();"BT"===s&&(A.nodeLabel.x=a.length*A.branchOffset,A.nodeLabel.width="100%",A.nodeLabel.y=-2*A.nodeRadius);var u=p.select("#"+e);n(u),l=1,y.each(a,function(t){o(u,t.commit.id,a,s),c(u,t.commit,s),l++}),u.attr("height",function(){return"BT"===s?Object.keys(m).length*A.nodeSpacing:(a.length+1)*A.branchOffset})}catch(t){f.error("Error while rendering gitgraph"),f.error(t.message)}}},function(t,e){t.exports={name:"mermaid",version:"7.0.5",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],bin:{mermaid:"./bin/mermaid.js"},scripts:{build:"node -r babel-register ./node_modules/.bin/webpack --progress --colors",watch:"yarn build -- --watch",release:"yarn build -- -p --config webpack.config.prod.js",upgrade:"yarn-upgrade-all && yarn remove d3 && yarn add d3@3.5.17",lint:"node_modules/.bin/standard",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",test:"yarn lint && yarn tape && yarn karma",live:"live-server ./test/examples",jison:"gulp jison_legacy",live_server:"gulp live-server",prepublishOnly:"yarn build && yarn release && yarn test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js"]},dependencies:{chalk:"^2.1.0",d3:"3.5.17",dagre:"^0.7.4","dagre-d3-renderer":"^0.1.6",he:"^1.1.1",lodash:"^4.17.4",minimist:"^1.2.0",mkdirp:"^0.5.1",moment:"^2.18.1",semver:"^5.4.1",which:"^1.3.0"},devDependencies:{async:"^2.5.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-remove-strict-mode":"^0.0.2","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1",clone:"^2.1.1","codeclimate-test-reporter":"^0.5.0","css-loader":"^0.28.7",dox:"^0.9.0","event-stream":"^3.3.4","extract-text-webpack-plugin":"^3.0.0","front-matter":"^2.2.0",gulp:"^3.9.1","gulp-bower":"^0.0.13","gulp-bump":"^2.7.0","gulp-concat":"^2.6.1","gulp-data":"^1.2.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.3.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.3.0","gulp-hogan":"^2.0.0","gulp-if":"^2.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.2","gulp-jasmine":"^2.4.2","gulp-jasmine-browser":"^1.9.0","gulp-jison":"^1.2.0","gulp-less":"^3.3.2","gulp-livereload":"^3.8.1","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"^1.5.0","gulp-rename":"^1.2.2","gulp-shell":"^0.6.3","gulp-tag-version":"^1.3.0","gulp-util":"^3.0.8","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2","inject-loader":"^3.0.1",jasmine:"^2.8.0","jasmine-es6":"^0.4.1",jison:"^0.4.17",jsdom:"^11.2.0",karma:"^1.7.1","karma-chrome-launcher":"^2.2.0","karma-jasmine":"^1.1.0","karma-webpack":"^2.0.4",less:"^2.7.2","less-loader":"^4.0.5","live-server":"^1.2.0","map-stream":"^0.0.7",marked:"^0.3.6","mock-browser":"^0.92.14","phantomjs-prebuilt":"^2.1.15","require-dir":"^0.3.2",rimraf:"^2.6.1",standard:"^10.0.3","style-loader":"^0.18.2",tape:"^4.8.0",webpack:"^3.5.5","webpack-node-externals":"^1.6.0","yarn-upgrade-all":"^0.1.8"},files:["bin","dist","lib","src"]}}]); \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css
new file mode 100644
index 00000000..e8912f71
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.dark.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#323d47}.node circle,.node ellipse,.node polygon,.node rect{fill:#bdd5ea;stroke:#81b1db;stroke-width:1px}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#6d6d65!important;rx:4!important;stroke:hsla(0,0%,100%,.25)!important;stroke-width:1px!important}.cluster text{fill:#f9fffe}.actor{stroke:#81b1db;fill:#bdd5ea}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#d3d3d3}#arrowhead,#crosshead path{fill:#d3d3d3!important}#crosshead path{stroke:#d3d3d3!important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81b1db;fill:#bdd5ea}.labelText{fill:#323d47;stroke:none}.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#81b1db}.note{stroke:hsla(0,0%,100%,.25);fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:hsla(0,0%,100%,.3)}.section2{fill:#eae8b9}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#f9fffe}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:hsla(0,0%,100%,.3);opacity:.3;shape-rendering:crispEdges}.grid .tick text{fill:#d3d3d3;opacity:.5}.grid path{stroke-width:0}.today{fill:none;stroke:#db5757;stroke-width:2px}.task{stroke-width:1}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323d47}.task0,.task1,.task2,.task3{fill:#bdd5ea;stroke:hsla(0,0%,100%,.5)}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81b1db;stroke:hsla(0,0%,100%,.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323d47!important}.done0,.done1,.done2,.done3{fill:#d3d3d3}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323d47!important}.crit0,.crit1,.crit2,.crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#e83737;fill:#d3d3d3;stroke-width:1;cursor:pointer;shape-rendering:crispEdges}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#d3d3d3!important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#323d47!important}.titleText{text-anchor:middle;font-size:18px;fill:#d3d3d3}g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#bdd5ea;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}svg .classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:purple;stroke:purple;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#bdd5ea;stroke:purple;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:purple;stroke:purple;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#6d6d65;border:1px solid hsla(0,0%,100%,.25);border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css
new file mode 100644
index 00000000..f8a2fca3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.forest.min.css
@@ -0,0 +1 @@
+.mermaid .label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#cdffb2!important;rx:4!important;stroke:#6eaa49!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#13540c;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:.5}svg .classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css
new file mode 100644
index 00000000..a485f4ce
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#ececff;stroke:#ccf;stroke-width:1px}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#ffffde!important;rx:4!important;stroke:#aa3!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#ccf;fill:#ececff}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ececff}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:rgba(102,102,255,.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#9370db;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#ececff;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}svg .classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#ececff;stroke:#9370db;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:trebuchet ms,verdana,arial}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js
new file mode 100644
index 00000000..09183e98
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.min.js
@@ -0,0 +1,9 @@
+!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()}(window,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,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},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=182)}([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 u(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function c(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function l(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function f(t,e){for(var n in e)d(e,n)&&(t[n]=e[n]);return d(e,"toString")&&(t.toString=e.toString),d(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,n,r){return Se(t,e,n,r,!0).utc()}function _(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function p(t){if(null==t._isValid){var e=_(t),n=r.call(e.parsedDateParts,function(t){return null!=t}),i=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(i=i&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return i;t._isValid=i}return t._isValid}function m(t){var e=h(NaN);return null!=t?f(_(e),t):_(e).userInvalidated=!0,e}r=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;r<n;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var y=i.momentProperties=[];function g(t,e){var n,r,i;if(s(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),s(e._i)||(t._i=e._i),s(e._f)||(t._f=e._f),s(e._l)||(t._l=e._l),s(e._strict)||(t._strict=e._strict),s(e._tzm)||(t._tzm=e._tzm),s(e._isUTC)||(t._isUTC=e._isUTC),s(e._offset)||(t._offset=e._offset),s(e._pf)||(t._pf=_(e)),s(e._locale)||(t._locale=e._locale),y.length>0)for(n=0;n<y.length;n++)r=y[n],s(i=e[r])||(t[r]=i);return t}var v=!1;function M(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,i.updateOffset(this),v=!1)}function b(t){return t instanceof M||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function L(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=k(e)),n}function w(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;r<i;r++)(n&&t[r]!==e[r]||!n&&L(t[r])!==L(e[r]))&&o++;return o+a}function x(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function T(t,e){var n=!0;return f(function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),n){for(var r,a=[],o=0;o<arguments.length;o++){if(r="","object"==typeof arguments[o]){for(var s in r+="\n["+o+"] ",arguments[0])r+=s+": "+arguments[0][s]+", ";r=r.slice(0,-2)}else r=arguments[o];a.push(r)}x(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),n=!1}return e.apply(this,arguments)},e)}var D,Y={};function S(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),Y[t]||(x(e),Y[t]=!0)}function E(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function A(t,e){var n,r=f({},t);for(n in e)d(e,n)&&(o(t[n])&&o(e[n])?(r[n]={},f(r[n],t[n]),f(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);for(n in t)d(t,n)&&!d(e,n)&&o(t[n])&&(r[n]=f({},r[n]));return r}function C(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)d(t,e)&&n.push(e);return n};var j={};function O(t,e){var n=t.toLowerCase();j[n]=j[n+"s"]=j[e]=t}function H(t){return"string"==typeof t?j[t]||j[t.toLowerCase()]:void 0}function P(t){var e,n,r={};for(n in t)d(t,n)&&(e=H(n))&&(r[e]=t[n]);return r}var F={};function N(t,e){F[t]=e}function B(t,e,n){var r=""+Math.abs(t),i=e-r.length,a=t>=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var R=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},W={};function q(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(W[t]=i),e&&(W[e[0]]=function(){return B(i.apply(this,arguments),e[1],e[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function U(t,e){return t.isValid()?(e=V(e,t.localeData()),z[e]=z[e]||function(t){var e,n,r,i=t.match(R);for(e=0,n=i.length;e<n;e++)W[i[e]]?i[e]=W[i[e]]:i[e]=(r=i[e]).match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"");return function(e){var r,a="";for(r=0;r<n;r++)a+=E(i[r])?i[r].call(e,t):i[r];return a}}(e),z[e](t)):t.localeData().invalidDate()}function V(t,e){var n=5;function r(t){return e.longDateFormat(t)||t}for(I.lastIndex=0;n>=0&&I.test(t);)t=t.replace(I,r),I.lastIndex=0,n-=1;return t}var $=/\d/,G=/\d\d/,J=/\d{3}/,X=/\d{4}/,Z=/[+-]?\d{6}/,K=/\d\d?/,Q=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,at=/[+-]?\d+/,ot=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ut=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ct={};function lt(t,e,n){ct[t]=E(e)?e:function(t,r){return t&&n?n:e}}function dt(t,e){return d(ct,t)?ct[t](e._strict,e._locale):new RegExp(ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,r,i){return e||n||r||i})))}function ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function _t(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),u(e)&&(r=function(t,n){n[e]=L(t)}),n=0;n<t.length;n++)ht[t[n]]=r}function pt(t,e){_t(t,function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)})}function mt(t,e,n){null!=e&&d(ht,t)&&ht[t](e,n._a,n,t)}var yt=0,gt=1,vt=2,Mt=3,bt=4,kt=5,Lt=6,wt=7,xt=8;function Tt(t){return Dt(t)?366:365}function Dt(t){return t%4==0&&t%100!=0||t%400==0}q("Y",0,0,function(){var t=this.year();return t<=9999?""+t:"+"+t}),q(0,["YY",2],0,function(){return this.year()%100}),q(0,["YYYY",4],0,"year"),q(0,["YYYYY",5],0,"year"),q(0,["YYYYYY",6,!0],0,"year"),O("year","y"),N("year",1),lt("Y",at),lt("YY",K,G),lt("YYYY",nt,X),lt("YYYYY",rt,Z),lt("YYYYYY",rt,Z),_t(["YYYYY","YYYYYY"],yt),_t("YYYY",function(t,e){e[yt]=2===t.length?i.parseTwoDigitYear(t):L(t)}),_t("YY",function(t,e){e[yt]=i.parseTwoDigitYear(t)}),_t("Y",function(t,e){e[yt]=parseInt(t,10)}),i.parseTwoDigitYear=function(t){return L(t)+(L(t)>68?1900:2e3)};var Yt,St=Et("FullYear",!0);function Et(t,e){return function(n){return null!=n?(Ct(this,t,n),i.updateOffset(this,e),this):At(this,t)}}function At(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function Ct(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&Dt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),jt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function jt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n,r=(e%(n=12)+n)%n;return t+=(e-r)/12,1===r?Dt(t)?29:28:31-r%7%2}Yt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},q("M",["MM",2],"Mo",function(){return this.month()+1}),q("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),q("MMMM",0,0,function(t){return this.localeData().months(this,t)}),O("month","M"),N("month",8),lt("M",K),lt("MM",K,G),lt("MMM",function(t,e){return e.monthsShortRegex(t)}),lt("MMMM",function(t,e){return e.monthsRegex(t)}),_t(["M","MM"],function(t,e){e[gt]=L(t)-1}),_t(["MMM","MMMM"],function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[gt]=i:_(n).invalidMonth=t});var Ot=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ht="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Pt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Ft(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=L(e);else if(!u(e=t.localeData().monthsParse(e)))return t;return n=Math.min(t.date(),jt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function Nt(t){return null!=t?(Ft(this,t),i.updateOffset(this,!0),this):At(this,"Month")}var Bt=ut,Rt=ut;function It(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;e<12;e++)n=h([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)r[e]=ft(r[e]),i[e]=ft(i[e]);for(e=0;e<24;e++)a[e]=ft(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function zt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function Wt(t,e,n){var r=7+e-n,i=(7+zt(t,0,r).getUTCDay()-e)%7;return-i+r-1}function qt(t,e,n,r,i){var a,o,s=(7+n-r)%7,u=Wt(t,r,i),c=1+7*(e-1)+s+u;return c<=0?o=Tt(a=t-1)+c:c>Tt(t)?(a=t+1,o=c-Tt(t)):(a=t,o=c),{year:a,dayOfYear:o}}function Ut(t,e,n){var r,i,a=Wt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?(i=t.year()-1,r=o+Vt(i,e,n)):o>Vt(t.year(),e,n)?(r=o-Vt(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function Vt(t,e,n){var r=Wt(t,e,n),i=Wt(t+1,e,n);return(Tt(t)-r+i)/7}q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),N("week",5),N("isoWeek",5),lt("w",K),lt("ww",K,G),lt("W",K),lt("WW",K,G),pt(["w","ww","W","WW"],function(t,e,n,r){e[r.substr(0,1)]=L(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"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),N("day",11),N("weekday",11),N("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)}),pt(["dd","ddd","dddd"],function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:_(n).invalidWeekday=t}),pt(["d","e","E"],function(t,e,n,r){e[r]=L(t)});var $t="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Jt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xt=ut,Zt=ut,Kt=ut;function Qt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],s=[],u=[],c=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),s.push(i),u.push(a),c.push(r),c.push(i),c.push(a);for(o.sort(t),s.sort(t),u.sort(t),c.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),u[e]=ft(u[e]),c[e]=ft(c[e]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){q(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function ne(t,e){return e._meridiemParse}q("H",["HH",2],0,"hour"),q("h",["hh",2],0,te),q("k",["kk",2],0,function(){return this.hours()||24}),q("hmm",0,0,function(){return""+te.apply(this)+B(this.minutes(),2)}),q("hmmss",0,0,function(){return""+te.apply(this)+B(this.minutes(),2)+B(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+B(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+B(this.minutes(),2)+B(this.seconds(),2)}),ee("a",!0),ee("A",!1),O("hour","h"),N("hour",13),lt("a",ne),lt("A",ne),lt("H",K),lt("h",K),lt("k",K),lt("HH",K,G),lt("hh",K,G),lt("kk",K,G),lt("hmm",Q),lt("hmmss",tt),lt("Hmm",Q),lt("Hmmss",tt),_t(["H","HH"],Mt),_t(["k","kk"],function(t,e,n){var r=L(t);e[Mt]=24===r?0:r}),_t(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),_t(["h","hh"],function(t,e,n){e[Mt]=L(t),_(n).bigHour=!0}),_t("hmm",function(t,e,n){var r=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r)),_(n).bigHour=!0}),_t("hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r,2)),e[kt]=L(t.substr(i)),_(n).bigHour=!0}),_t("Hmm",function(t,e,n){var r=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r))}),_t("Hmmss",function(t,e,n){var r=t.length-4,i=t.length-2;e[Mt]=L(t.substr(0,r)),e[bt]=L(t.substr(r,2)),e[kt]=L(t.substr(i))});var re,ie=Et("Hours",!0),ae={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:Ht,monthsShort:Pt,week:{dow:0,doy:6},weekdays:$t,weekdaysMin:Jt,weekdaysShort:Gt,meridiemParse:/[ap]\.?m?\.?/i},oe={},se={};function ue(t){return t?t.toLowerCase().replace("_","-"):t}function ce(e){var r=null;if(!oe[e]&&void 0!==t&&t&&t.exports)try{r=re._abbr,n(178)("./"+e),le(r)}catch(t){}return oe[e]}function le(t,e){var n;return t&&((n=s(e)?fe(t):de(t,e))?re=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),re._abbr}function de(t,e){if(null!==e){var n,r=ae;if(e.abbr=t,null!=oe[t])S("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=oe[t]._config;else if(null!=e.parentLocale)if(null!=oe[e.parentLocale])r=oe[e.parentLocale]._config;else{if(null==(n=ce(e.parentLocale)))return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;r=n._config}return oe[t]=new C(A(r,e)),se[t]&&se[t].forEach(function(t){de(t.name,t.config)}),le(t),oe[t]}return delete oe[t],null}function fe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return re;if(!a(t)){if(e=ce(t))return e;t=[t]}return function(t){for(var e,n,r,i,a=0;a<t.length;){for(i=ue(t[a]).split("-"),e=i.length,n=(n=ue(t[a+1]))?n.split("-"):null;e>0;){if(r=ce(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&w(i,n,!0)>=e-1)break;e--}a++}return re}(t)}function he(t){var e,n=t._a;return n&&-2===_(t).overflow&&(e=n[gt]<0||n[gt]>11?gt:n[vt]<1||n[vt]>jt(n[yt],n[gt])?vt:n[Mt]<0||n[Mt]>24||24===n[Mt]&&(0!==n[bt]||0!==n[kt]||0!==n[Lt])?Mt:n[bt]<0||n[bt]>59?bt:n[kt]<0||n[kt]>59?kt:n[Lt]<0||n[Lt]>999?Lt:-1,_(t)._overflowDayOfYear&&(e<yt||e>vt)&&(e=vt),_(t)._overflowWeeks&&-1===e&&(e=wt),_(t)._overflowWeekday&&-1===e&&(e=xt),_(t).overflow=e),t}function _e(t,e,n){return null!=t?t:null!=e?e:n}function pe(t){var e,n,r,a,o,s=[];if(!t._d){for(r=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[vt]&&null==t._a[gt]&&function(t){var e,n,r,i,a,o,s,u;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,n=_e(e.GG,t._a[yt],Ut(Ee(),1,4).year),r=_e(e.W,1),((i=_e(e.E,1))<1||i>7)&&(u=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var c=Ut(Ee(),a,o);n=_e(e.gg,t._a[yt],c.year),r=_e(e.w,c.week),null!=e.d?((i=e.d)<0||i>6)&&(u=!0):null!=e.e?(i=e.e+a,(e.e<0||e.e>6)&&(u=!0)):i=a}r<1||r>Vt(n,a,o)?_(t)._overflowWeeks=!0:null!=u?_(t)._overflowWeekday=!0:(s=qt(n,r,i,a,o),t._a[yt]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=_e(t._a[yt],r[yt]),(t._dayOfYear>Tt(o)||0===t._dayOfYear)&&(_(t)._overflowDayOfYear=!0),n=zt(o,0,t._dayOfYear),t._a[gt]=n.getUTCMonth(),t._a[vt]=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[Mt]&&0===t._a[bt]&&0===t._a[kt]&&0===t._a[Lt]&&(t._nextDay=!0,t._a[Mt]=0),t._d=(t._useUTC?zt:function(t,e,n,r,i,a,o){var s=new Date(t,e,n,r,i,a,o);return t<100&&t>=0&&isFinite(s.getFullYear())&&s.setFullYear(t),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[Mt]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(_(t).weekdayMismatch=!0)}}var me=/^\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)?)?$/,ye=/^\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)?)?$/,ge=/Z|[+-]\d\d(?::?\d\d)?/,ve=[["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}/]],Me=[["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/]],be=/^\/?Date\((\-?\d+)/i;function ke(t){var e,n,r,i,a,o,s=t._i,u=me.exec(s)||ye.exec(s);if(u){for(_(t).iso=!0,e=0,n=ve.length;e<n;e++)if(ve[e][1].exec(u[1])){i=ve[e][0],r=!1!==ve[e][2];break}if(null==i)return void(t._isValid=!1);if(u[3]){for(e=0,n=Me.length;e<n;e++)if(Me[e][1].exec(u[3])){a=(u[2]||" ")+Me[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(u[4]){if(!ge.exec(u[4]))return void(t._isValid=!1);o="Z"}t._f=i+(a||"")+(o||""),De(t)}else t._isValid=!1}var Le=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function we(t,e,n,r,i,a){var o=[function(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}(t),Pt.indexOf(e),parseInt(n,10),parseInt(r,10),parseInt(i,10)];return a&&o.push(parseInt(a,10)),o}var xe={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Te(t){var e=Le.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(e){var n=we(e[4],e[3],e[2],e[5],e[6],e[7]);if(!function(t,e,n){if(t){var r=Gt.indexOf(t),i=new Date(e[0],e[1],e[2]).getDay();if(r!==i)return _(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}(e[1],n,t))return;t._a=n,t._tzm=function(t,e,n){if(t)return xe[t];if(e)return 0;var r=parseInt(n,10),i=r%100,a=(r-i)/100;return 60*a+i}(e[8],e[9],e[10]),t._d=zt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),_(t).rfc2822=!0}else t._isValid=!1}function De(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],_(t).empty=!0;var e,n,r,a,o,s=""+t._i,u=s.length,c=0;for(r=V(t._f,t._locale).match(R)||[],e=0;e<r.length;e++)a=r[e],(n=(s.match(dt(a,t))||[])[0])&&((o=s.substr(0,s.indexOf(n))).length>0&&_(t).unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),c+=n.length),W[a]?(n?_(t).empty=!1:_(t).unusedTokens.push(a),mt(a,n,t)):t._strict&&!n&&_(t).unusedTokens.push(a);_(t).charsLeftOver=u-c,s.length>0&&_(t).unusedInput.push(s),t._a[Mt]<=12&&!0===_(t).bigHour&&t._a[Mt]>0&&(_(t).bigHour=void 0),_(t).parsedDateParts=t._a.slice(0),_(t).meridiem=t._meridiem,t._a[Mt]=(l=t._locale,d=t._a[Mt],null==(f=t._meridiem)?d:null!=l.meridiemHour?l.meridiemHour(d,f):null!=l.isPM?((h=l.isPM(f))&&d<12&&(d+=12),h||12!==d||(d=0),d):d),pe(t),he(t)}else Te(t);else ke(t);var l,d,f,h}function Ye(t){var e=t._i,n=t._f;return t._locale=t._locale||fe(t._l),null===e||void 0===n&&""===e?m({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),b(e)?new M(he(e)):(c(e)?t._d=e:a(n)?function(t){var e,n,r,i,a;if(0===t._f.length)return _(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;i<t._f.length;i++)a=0,e=g({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],De(e),p(e)&&(a+=_(e).charsLeftOver,a+=10*_(e).unusedTokens.length,_(e).score=a,(null==r||a<r)&&(r=a,n=e));f(t,n||e)}(t):n?De(t):function(t){var e=t._i;s(e)?t._d=new Date(i.now()):c(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=be.exec(t._i);null===e?(ke(t),!1===t._isValid&&(delete t._isValid,Te(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):a(e)?(t._a=l(e.slice(0),function(t){return parseInt(t,10)}),pe(t)):o(e)?function(t){if(!t._d){var e=P(t._i);t._a=l([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),pe(t)}}(t):u(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),p(t)||(t._d=null),t))}function Se(t,e,n,r,i){var s,u={};return!0!==n&&!1!==n||(r=n,n=void 0),(o(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||a(t)&&0===t.length)&&(t=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=i,u._l=n,u._i=t,u._f=e,u._strict=r,(s=new M(he(Ye(u))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Ee(t,e,n,r){return Se(t,e,n,r,!1)}i.createFromInputFallback=T("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),i.ISO_8601=function(){},i.RFC_2822=function(){};var Ae=T("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Ee.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:m()}),Ce=T("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Ee.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:m()});function je(t,e){var n,r;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return Ee();for(n=e[0],r=1;r<e.length;++r)e[r].isValid()&&!e[r][t](n)||(n=e[r]);return n}var Oe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function He(t){var e=P(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||0,o=e.day||0,s=e.hour||0,u=e.minute||0,c=e.second||0,l=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===Yt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,r=0;r<Oe.length;++r)if(t[Oe[r]]){if(n)return!1;parseFloat(t[Oe[r]])!==L(t[Oe[r]])&&(n=!0)}return!0}(e),this._milliseconds=+l+1e3*c+6e4*u+1e3*s*60*60,this._days=+o+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=fe(),this._bubble()}function Pe(t){return t instanceof He}function Fe(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ne(t,e){q(t,0,0,function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+B(~~(t/60),2)+e+B(~~t%60,2)})}Ne("Z",":"),Ne("ZZ",""),lt("Z",st),lt("ZZ",st),_t(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Re(st,t)});var Be=/([\+\-]|\d\d)/gi;function Re(t,e){var n=(e||"").match(t);if(null===n)return null;var r=n[n.length-1]||[],i=(r+"").match(Be)||["-",0,0],a=60*i[1]+L(i[2]);return 0===a?0:"+"===i[0]?a:-a}function Ie(t,e){var n,r;return e._isUTC?(n=e.clone(),r=(b(t)||c(t)?t.valueOf():Ee(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),i.updateOffset(n,!1),n):Ee(t).local()}function ze(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function We(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var qe=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ve(t,e){var n,r,i,a,o,s,c=t,l=null;return Pe(t)?c={ms:t._milliseconds,d:t._days,M:t._months}:u(t)?(c={},e?c[e]=t:c.milliseconds=t):(l=qe.exec(t))?(n="-"===l[1]?-1:1,c={y:0,d:L(l[vt])*n,h:L(l[Mt])*n,m:L(l[bt])*n,s:L(l[kt])*n,ms:L(Fe(1e3*l[Lt]))*n}):(l=Ue.exec(t))?(n="-"===l[1]?-1:(l[1],1),c={y:$e(l[2],n),M:$e(l[3],n),w:$e(l[4],n),d:$e(l[5],n),h:$e(l[6],n),m:$e(l[7],n),s:$e(l[8],n)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(a=Ee(c.from),o=Ee(c.to),i=a.isValid()&&o.isValid()?(o=Ie(o,a),a.isBefore(o)?s=Ge(a,o):((s=Ge(o,a)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(c={}).ms=i.milliseconds,c.M=i.months),r=new He(c),Pe(t)&&d(t,"_locale")&&(r._locale=t._locale),r}function $e(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Ge(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Je(t,e){return function(n,r){var i;return null===r||isNaN(+r)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=r,r=i),Xe(this,Ve(n="string"==typeof n?+n:n,r),t),this}}function Xe(t,e,n,r){var a=e._milliseconds,o=Fe(e._days),s=Fe(e._months);t.isValid()&&(r=null==r||r,s&&Ft(t,At(t,"Month")+s*n),o&&Ct(t,"Date",At(t,"Date")+o*n),a&&t._d.setTime(t._d.valueOf()+a*n),r&&i.updateOffset(t,o||s))}Ve.fn=He.prototype,Ve.invalid=function(){return Ve(NaN)};var Ze=Je(1,"add"),Ke=Je(-1,"subtract");function Qe(t,e){var n,r,i=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(i,"months");return e-a<0?(n=t.clone().add(i-1,"months"),r=(e-a)/(a-n)):(n=t.clone().add(i+1,"months"),r=(e-a)/(n-a)),-(i+r)||0}function tn(t){var e;return void 0===t?this._locale._abbr:(null!=(e=fe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var en=T("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});function nn(){return this._locale}function rn(t,e){q(0,[t,t.length],0,e)}function an(t,e,n,r,i){var a;return null==t?Ut(this,r,i).year:(a=Vt(t,r,i),e>a&&(e=a),function(t,e,n,r,i){var a=qt(t,e,n,r,i),o=zt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,t,e,n,r,i))}q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),rn("gggg","weekYear"),rn("ggggg","weekYear"),rn("GGGG","isoWeekYear"),rn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),lt("G",at),lt("g",at),lt("GG",K,G),lt("gg",K,G),lt("GGGG",nt,X),lt("gggg",nt,X),lt("GGGGG",rt,Z),lt("ggggg",rt,Z),pt(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,r){e[r.substr(0,2)]=L(t)}),pt(["gg","GG"],function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)}),q("Q",0,"Qo","quarter"),O("quarter","Q"),N("quarter",7),lt("Q",$),_t("Q",function(t,e){e[gt]=3*(L(t)-1)}),q("D",["DD",2],"Do","date"),O("date","D"),N("date",9),lt("D",K),lt("DD",K,G),lt("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),_t(["D","DD"],vt),_t("Do",function(t,e){e[vt]=L(t.match(K)[0])});var on=Et("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),N("dayOfYear",4),lt("DDD",et),lt("DDDD",J),_t(["DDD","DDDD"],function(t,e,n){n._dayOfYear=L(t)}),q("m",["mm",2],0,"minute"),O("minute","m"),N("minute",14),lt("m",K),lt("mm",K,G),_t(["m","mm"],bt);var sn=Et("Minutes",!1);q("s",["ss",2],0,"second"),O("second","s"),N("second",15),lt("s",K),lt("ss",K,G),_t(["s","ss"],kt);var un,cn=Et("Seconds",!1);for(q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),N("millisecond",16),lt("S",et,$),lt("SS",et,G),lt("SSS",et,J),un="SSSS";un.length<=9;un+="S")lt(un,it);function ln(t,e){e[Lt]=L(1e3*("0."+t))}for(un="S";un.length<=9;un+="S")_t(un,ln);var dn=Et("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var fn=M.prototype;function hn(t){return t}fn.add=Ze,fn.calendar=function(t,e){var n=t||Ee(),r=Ie(n,this).startOf("day"),a=i.calendarFormat(this,r)||"sameElse",o=e&&(E(e[a])?e[a].call(this,n):e[a]);return this.format(o||this.localeData().calendar(a,this,Ee(n)))},fn.clone=function(){return new M(this)},fn.diff=function(t,e,n){var r,i,a;if(!this.isValid())return NaN;if(!(r=Ie(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=H(e)){case"year":a=Qe(this,r)/12;break;case"month":a=Qe(this,r);break;case"quarter":a=Qe(this,r)/3;break;case"second":a=(this-r)/1e3;break;case"minute":a=(this-r)/6e4;break;case"hour":a=(this-r)/36e5;break;case"day":a=(this-r-i)/864e5;break;case"week":a=(this-r-i)/6048e5;break;default:a=this-r}return n?a:k(a)},fn.endOf=function(t){return void 0===(t=H(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},fn.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=U(this,t);return this.localeData().postformat(e)},fn.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ee(t).isValid())?Ve({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.fromNow=function(t){return this.from(Ee(),t)},fn.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ee(t).isValid())?Ve({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},fn.toNow=function(t){return this.to(Ee(),t)},fn.get=function(t){return E(this[t=H(t)])?this[t]():this},fn.invalidAt=function(){return _(this).overflow},fn.isAfter=function(t,e){var n=b(t)?t:Ee(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=H(s(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())},fn.isBefore=function(t,e){var n=b(t)?t:Ee(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=H(s(e)?"millisecond":e))?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())},fn.isBetween=function(t,e,n,r){return("("===(r=r||"()")[0]?this.isAfter(t,n):!this.isBefore(t,n))&&(")"===r[1]?this.isBefore(e,n):!this.isAfter(e,n))},fn.isSame=function(t,e){var n,r=b(t)?t:Ee(t);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=H(e||"millisecond"))?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))},fn.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},fn.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},fn.isValid=function(){return p(this)},fn.lang=en,fn.locale=tn,fn.localeData=nn,fn.max=Ce,fn.min=Ae,fn.parsingFlags=function(){return f({},_(this))},fn.set=function(t,e){if("object"==typeof t)for(var n=function(t){var e=[];for(var n in t)e.push({unit:n,priority:F[n]});return e.sort(function(t,e){return t.priority-e.priority}),e}(t=P(t)),r=0;r<n.length;r++)this[n[r].unit](t[n[r].unit]);else if(E(this[t=H(t)]))return this[t](e);return this},fn.startOf=function(t){switch(t=H(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t&&this.weekday(0),"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},fn.subtract=Ke,fn.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},fn.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},fn.toDate=function(){return new Date(this.valueOf())},fn.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,n=e?this.clone().utc():this;return n.year()<0||n.year()>9999?U(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},fn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=e+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+i)},fn.toJSON=function(){return this.isValid()?this.toISOString():null},fn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},fn.unix=function(){return Math.floor(this.valueOf()/1e3)},fn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},fn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},fn.year=St,fn.isLeapYear=function(){return Dt(this.year())},fn.weekYear=function(t){return an.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},fn.isoWeekYear=function(t){return an.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},fn.quarter=fn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},fn.month=Nt,fn.daysInMonth=function(){return jt(this.year(),this.month())},fn.week=fn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},fn.isoWeek=fn.isoWeeks=function(t){var e=Ut(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},fn.weeksInYear=function(){var t=this.localeData()._week;return Vt(this.year(),t.dow,t.doy)},fn.isoWeeksInYear=function(){return Vt(this.year(),1,4)},fn.date=on,fn.day=fn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},fn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},fn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},fn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},fn.hour=fn.hours=ie,fn.minute=fn.minutes=sn,fn.second=fn.seconds=cn,fn.millisecond=fn.milliseconds=dn,fn.utcOffset=function(t,e,n){var r,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Re(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=ze(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),a!==t&&(!e||this._changeInProgress?Xe(this,Ve(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:ze(this)},fn.utc=function(t){return this.utcOffset(0,t)},fn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(ze(this),"m")),this},fn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Re(ot,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},fn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ee(t).utcOffset():0,(this.utcOffset()-t)%60==0)},fn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},fn.isLocal=function(){return!!this.isValid()&&!this._isUTC},fn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},fn.isUtc=We,fn.isUTC=We,fn.zoneAbbr=function(){return this._isUTC?"UTC":""},fn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},fn.dates=T("dates accessor is deprecated. Use date instead.",on),fn.months=T("months accessor is deprecated. Use month instead",Nt),fn.years=T("years accessor is deprecated. Use year instead",St),fn.zone=T("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()}),fn.isDSTShifted=T("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(g(t,this),(t=Ye(t))._a){var e=t._isUTC?h(t._a):Ee(t._a);this._isDSTShifted=this.isValid()&&w(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var _n=C.prototype;function pn(t,e,n,r){var i=fe(),a=h().set(r,e);return i[n](a,t)}function mn(t,e,n){if(u(t)&&(e=t,t=void 0),t=t||"",null!=e)return pn(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=pn(t,r,n,"month");return i}function yn(t,e,n,r){"boolean"==typeof t?(u(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,u(e)&&(n=e,e=void 0),e=e||"");var i,a=fe(),o=t?a._week.dow:0;if(null!=n)return pn(e,(n+o)%7,r,"day");var s=[];for(i=0;i<7;i++)s[i]=pn(e,(i+o)%7,r,"day");return s}_n.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return E(r)?r.call(e,n):r},_n.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},_n.invalidDate=function(){return this._invalidDate},_n.ordinal=function(t){return this._ordinal.replace("%d",t)},_n.preparse=hn,_n.postformat=hn,_n.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return E(i)?i(t,e,n,r):i.replace(/%d/i,t)},_n.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return E(n)?n(e):n.replace(/%s/i,e)},_n.set=function(t){var e,n;for(n in t)E(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},_n.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Ot).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},_n.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Ot.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},_n.monthsParse=function(t,e,n){var r,i,a;if(this._monthsParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)a=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=Yt.call(this._shortMonthsParse,o))?i:null:-1!==(i=Yt.call(this._longMonthsParse,o))?i:null:"MMM"===e?-1!==(i=Yt.call(this._shortMonthsParse,o))?i:-1!==(i=Yt.call(this._longMonthsParse,o))?i:null:-1!==(i=Yt.call(this._longMonthsParse,o))?i:-1!==(i=Yt.call(this._shortMonthsParse,o))?i:null}.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},_n.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||It.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Rt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},_n.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||It.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Bt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},_n.week=function(t){return Ut(t,this._week.dow,this._week.doy).week},_n.firstDayOfYear=function(){return this._week.doy},_n.firstDayOfWeek=function(){return this._week.dow},_n.weekdays=function(t,e){return t?a(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone},_n.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},_n.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},_n.weekdaysParse=function(t,e,n){var r,i,a;if(this._weekdaysParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=Yt.call(this._weekdaysParse,o))?i:null:"ddd"===e?-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:null:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:null:"dddd"===e?-1!==(i=Yt.call(this._weekdaysParse,o))?i:-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:null:"ddd"===e?-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:-1!==(i=Yt.call(this._weekdaysParse,o))?i:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:null:-1!==(i=Yt.call(this._minWeekdaysParse,o))?i:-1!==(i=Yt.call(this._weekdaysParse,o))?i:-1!==(i=Yt.call(this._shortWeekdaysParse,o))?i:null}.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},_n.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Xt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},_n.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Zt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},_n.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Kt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},_n.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},_n.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},le("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===L(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),i.lang=T("moment.lang is deprecated. Use moment.locale instead.",le),i.langData=T("moment.langData is deprecated. Use moment.localeData instead.",fe);var gn=Math.abs;function vn(t,e,n,r){var i=Ve(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function Mn(t){return t<0?Math.floor(t):Math.ceil(t)}function bn(t){return 4800*t/146097}function kn(t){return 146097*t/4800}function Ln(t){return function(){return this.as(t)}}var wn=Ln("ms"),xn=Ln("s"),Tn=Ln("m"),Dn=Ln("h"),Yn=Ln("d"),Sn=Ln("w"),En=Ln("M"),An=Ln("y");function Cn(t){return function(){return this.isValid()?this._data[t]:NaN}}var jn=Cn("milliseconds"),On=Cn("seconds"),Hn=Cn("minutes"),Pn=Cn("hours"),Fn=Cn("days"),Nn=Cn("months"),Bn=Cn("years"),Rn=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11},zn=Math.abs;function Wn(t){return(t>0)-(t<0)||+t}function qn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=zn(this._milliseconds)/1e3,r=zn(this._days),i=zn(this._months);t=k(n/60),e=k(t/60),n%=60,t%=60;var a=k(i/12),o=i%=12,s=r,u=e,c=t,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var f=d<0?"-":"",h=Wn(this._months)!==Wn(d)?"-":"",_=Wn(this._days)!==Wn(d)?"-":"",p=Wn(this._milliseconds)!==Wn(d)?"-":"";return f+"P"+(a?h+a+"Y":"")+(o?h+o+"M":"")+(s?_+s+"D":"")+(u||c||l?"T":"")+(u?p+u+"H":"")+(c?p+c+"M":"")+(l?p+l+"S":"")}var Un=He.prototype;return Un.isValid=function(){return this._isValid},Un.abs=function(){var t=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),t.milliseconds=gn(t.milliseconds),t.seconds=gn(t.seconds),t.minutes=gn(t.minutes),t.hours=gn(t.hours),t.months=gn(t.months),t.years=gn(t.years),this},Un.add=function(t,e){return vn(this,t,e,1)},Un.subtract=function(t,e){return vn(this,t,e,-1)},Un.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=H(t))||"year"===t)return e=this._days+r/864e5,n=this._months+bn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(kn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Un.asMilliseconds=wn,Un.asSeconds=xn,Un.asMinutes=Tn,Un.asHours=Dn,Un.asDays=Yn,Un.asWeeks=Sn,Un.asMonths=En,Un.asYears=An,Un.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12):NaN},Un._bubble=function(){var t,e,n,r,i,a=this._milliseconds,o=this._days,s=this._months,u=this._data;return a>=0&&o>=0&&s>=0||a<=0&&o<=0&&s<=0||(a+=864e5*Mn(kn(s)+o),o=0,s=0),u.milliseconds=a%1e3,t=k(a/1e3),u.seconds=t%60,e=k(t/60),u.minutes=e%60,n=k(e/60),u.hours=n%24,o+=k(n/24),i=k(bn(o)),s+=i,o-=Mn(kn(i)),r=k(s/12),s%=12,u.days=o,u.months=s,u.years=r,this},Un.clone=function(){return Ve(this)},Un.get=function(t){return t=H(t),this.isValid()?this[t+"s"]():NaN},Un.milliseconds=jn,Un.seconds=On,Un.minutes=Hn,Un.hours=Pn,Un.days=Fn,Un.weeks=function(){return k(this.days()/7)},Un.months=Nn,Un.years=Bn,Un.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=function(t,e,n){var r=Ve(t).abs(),i=Rn(r.as("s")),a=Rn(r.as("m")),o=Rn(r.as("h")),s=Rn(r.as("d")),u=Rn(r.as("M")),c=Rn(r.as("y")),l=i<=In.ss&&["s",i]||i<In.s&&["ss",i]||a<=1&&["m"]||a<In.m&&["mm",a]||o<=1&&["h"]||o<In.h&&["hh",o]||s<=1&&["d"]||s<In.d&&["dd",s]||u<=1&&["M"]||u<In.M&&["MM",u]||c<=1&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}.apply(null,l)}(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},Un.toISOString=qn,Un.toString=qn,Un.toJSON=qn,Un.locale=tn,Un.localeData=nn,Un.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",qn),Un.lang=en,q("X",0,0,"unix"),q("x",0,0,"valueOf"),lt("x",at),lt("X",/[+-]?\d+(\.\d{1,3})?/),_t("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),_t("x",function(t,e,n){n._d=new Date(L(t))}),i.version="2.21.0",e=Ee,i.fn=fn,i.min=function(){return je("isBefore",[].slice.call(arguments,0))},i.max=function(){return je("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(t){return Ee(1e3*t)},i.months=function(t,e){return mn(t,e,"months")},i.isDate=c,i.locale=le,i.invalid=m,i.duration=Ve,i.isMoment=b,i.weekdays=function(t,e,n){return yn(t,e,n,"weekdays")},i.parseZone=function(){return Ee.apply(null,arguments).parseZone()},i.localeData=fe,i.isDuration=Pe,i.monthsShort=function(t,e){return mn(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return yn(t,e,n,"weekdaysMin")},i.defineLocale=de,i.updateLocale=function(t,e){if(null!=e){var n,r,i=ae;null!=(r=ce(t))&&(i=r._config),e=A(i,e),(n=new C(e)).parentLocale=oe[t],oe[t]=n,le(t)}else null!=oe[t]&&(null!=oe[t].parentLocale?oe[t]=oe[t].parentLocale:null!=oe[t]&&delete oe[t]);return oe[t]},i.locales=function(){return D(oe)},i.weekdaysShort=function(t,e,n){return yn(t,e,n,"weekdaysShort")},i.normalizeUnits=H,i.relativeTimeRounding=function(t){return void 0===t?Rn:"function"==typeof t&&(Rn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==In[t]&&(void 0===e?In[t]:(In[t]=e,"s"===t&&(In.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=fn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,n(4)(t))},function(t,e,n){var r;try{r=n(8)}catch(t){}r||(r=window._),t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setLogLevel=e.logger=e.LEVELS=void 0;var r,i=n(0),a=(r=i)&&r.__esModule?r:{default:r};var o=e.LEVELS={debug:1,info:2,warn:3,error:4,fatal:5},s=e.logger={debug:function(){},info:function(){},warn:function(){},error:function(){},fatal:function(){}},u=(e.setLogLevel=function(t){s.debug=function(){},s.info=function(){},s.warn=function(){},s.error=function(){},s.fatal=function(){},t<=o.fatal&&(s.fatal=console.log.bind(console,"",u("FATAL"))),t<=o.error&&(s.error=console.log.bind(console,"",u("ERROR"))),t<=o.warn&&(s.warn=console.log.bind(console,"",u("WARN"))),t<=o.info&&(s.info=console.log.bind(console,"",u("INFO"))),t<=o.debug&&(s.debug=console.log.bind(console,"",u("DEBUG")))},function(t){return(0,a.default)().format("HH:mm:ss.SSS")+" : "+t+" : "})},function(t,e,n){"use strict";n.r(e);var r=function(t,e){return t<e?-1:t>e?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<i;){var a=r+i>>>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<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var a=i(r),o=a.right,s=a.left,u=o,c=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);n<r;)a[n]=e(i,i=t[++n]);return a};function l(t,e){return[t,e]}var d=function(t,e,n){var r,i,a,o,s=t.length,u=e.length,c=new Array(s*u);for(null==n&&(n=l),r=a=0;r<s;++r)for(o=t[r],i=0;i<u;++i,++a)c[a]=n(o,e[i]);return c},f=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},h=function(t){return null===t?NaN:+t},_=function(t,e){var n,r,i=t.length,a=0,o=-1,s=0,u=0;if(null==e)for(;++o<i;)isNaN(n=h(t[o]))||(u+=(r=n-s)*(n-(s+=r/++a)));else for(;++o<i;)isNaN(n=h(e(t[o],o,t)))||(u+=(r=n-s)*(n-(s+=r/++a)));if(a>1)return u/(a-1)},p=function(t,e){var n=_(t,e);return n?Math.sqrt(n):n},m=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(n=t[o])&&n>=n)for(r=i=n;++o<a;)null!=(n=t[o])&&(r>n&&(r=n),i<n&&(i=n))}else for(;++o<a;)if(null!=(n=e(t[o],o,t))&&n>=n)for(r=i=n;++o<a;)null!=(n=e(t[o],o,t))&&(r>n&&(r=n),i<n&&(i=n));return[r,i]},y=Array.prototype,g=y.slice,v=y.map,M=function(t){return function(){return t}},b=function(t){return t},k=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(i);++r<i;)a[r]=t+r*n;return a},L=Math.sqrt(50),w=Math.sqrt(10),x=Math.sqrt(2),T=function(t,e,n){var r,i,a,o,s=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),0===(o=D(t,e,n))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return r&&a.reverse(),a};function D(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=L?10:a>=w?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=L?10:a>=w?5:a>=x?2:1)}function Y(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>=L?i*=10:a>=w?i*=5:a>=x&&(i*=2),e<t?-i:i}var S=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},E=function(){var t=b,e=m,n=S;function r(r){var i,a,o=r.length,s=new Array(o);for(i=0;i<o;++i)s[i]=t(r[i],i,r);var c=e(s),l=c[0],d=c[1],f=n(s,l,d);Array.isArray(f)||(f=Y(l,d,f),f=k(Math.ceil(l/f)*f,Math.floor(d/f)*f,f));for(var h=f.length;f[0]<=l;)f.shift(),--h;for(;f[h-1]>d;)f.pop(),--h;var _,p=new Array(h+1);for(i=0;i<=h;++i)(_=p[i]=[]).x0=i>0?f[i-1]:l,_.x1=i<h?f[i]:d;for(i=0;i<o;++i)l<=(a=s[i])&&a<=d&&p[u(f,a,0,h)].push(r[i]);return p}return r.value=function(e){return arguments.length?(t="function"==typeof e?e:M(e),r):t},r.domain=function(t){return arguments.length?(e="function"==typeof t?t:M([t[0],t[1]]),r):e},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?M(g.call(t)):M(t),r):n},r},A=function(t,e,n){if(null==n&&(n=h),r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=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)}},C=function(t,e,n){return t=v.call(t,h).sort(r),Math.ceil((n-e)/(2*(A(t,.75)-A(t,.25))*Math.pow(t.length,-1/3)))},j=function(t,e,n){return Math.ceil((n-e)/(3.5*p(t)*Math.pow(t.length,-1/3)))},O=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&n>r&&(r=n);return r},H=function(t,e){var n,r=t.length,i=r,a=-1,o=0;if(null==e)for(;++a<r;)isNaN(n=h(t[a]))?--i:o+=n;else for(;++a<r;)isNaN(n=h(e(t[a],a,t)))?--i:o+=n;if(i)return o/i},P=function(t,e){var n,i=t.length,a=-1,o=[];if(null==e)for(;++a<i;)isNaN(n=h(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=h(e(t[a],a,t)))||o.push(n);return A(o.sort(r),.5)},F=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n},N=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&r>n&&(r=n);return r},B=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},R=function(t,e){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==e&&(e=r);++a<n;)(e(i=t[a],s)<0||0!==e(s,s))&&(s=i,o=a);return 0===e(s,s)?o:void 0}},I=function(t,e,n){for(var r,i,a=(null==n?t.length:n)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},z=function(t,e){var n,r=t.length,i=-1,a=0;if(null==e)for(;++i<r;)(n=+t[i])&&(a+=n);else for(;++i<r;)(n=+e(t[i],i,t))&&(a+=n);return a},W=function(t){if(!(i=t.length))return[];for(var e=-1,n=N(t,q),r=new Array(n);++e<n;)for(var i,a=-1,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r};function q(t){return t.length}var U=function(){return W(arguments)},V=Array.prototype.slice,$=function(t){return t},G=1,J=2,X=3,Z=4,K=1e-6;function Q(t){return"translate("+(t+.5)+",0)"}function tt(t){return"translate(0,"+(t+.5)+")"}function et(){return!this.__axis}function nt(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,u=t===G||t===Z?-1:1,c=t===Z||t===J?"x":"y",l=t===G||t===X?Q:tt;function d(d){var f=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,h=null==i?e.tickFormat?e.tickFormat.apply(e,n):$:i,_=Math.max(a,0)+s,p=e.range(),m=+p[0]+.5,y=+p[p.length-1]+.5,g=(e.bandwidth?function(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}:function(t){return function(e){return+t(e)}})(e.copy()),v=d.selection?d.selection():d,M=v.selectAll(".domain").data([null]),b=v.selectAll(".tick").data(f,e).order(),k=b.exit(),L=b.enter().append("g").attr("class","tick"),w=b.select("line"),x=b.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),b=b.merge(L),w=w.merge(L.append("line").attr("stroke","#000").attr(c+"2",u*a)),x=x.merge(L.append("text").attr("fill","#000").attr(c,u*_).attr("dy",t===G?"0em":t===X?"0.71em":"0.32em")),d!==v&&(M=M.transition(d),b=b.transition(d),w=w.transition(d),x=x.transition(d),k=k.transition(d).attr("opacity",K).attr("transform",function(t){return isFinite(t=g(t))?l(t):this.getAttribute("transform")}),L.attr("opacity",K).attr("transform",function(t){var e=this.parentNode.__axis;return l(e&&isFinite(e=e(t))?e:g(t))})),k.remove(),M.attr("d",t===Z||t==J?"M"+u*o+","+m+"H0.5V"+y+"H"+u*o:"M"+m+","+u*o+"V0.5H"+y+"V"+u*o),b.attr("opacity",1).attr("transform",function(t){return l(g(t))}),w.attr(c+"2",u*a),x.attr(c,u*_).text(h),v.filter(et).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===J?"start":t===Z?"end":"middle"),v.each(function(){this.__axis=g})}return d.scale=function(t){return arguments.length?(e=t,d):e},d.ticks=function(){return n=V.call(arguments),d},d.tickArguments=function(t){return arguments.length?(n=null==t?[]:V.call(t),d):n.slice()},d.tickValues=function(t){return arguments.length?(r=null==t?null:V.call(t),d):r&&r.slice()},d.tickFormat=function(t){return arguments.length?(i=t,d):i},d.tickSize=function(t){return arguments.length?(a=o=+t,d):a},d.tickSizeInner=function(t){return arguments.length?(a=+t,d):a},d.tickSizeOuter=function(t){return arguments.length?(o=+t,d):o},d.tickPadding=function(t){return arguments.length?(s=+t,d):s},d}function rt(t){return nt(G,t)}function it(t){return nt(J,t)}function at(t){return nt(X,t)}function ot(t){return nt(Z,t)}var st={value:function(){}};function ut(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new ct(r)}function ct(t){this._=t}function lt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function dt(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=st,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}ct.prototype=ut.prototype={constructor:ct,on:function(t,e){var n,r,i=this._,a=(r=i,(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o<s;)if(n=(t=a[o]).type)i[n]=dt(i[n],t.name,e);else if(null==e)for(n in i)i[n]=dt(i[n],t.name,null);return this}for(;++o<s;)if((n=(t=a[o]).type)&&(n=lt(i[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ct(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),a=0;a<n;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,n=(r=this._[t]).length;a<n;++a)r[a].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};var ft=ut,ht="http://www.w3.org/1999/xhtml",_t={svg:"http://www.w3.org/2000/svg",xhtml:ht,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},pt=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),_t.hasOwnProperty(e)?{space:_t[e],local:t}:t};var mt=function(t){var e=pt(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===ht&&e.documentElement.namespaceURI===ht?e.createElement(t):e.createElementNS(n,t)}})(e)};function yt(){}var gt=function(t){return null==t?yt:function(){return this.querySelector(t)}};function vt(){return[]}var Mt=function(t){return null==t?vt:function(){return this.querySelectorAll(t)}},bt=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var kt=document.documentElement;if(!kt.matches){var Lt=kt.webkitMatchesSelector||kt.msMatchesSelector||kt.mozMatchesSelector||kt.oMatchesSelector;bt=function(t){return function(){return Lt.call(this,t)}}}}var wt=bt,xt=function(t){return new Array(t.length)};function Tt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Tt.prototype={constructor:Tt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var Dt="$";function Yt(t,e,n,r,i,a){for(var o,s=0,u=e.length,c=a.length;s<c;++s)(o=e[s])?(o.__data__=a[s],r[s]=o):n[s]=new Tt(t,a[s]);for(;s<u;++s)(o=e[s])&&(i[s]=o)}function St(t,e,n,r,i,a,o){var s,u,c,l={},d=e.length,f=a.length,h=new Array(d);for(s=0;s<d;++s)(u=e[s])&&(h[s]=c=Dt+o.call(u,u.__data__,s,e),c in l?i[s]=u:l[c]=u);for(s=0;s<f;++s)(u=l[c=Dt+o.call(t,a[s],s,a)])?(r[s]=u,u.__data__=a[s],l[c]=null):n[s]=new Tt(t,a[s]);for(s=0;s<d;++s)(u=e[s])&&l[h[s]]===u&&(i[s]=u)}function Et(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var At=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Ct(t,e){return t.style.getPropertyValue(e)||At(t).getComputedStyle(t,null).getPropertyValue(e)}function jt(t){return t.trim().split(/^|\s+/)}function Ot(t){return t.classList||new Ht(t)}function Ht(t){this._node=t,this._names=jt(t.getAttribute("class")||"")}function Pt(t,e){for(var n=Ot(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function Ft(t,e){for(var n=Ot(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}Ht.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Nt(){this.textContent=""}function Bt(){this.innerHTML=""}function Rt(){this.nextSibling&&this.parentNode.appendChild(this)}function It(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zt(){return null}function Wt(){var t=this.parentNode;t&&t.removeChild(this)}function qt(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Ut(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var Vt={},$t=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Vt={mouseenter:"mouseover",mouseleave:"mouseout"}));function Gt(t,e,n){return t=Jt(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function Jt(t,e,n){return function(r){var i=$t;$t=r;try{t.call(this,this.__data__,e,n)}finally{$t=i}}}function Xt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r<a;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?e.length=i:delete this.__on}}}function Zt(t,e,n){var r=Vt.hasOwnProperty(t.type)?Gt:Jt;return function(i,a,o){var s,u=this.__on,c=r(e,a,o);if(u)for(var l=0,d=u.length;l<d;++l)if((s=u[l]).type===t.type&&s.name===t.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=c,s.capture=n),void(s.value=e);this.addEventListener(t.type,c,n),s={type:t.type,name:t.name,value:e,listener:c,capture:n},u?u.push(s):this.__on=[s]}}function Kt(t,e,n,r){var i=$t;t.sourceEvent=$t,$t=t;try{return e.apply(n,r)}finally{$t=i}}function Qt(t,e,n){var r=At(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}var te=[null];function ee(t,e){this._groups=t,this._parents=e}function ne(){return new ee([[document.documentElement]],te)}ee.prototype=ne.prototype={constructor:ee,select:function(t){"function"!=typeof t&&(t=gt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o,s=e[i],u=s.length,c=r[i]=new Array(u),l=0;l<u;++l)(a=s[l])&&(o=t.call(a,a.__data__,l,s))&&("__data__"in a&&(o.__data__=a.__data__),c[l]=o);return new ee(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=Mt(t));for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a)for(var o,s=e[a],u=s.length,c=0;c<u;++c)(o=s[c])&&(r.push(t.call(o,o.__data__,c,s)),i.push(o));return new ee(r,i)},filter:function(t){"function"!=typeof t&&(t=wt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,u=r[i]=[],c=0;c<s;++c)(a=o[c])&&t.call(a,a.__data__,c,o)&&u.push(a);return new ee(r,this._parents)},data:function(t,e){if(!t)return _=new Array(this.size()),l=-1,this.each(function(t){_[++l]=t}),_;var n,r=e?St:Yt,i=this._parents,a=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var o=a.length,s=new Array(o),u=new Array(o),c=new Array(o),l=0;l<o;++l){var d=i[l],f=a[l],h=f.length,_=t.call(d,d&&d.__data__,l,i),p=_.length,m=u[l]=new Array(p),y=s[l]=new Array(p);r(d,f,m,y,c[l]=new Array(h),_,e);for(var g,v,M=0,b=0;M<p;++M)if(g=m[M]){for(M>=b&&(b=M+1);!(v=y[b])&&++b<p;);g._next=v||null}}return(s=new ee(s,i))._enter=u,s._exit=c,s},enter:function(){return new ee(this._enter||this._groups.map(xt),this._parents)},exit:function(){return new ee(this._exit||this._groups.map(xt),this._parents)},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var u,c=e[s],l=n[s],d=c.length,f=o[s]=new Array(d),h=0;h<d;++h)(u=c[h]||l[h])&&(f[h]=u);for(;s<r;++s)o[s]=e[s];return new ee(o,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&o!==r.nextSibling&&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=Et);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o,s=n[a],u=s.length,c=i[a]=new Array(u),l=0;l<u;++l)(o=s[l])&&(c[l]=o);c.sort(e)}return new ee(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),e=-1;return this.each(function(){t[++e]=this}),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,a=e[n],o=0,s=a.length;o<s;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,e){var n=pt(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(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)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):Ct(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=jt(t+"");if(arguments.length<2){for(var r=Ot(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?Pt:Ft)(this,t)}}:e?function(t){return function(){Pt(this,t)}}:function(t){return function(){Ft(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?Nt:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Bt:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(Rt)},lower:function(){return this.each(It)},append:function(t){var e="function"==typeof t?t:mt(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:mt(t),r=null==e?zt:"function"==typeof e?e:gt(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(Wt)},clone:function(t){return this.select(t?Ut:qt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,a=function(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}})}(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?Zt:Xt,null==n&&(n=!1),r=0;r<o;++r)this.each(s(a[r],e,n));return this}var s=this.node().__on;if(s)for(var u,c=0,l=s.length;c<l;++c)for(r=0,u=s[c];r<o;++r)if((i=a[r]).type===u.type&&i.name===u.name)return u.value},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return Qt(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return Qt(this,t,e)}})(t,e))}};var re=ne,ie=function(t){return"string"==typeof t?new ee([[document.querySelector(t)]],[document.documentElement]):new ee([[t]],te)},ae=function(t){return ie(mt(t).call(document.documentElement))},oe=0;function se(){return new ue}function ue(){this._="@"+(++oe).toString(36)}ue.prototype=se.prototype={constructor:ue,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 ce=function(){for(var t,e=$t;t=e.sourceEvent;)e=t;return e},le=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]},de=function(t){var e=ce();return e.changedTouches&&(e=e.changedTouches[0]),le(t,e)},fe=function(t){return"string"==typeof t?new ee([document.querySelectorAll(t)],[document.documentElement]):new ee([null==t?[]:t],te)},he=function(t,e,n){arguments.length<3&&(n=e,e=ce().changedTouches);for(var r,i=0,a=e?e.length:0;i<a;++i)if((r=e[i]).identifier===n)return le(t,r);return null},_e=function(t,e){null==e&&(e=ce().touches);for(var n=0,r=e?e.length:0,i=new Array(r);n<r;++n)i[n]=le(t,e[n]);return i};function pe(){$t.stopImmediatePropagation()}var me=function(){$t.preventDefault(),$t.stopImmediatePropagation()},ye=function(t){var e=t.document.documentElement,n=ie(t).on("dragstart.drag",me,!0);"onselectstart"in e?n.on("selectstart.drag",me,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")};function ge(t,e){var n=t.document.documentElement,r=ie(t).on("dragstart.drag",null);e&&(r.on("click.drag",me,!0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var ve=function(t){return function(){return t}};function Me(t,e,n,r,i,a,o,s,u,c){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=u,this._=c}function be(){return!$t.button}function ke(){return this.parentNode}function Le(t){return null==t?{x:$t.x,y:$t.y}:t}function we(){return"ontouchstart"in this}Me.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var xe=function(){var t,e,n,r,i=be,a=ke,o=Le,s=we,u={},c=ft("start","drag","end"),l=0,d=0;function f(t){t.on("mousedown.drag",h).filter(s).on("touchstart.drag",m).on("touchmove.drag",y).on("touchend.drag touchcancel.drag",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(){if(!r&&i.apply(this,arguments)){var o=v("mouse",a.apply(this,arguments),de,this,arguments);o&&(ie($t.view).on("mousemove.drag",_,!0).on("mouseup.drag",p,!0),ye($t.view),pe(),n=!1,t=$t.clientX,e=$t.clientY,o("start"))}}function _(){if(me(),!n){var r=$t.clientX-t,i=$t.clientY-e;n=r*r+i*i>d}u.mouse("drag")}function p(){ie($t.view).on("mousemove.drag mouseup.drag",null),ge($t.view,n),me(),u.mouse("end")}function m(){if(i.apply(this,arguments)){var t,e,n=$t.changedTouches,r=a.apply(this,arguments),o=n.length;for(t=0;t<o;++t)(e=v(n[t].identifier,r,he,this,arguments))&&(pe(),e("start"))}}function y(){var t,e,n=$t.changedTouches,r=n.length;for(t=0;t<r;++t)(e=u[n[t].identifier])&&(me(),e("drag"))}function g(){var t,e,n=$t.changedTouches,i=n.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(e=u[n[t].identifier])&&(pe(),e("end"))}function v(t,e,n,r,i){var a,s,d,h=n(e,t),_=c.copy();if(Kt(new Me(f,"beforestart",a,t,l,h[0],h[1],0,0,_),function(){return null!=($t.subject=a=o.apply(r,i))&&(s=a.x-h[0]||0,d=a.y-h[1]||0,!0)}))return function o(c){var p,m=h;switch(c){case"start":u[t]=o,p=l++;break;case"end":delete u[t],--l;case"drag":h=n(e,t),p=l}Kt(new Me(f,c,a,t,p,h[0]+s,h[1]+d,h[0]-m[0],h[1]-m[1],_),_.apply,_,[c,r,i])}}return f.filter=function(t){return arguments.length?(i="function"==typeof t?t:ve(!!t),f):i},f.container=function(t){return arguments.length?(a="function"==typeof t?t:ve(t),f):a},f.subject=function(t){return arguments.length?(o="function"==typeof t?t:ve(t),f):o},f.touchable=function(t){return arguments.length?(s="function"==typeof t?t:ve(!!t),f):s},f.on=function(){var t=c.on.apply(c,arguments);return t===c?f:t},f.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,f):Math.sqrt(d)},f},Te=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t};function De(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Ye(){}var Se="\\s*([+-]?\\d+)\\s*",Ee="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ae="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ce=/^#([0-9a-f]{3})$/,je=/^#([0-9a-f]{6})$/,Oe=new RegExp("^rgb\\("+[Se,Se,Se]+"\\)$"),He=new RegExp("^rgb\\("+[Ae,Ae,Ae]+"\\)$"),Pe=new RegExp("^rgba\\("+[Se,Se,Se,Ee]+"\\)$"),Fe=new RegExp("^rgba\\("+[Ae,Ae,Ae,Ee]+"\\)$"),Ne=new RegExp("^hsl\\("+[Ee,Ae,Ae]+"\\)$"),Be=new RegExp("^hsla\\("+[Ee,Ae,Ae,Ee]+"\\)$"),Re={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Ie(t){var e;return t=(t+"").trim().toLowerCase(),(e=Ce.exec(t))?new Ve((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=je.exec(t))?ze(parseInt(e[1],16)):(e=Oe.exec(t))?new Ve(e[1],e[2],e[3],1):(e=He.exec(t))?new Ve(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Pe.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=Ne.exec(t))?$e(e[1],e[2]/100,e[3]/100,1):(e=Be.exec(t))?$e(e[1],e[2]/100,e[3]/100,e[4]):Re.hasOwnProperty(t)?ze(Re[t]):"transparent"===t?new Ve(NaN,NaN,NaN,0):null}function ze(t){return new Ve(t>>16&255,t>>8&255,255&t,1)}function We(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ve(t,e,n,r)}function qe(t){return t instanceof Ye||(t=Ie(t)),t?new Ve((t=t.rgb()).r,t.g,t.b,t.opacity):new Ve}function Ue(t,e,n,r){return 1===arguments.length?qe(t):new Ve(t,e,n,null==r?1:r)}function Ve(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function $e(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Je(t,e,n,r)}function Ge(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof Je)return new Je(t.h,t.s,t.l,t.opacity);if(t instanceof Ye||(t=Ie(t)),!t)return new Je;if(t instanceof Je)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,u=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n<r):n===a?(r-e)/s+2:(e-n)/s+4,s/=u<.5?a+i:2-a-i,o*=60):s=u>0&&u<1?0:o,new Je(o,s,u,t.opacity)}(t):new Je(t,e,n,null==r?1:r)}function Je(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Xe(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Te(Ye,Ie,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),Te(Ve,Ue,De(Ye,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ve(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ve(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),Te(Je,Ge,De(Ye,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Je(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Je(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 Ve(Xe(t>=240?t-240:t+120,i,r),Xe(t,i,r),Xe(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}}));var Ze=Math.PI/180,Ke=180/Math.PI,Qe=.95047,tn=1,en=1.08883,nn=4/29,rn=6/29,an=3*rn*rn,on=rn*rn*rn;function sn(t){if(t instanceof cn)return new cn(t.l,t.a,t.b,t.opacity);if(t instanceof pn){var e=t.h*Ze;return new cn(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof Ve||(t=qe(t));var n=hn(t.r),r=hn(t.g),i=hn(t.b),a=ln((.4124564*n+.3575761*r+.1804375*i)/Qe),o=ln((.2126729*n+.7151522*r+.072175*i)/tn);return new cn(116*o-16,500*(a-o),200*(o-ln((.0193339*n+.119192*r+.9503041*i)/en)),t.opacity)}function un(t,e,n,r){return 1===arguments.length?sn(t):new cn(t,e,n,null==r?1:r)}function cn(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function ln(t){return t>on?Math.pow(t,1/3):t/an+nn}function dn(t){return t>rn?t*t*t:an*(t-nn)}function fn(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function hn(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _n(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof pn)return new pn(t.h,t.c,t.l,t.opacity);t instanceof cn||(t=sn(t));var e=Math.atan2(t.b,t.a)*Ke;return new pn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new pn(t,e,n,null==r?1:r)}function pn(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}Te(cn,un,De(Ye,{brighter:function(t){return new cn(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new cn(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return t=tn*dn(t),new Ve(fn(3.2404542*(e=Qe*dn(e))-1.5371385*t-.4985314*(n=en*dn(n))),fn(-.969266*e+1.8760108*t+.041556*n),fn(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}})),Te(pn,_n,De(Ye,{brighter:function(t){return new pn(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new pn(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return sn(this).rgb()}}));var mn=-.29227,yn=-.90649,gn=1.97294,vn=gn*yn,Mn=1.78277*gn,bn=1.78277*mn- -.14861*yn;function kn(t,e,n,r){return 1===arguments.length?function(t){if(t instanceof Ln)return new Ln(t.h,t.s,t.l,t.opacity);t instanceof Ve||(t=qe(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(bn*r+vn*e-Mn*n)/(bn+vn-Mn),a=r-i,o=(gn*(n-i)-mn*a)/yn,s=Math.sqrt(o*o+a*a)/(gn*i*(1-i)),u=s?Math.atan2(o,a)*Ke-120:NaN;return new Ln(u<0?u+360:u,s,i,t.opacity)}(t):new Ln(t,e,n,null==r?1:r)}function Ln(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function wn(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}Te(Ln,kn,De(Ye,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ln(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ln(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Ze,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Ve(255*(e+n*(-.14861*r+1.78277*i)),255*(e+n*(mn*r+yn*i)),255*(e+n*(gn*r)),this.opacity)}}));var xn=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=r<e-1?t[r+2]:2*a-i;return wn((n-r/e)*e,o,i,a,s)}},Tn=function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return wn((n-r/e)*e,i,a,o,s)}},Dn=function(t){return function(){return t}};function Yn(t,e){return function(n){return t+n*e}}function Sn(t,e){var n=e-t;return n?Yn(t,n>180||n<-180?n-360*Math.round(n/360):n):Dn(isNaN(t)?e:t)}function En(t){return 1==(t=+t)?An: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):Dn(isNaN(e)?n:e)}}function An(t,e){var n=e-t;return n?Yn(t,n):Dn(isNaN(t)?e:t)}var Cn=function t(e){var n=En(e);function r(t,e){var r=n((t=Ue(t)).r,(e=Ue(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=An(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 jn(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;n<i;++n)r=Ue(e[n]),a[n]=r.r||0,o[n]=r.g||0,s[n]=r.b||0;return a=t(a),o=t(o),s=t(s),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=s(t),r+""}}}var On=jn(xn),Hn=jn(Tn),Pn=function(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(n=0;n<i;++n)a[n]=$n(t[n],e[n]);for(;n<r;++n)o[n]=e[n];return function(t){for(n=0;n<i;++n)o[n]=a[n](t);return o}},Fn=function(t,e){var n=new Date;return e-=t=+t,function(r){return n.setTime(t+e*r),n}},Nn=function(t,e){return e-=t=+t,function(n){return t+e*n}},Bn=function(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=$n(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}},Rn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,In=new RegExp(Rn.source,"g");var zn,Wn,qn,Un,Vn=function(t,e){var n,r,i,a=Rn.lastIndex=In.lastIndex=0,o=-1,s=[],u=[];for(t+="",e+="";(n=Rn.exec(t))&&(r=In.exec(e));)(i=r.index)>a&&(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,u.push({i:o,x:Nn(n,r)})),a=In.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?u[0]?function(t){return function(e){return t(e)+""}}(u[0].x):function(t){return function(){return t}}(e):(e=u.length,function(t){for(var n,r=0;r<e;++r)s[(n=u[r]).i]=n.x(t);return s.join("")})},$n=function(t,e){var n,r=typeof e;return null==e||"boolean"===r?Dn(e):("number"===r?Nn:"string"===r?(n=Ie(e))?(e=n,Cn):Vn:e instanceof Ie?Cn:e instanceof Date?Fn:Array.isArray(e)?Pn:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?Bn:Nn)(t,e)},Gn=function(t,e){return e-=t=+t,function(n){return Math.round(t+e*n)}},Jn=180/Math.PI,Xn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Zn=function(t,e,n,r,i,a){var o,s,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),t*r<e*n&&(t=-t,e=-e,u=-u,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*Jn,skewX:Math.atan(u)*Jn,scaleX:o,scaleY:s}};function Kn(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],u=[];return a=t(a),o=t(o),function(t,r,i,a,o,s){if(t!==i||r!==a){var u=o.push("translate(",null,e,null,n);s.push({i:u-4,x:Nn(t,i)},{i:u-2,x:Nn(r,a)})}else(i||a)&&o.push("translate("+i+e+a+n)}(a.translateX,a.translateY,o.translateX,o.translateY,s,u),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Nn(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,s,u),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Nn(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,s,u),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:Nn(t,n)},{i:s-2,x:Nn(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,u),a=o=null,function(t){for(var e,n=-1,r=u.length;++n<r;)s[(e=u[n]).i]=e.x(t);return s.join("")}}}var Qn=Kn(function(t){return"none"===t?Xn:(zn||(zn=document.createElement("DIV"),Wn=document.documentElement,qn=document.defaultView),zn.style.transform=t,t=qn.getComputedStyle(Wn.appendChild(zn),null).getPropertyValue("transform"),Wn.removeChild(zn),t=t.slice(7,-1).split(","),Zn(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),tr=Kn(function(t){return null==t?Xn:(Un||(Un=document.createElementNS("http://www.w3.org/2000/svg","g")),Un.setAttribute("transform",t),(t=Un.transform.baseVal.consolidate())?(t=t.matrix,Zn(t.a,t.b,t.c,t.d,t.e,t.f)):Xn)},", ",")",")"),er=Math.SQRT2;function nr(t){return((t=Math.exp(t))+1/t)/2}var rr=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],s=e[0],u=e[1],c=e[2],l=s-i,d=u-a,f=l*l+d*d;if(f<1e-12)r=Math.log(c/o)/er,n=function(t){return[i+t*l,a+t*d,o*Math.exp(er*t*r)]};else{var h=Math.sqrt(f),_=(c*c-o*o+4*f)/(2*o*2*h),p=(c*c-o*o-4*f)/(2*c*2*h),m=Math.log(Math.sqrt(_*_+1)-_),y=Math.log(Math.sqrt(p*p+1)-p);r=(y-m)/er,n=function(t){var e,n=t*r,s=nr(m),u=o/(2*h)*(s*(e=er*n+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+u*l,a+u*d,o*s/nr(er*n+m)]}}return n.duration=1e3*r,n};function ir(t){return function(e,n){var r=t((e=Ge(e)).h,(n=Ge(n)).h),i=An(e.s,n.s),a=An(e.l,n.l),o=An(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 ar=ir(Sn),or=ir(An);function sr(t,e){var n=An((t=un(t)).l,(e=un(e)).l),r=An(t.a,e.a),i=An(t.b,e.b),a=An(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 ur(t){return function(e,n){var r=t((e=_n(e)).h,(n=_n(n)).h),i=An(e.c,n.c),a=An(e.l,n.l),o=An(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 cr=ur(Sn),lr=ur(An);function dr(t){return function e(n){function r(e,r){var i=t((e=kn(e)).h,(r=kn(r)).h),a=An(e.s,r.s),o=An(e.l,r.l),s=An(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 fr,hr,_r=dr(Sn),pr=dr(An),mr=function(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n},yr=0,gr=0,vr=0,Mr=1e3,br=0,kr=0,Lr=0,wr="object"==typeof performance&&performance.now?performance:Date,xr="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Tr(){return kr||(xr(Dr),kr=wr.now()+Lr)}function Dr(){kr=0}function Yr(){this._call=this._time=this._next=null}function Sr(t,e,n){var r=new Yr;return r.restart(t,e,n),r}function Er(){Tr(),++yr;for(var t,e=fr;e;)(t=kr-e._time)>=0&&e._call.call(null,t),e=e._next;--yr}function Ar(){kr=(br=wr.now())+Lr,yr=gr=0;try{Er()}finally{yr=0,function(){var t,e,n=fr,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:fr=e);hr=t,jr(r)}(),kr=0}}function Cr(){var t=wr.now(),e=t-br;e>Mr&&(Lr-=e,br=t)}function jr(t){yr||(gr&&(gr=clearTimeout(gr)),t-kr>24?(t<1/0&&(gr=setTimeout(Ar,t-wr.now()-Lr)),vr&&(vr=clearInterval(vr))):(vr||(br=wr.now(),vr=setInterval(Cr,Mr)),yr=1,xr(Ar)))}Yr.prototype=Sr.prototype={constructor:Yr,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Tr():+n)+(null==e?0:+e),this._next||hr===this||(hr?hr._next=this:fr=this,hr=this),this._call=t,this._time=n,jr()},stop:function(){this._call&&(this._call=null,this._time=1/0,jr())}};var Or=function(t,e,n){var r=new Yr;return e=null==e?0:+e,r.restart(function(n){r.stop(),t(n+e)},e,n),r},Hr=function(t,e,n){var r=new Yr,i=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?Tr():+n,r.restart(function a(o){o+=i,r.restart(a,i+=e,n),t(o)},e,n),r)},Pr=ft("start","end","interrupt"),Fr=[],Nr=0,Br=1,Rr=2,Ir=3,zr=4,Wr=5,qr=6,Ur=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(u){var c,l,d,f;if(n.state!==Br)return s();for(c in i)if((f=i[c]).name===n.name){if(f.state===Ir)return Or(a);f.state===zr?(f.state=qr,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[c]):+c<e&&(f.state=qr,f.timer.stop(),delete i[c])}if(Or(function(){n.state===Ir&&(n.state=zr,n.timer.restart(o,n.delay,n.time),o(u))}),n.state=Rr,n.on.call("start",t,t.__data__,n.index,n.group),n.state===Rr){for(n.state=Ir,r=new Array(d=n.tween.length),c=0,l=-1;c<d;++c)(f=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(r[++l]=f);r.length=l+1}}function o(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(s),n.state=Wr,1),a=-1,o=r.length;++a<o;)r[a].call(null,i);n.state===Wr&&(n.on.call("end",t,t.__data__,n.index,n.group),s())}function s(){for(var r in n.state=qr,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Sr(function(t){n.state=Br,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:Pr,tween:Fr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Nr})};function Vr(t,e){var n=Gr(t,e);if(n.state>Nr)throw new Error("too late; already scheduled");return n}function $r(t,e){var n=Gr(t,e);if(n.state>Rr)throw new Error("too late; already started");return n}function Gr(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var Jr=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>Rr&&n.state<Wr,n.state=qr,n.timer.stop(),r&&n.on.call("interrupt",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}};function Xr(t,e,n){var r=t._id;return t.each(function(){var t=$r(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return Gr(t,r).value[e]}}var Zr=function(t,e){var n;return("number"==typeof e?Nn:e instanceof Ie?Cn:(n=Ie(e))?(e=n,Cn):Vn)(t,e)};var Kr=re.prototype.constructor;var Qr=0;function ti(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function ei(t){return re().transition(t)}function ni(){return++Qr}var ri=re.prototype;function ii(t){return+t}function ai(t){return t*t}function oi(t){return t*(2-t)}function si(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function ui(t){return t*t*t}function ci(t){return--t*t*t+1}function li(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}ti.prototype=ei.prototype={constructor:ti,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=gt(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o)for(var s,u,c=r[o],l=c.length,d=a[o]=new Array(l),f=0;f<l;++f)(s=c[f])&&(u=t.call(s,s.__data__,f,c))&&("__data__"in s&&(u.__data__=s.__data__),d[f]=u,Ur(d[f],e,n,f,d,Gr(s,n)));return new ti(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=Mt(t));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var u,c=r[s],l=c.length,d=0;d<l;++d)if(u=c[d]){for(var f,h=t.call(u,u.__data__,d,c),_=Gr(u,n),p=0,m=h.length;p<m;++p)(f=h[p])&&Ur(f,e,n,p,h,_);a.push(h),o.push(u)}return new ti(a,o,e,n)},filter:function(t){"function"!=typeof t&&(t=wt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,u=r[i]=[],c=0;c<s;++c)(a=o[c])&&t.call(a,a.__data__,c,o)&&u.push(a);return new ti(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var u,c=e[s],l=n[s],d=c.length,f=o[s]=new Array(d),h=0;h<d;++h)(u=c[h]||l[h])&&(f[h]=u);for(;s<r;++s)o[s]=e[s];return new ti(o,this._parents,this._name,this._id)},selection:function(){return new Kr(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=ni(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],u=s.length,c=0;c<u;++c)if(o=s[c]){var l=Gr(o,e);Ur(o,t,n,c,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new ti(r,this._parents,t,n)},call:ri.call,nodes:ri.nodes,node:ri.node,size:ri.size,empty:ri.empty,each:ri.each,on:function(t,e){var n=this._id;return arguments.length<2?Gr(this.node(),n).on.on(t):this.each(function(t,e,n){var r,i,a=function(t){return(t+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})}(e)?Vr:$r;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}(n,t,e))},attr:function(t,e){var n=pt(t),r="transform"===n?tr:Zr;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttributeNS(t.space,t.local))===s?null:o===r&&s===i?a:a=e(r=o,i=s);this.removeAttributeNS(t.space,t.local)}}:function(t,e,n){var r,i,a;return function(){var o,s=n(this);if(null!=s)return(o=this.getAttribute(t))===s?null:o===r&&s===i?a:a=e(r=o,i=s);this.removeAttribute(t)}})(n,r,Xr(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===r?i:i=e(r=a,n)}}:function(t,e,n){var r,i;return function(){var a=this.getAttribute(t);return a===n?null:a===r?i:i=e(r=a,n)}})(n,r,e+""))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=pt(t);return this.tween(n,(r.local?function(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttributeNS(t.space,t.local,r(e))}}return n._value=e,n}:function(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttribute(t,r(e))}}return n._value=e,n})(r,e))},style:function(t,e,n){var r="transform"==(t+="")?Qn:Zr;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var a=Ct(this,t),o=(this.style.removeProperty(t),Ct(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}(t,r)).on("end.style."+t,function(t){return function(){this.style.removeProperty(t)}}(t)):this.styleTween(t,"function"==typeof e?function(t,e,n){var r,i,a;return function(){var o=Ct(this,t),s=n(this);return null==s&&(this.style.removeProperty(t),s=Ct(this,t)),o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}(t,r,Xr(this,"style."+t,e)):function(t,e,n){var r,i;return function(){var a=Ct(this,t);return a===n?null:a===r?i:i=e(r=a,n)}}(t,r,e+""),n)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){function r(){var r=this,i=e.apply(r,arguments);return i&&function(e){r.style.setProperty(t,i(e),n)}}return r._value=e,r}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(Xr(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=Gr(this.node(),n).tween,a=0,o=i.length;a<o;++a)if((r=i[a]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=$r(this,t),a=i.tween;if(a!==n)for(var o=0,s=(r=n=a).length;o<s;++o)if(r[o].name===e){(r=r.slice()).splice(o,1);break}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var a=$r(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:e,value:n},u=0,c=i.length;u<c;++u)if(i[u].name===e){i[u]=s;break}u===c&&i.push(s)}a.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){Vr(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){Vr(this,t).delay=e}})(e,t)):Gr(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){$r(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e=+e,function(){$r(this,t).duration=e}})(e,t)):Gr(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw new Error;return function(){$r(this,t).ease=e}}(e,t)):Gr(this.node(),e).ease}};var di=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),fi=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),hi=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),_i=Math.PI,pi=_i/2;function mi(t){return 1-Math.cos(t*pi)}function yi(t){return Math.sin(t*pi)}function gi(t){return(1-Math.cos(_i*t))/2}function vi(t){return Math.pow(2,10*t-10)}function Mi(t){return 1-Math.pow(2,-10*t)}function bi(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function ki(t){return 1-Math.sqrt(1-t*t)}function Li(t){return Math.sqrt(1- --t*t)}function wi(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var xi=4/11,Ti=6/11,Di=8/11,Yi=.75,Si=9/11,Ei=10/11,Ai=.9375,Ci=21/22,ji=63/64,Oi=1/xi/xi;function Hi(t){return 1-Pi(1-t)}function Pi(t){return(t=+t)<xi?Oi*t*t:t<Di?Oi*(t-=Ti)*t+Yi:t<Ei?Oi*(t-=Si)*t+Ai:Oi*(t-=Ci)*t+ji}function Fi(t){return((t*=2)<=1?1-Pi(1-t):Pi(t-1)+1)/2}var Ni=function t(e){function n(t){return t*t*((e+1)*t-e)}return e=+e,n.overshoot=t,n}(1.70158),Bi=function t(e){function n(t){return--t*t*((e+1)*t+e)+1}return e=+e,n.overshoot=t,n}(1.70158),Ri=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158),Ii=2*Math.PI,zi=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Ii);function i(t){return e*Math.pow(2,10*--t)*Math.sin((r-t)/n)}return i.amplitude=function(e){return t(e,n*Ii)},i.period=function(n){return t(e,n)},i}(1,.3),Wi=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Ii);function i(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/n)}return i.amplitude=function(e){return t(e,n*Ii)},i.period=function(n){return t(e,n)},i}(1,.3),qi=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Ii);function i(t){return((t=2*t-1)<0?e*Math.pow(2,10*t)*Math.sin((r-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((r+t)/n))/2}return i.amplitude=function(e){return t(e,n*Ii)},i.period=function(n){return t(e,n)},i}(1,.3),Ui={time:null,delay:0,duration:250,ease:li};function Vi(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return Ui.time=Tr(),Ui;return n}re.prototype.interrupt=function(t){return this.each(function(){Jr(this,t)})},re.prototype.transition=function(t){var e,n;t instanceof ti?(e=t._id,t=t._name):(e=ni(),(n=Ui).time=Tr(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],u=s.length,c=0;c<u;++c)(o=s[c])&&Ur(o,t,e,c,s,n||Vi(o,e));return new ti(r,this._parents,t,e)};var $i=[null],Gi=function(t,e){var n,r,i=t.__transition;if(i)for(r in e=null==e?null:e+"",i)if((n=i[r]).state>Br&&n.name===e)return new ti([[t]],$i,e,+r);return null},Ji=function(t){return function(){return t}},Xi=function(t,e,n){this.target=t,this.type=e,this.selection=n};function Zi(){$t.stopImmediatePropagation()}var Ki=function(){$t.preventDefault(),$t.stopImmediatePropagation()},Qi={name:"drag"},ta={name:"space"},ea={name:"handle"},na={name:"center"},ra={name:"x",handles:["e","w"].map(da),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ia={name:"y",handles:["n","s"].map(da),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},aa={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(da),input:function(t){return t},output:function(t){return t}},oa={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"},sa={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},ua={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},ca={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},la={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function da(t){return{type:t}}function fa(){return!$t.button}function ha(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function _a(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function pa(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ma(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function ya(){return Ma(ra)}function ga(){return Ma(ia)}var va=function(){return Ma(aa)};function Ma(t){var e,n=ha,r=fa,i=ft(o,"start","brush","end"),a=6;function o(e){var n=e.property("__brush",d).selectAll(".overlay").data([da("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",oa.overlay).merge(n).each(function(){var t=_a(this).extent;ie(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([da("selection")]).enter().append("rect").attr("class","selection").attr("cursor",oa.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 oa[t.type]}),e.each(s).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",l)}function s(){var t=ie(this),e=_a(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]-a/2:e[0][0]-a/2}).attr("y",function(t){return"s"===t.type[0]?e[1][1]-a/2:e[0][1]-a/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+a:a}).attr("height",function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+a:a})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(t,e){return t.__brush.emitter||new c(t,e)}function c(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function l(){if($t.touches){if($t.changedTouches.length<$t.touches.length)return Ki()}else if(e)return;if(r.apply(this,arguments)){var n,i,a,o,c,l,d,f,h,_,p,m,y,g=this,v=$t.target.__data__.type,M="selection"===($t.metaKey?v="overlay":v)?Qi:$t.altKey?na:ea,b=t===ia?null:ca[v],k=t===ra?null:la[v],L=_a(g),w=L.extent,x=L.selection,T=w[0][0],D=w[0][1],Y=w[1][0],S=w[1][1],E=b&&k&&$t.shiftKey,A=de(g),C=A,j=u(g,arguments).beforestart();"overlay"===v?L.selection=x=[[n=t===ia?T:A[0],a=t===ra?D:A[1]],[c=t===ia?Y:n,d=t===ra?S:a]]:(n=x[0][0],a=x[0][1],c=x[1][0],d=x[1][1]),i=n,o=a,l=c,f=d;var O=ie(g).attr("pointer-events","none"),H=O.selectAll(".overlay").attr("cursor",oa[v]);if($t.touches)O.on("touchmove.brush",F,!0).on("touchend.brush touchcancel.brush",B,!0);else{var P=ie($t.view).on("keydown.brush",function(){switch($t.keyCode){case 16:E=b&&k;break;case 18:M===ea&&(b&&(c=l-h*b,n=i+h*b),k&&(d=f-_*k,a=o+_*k),M=na,N());break;case 32:M!==ea&&M!==na||(b<0?c=l-h:b>0&&(n=i-h),k<0?d=f-_:k>0&&(a=o-_),M=ta,H.attr("cursor",oa.selection),N());break;default:return}Ki()},!0).on("keyup.brush",function(){switch($t.keyCode){case 16:E&&(m=y=E=!1,N());break;case 18:M===na&&(b<0?c=l:b>0&&(n=i),k<0?d=f:k>0&&(a=o),M=ea,N());break;case 32:M===ta&&($t.altKey?(b&&(c=l-h*b,n=i+h*b),k&&(d=f-_*k,a=o+_*k),M=na):(b<0?c=l:b>0&&(n=i),k<0?d=f:k>0&&(a=o),M=ea),H.attr("cursor",oa[v]),N());break;default:return}Ki()},!0).on("mousemove.brush",F,!0).on("mouseup.brush",B,!0);ye($t.view)}Zi(),Jr(g),s.call(g),j.start()}function F(){var t=de(g);!E||m||y||(Math.abs(t[0]-C[0])>Math.abs(t[1]-C[1])?y=!0:m=!0),C=t,p=!0,Ki(),N()}function N(){var t;switch(h=C[0]-A[0],_=C[1]-A[1],M){case ta:case Qi:b&&(h=Math.max(T-n,Math.min(Y-c,h)),i=n+h,l=c+h),k&&(_=Math.max(D-a,Math.min(S-d,_)),o=a+_,f=d+_);break;case ea:b<0?(h=Math.max(T-n,Math.min(Y-n,h)),i=n+h,l=c):b>0&&(h=Math.max(T-c,Math.min(Y-c,h)),i=n,l=c+h),k<0?(_=Math.max(D-a,Math.min(S-a,_)),o=a+_,f=d):k>0&&(_=Math.max(D-d,Math.min(S-d,_)),o=a,f=d+_);break;case na:b&&(i=Math.max(T,Math.min(Y,n-h*b)),l=Math.max(T,Math.min(Y,c+h*b))),k&&(o=Math.max(D,Math.min(S,a-_*k)),f=Math.max(D,Math.min(S,d+_*k)))}l<i&&(b*=-1,t=n,n=c,c=t,t=i,i=l,l=t,v in sa&&H.attr("cursor",oa[v=sa[v]])),f<o&&(k*=-1,t=a,a=d,d=t,t=o,o=f,f=t,v in ua&&H.attr("cursor",oa[v=ua[v]])),L.selection&&(x=L.selection),m&&(i=x[0][0],l=x[1][0]),y&&(o=x[0][1],f=x[1][1]),x[0][0]===i&&x[0][1]===o&&x[1][0]===l&&x[1][1]===f||(L.selection=[[i,o],[l,f]],s.call(g),j.brush())}function B(){if(Zi(),$t.touches){if($t.touches.length)return;e&&clearTimeout(e),e=setTimeout(function(){e=null},500),O.on("touchmove.brush touchend.brush touchcancel.brush",null)}else ge($t.view,p),P.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);O.attr("pointer-events","all"),H.attr("cursor",oa.overlay),L.selection&&(x=L.selection),pa(x)&&(L.selection=null,s.call(g)),j.end()}}function d(){var e=this.__brush||{selection:null};return e.extent=n.apply(this,arguments),e.dim=t,e}return o.move=function(e,n){e.selection?e.on("start.brush",function(){u(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){u(this,arguments).end()}).tween("brush",function(){var e=this,r=e.__brush,i=u(e,arguments),a=r.selection,o=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),c=$n(a,o);function l(t){r.selection=1===t&&pa(o)?null:c(t),s.call(e),i.brush()}return a&&o?l:l(1)}):e.each(function(){var e=arguments,r=this.__brush,i=t.input("function"==typeof n?n.apply(this,e):n,r.extent),a=u(this,e).beforestart();Jr(this),r.selection=null==i||pa(i)?null:i,s.call(this),a.start().brush().end()})},c.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},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(e){Kt(new Xi(o,e,t.output(this.state.selection)),i.apply,i,[e,this.that,this.args])}},o.extent=function(t){return arguments.length?(n="function"==typeof t?t:Ji([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),o):n},o.filter=function(t){return arguments.length?(r="function"==typeof t?t:Ji(!!t),o):r},o.handleSize=function(t){return arguments.length?(a=+t,o):a},o.on=function(){var t=i.on.apply(i,arguments);return t===i?o:t},o}var ba=Math.cos,ka=Math.sin,La=Math.PI,wa=La/2,xa=2*La,Ta=Math.max;var Da=function(){var t=0,e=null,n=null,r=null;function i(i){var a,o,s,u,c,l,d=i.length,f=[],h=k(d),_=[],p=[],m=p.groups=new Array(d),y=new Array(d*d);for(a=0,c=-1;++c<d;){for(o=0,l=-1;++l<d;)o+=i[c][l];f.push(o),_.push(k(d)),a+=o}for(e&&h.sort(function(t,n){return e(f[t],f[n])}),n&&_.forEach(function(t,e){t.sort(function(t,r){return n(i[e][t],i[e][r])})}),u=(a=Ta(0,xa-t*d)/a)?t:xa/d,o=0,c=-1;++c<d;){for(s=o,l=-1;++l<d;){var g=h[c],v=_[g][l],M=i[g][v],b=o,L=o+=M*a;y[v*d+g]={index:g,subindex:v,startAngle:b,endAngle:L,value:M}}m[g]={index:g,startAngle:s,endAngle:o,value:f[g]},o+=u}for(c=-1;++c<d;)for(l=c-1;++l<d;){var w=y[l*d+c],x=y[c*d+l];(w.value||x.value)&&p.push(w.value<x.value?{source:x,target:w}:{source:w,target:x})}return r?p.sort(r):p}return i.padAngle=function(e){return arguments.length?(t=Ta(0,e),i):t},i.sortGroups=function(t){return arguments.length?(e=t,i):e},i.sortSubgroups=function(t){return arguments.length?(n=t,i):n},i.sortChords=function(t){return arguments.length?(null==t?r=null:(e=t,r=function(t,n){return e(t.source.value+t.target.value,n.source.value+n.target.value)})._=t,i):r&&r._;var e},i},Ya=Array.prototype.slice,Sa=function(t){return function(){return t}},Ea=Math.PI,Aa=2*Ea,Ca=Aa-1e-6;function ja(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Oa(){return new ja}ja.prototype=Oa.prototype={constructor:ja,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,u=r-e,c=a-t,l=o-e,d=c*c+l*l;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>1e-6)if(Math.abs(l*s-u*c)>1e-6&&i){var f=n-a,h=r-o,_=s*s+u*u,p=f*f+h*h,m=Math.sqrt(_),y=Math.sqrt(d),g=i*Math.tan((Ea-Math.acos((_+d-p)/(2*m*y)))/2),v=g/y,M=g/m;Math.abs(v-1)>1e-6&&(this._+="L"+(t+v*c)+","+(e+v*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>c*h)+","+(this._x1=t+M*s)+","+(this._y1=e+M*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),u=t+o,c=e+s,l=1^a,d=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+u+","+c:(Math.abs(this._x1-u)>1e-6||Math.abs(this._y1-c)>1e-6)&&(this._+="L"+u+","+c),n&&(d<0&&(d=d%Aa+Aa),d>Ca?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=u)+","+(this._y1=c):d>1e-6&&(this._+="A"+n+","+n+",0,"+ +(d>=Ea)+","+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 Ha=Oa;function Pa(t){return t.source}function Fa(t){return t.target}function Na(t){return t.radius}function Ba(t){return t.startAngle}function Ra(t){return t.endAngle}var Ia=function(){var t=Pa,e=Fa,n=Na,r=Ba,i=Ra,a=null;function o(){var o,s=Ya.call(arguments),u=t.apply(this,s),c=e.apply(this,s),l=+n.apply(this,(s[0]=u,s)),d=r.apply(this,s)-wa,f=i.apply(this,s)-wa,h=l*ba(d),_=l*ka(d),p=+n.apply(this,(s[0]=c,s)),m=r.apply(this,s)-wa,y=i.apply(this,s)-wa;if(a||(a=o=Ha()),a.moveTo(h,_),a.arc(0,0,l,d,f),d===m&&f===y||(a.quadraticCurveTo(0,0,p*ba(m),p*ka(m)),a.arc(0,0,p,m,y)),a.quadraticCurveTo(0,0,h,_),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:Sa(+t),o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Sa(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Sa(+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 za(){}function Wa(t,e){var n=new za;if(t instanceof za)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<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e(r=t[i],i,t),r)}else if(t)for(var o in t)n.set(o,t[o]);return n}za.prototype=Wa.prototype={constructor:za,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};var qa=Wa,Ua=function(){var t,e,n,r=[],i=[];function a(n,i,o,s){if(i>=r.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var u,c,l,d=-1,f=n.length,h=r[i++],_=qa(),p=o();++d<f;)(l=_.get(u=h(c=n[d])+""))?l.push(c):_.set(u,[c]);return _.each(function(t,e){s(p,e,a(t,i,o,s))}),p}return n={object:function(t){return a(t,0,Va,$a)},map:function(t){return a(t,0,Ga,Ja)},entries:function(t){return function t(n,a){if(++a>r.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,Ga,Ja),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 Va(){return{}}function $a(t,e,n){t[e]=n}function Ga(){return qa()}function Ja(t,e,n){t.set(e,n)}function Xa(){}var Za=qa.prototype;function Ka(t,e){var n=new Xa;if(t instanceof Xa)t.each(function(t){n.add(t)});else if(t){var r=-1,i=t.length;if(null==e)for(;++r<i;)n.add(t[r]);else for(;++r<i;)n.add(e(t[r],r,t))}return n}Xa.prototype=Ka.prototype={constructor:Xa,has:Za.has,add:function(t){return this["$"+(t+="")]=t,this},remove:Za.remove,clear:Za.clear,values:Za.keys,size:Za.size,empty:Za.empty,each:Za.each};var Qa=Ka,to=function(t){var e=[];for(var n in t)e.push(n);return e},eo=function(t){var e=[];for(var n in t)e.push(t[n]);return e},no=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},ro={},io={},ao=34,oo=10,so=13;function uo(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}")}var co=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,u=a<=0,c=!1;function l(){if(u)return io;if(c)return c=!1,ro;var e,r,i=o;if(t.charCodeAt(i)===ao){for(;o++<a&&t.charCodeAt(o)!==ao||t.charCodeAt(++o)===ao;);return(e=o)>=a?u=!0:(r=t.charCodeAt(o++))===oo?c=!0:r===so&&(c=!0,t.charCodeAt(o)===oo&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o<a;){if((r=t.charCodeAt(e=o++))===oo)c=!0;else if(r===so)c=!0,t.charCodeAt(o)===oo&&++o;else if(r!==n)continue;return t.slice(i,e)}return u=!0,t.slice(i,a)}for(t.charCodeAt(a-1)===oo&&--a,t.charCodeAt(a-1)===so&&--a;(r=l())!==io;){for(var d=[];r!==ro&&r!==io;)d.push(r),r=l();e&&null==(d=e(d,s++))||i.push(d)}return i}function i(e){return e.map(a).join(t)}function a(t){return null==t?"":e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,i,a=r(t,function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=uo(t);return function(r,i){return e(n(r),i,t)}}(t,e):uo(t)});return a.columns=i||[],a},parseRows:r,format:function(e,n){return null==n&&(n=function(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var r in t)r in e||n.push(e[r]=r)}),n}(e)),[n.map(a).join(t)].concat(e.map(function(e){return n.map(function(t){return a(e[t])}).join(t)})).join("\n")},formatRows:function(t){return t.map(i).join("\n")}}},lo=co(","),fo=lo.parse,ho=lo.parseRows,_o=lo.format,po=lo.formatRows,mo=co("\t"),yo=mo.parse,go=mo.parseRows,vo=mo.format,Mo=mo.formatRows,bo=function(t,e){var n;function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r<a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r<a;++r)(i=n[r]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},ko=function(t){return function(){return t}},Lo=function(){return 1e-6*(Math.random()-.5)};function wo(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a,o,s,u,c,l,d,f,h=t._root,_={data:r},p=t._x0,m=t._y0,y=t._x1,g=t._y1;if(!h)return t._root=_,t;for(;h.length;)if((c=e>=(a=(p+y)/2))?p=a:y=a,(l=n>=(o=(m+g)/2))?m=o:g=o,i=h,!(h=h[d=l<<1|c]))return i[d]=_,t;if(s=+t._x.call(null,h.data),u=+t._y.call(null,h.data),e===s&&n===u)return _.next=h,i?i[d]=_:t._root=_,t;do{i=i?i[d]=new Array(4):t._root=new Array(4),(c=e>=(a=(p+y)/2))?p=a:y=a,(l=n>=(o=(m+g)/2))?m=o:g=o}while((d=l<<1|c)==(f=(u>=o)<<1|s>=a));return i[f]=h,i[d]=_,t}var xo=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function To(t){return t[0]}function Do(t){return t[1]}function Yo(t,e,n){var r=new So(null==e?To:e,null==n?Do:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function So(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 Eo(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Ao=Yo.prototype=So.prototype;function Co(t){return t.x+t.vx}function jo(t){return t.y+t.vy}Ao.copy=function(){var t,e,n=new So(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=Eo(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]=Eo(e));return n},Ao.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return wo(this.cover(e,n),e,n,t)},Ao.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),s=new Array(a),u=1/0,c=1/0,l=-1/0,d=-1/0;for(n=0;n<a;++n)isNaN(r=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=r,s[n]=i,r<u&&(u=r),r>l&&(l=r),i<c&&(c=i),i>d&&(d=i));for(l<u&&(u=this._x0,l=this._x1),d<c&&(c=this._y0,d=this._y1),this.cover(u,c).cover(l,d),n=0;n<a;++n)wo(this,o[n],s[n],t[n]);return this},Ao.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,a=(r=Math.floor(e))+1;else{if(!(n>t||t>i||r>e||e>a))return this;var o,s,u=i-n,c=this._root;switch(s=(e<(r+a)/2)<<1|t<(n+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=r+(u*=2),t>(i=n+u)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=r+(u*=2),(n=i-u)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(r=a-(u*=2),t>(i=n+u)||r>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(r=a-(u*=2),(n=i-u)>t||r>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this},Ao.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},Ao.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Ao.find=function(t,e,n){var r,i,a,o,s,u,c,l=this._x0,d=this._y0,f=this._x1,h=this._y1,_=[],p=this._root;for(p&&_.push(new xo(p,l,d,f,h)),null==n?n=1/0:(l=t-n,d=e-n,f=t+n,h=e+n,n*=n);u=_.pop();)if(!(!(p=u.node)||(i=u.x0)>f||(a=u.y0)>h||(o=u.x1)<l||(s=u.y1)<d))if(p.length){var m=(i+o)/2,y=(a+s)/2;_.push(new xo(p[3],m,y,o,s),new xo(p[2],i,y,m,s),new xo(p[1],m,a,o,y),new xo(p[0],i,a,m,y)),(c=(e>=y)<<1|t>=m)&&(u=_[_.length-1],_[_.length-1]=_[_.length-1-c],_[_.length-1-c]=u)}else{var g=t-+this._x.call(null,p.data),v=e-+this._y.call(null,p.data),M=g*g+v*v;if(M<n){var b=Math.sqrt(n=M);l=t-b,d=e-b,f=t+b,h=e+b,r=p.data}}return r},Ao.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,r,i,a,o,s,u,c,l,d,f,h=this._root,_=this._x0,p=this._y0,m=this._x1,y=this._y1;if(!h)return this;if(h.length)for(;;){if((c=a>=(s=(_+m)/2))?_=s:m=s,(l=o>=(u=(p+y)/2))?p=u:y=u,e=h,!(h=h[d=l<<1|c]))return this;if(!h.length)break;(e[d+1&3]||e[d+2&3]||e[d+3&3])&&(n=e,f=d)}for(;h.data!==t;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):e?(i?e[d]=i:delete e[d],(h=e[0]||e[1]||e[2]||e[3])&&h===(e[3]||e[2]||e[1]||e[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=i,this)},Ao.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},Ao.root=function(){return this._root},Ao.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},Ao.visit=function(t){var e,n,r,i,a,o,s=[],u=this._root;for(u&&s.push(new xo(u,this._x0,this._y0,this._x1,this._y1));e=s.pop();)if(!t(u=e.node,r=e.x0,i=e.y0,a=e.x1,o=e.y1)&&u.length){var c=(r+a)/2,l=(i+o)/2;(n=u[3])&&s.push(new xo(n,c,l,a,o)),(n=u[2])&&s.push(new xo(n,r,l,c,o)),(n=u[1])&&s.push(new xo(n,c,i,a,l)),(n=u[0])&&s.push(new xo(n,r,i,c,l))}return this},Ao.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new xo(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var a,o=e.x0,s=e.y0,u=e.x1,c=e.y1,l=(o+u)/2,d=(s+c)/2;(a=i[0])&&n.push(new xo(a,o,s,l,d)),(a=i[1])&&n.push(new xo(a,l,s,u,d)),(a=i[2])&&n.push(new xo(a,o,d,l,c)),(a=i[3])&&n.push(new xo(a,l,d,u,c))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},Ao.x=function(t){return arguments.length?(this._x=t,this):this._x},Ao.y=function(t){return arguments.length?(this._y=t,this):this._y};var Oo=function(t){var e,n,r=1,i=1;function a(){for(var t,a,s,u,c,l,d,f=e.length,h=0;h<i;++h)for(a=Yo(e,Co,jo).visitAfter(o),t=0;t<f;++t)s=e[t],l=n[s.index],d=l*l,u=s.x+s.vx,c=s.y+s.vy,a.visit(_);function _(t,e,n,i,a){var o=t.data,f=t.r,h=l+f;if(!o)return e>u+h||i<u-h||n>c+h||a<c-h;if(o.index>s.index){var _=u-o.x-o.vx,p=c-o.y-o.vy,m=_*_+p*p;m<h*h&&(0===_&&(m+=(_=Lo())*_),0===p&&(m+=(p=Lo())*p),m=(h-(m=Math.sqrt(m)))/m*r,s.vx+=(_*=m)*(h=(f*=f)/(d+f)),s.vy+=(p*=m)*h,o.vx-=_*(h=1-h),o.vy-=p*h)}}}function o(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function s(){if(e){var r,i,a=e.length;for(n=new Array(a),r=0;r<a;++r)i=e[r],n[i.index]=+t(i,r,e)}}return"function"!=typeof t&&(t=ko(null==t?1:+t)),a.initialize=function(t){e=t,s()},a.iterations=function(t){return arguments.length?(i=+t,a):i},a.strength=function(t){return arguments.length?(r=+t,a):r},a.radius=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),s(),a):t},a};function Ho(t){return t.index}function Po(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}var Fo=function(t){var e,n,r,i,a,o=Ho,s=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},u=ko(30),c=1;function l(r){for(var i=0,o=t.length;i<c;++i)for(var s,u,l,d,f,h,_,p=0;p<o;++p)u=(s=t[p]).source,d=(l=s.target).x+l.vx-u.x-u.vx||Lo(),f=l.y+l.vy-u.y-u.vy||Lo(),d*=h=((h=Math.sqrt(d*d+f*f))-n[p])/h*r*e[p],f*=h,l.vx-=d*(_=a[p]),l.vy-=f*_,u.vx+=d*(_=1-_),u.vy+=f*_}function d(){if(r){var s,u,c=r.length,l=t.length,d=qa(r,o);for(s=0,i=new Array(c);s<l;++s)(u=t[s]).index=s,"object"!=typeof u.source&&(u.source=Po(d,u.source)),"object"!=typeof u.target&&(u.target=Po(d,u.target)),i[u.source.index]=(i[u.source.index]||0)+1,i[u.target.index]=(i[u.target.index]||0)+1;for(s=0,a=new Array(l);s<l;++s)u=t[s],a[s]=i[u.source.index]/(i[u.source.index]+i[u.target.index]);e=new Array(l),f(),n=new Array(l),h()}}function f(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}function h(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+u(t[e],e,t)}return null==t&&(t=[]),l.initialize=function(t){r=t,d()},l.links=function(e){return arguments.length?(t=e,d(),l):t},l.id=function(t){return arguments.length?(o=t,l):o},l.iterations=function(t){return arguments.length?(c=+t,l):c},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:ko(+t),f(),l):s},l.distance=function(t){return arguments.length?(u="function"==typeof t?t:ko(+t),h(),l):u},l};function No(t){return t.x}function Bo(t){return t.y}var Ro,Io=10,zo=Math.PI*(3-Math.sqrt(5)),Wo=function(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=qa(),u=Sr(l),c=ft("tick","end");function l(){d(),c.call("tick",e),n<r&&(u.stop(),c.call("end",e))}function d(){var e,r,u=t.length;for(n+=(a-n)*i,s.each(function(t){t(n)}),e=0;e<u;++e)null==(r=t[e]).fx?r.x+=r.vx*=o:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=o:(r.y=r.fy,r.vy=0)}function f(){for(var e,n=0,r=t.length;n<r;++n){if((e=t[n]).index=n,isNaN(e.x)||isNaN(e.y)){var i=Io*Math.sqrt(n),a=n*zo;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function h(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),f(),e={tick:d,restart:function(){return u.restart(l),e},stop:function(){return u.stop(),e},nodes:function(n){return arguments.length?(t=n,f(),s.each(h),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(r=+t,e):r},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,n){return arguments.length>1?(null==n?s.remove(t):s.set(t,h(n)),e):s.get(t)},find:function(e,n,r){var i,a,o,s,u,c=0,l=t.length;for(null==r?r=1/0:r*=r,c=0;c<l;++c)(o=(i=e-(s=t[c]).x)*i+(a=n-s.y)*a)<r&&(u=s,r=o);return u},on:function(t,n){return arguments.length>1?(c.on(t,n),e):c.on(t)}}},qo=function(){var t,e,n,r,i=ko(-30),a=1,o=1/0,s=.81;function u(r){var i,a=t.length,o=Yo(t,No,Bo).visitAfter(l);for(n=r,i=0;i<a;++i)e=t[i],o.visit(d)}function c(){if(t){var e,n,a=t.length;for(r=new Array(a),e=0;e<a;++e)n=t[e],r[n.index]=+i(n,e,t)}}function l(t){var e,n,i,a,o,s=0,u=0;if(t.length){for(i=a=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(s+=e.value,u+=n,i+=n*e.x,a+=n*e.y);t.x=i/u,t.y=a/u}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=r[e.data.index]}while(e=e.next)}t.value=s}function d(t,i,u,c){if(!t.value)return!0;var l=t.x-e.x,d=t.y-e.y,f=c-i,h=l*l+d*d;if(f*f/s<h)return h<o&&(0===l&&(h+=(l=Lo())*l),0===d&&(h+=(d=Lo())*d),h<a&&(h=Math.sqrt(a*h)),e.vx+=l*t.value*n/h,e.vy+=d*t.value*n/h),!0;if(!(t.length||h>=o)){(t.data!==e||t.next)&&(0===l&&(h+=(l=Lo())*l),0===d&&(h+=(d=Lo())*d),h<a&&(h=Math.sqrt(a*h)));do{t.data!==e&&(f=r[t.data.index]*n/h,e.vx+=l*f,e.vy+=d*f)}while(t=t.next)}}return u.initialize=function(e){t=e,c()},u.strength=function(t){return arguments.length?(i="function"==typeof t?t:ko(+t),c(),u):i},u.distanceMin=function(t){return arguments.length?(a=t*t,u):Math.sqrt(a)},u.distanceMax=function(t){return arguments.length?(o=t*t,u):Math.sqrt(o)},u.theta=function(t){return arguments.length?(s=t*t,u):Math.sqrt(s)},u},Uo=function(t,e,n){var r,i,a,o=ko(.1);function s(t){for(var o=0,s=r.length;o<s;++o){var u=r[o],c=u.x-e||1e-6,l=u.y-n||1e-6,d=Math.sqrt(c*c+l*l),f=(a[o]-d)*i[o]*t/d;u.vx+=c*f,u.vy+=l*f}}function u(){if(r){var e,n=r.length;for(i=new Array(n),a=new Array(n),e=0;e<n;++e)a[e]=+t(r[e],e,r),i[e]=isNaN(a[e])?0:+o(r[e],e,r)}}return"function"!=typeof t&&(t=ko(+t)),null==e&&(e=0),null==n&&(n=0),s.initialize=function(t){r=t,u()},s.strength=function(t){return arguments.length?(o="function"==typeof t?t:ko(+t),u(),s):o},s.radius=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),u(),s):t},s.x=function(t){return arguments.length?(e=+t,s):e},s.y=function(t){return arguments.length?(n=+t,s):n},s},Vo=function(t){var e,n,r,i=ko(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(r[a]-i.x)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=ko(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:ko(+t),o(),a):i},a.x=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),o(),a):t},a},$o=function(t){var e,n,r,i=ko(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(r[a]-i.y)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=ko(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:ko(+t),o(),a):i},a.y=function(e){return arguments.length?(t="function"==typeof e?e:ko(+e),o(),a):t},a},Go=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},Jo=function(t){return(t=Go(Math.abs(t)))?t[1]:NaN},Xo=function(t,e){var n=Go(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")},Zo={"":function(t,e){t=t.toPrecision(e);t:for(var n,r=t.length,i=1,a=-1;i<r;++i)switch(t[i]){case".":a=n=i;break;case"0":0===a&&(a=i),n=i;break;case"e":break t;default:a>0&&(a=0)}return a>0?t.slice(0,a)+t.slice(n+1):t},"%":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 Xo(100*t,e)},r:Xo,s:function(t,e){var n=Go(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Ro=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")+Go(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)}},Ko=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function Qo(t){return new ts(t)}function ts(t){if(!(e=Ko.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",r=e[2]||">",i=e[3]||"-",a=e[4]||"",o=!!e[5],s=e[6]&&+e[6],u=!!e[7],c=e[8]&&+e[8].slice(1),l=e[9]||"";"n"===l?(u=!0,l="g"):Zo[l]||(l=""),(o||"0"===n&&"="===r)&&(o=!0,n="0",r="="),this.fill=n,this.align=r,this.sign=i,this.symbol=a,this.zero=o,this.width=s,this.comma=u,this.precision=c,this.type=l}Qo.prototype=ts.prototype,ts.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var es,ns,rs,is=function(t){return t},as=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],os=function(t){var e,n,r=t.grouping&&t.thousands?(e=t.grouping,n=t.thousands,function(t,r){for(var i=t.length,a=[],o=0,s=e[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),a.push(t.substring(i-=s,i+s)),!((u+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}):is,i=t.currency,a=t.decimal,o=t.numerals?function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(t.numerals):is,s=t.percent||"%";function u(t){var e=(t=Qo(t)).fill,n=t.align,u=t.sign,c=t.symbol,l=t.zero,d=t.width,f=t.comma,h=t.precision,_=t.type,p="$"===c?i[0]:"#"===c&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===c?i[1]:/[%p]/.test(_)?s:"",y=Zo[_],g=!_||/[defgprs%]/.test(_);function v(t){var i,s,c,v=p,M=m;if("c"===_)M=y(t)+M,t="";else{var b=(t=+t)<0;if(t=y(Math.abs(t),h),b&&0==+t&&(b=!1),v=(b?"("===u?u:"-":"-"===u||"("===u?"":u)+v,M=("s"===_?as[8+Ro/3]:"")+M+(b&&"("===u?")":""),g)for(i=-1,s=t.length;++i<s;)if(48>(c=t.charCodeAt(i))||c>57){M=(46===c?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}f&&!l&&(t=r(t,1/0));var k=v.length+t.length+M.length,L=k<d?new Array(d-k+1).join(e):"";switch(f&&l&&(t=r(L+t,L.length?d-M.length:1/0),L=""),n){case"<":t=v+t+M+L;break;case"=":t=v+L+t+M;break;case"^":t=L.slice(0,k=L.length>>1)+v+t+M+L.slice(k);break;default:t=L+v+t+M}return o(t)}return h=null==h?_?6:12:/[gprs]/.test(_)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),v.toString=function(){return t+""},v}return{format:u,formatPrefix:function(t,e){var n=u(((t=Qo(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Jo(e)/3))),i=Math.pow(10,-r),a=as[8+r/3];return function(t){return n(i*t)+a}}}};function ss(t){return es=os(t),ns=es.format,rs=es.formatPrefix,es}ss({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var us=function(t){return Math.max(0,-Jo(Math.abs(t)))},cs=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Jo(e)/3)))-Jo(Math.abs(t)))},ls=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Jo(e)-Jo(t))+1},ds=function(){return new fs};function fs(){this.reset()}fs.prototype={constructor:fs,reset:function(){this.s=this.t=0},add:function(t){_s(hs,t,this.t),_s(this,hs.s,this.s),this.s?this.t+=hs.t:this.s=hs.t},valueOf:function(){return this.s}};var hs=new fs;function _s(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var ps=1e-6,ms=Math.PI,ys=ms/2,gs=ms/4,vs=2*ms,Ms=180/ms,bs=ms/180,ks=Math.abs,Ls=Math.atan,ws=Math.atan2,xs=Math.cos,Ts=Math.ceil,Ds=Math.exp,Ys=(Math.floor,Math.log),Ss=Math.pow,Es=Math.sin,As=Math.sign||function(t){return t>0?1:t<0?-1:0},Cs=Math.sqrt,js=Math.tan;function Os(t){return t>1?0:t<-1?ms:Math.acos(t)}function Hs(t){return t>1?ys:t<-1?-ys:Math.asin(t)}function Ps(t){return(t=Es(t/2))*t}function Fs(){}function Ns(t,e){t&&Rs.hasOwnProperty(t.type)&&Rs[t.type](t,e)}var Bs={Feature:function(t,e){Ns(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)Ns(n[r].geometry,e)}},Rs={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){Is(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Is(n[r],e,0)},Polygon:function(t,e){zs(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)zs(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)Ns(n[r],e)}};function Is(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function zs(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)Is(t[n],e,1);e.polygonEnd()}var Ws,qs,Us,Vs,$s,Gs=function(t,e){t&&Bs.hasOwnProperty(t.type)?Bs[t.type](t,e):Ns(t,e)},Js=ds(),Xs=ds(),Zs={point:Fs,lineStart:Fs,lineEnd:Fs,polygonStart:function(){Js.reset(),Zs.lineStart=Ks,Zs.lineEnd=Qs},polygonEnd:function(){var t=+Js;Xs.add(t<0?vs+t:t),this.lineStart=this.lineEnd=this.point=Fs},sphere:function(){Xs.add(vs)}};function Ks(){Zs.point=tu}function Qs(){eu(Ws,qs)}function tu(t,e){Zs.point=eu,Ws=t,qs=e,Us=t*=bs,Vs=xs(e=(e*=bs)/2+gs),$s=Es(e)}function eu(t,e){e=(e*=bs)/2+gs;var n=(t*=bs)-Us,r=n>=0?1:-1,i=r*n,a=xs(e),o=Es(e),s=$s*o,u=Vs*a+s*xs(i),c=s*r*Es(i);Js.add(ws(c,u)),Us=t,Vs=a,$s=o}var nu=function(t){return Xs.reset(),Gs(t,Zs),2*Xs};function ru(t){return[ws(t[1],t[0]),Hs(t[2])]}function iu(t){var e=t[0],n=t[1],r=xs(n);return[r*xs(e),r*Es(e),Es(n)]}function au(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ou(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 su(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function uu(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function cu(t){var e=Cs(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var lu,du,fu,hu,_u,pu,mu,yu,gu,vu,Mu=ds(),bu={point:ku,lineStart:wu,lineEnd:xu,polygonStart:function(){bu.point=Tu,bu.lineStart=Du,bu.lineEnd=Yu,Mu.reset(),Zs.polygonStart()},polygonEnd:function(){Zs.polygonEnd(),bu.point=ku,bu.lineStart=wu,bu.lineEnd=xu,Js<0?(lu=-(fu=180),du=-(hu=90)):Mu>ps?hu=90:Mu<-ps&&(du=-90),vu[0]=lu,vu[1]=fu}};function ku(t,e){gu.push(vu=[lu=t,fu=t]),e<du&&(du=e),e>hu&&(hu=e)}function Lu(t,e){var n=iu([t*bs,e*bs]);if(yu){var r=ou(yu,n),i=ou([r[1],-r[0],0],r);cu(i),i=ru(i);var a,o=t-_u,s=o>0?1:-1,u=i[0]*Ms*s,c=ks(o)>180;c^(s*_u<u&&u<s*t)?(a=i[1]*Ms)>hu&&(hu=a):c^(s*_u<(u=(u+360)%360-180)&&u<s*t)?(a=-i[1]*Ms)<du&&(du=a):(e<du&&(du=e),e>hu&&(hu=e)),c?t<_u?Su(lu,t)>Su(lu,fu)&&(fu=t):Su(t,fu)>Su(lu,fu)&&(lu=t):fu>=lu?(t<lu&&(lu=t),t>fu&&(fu=t)):t>_u?Su(lu,t)>Su(lu,fu)&&(fu=t):Su(t,fu)>Su(lu,fu)&&(lu=t)}else gu.push(vu=[lu=t,fu=t]);e<du&&(du=e),e>hu&&(hu=e),yu=n,_u=t}function wu(){bu.point=Lu}function xu(){vu[0]=lu,vu[1]=fu,bu.point=ku,yu=null}function Tu(t,e){if(yu){var n=t-_u;Mu.add(ks(n)>180?n+(n>0?360:-360):n)}else pu=t,mu=e;Zs.point(t,e),Lu(t,e)}function Du(){Zs.lineStart()}function Yu(){Tu(pu,mu),Zs.lineEnd(),ks(Mu)>ps&&(lu=-(fu=180)),vu[0]=lu,vu[1]=fu,yu=null}function Su(t,e){return(e-=t)<0?e+360:e}function Eu(t,e){return t[0]-e[0]}function Au(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var Cu,ju,Ou,Hu,Pu,Fu,Nu,Bu,Ru,Iu,zu,Wu,qu,Uu,Vu,$u,Gu=function(t){var e,n,r,i,a,o,s;if(hu=fu=-(lu=du=1/0),gu=[],Gs(t,bu),n=gu.length){for(gu.sort(Eu),e=1,a=[r=gu[0]];e<n;++e)Au(r,(i=gu[e])[0])||Au(r,i[1])?(Su(r[0],i[1])>Su(r[0],r[1])&&(r[1]=i[1]),Su(i[0],r[1])>Su(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=Su(r[1],i[0]))>o&&(o=s,lu=i[0],fu=r[1])}return gu=vu=null,lu===1/0||du===1/0?[[NaN,NaN],[NaN,NaN]]:[[lu,du],[fu,hu]]},Ju={sphere:Fs,point:Xu,lineStart:Ku,lineEnd:ec,polygonStart:function(){Ju.lineStart=nc,Ju.lineEnd=rc},polygonEnd:function(){Ju.lineStart=Ku,Ju.lineEnd=ec}};function Xu(t,e){t*=bs;var n=xs(e*=bs);Zu(n*xs(t),n*Es(t),Es(e))}function Zu(t,e,n){Ou+=(t-Ou)/++Cu,Hu+=(e-Hu)/Cu,Pu+=(n-Pu)/Cu}function Ku(){Ju.point=Qu}function Qu(t,e){t*=bs;var n=xs(e*=bs);Uu=n*xs(t),Vu=n*Es(t),$u=Es(e),Ju.point=tc,Zu(Uu,Vu,$u)}function tc(t,e){t*=bs;var n=xs(e*=bs),r=n*xs(t),i=n*Es(t),a=Es(e),o=ws(Cs((o=Vu*a-$u*i)*o+(o=$u*r-Uu*a)*o+(o=Uu*i-Vu*r)*o),Uu*r+Vu*i+$u*a);ju+=o,Fu+=o*(Uu+(Uu=r)),Nu+=o*(Vu+(Vu=i)),Bu+=o*($u+($u=a)),Zu(Uu,Vu,$u)}function ec(){Ju.point=Xu}function nc(){Ju.point=ic}function rc(){ac(Wu,qu),Ju.point=Xu}function ic(t,e){Wu=t,qu=e,t*=bs,e*=bs,Ju.point=ac;var n=xs(e);Uu=n*xs(t),Vu=n*Es(t),$u=Es(e),Zu(Uu,Vu,$u)}function ac(t,e){t*=bs;var n=xs(e*=bs),r=n*xs(t),i=n*Es(t),a=Es(e),o=Vu*a-$u*i,s=$u*r-Uu*a,u=Uu*i-Vu*r,c=Cs(o*o+s*s+u*u),l=Hs(c),d=c&&-l/c;Ru+=d*o,Iu+=d*s,zu+=d*u,ju+=l,Fu+=l*(Uu+(Uu=r)),Nu+=l*(Vu+(Vu=i)),Bu+=l*($u+($u=a)),Zu(Uu,Vu,$u)}var oc=function(t){Cu=ju=Ou=Hu=Pu=Fu=Nu=Bu=Ru=Iu=zu=0,Gs(t,Ju);var e=Ru,n=Iu,r=zu,i=e*e+n*n+r*r;return i<1e-12&&(e=Fu,n=Nu,r=Bu,ju<ps&&(e=Ou,n=Hu,r=Pu),(i=e*e+n*n+r*r)<1e-12)?[NaN,NaN]:[ws(n,e)*Ms,Hs(r/Cs(i))*Ms]},sc=function(t){return function(){return t}},uc=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 cc(t,e){return[t>ms?t-vs:t<-ms?t+vs:t,e]}function lc(t,e,n){return(t%=vs)?e||n?uc(fc(t),hc(e,n)):fc(t):e||n?hc(e,n):cc}function dc(t){return function(e,n){return[(e+=t)>ms?e-vs:e<-ms?e+vs:e,n]}}function fc(t){var e=dc(t);return e.invert=dc(-t),e}function hc(t,e){var n=xs(t),r=Es(t),i=xs(e),a=Es(e);function o(t,e){var o=xs(e),s=xs(t)*o,u=Es(t)*o,c=Es(e),l=c*n+s*r;return[ws(u*i-l*a,s*n-c*r),Hs(l*i+u*a)]}return o.invert=function(t,e){var o=xs(e),s=xs(t)*o,u=Es(t)*o,c=Es(e),l=c*i-u*a;return[ws(u*i+c*a,s*n+l*r),Hs(l*n-s*r)]},o}cc.invert=cc;var _c=function(t){function e(e){return(e=t(e[0]*bs,e[1]*bs))[0]*=Ms,e[1]*=Ms,e}return t=lc(t[0]*bs,t[1]*bs,t.length>2?t[2]*bs:0),e.invert=function(e){return(e=t.invert(e[0]*bs,e[1]*bs))[0]*=Ms,e[1]*=Ms,e},e};function pc(t,e,n,r,i,a){if(n){var o=xs(e),s=Es(e),u=r*n;null==i?(i=e+r*vs,a=e-u/2):(i=mc(o,i),a=mc(o,a),(r>0?i<a:i>a)&&(i+=r*vs));for(var c,l=i;r>0?l>a:l<a;l-=u)c=ru([o,-s*xs(l),-s*Es(l)]),t.point(c[0],c[1])}}function mc(t,e){(e=iu(e))[0]-=t,cu(e);var n=Os(-e[1]);return((-e[2]<0?-n:n)+vs-ps)%vs}var yc=function(){var t,e,n=sc([0,0]),r=sc(90),i=sc(6),a={point:function(n,r){t.push(n=e(n,r)),n[0]*=Ms,n[1]*=Ms}};function o(){var o=n.apply(this,arguments),s=r.apply(this,arguments)*bs,u=i.apply(this,arguments)*bs;return t=[],e=lc(-o[0]*bs,-o[1]*bs,0).invert,pc(a,s,u,1),o={type:"Polygon",coordinates:[t]},t=e=null,o}return o.center=function(t){return arguments.length?(n="function"==typeof t?t:sc([+t[0],+t[1]]),o):n},o.radius=function(t){return arguments.length?(r="function"==typeof t?t:sc(+t),o):r},o.precision=function(t){return arguments.length?(i="function"==typeof t?t:sc(+t),o):i},o},gc=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Fs,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},vc=function(t,e){return ks(t[0]-e[0])<ps&&ks(t[1]-e[1])<ps};function Mc(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 bc=function(t,e,n,r,i){var a,o,s=[],u=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(vc(r,o)){for(i.lineStart(),a=0;a<e;++a)i.point((r=t[a])[0],r[1]);i.lineEnd()}else s.push(n=new Mc(r,t,null,!0)),u.push(n.o=new Mc(r,null,n,!1)),s.push(n=new Mc(o,t,null,!1)),u.push(n.o=new Mc(o,null,n,!0))}}),s.length){for(u.sort(e),kc(s),kc(u),a=0,o=u.length;a<o;++a)u[a].e=n=!n;for(var c,l,d=s[0];;){for(var f=d,h=!0;f.v;)if((f=f.n)===d)return;c=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(h)for(a=0,o=c.length;a<o;++a)i.point((l=c[a])[0],l[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(h)for(c=f.p.z,a=c.length-1;a>=0;--a)i.point((l=c[a])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}c=(f=f.o).z,h=!h}while(!f.v);i.lineEnd()}}};function kc(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}var Lc=ds(),wc=function(t,e){var n=e[0],r=e[1],i=[Es(n),-xs(n),0],a=0,o=0;Lc.reset();for(var s=0,u=t.length;s<u;++s)if(l=(c=t[s]).length)for(var c,l,d=c[l-1],f=d[0],h=d[1]/2+gs,_=Es(h),p=xs(h),m=0;m<l;++m,f=g,_=M,p=b,d=y){var y=c[m],g=y[0],v=y[1]/2+gs,M=Es(v),b=xs(v),k=g-f,L=k>=0?1:-1,w=L*k,x=w>ms,T=_*M;if(Lc.add(ws(T*L*Es(w),p*b+T*xs(w))),a+=x?k+L*vs:k,x^f>=n^g>=n){var D=ou(iu(d),iu(y));cu(D);var Y=ou(i,D);cu(Y);var S=(x^k>=0?-1:1)*Hs(Y[2]);(r>S||r===S&&(D[0]||D[1]))&&(o+=x^k>=0?1:-1)}}return(a<-ps||a<ps&&Lc<-ps)^1&o},xc=function(t,e,n,r){return function(i){var a,o,s,u=e(i),c=gc(),l=e(c),d=!1,f={point:h,lineStart:p,lineEnd:m,polygonStart:function(){f.point=y,f.lineStart=g,f.lineEnd=v,o=[],a=[]},polygonEnd:function(){f.point=h,f.lineStart=p,f.lineEnd=m,o=F(o);var t=wc(a,r);o.length?(d||(i.polygonStart(),d=!0),bc(o,Dc,t,n,i)):t&&(d||(i.polygonStart(),d=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),d&&(i.polygonEnd(),d=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(e,n){t(e,n)&&i.point(e,n)}function _(t,e){u.point(t,e)}function p(){f.point=_,u.lineStart()}function m(){f.point=h,u.lineEnd()}function y(t,e){s.push([t,e]),l.point(t,e)}function g(){l.lineStart(),s=[]}function v(){y(s[0][0],s[0][1]),l.lineEnd();var t,e,n,r,u=l.clean(),f=c.result(),h=f.length;if(s.pop(),a.push(s),s=null,h)if(1&u){if((e=(n=f[0]).length-1)>0){for(d||(i.polygonStart(),d=!0),i.lineStart(),t=0;t<e;++t)i.point((r=n[t])[0],r[1]);i.lineEnd()}}else h>1&&2&u&&f.push(f.pop().concat(f.shift())),o.push(f.filter(Tc))}return f}};function Tc(t){return t.length>1}function Dc(t,e){return((t=t.x)[0]<0?t[1]-ys-ps:ys-t[1])-((e=e.x)[0]<0?e[1]-ys-ps:ys-e[1])}var Yc=xc(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?ms:-ms,u=ks(a-n);ks(u-ms)<ps?(t.point(n,r=(r+o)/2>0?ys:-ys),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&u>=ms&&(ks(n-i)<ps&&(n-=i*ps),ks(a-s)<ps&&(a-=s*ps),r=function(t,e,n,r){var i,a,o=Es(t-n);return ks(o)>ps?Ls((Es(e)*(a=xs(r))*Es(n)-Es(r)*(i=xs(e))*Es(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*ys,r.point(-ms,i),r.point(0,i),r.point(ms,i),r.point(ms,0),r.point(ms,-i),r.point(0,-i),r.point(-ms,-i),r.point(-ms,0),r.point(-ms,i);else if(ks(t[0]-e[0])>ps){var a=t[0]<e[0]?ms:-ms;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])},[-ms,-ys]);var Sc=function(t){var e=xs(t),n=6*bs,r=e>0,i=ks(e)>ps;function a(t,n){return xs(t)*xs(n)>e}function o(t,n,r){var i=[1,0,0],a=ou(iu(t),iu(n)),o=au(a,a),s=a[0],u=o-s*s;if(!u)return!r&&t;var c=e*o/u,l=-e*s/u,d=ou(i,a),f=uu(i,c);su(f,uu(a,l));var h=d,_=au(f,h),p=au(h,h),m=_*_-p*(au(f,f)-1);if(!(m<0)){var y=Cs(m),g=uu(h,(-_-y)/p);if(su(g,f),g=ru(g),!r)return g;var v,M=t[0],b=n[0],k=t[1],L=n[1];b<M&&(v=M,M=b,b=v);var w=b-M,x=ks(w-ms)<ps;if(!x&&L<k&&(v=k,k=L,L=v),x||w<ps?x?k+L>0^g[1]<(ks(g[0]-M)<ps?k:L):k<=g[1]&&g[1]<=L:w>ms^(M<=g[0]&&g[0]<=b)){var T=uu(h,(-_+y)/p);return su(T,f),[g,ru(T)]}}}function s(e,n){var i=r?t:ms-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return xc(a,function(t){var e,n,u,c,l;return{lineStart:function(){c=u=!1,l=1},point:function(d,f){var h,_=[d,f],p=a(d,f),m=r?p?0:s(d,f):p?s(d+(d<0?ms:-ms),f):0;if(!e&&(c=u=p)&&t.lineStart(),p!==u&&(!(h=o(e,_))||vc(e,h)||vc(_,h))&&(_[0]+=ps,_[1]+=ps,p=a(_[0],_[1])),p!==u)l=0,p?(t.lineStart(),h=o(_,e),t.point(h[0],h[1])):(h=o(e,_),t.point(h[0],h[1]),t.lineEnd()),e=h;else if(i&&e&&r^p){var y;m&n||!(y=o(_,e,!0))||(l=0,r?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!p||e&&vc(e,_)||t.point(_[0],_[1]),e=_,u=p,n=m},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return l|(c&&u)<<1}}},function(e,r,i,a){pc(a,t,n,i,e,r)},r?[0,-t]:[-ms,t-ms])},Ec=function(t,e,n,r,i,a){var o,s=t[0],u=t[1],c=0,l=1,d=e[0]-s,f=e[1]-u;if(o=n-s,d||!(o>0)){if(o/=d,d<0){if(o<c)return;o<l&&(l=o)}else if(d>0){if(o>l)return;o>c&&(c=o)}if(o=i-s,d||!(o<0)){if(o/=d,d<0){if(o>l)return;o>c&&(c=o)}else if(d>0){if(o<c)return;o<l&&(l=o)}if(o=r-u,f||!(o>0)){if(o/=f,f<0){if(o<c)return;o<l&&(l=o)}else if(f>0){if(o>l)return;o>c&&(c=o)}if(o=a-u,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>c&&(c=o)}else if(f>0){if(o<c)return;o<l&&(l=o)}return c>0&&(t[0]=s+c*d,t[1]=u+c*f),l<1&&(e[0]=s+l*d,e[1]=u+l*f),!0}}}}},Ac=1e9,Cc=-Ac;function jc(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,c){var l=0,d=0;if(null==i||(l=o(i,s))!==(d=o(a,s))||u(i,a)<0^s>0)do{c.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==d);else c.point(a[0],a[1])}function o(r,i){return ks(r[0]-t)<ps?i>0?0:3:ks(r[0]-n)<ps?i>0?2:1:ks(r[1]-e)<ps?i>0?1:0:i>0?3:2}function s(t,e){return u(t.x,e.x)}function u(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 u,c,l,d,f,h,_,p,m,y,g,v=o,M=gc(),b={point:k,lineStart:function(){b.point=L,c&&c.push(l=[]);y=!0,m=!1,_=p=NaN},lineEnd:function(){u&&(L(d,f),h&&m&&M.rejoin(),u.push(M.result()));b.point=k,m&&v.lineEnd()},polygonStart:function(){v=M,u=[],c=[],g=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=c.length;n<i;++n)for(var a,o,s=c[n],u=1,l=s.length,d=s[0],f=d[0],h=d[1];u<l;++u)a=f,o=h,d=s[u],f=d[0],h=d[1],o<=r?h>r&&(f-a)*(r-o)>(h-o)*(t-a)&&++e:h<=r&&(f-a)*(r-o)<(h-o)*(t-a)&&--e;return e}(),n=g&&e,i=(u=F(u)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&bc(u,s,e,a,o),o.polygonEnd());v=o,u=c=l=null}};function k(t,e){i(t,e)&&v.point(t,e)}function L(a,o){var s=i(a,o);if(c&&l.push([a,o]),y)d=a,f=o,h=s,y=!1,s&&(v.lineStart(),v.point(a,o));else if(s&&m)v.point(a,o);else{var u=[_=Math.max(Cc,Math.min(Ac,_)),p=Math.max(Cc,Math.min(Ac,p))],M=[a=Math.max(Cc,Math.min(Ac,a)),o=Math.max(Cc,Math.min(Ac,o))];Ec(u,M,t,e,n,r)?(m||(v.lineStart(),v.point(u[0],u[1])),v.point(M[0],M[1]),s||v.lineEnd(),g=!1):s&&(v.lineStart(),v.point(a,o),g=!1)}_=a,p=o,m=s}return b}}var Oc,Hc,Pc,Fc=function(){var t,e,n,r=0,i=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=jc(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]]}}},Nc=ds(),Bc={sphere:Fs,point:Fs,lineStart:function(){Bc.point=Ic,Bc.lineEnd=Rc},lineEnd:Fs,polygonStart:Fs,polygonEnd:Fs};function Rc(){Bc.point=Bc.lineEnd=Fs}function Ic(t,e){Oc=t*=bs,Hc=Es(e*=bs),Pc=xs(e),Bc.point=zc}function zc(t,e){t*=bs;var n=Es(e*=bs),r=xs(e),i=ks(t-Oc),a=xs(i),o=r*Es(i),s=Pc*n-Hc*r*a,u=Hc*n+Pc*r*a;Nc.add(ws(Cs(o*o+s*s),u)),Oc=t,Hc=n,Pc=r}var Wc=function(t){return Nc.reset(),Gs(t,Bc),+Nc},qc=[null,null],Uc={type:"LineString",coordinates:qc},Vc=function(t,e){return qc[0]=t,qc[1]=e,Wc(Uc)},$c={Feature:function(t,e){return Jc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)if(Jc(n[r].geometry,e))return!0;return!1}},Gc={Sphere:function(){return!0},Point:function(t,e){return Xc(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Xc(n[r],e))return!0;return!1},LineString:function(t,e){return Zc(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Zc(n[r],e))return!0;return!1},Polygon:function(t,e){return Kc(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Kc(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)if(Jc(n[r],e))return!0;return!1}};function Jc(t,e){return!(!t||!Gc.hasOwnProperty(t.type))&&Gc[t.type](t,e)}function Xc(t,e){return 0===Vc(t,e)}function Zc(t,e){var n=Vc(t[0],t[1]);return Vc(t[0],e)+Vc(e,t[1])<=n+ps}function Kc(t,e){return!!wc(t.map(Qc),tl(e))}function Qc(t){return(t=t.map(tl)).pop(),t}function tl(t){return[t[0]*bs,t[1]*bs]}var el=function(t,e){return(t&&$c.hasOwnProperty(t.type)?$c[t.type]:Jc)(t,e)};function nl(t,e,n){var r=k(t,e-ps,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function rl(t,e,n){var r=k(t,e-ps,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function il(){var t,e,n,r,i,a,o,s,u,c,l,d,f=10,h=f,_=90,p=360,m=2.5;function y(){return{type:"MultiLineString",coordinates:g()}}function g(){return k(Ts(r/_)*_,n,_).map(l).concat(k(Ts(s/p)*p,o,p).map(d)).concat(k(Ts(e/f)*f,t,f).filter(function(t){return ks(t%_)>ps}).map(u)).concat(k(Ts(a/h)*h,i,h).filter(function(t){return ks(t%p)>ps}).map(c))}return y.lines=function(){return g().map(function(t){return{type:"LineString",coordinates:t}})},y.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(d(o).slice(1),l(n).reverse().slice(1),d(s).reverse().slice(1))]}},y.extent=function(t){return arguments.length?y.extentMajor(t).extentMinor(t):y.extentMinor()},y.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),y.precision(m)):[[r,s],[n,o]]},y.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),y.precision(m)):[[e,a],[t,i]]},y.step=function(t){return arguments.length?y.stepMajor(t).stepMinor(t):y.stepMinor()},y.stepMajor=function(t){return arguments.length?(_=+t[0],p=+t[1],y):[_,p]},y.stepMinor=function(t){return arguments.length?(f=+t[0],h=+t[1],y):[f,h]},y.precision=function(f){return arguments.length?(m=+f,u=nl(a,i,90),c=rl(e,t,m),l=nl(s,o,90),d=rl(r,n,m),y):m},y.extentMajor([[-180,-90+ps],[180,90-ps]]).extentMinor([[-180,-80-ps],[180,80+ps]])}function al(){return il()()}var ol,sl,ul,cl,ll=function(t,e){var n=t[0]*bs,r=t[1]*bs,i=e[0]*bs,a=e[1]*bs,o=xs(r),s=Es(r),u=xs(a),c=Es(a),l=o*xs(n),d=o*Es(n),f=u*xs(i),h=u*Es(i),_=2*Hs(Cs(Ps(a-r)+o*u*Ps(i-n))),p=Es(_),m=_?function(t){var e=Es(t*=_)/p,n=Es(_-t)/p,r=n*l+e*f,i=n*d+e*h,a=n*s+e*c;return[ws(i,r)*Ms,ws(a,Cs(r*r+i*i))*Ms]}:function(){return[n*Ms,r*Ms]};return m.distance=_,m},dl=function(t){return t},fl=ds(),hl=ds(),_l={point:Fs,lineStart:Fs,lineEnd:Fs,polygonStart:function(){_l.lineStart=pl,_l.lineEnd=gl},polygonEnd:function(){_l.lineStart=_l.lineEnd=_l.point=Fs,fl.add(ks(hl)),hl.reset()},result:function(){var t=fl/2;return fl.reset(),t}};function pl(){_l.point=ml}function ml(t,e){_l.point=yl,ol=ul=t,sl=cl=e}function yl(t,e){hl.add(cl*t-ul*e),ul=t,cl=e}function gl(){yl(ol,sl)}var vl=_l,Ml=1/0,bl=Ml,kl=-Ml,Ll=kl;var wl,xl,Tl,Dl,Yl={point:function(t,e){t<Ml&&(Ml=t);t>kl&&(kl=t);e<bl&&(bl=e);e>Ll&&(Ll=e)},lineStart:Fs,lineEnd:Fs,polygonStart:Fs,polygonEnd:Fs,result:function(){var t=[[Ml,bl],[kl,Ll]];return kl=Ll=-(bl=Ml=1/0),t}},Sl=0,El=0,Al=0,Cl=0,jl=0,Ol=0,Hl=0,Pl=0,Fl=0,Nl={point:Bl,lineStart:Rl,lineEnd:Wl,polygonStart:function(){Nl.lineStart=ql,Nl.lineEnd=Ul},polygonEnd:function(){Nl.point=Bl,Nl.lineStart=Rl,Nl.lineEnd=Wl},result:function(){var t=Fl?[Hl/Fl,Pl/Fl]:Ol?[Cl/Ol,jl/Ol]:Al?[Sl/Al,El/Al]:[NaN,NaN];return Sl=El=Al=Cl=jl=Ol=Hl=Pl=Fl=0,t}};function Bl(t,e){Sl+=t,El+=e,++Al}function Rl(){Nl.point=Il}function Il(t,e){Nl.point=zl,Bl(Tl=t,Dl=e)}function zl(t,e){var n=t-Tl,r=e-Dl,i=Cs(n*n+r*r);Cl+=i*(Tl+t)/2,jl+=i*(Dl+e)/2,Ol+=i,Bl(Tl=t,Dl=e)}function Wl(){Nl.point=Bl}function ql(){Nl.point=Vl}function Ul(){$l(wl,xl)}function Vl(t,e){Nl.point=$l,Bl(wl=Tl=t,xl=Dl=e)}function $l(t,e){var n=t-Tl,r=e-Dl,i=Cs(n*n+r*r);Cl+=i*(Tl+t)/2,jl+=i*(Dl+e)/2,Ol+=i,Hl+=(i=Dl*t-Tl*e)*(Tl+t),Pl+=i*(Dl+e),Fl+=3*i,Bl(Tl=t,Dl=e)}var Gl=Nl;function Jl(t){this._context=t}Jl.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,vs)}},result:Fs};var Xl,Zl,Kl,Ql,td,ed=ds(),nd={point:Fs,lineStart:function(){nd.point=rd},lineEnd:function(){Xl&&id(Zl,Kl),nd.point=Fs},polygonStart:function(){Xl=!0},polygonEnd:function(){Xl=null},result:function(){var t=+ed;return ed.reset(),t}};function rd(t,e){nd.point=id,Zl=Ql=t,Kl=td=e}function id(t,e){Ql-=t,td-=e,ed.add(Cs(Ql*Ql+td*td)),Ql=t,td=e}var ad=nd;function od(){this._string=[]}function sd(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}od.prototype={_radius:4.5,_circle:sd(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=sd(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 ud=function(t,e){var n,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),Gs(t,n(r))),r.result()}return a.area=function(t){return Gs(t,n(vl)),vl.result()},a.measure=function(t){return Gs(t,n(ad)),ad.result()},a.bounds=function(t){return Gs(t,n(Yl)),Yl.result()},a.centroid=function(t){return Gs(t,n(Gl)),Gl.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,dl):(t=e).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(e=null,new od):new Jl(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)},cd=function(t){return{stream:ld(t)}};function ld(t){return function(e){var n=new dd;for(var r in t)n[r]=t[r];return n.stream=e,n}}function dd(){}function fd(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),Gs(n,t.stream(Yl)),e(Yl.result()),null!=r&&t.clipExtent(r),t}function hd(t,e,n){return fd(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 _d(t,e,n){return hd(t,[[0,0],e],n)}function pd(t,e,n){return fd(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 md(t,e,n){return fd(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)}dd.prototype={constructor:dd,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 yd=16,gd=xs(30*bs),vd=function(t,e){return+e?function(t,e){function n(r,i,a,o,s,u,c,l,d,f,h,_,p,m){var y=c-r,g=l-i,v=y*y+g*g;if(v>4*e&&p--){var M=o+f,b=s+h,k=u+_,L=Cs(M*M+b*b+k*k),w=Hs(k/=L),x=ks(ks(k)-1)<ps||ks(a-d)<ps?(a+d)/2:ws(b,M),T=t(x,w),D=T[0],Y=T[1],S=D-r,E=Y-i,A=g*S-y*E;(A*A/v>e||ks((y*S+g*E)/v-.5)>.3||o*f+s*h+u*_<gd)&&(n(r,i,a,o,s,u,D,Y,x,M/=L,b/=L,k,p,m),m.point(D,Y),n(D,Y,x,M,b,k,c,l,d,f,h,_,p,m))}}return function(e){var r,i,a,o,s,u,c,l,d,f,h,_,p={point:m,lineStart:y,lineEnd:v,polygonStart:function(){e.polygonStart(),p.lineStart=M},polygonEnd:function(){e.polygonEnd(),p.lineStart=y}};function m(n,r){n=t(n,r),e.point(n[0],n[1])}function y(){l=NaN,p.point=g,e.lineStart()}function g(r,i){var a=iu([r,i]),o=t(r,i);n(l,d,c,f,h,_,l=o[0],d=o[1],c=r,f=a[0],h=a[1],_=a[2],yd,e),e.point(l,d)}function v(){p.point=m,e.lineEnd()}function M(){y(),p.point=b,p.lineEnd=k}function b(t,e){g(r=t,e),i=l,a=d,o=f,s=h,u=_,p.point=g}function k(){n(l,d,c,f,h,_,i,a,r,o,s,u,yd,e),p.lineEnd=v,v()}return p}}(t,e):function(t){return ld({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)};var Md=ld({point:function(t,e){this.stream.point(t*bs,e*bs)}});function bd(t){return kd(function(){return t})()}function kd(t){var e,n,r,i,a,o,s,u,c,l,d=150,f=480,h=250,_=0,p=0,m=0,y=0,g=0,v=null,M=Yc,b=null,k=dl,L=.5,w=vd(D,L);function x(t){return[(t=a(t[0]*bs,t[1]*bs))[0]*d+n,r-t[1]*d]}function T(t){return(t=a.invert((t[0]-n)/d,(r-t[1])/d))&&[t[0]*Ms,t[1]*Ms]}function D(t,i){return[(t=e(t,i))[0]*d+n,r-t[1]*d]}function Y(){a=uc(i=lc(m,y,g),e);var t=e(_,p);return n=f-t[0]*d,r=h+t[1]*d,S()}function S(){return c=l=null,x}return x.stream=function(t){return c&&l===t?c:c=Md(function(t){return ld({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(i)(M(w(k(l=t)))))},x.preclip=function(t){return arguments.length?(M=t,v=void 0,S()):M},x.postclip=function(t){return arguments.length?(k=t,b=o=s=u=null,S()):k},x.clipAngle=function(t){return arguments.length?(M=+t?Sc(v=t*bs):(v=null,Yc),S()):v*Ms},x.clipExtent=function(t){return arguments.length?(k=null==t?(b=o=s=u=null,dl):jc(b=+t[0][0],o=+t[0][1],s=+t[1][0],u=+t[1][1]),S()):null==b?null:[[b,o],[s,u]]},x.scale=function(t){return arguments.length?(d=+t,Y()):d},x.translate=function(t){return arguments.length?(f=+t[0],h=+t[1],Y()):[f,h]},x.center=function(t){return arguments.length?(_=t[0]%360*bs,p=t[1]%360*bs,Y()):[_*Ms,p*Ms]},x.rotate=function(t){return arguments.length?(m=t[0]%360*bs,y=t[1]%360*bs,g=t.length>2?t[2]%360*bs:0,Y()):[m*Ms,y*Ms,g*Ms]},x.precision=function(t){return arguments.length?(w=vd(D,L=t*t),S()):Cs(L)},x.fitExtent=function(t,e){return hd(x,t,e)},x.fitSize=function(t,e){return _d(x,t,e)},x.fitWidth=function(t,e){return pd(x,t,e)},x.fitHeight=function(t,e){return md(x,t,e)},function(){return e=t.apply(this,arguments),x.invert=e.invert&&T,Y()}}function Ld(t){var e=0,n=ms/3,r=kd(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*bs,n=t[1]*bs):[e*Ms,n*Ms]},i}function wd(t,e){var n=Es(t),r=(n+Es(e))/2;if(ks(r)<ps)return function(t){var e=xs(t);function n(t,n){return[t*e,Es(n)/e]}return n.invert=function(t,n){return[t/e,Hs(n*e)]},n}(t);var i=1+n*(2*r-n),a=Cs(i)/r;function o(t,e){var n=Cs(i-2*r*Es(e))/r;return[n*Es(t*=r),a-n*xs(t)]}return o.invert=function(t,e){var n=a-e;return[ws(t,ks(n))/r*As(n),Hs((i-(t*t+n*n)*r*r)/(2*r))]},o}var xd=function(){return Ld(wd).scale(155.424).center([0,33.6442])},Td=function(){return xd().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var Dd=function(){var t,e,n,r,i,a,o=Td(),s=xd().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=xd().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={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 d(){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?u:o).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[o.stream(e=n),s.stream(n),u.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n<i;)r[n].point(t,e)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},l.precision=function(t){return arguments.length?(o.precision(t),s.precision(t),u.precision(t),d()):o.precision()},l.scale=function(t){return arguments.length?(o.scale(t),s.scale(.35*t),u.scale(t),l.translate(o.translate())):o.scale()},l.translate=function(t){if(!arguments.length)return o.translate();var e=o.scale(),a=+t[0],l=+t[1];return n=o.translate(t).clipExtent([[a-.455*e,l-.238*e],[a+.455*e,l+.238*e]]).stream(c),r=s.translate([a-.307*e,l+.201*e]).clipExtent([[a-.425*e+ps,l+.12*e+ps],[a-.214*e-ps,l+.234*e-ps]]).stream(c),i=u.translate([a-.205*e,l+.212*e]).clipExtent([[a-.214*e+ps,l+.166*e+ps],[a-.115*e-ps,l+.234*e-ps]]).stream(c),d()},l.fitExtent=function(t,e){return hd(l,t,e)},l.fitSize=function(t,e){return _d(l,t,e)},l.fitWidth=function(t,e){return pd(l,t,e)},l.fitHeight=function(t,e){return md(l,t,e)},l.scale(1070)};function Yd(t){return function(e,n){var r=xs(e),i=xs(n),a=t(r*i);return[a*i*Es(e),a*Es(n)]}}function Sd(t){return function(e,n){var r=Cs(e*e+n*n),i=t(r),a=Es(i),o=xs(i);return[ws(e*a,r*o),Hs(r&&n*a/r)]}}var Ed=Yd(function(t){return Cs(2/(1+t))});Ed.invert=Sd(function(t){return 2*Hs(t/2)});var Ad=function(){return bd(Ed).scale(124.75).clipAngle(179.999)},Cd=Yd(function(t){return(t=Os(t))&&t/Es(t)});Cd.invert=Sd(function(t){return t});var jd=function(){return bd(Cd).scale(79.4188).clipAngle(179.999)};function Od(t,e){return[t,Ys(js((ys+e)/2))]}Od.invert=function(t,e){return[t,2*Ls(Ds(e))-ys]};var Hd=function(){return Pd(Od).scale(961/vs)};function Pd(t){var e,n,r,i=bd(t),a=i.center,o=i.scale,s=i.translate,u=i.clipExtent,c=null;function l(){var a=ms*o(),s=i(_c(i.rotate()).invert([0,0]));return u(null==c?[[s[0]-a,s[1]-a],[s[0]+a,s[1]+a]]:t===Od?[[Math.max(s[0]-a,c),e],[Math.min(s[0]+a,n),r]]:[[c,Math.max(s[1]-a,e)],[n,Math.min(s[1]+a,r)]])}return i.scale=function(t){return arguments.length?(o(t),l()):o()},i.translate=function(t){return arguments.length?(s(t),l()):s()},i.center=function(t){return arguments.length?(a(t),l()):a()},i.clipExtent=function(t){return arguments.length?(null==t?c=e=n=r=null:(c=+t[0][0],e=+t[0][1],n=+t[1][0],r=+t[1][1]),l()):null==c?null:[[c,e],[n,r]]},l()}function Fd(t){return js((ys+t)/2)}function Nd(t,e){var n=xs(t),r=t===e?Es(t):Ys(n/xs(e))/Ys(Fd(e)/Fd(t)),i=n*Ss(Fd(t),r)/r;if(!r)return Od;function a(t,e){i>0?e<-ys+ps&&(e=-ys+ps):e>ys-ps&&(e=ys-ps);var n=i/Ss(Fd(e),r);return[n*Es(r*t),i-n*xs(r*t)]}return a.invert=function(t,e){var n=i-e,a=As(r)*Cs(t*t+n*n);return[ws(t,ks(n))/r*As(n),2*Ls(Ss(i/a,1/r))-ys]},a}var Bd=function(){return Ld(Nd).scale(109.5).parallels([30,30])};function Rd(t,e){return[t,e]}Rd.invert=Rd;var Id=function(){return bd(Rd).scale(152.63)};function zd(t,e){var n=xs(t),r=t===e?Es(t):(n-xs(e))/(e-t),i=n/r+t;if(ks(r)<ps)return Rd;function a(t,e){var n=i-e,a=r*t;return[n*Es(a),i-n*xs(a)]}return a.invert=function(t,e){var n=i-e;return[ws(t,ks(n))/r*As(n),i-As(r)*Cs(t*t+n*n)]},a}var Wd=function(){return Ld(zd).scale(131.154).center([0,13.9389])};function qd(t,e){var n=xs(e),r=xs(t)*n;return[n*Es(t)/r,Es(e)/r]}qd.invert=Sd(Ls);var Ud=function(){return bd(qd).scale(144.049).clipAngle(60)};function Vd(t,e,n,r){return 1===t&&1===e&&0===n&&0===r?dl:ld({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}var $d=function(){var t,e,n,r,i,a,o=1,s=0,u=0,c=1,l=1,d=dl,f=null,h=dl;function _(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=d(h(i=t))},postclip:function(r){return arguments.length?(h=r,f=t=e=n=null,_()):h},clipExtent:function(r){return arguments.length?(h=null==r?(f=t=e=n=null,dl):jc(f=+r[0][0],t=+r[0][1],e=+r[1][0],n=+r[1][1]),_()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(d=Vd((o=+t)*c,o*l,s,u),_()):o},translate:function(t){return arguments.length?(d=Vd(o*c,o*l,s=+t[0],u=+t[1]),_()):[s,u]},reflectX:function(t){return arguments.length?(d=Vd(o*(c=t?-1:1),o*l,s,u),_()):c<0},reflectY:function(t){return arguments.length?(d=Vd(o*c,o*(l=t?-1:1),s,u),_()):l<0},fitExtent:function(t,e){return hd(a,t,e)},fitSize:function(t,e){return _d(a,t,e)},fitWidth:function(t,e){return pd(a,t,e)},fitHeight:function(t,e){return md(a,t,e)}}};function Gd(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)))]}Gd.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(ks(n)>ps&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};var Jd=function(){return bd(Gd).scale(175.295)};function Xd(t,e){return[xs(e)*Es(t),Es(e)]}Xd.invert=Sd(Hs);var Zd=function(){return bd(Xd).scale(249.5).clipAngle(90+ps)};function Kd(t,e){var n=xs(e),r=1+xs(t)*n;return[n*Es(t)/r,Es(e)/r]}Kd.invert=Sd(function(t){return 2*Ls(t)});var Qd=function(){return bd(Kd).scale(250).clipAngle(142)};function tf(t,e){return[Ys(js((ys+e)/2)),-t]}tf.invert=function(t,e){return[-e,2*Ls(Ds(t))-ys]};var ef=function(){var t=Pd(tf),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 nf(t,e){return t.parent===e.parent?1:2}function rf(t,e){return t+e.x}function af(t,e){return Math.max(t,e.y)}var of=function(){var t=nf,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(rf,0)/t.length}(n),e.y=function(t){return 1+t.reduce(af,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),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),c=s.x-t(s,u)/2,l=u.x+t(u,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-c)/(l-c)*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 sf(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 uf(t,e){var n,r,i,a,o,s=new ff(t),u=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=cf);n=c.pop();)if(u&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)c.push(r=n.children[a]=new ff(i[a])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(df)}function cf(t){return t.children}function lf(t){t.data=t.data.data}function df(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function ff(t){this.data=t,this.depth=this.height=0,this.parent=null}ff.prototype=uf.prototype={constructor:ff,count:function(){return this.eachAfter(sf)},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<i;++r)o.push(n[r])}while(o.length);return this},eachAfter:function(t){for(var e,n,r,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(n=0,r=e.length;n<r;++n)a.push(e[n]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,n,r=this,i=[r];r=i.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=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;for(t=n.pop(),e=r.pop();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 uf(this).eachBefore(lf)}};var hf=Array.prototype.slice;var _f=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}(hf.call(t))).length,a=[];r<i;)e=t[r],n&&yf(n,e)?++r:(n=vf(a=pf(a,e)),r=0);return n};function pf(t,e){var n,r;if(gf(e,t))return[e];for(n=0;n<t.length;++n)if(mf(e,t[n])&&gf(Mf(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(mf(Mf(t[n],t[r]),e)&&mf(Mf(t[n],e),t[r])&&mf(Mf(t[r],e),t[n])&&gf(bf(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function mf(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function yf(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 gf(t,e){for(var n=0;n<e.length;++n)if(!yf(t,e[n]))return!1;return!0}function vf(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return Mf(t[0],t[1]);case 3:return bf(t[0],t[1],t[2])}var e}function Mf(t,e){var n=t.x,r=t.y,i=t.r,a=e.x,o=e.y,s=e.r,u=a-n,c=o-r,l=s-i,d=Math.sqrt(u*u+c*c);return{x:(n+a+u/d*l)/2,y:(r+o+c/d*l)/2,r:(d+i+s)/2}}function bf(t,e,n){var r=t.x,i=t.y,a=t.r,o=e.x,s=e.y,u=e.r,c=n.x,l=n.y,d=n.r,f=r-o,h=r-c,_=i-s,p=i-l,m=u-a,y=d-a,g=r*r+i*i-a*a,v=g-o*o-s*s+u*u,M=g-c*c-l*l+d*d,b=h*_-f*p,k=(_*M-p*v)/(2*b)-r,L=(p*m-_*y)/b,w=(h*v-f*M)/(2*b)-i,x=(f*y-h*m)/b,T=L*L+x*x-1,D=2*(a+k*L+w*x),Y=k*k+w*w-a*a,S=-(T?(D+Math.sqrt(D*D-4*T*Y))/(2*T):Y/D);return{x:r+k+L*S,y:i+w+x*S,r:S}}function kf(t,e,n){var r=t.x,i=t.y,a=e.r+n.r,o=t.r+n.r,s=e.x-r,u=e.y-i,c=s*s+u*u;if(c){var l=.5+((o*=o)-(a*=a))/(2*c),d=Math.sqrt(Math.max(0,2*a*(o+c)-(o-=c)*o-a*a))/(2*c);n.x=r+l*s+d*u,n.y=i+l*u-d*s}else n.x=r+o,n.y=i}function Lf(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return i*i-1e-6>n*n+r*r}function wf(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 xf(t){this._=t,this.next=null,this.previous=null}function Tf(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,u,c,l,d;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;kf(n,e,r=t[2]),e=new xf(e),n=new xf(n),r=new xf(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s<i;++s){kf(e._,n._,r=t[s]),r=new xf(r),u=n.next,c=e.previous,l=n._.r,d=e._.r;do{if(l<=d){if(Lf(u._,r._)){n=u,e.next=n,n.previous=e,--s;continue t}l+=u._.r,u=u.next}else{if(Lf(c._,r._)){(e=c).next=n,n.previous=e,--s;continue t}d+=c._.r,c=c.previous}}while(u!==c.next);for(r.previous=e,r.next=n,e.next=n.previous=n=r,a=wf(e);(r=r.next)!==n;)(o=wf(r))<a&&(e=r,a=o);n=e.next}for(e=[n._],r=n;(r=r.next)!==n;)e.push(r._);for(r=_f(e),s=0;s<i;++s)(e=t[s]).x-=r.x,e.y-=r.y;return r.r}var Df=function(t){return Tf(t),t};function Yf(t){if("function"!=typeof t)throw new Error;return t}function Sf(){return 0}var Ef=function(t){return function(){return t}};function Af(t){return Math.sqrt(t.value)}var Cf=function(){var t=null,e=1,n=1,r=Sf;function i(i){return i.x=e/2,i.y=n/2,t?i.eachBefore(jf(t)).eachAfter(Of(r,.5)).eachBefore(Hf(1)):i.eachBefore(jf(Af)).eachAfter(Of(Sf,1)).eachAfter(Of(r,i.r/Math.min(e,n))).eachBefore(Hf(Math.min(e,n)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=null==(n=e)?null:Yf(n),i):t;var n},i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:Ef(+t),i):r},i};function jf(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Of(t,e){return function(n){if(r=n.children){var r,i,a,o=r.length,s=t(n)*e||0;if(s)for(i=0;i<o;++i)r[i].r+=s;if(a=Tf(r),s)for(i=0;i<o;++i)r[i].r-=s;n.r=a+s}}}function Hf(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}var Pf=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},Ff=function(t,e,n,r,i){for(var a,o=t.children,s=-1,u=o.length,c=t.value&&(r-e)/t.value;++s<u;)(a=o[s]).y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*c},Nf=function(){var t=1,e=1,n=0,r=!1;function i(i){var a=i.height+1;return i.x0=i.y0=n,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(r){r.children&&Ff(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}(e,a)),r&&i.eachBefore(Pf),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(n){return arguments.length?(t=+n[0],e=+n[1],i):[t,e]},i.padding=function(t){return arguments.length?(n=+t,i):n},i},Bf="$",Rf={depth:-1},If={};function zf(t){return t.id}function Wf(t){return t.parentId}var qf=function(){var t=zf,e=Wf;function n(n){var r,i,a,o,s,u,c,l=n.length,d=new Array(l),f={};for(i=0;i<l;++i)r=n[i],s=d[i]=new ff(r),null!=(u=t(r,i,n))&&(u+="")&&(f[c=Bf+(s.id=u)]=c in f?If:s);for(i=0;i<l;++i)if(s=d[i],null!=(u=e(n[i],i,n))&&(u+="")){if(!(o=f[Bf+u]))throw new Error("missing: "+u);if(o===If)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=Rf,a.eachBefore(function(t){t.depth=t.parent.depth+1,--l}).eachBefore(df),a.parent=null,l>0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=Yf(e),n):t},n.parentId=function(t){return arguments.length?(e=Yf(t),n):e},n};function Uf(t,e){return t.parent===e.parent?1:2}function Vf(t){var e=t.children;return e?e[0]:t.t}function $f(t){var e=t.children;return e?e[e.length-1]:t.t}function Gf(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 Jf(t,e,n){return t.a.parent===e.parent?t.a:n}function Xf(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}Xf.prototype=Object.create(ff.prototype);var Zf=function(){var t=Uf,e=1,n=1,r=null;function i(i){var u=function(t){for(var e,n,r,i,a,o=new Xf(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 Xf(r[i],i)),n.parent=e;return(o.parent=new Xf(null,0)).children=[o],o}(i);if(u.eachAfter(a),u.parent.m=-u.z,u.eachBefore(o),r)i.eachBefore(s);else{var c=i,l=i,d=i;i.eachBefore(function(t){t.x<c.x&&(c=t),t.x>l.x&&(l=t),t.depth>d.depth&&(d=t)});var f=c===l?1:t(c,l)/2,h=f-c.x,_=e/(l.x+f+h),p=n/(d.depth||1);i.eachBefore(function(t){t.x=(t.x+h)*_,t.y=t.depth*p})}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,u=a.parent.children[0],c=a.m,l=o.m,d=s.m,f=u.m;s=$f(s),a=Vf(a),s&&a;)u=Vf(u),(o=$f(o)).a=e,(i=s.z+d-a.z-c+t(s._,a._))>0&&(Gf(Jf(s,e,r),e,i),c+=i,l+=i),d+=s.m,c+=a.m,f+=u.m,l+=o.m;s&&!$f(o)&&(o.t=s,o.m+=d-l),a&&!Vf(u)&&(u.t=a,u.m+=c-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},Kf=function(t,e,n,r,i){for(var a,o=t.children,s=-1,u=o.length,c=t.value&&(i-n)/t.value;++s<u;)(a=o[s]).x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*c},Qf=(1+Math.sqrt(5))/2;function th(t,e,n,r,i,a){for(var o,s,u,c,l,d,f,h,_,p,m,y=[],g=e.children,v=0,M=0,b=g.length,k=e.value;v<b;){u=i-n,c=a-r;do{l=g[M++].value}while(!l&&M<b);for(d=f=l,m=l*l*(p=Math.max(c/u,u/c)/(k*t)),_=Math.max(f/m,m/d);M<b;++M){if(l+=s=g[M].value,s<d&&(d=s),s>f&&(f=s),m=l*l*p,(h=Math.max(f/m,m/d))>_){l-=s;break}_=h}y.push(o={value:l,dice:u<c,children:g.slice(v,M)}),o.dice?Ff(o,n,r,i,k?r+=c*l/k:a):Kf(o,n,r,k?n+=u*l/k:i,a),k-=l,v=M}return y}var eh=function t(e){function n(t,n,r,i,a){th(e,t,n,r,i,a)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(Qf),nh=function(){var t=eh,e=!1,n=1,r=1,i=[0],a=Sf,o=Sf,s=Sf,u=Sf,c=Sf;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(d),i=[0],e&&t.eachBefore(Pf),t}function d(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,d=e.x1-n,f=e.y1-n;d<r&&(r=d=(r+d)/2),f<l&&(l=f=(l+f)/2),e.x0=r,e.y0=l,e.x1=d,e.y1=f,e.children&&(n=i[e.depth+1]=a(e)/2,r+=c(e)-n,l+=o(e)-n,d-=s(e)-n,f-=u(e)-n,d<r&&(r=d=(r+d)/2),f<l&&(l=f=(l+f)/2),t(e,r,l,d,f))}return l.round=function(t){return arguments.length?(e=!!t,l):e},l.size=function(t){return arguments.length?(n=+t[0],r=+t[1],l):[n,r]},l.tile=function(e){return arguments.length?(t=Yf(e),l):t},l.padding=function(t){return arguments.length?l.paddingInner(t).paddingOuter(t):l.paddingInner()},l.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:Ef(+t),l):a},l.paddingOuter=function(t){return arguments.length?l.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):l.paddingTop()},l.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:Ef(+t),l):o},l.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:Ef(+t),l):s},l.paddingBottom=function(t){return arguments.length?(u="function"==typeof t?t:Ef(+t),l):u},l.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:Ef(+t),l):c},l},rh=function(t,e,n,r,i){var a,o,s=t.children,u=s.length,c=new Array(u+1);for(c[0]=o=a=0;a<u;++a)c[a+1]=o+=s[a].value;!function t(e,n,r,i,a,o,u){if(e>=n-1){var l=s[e];return l.x0=i,l.y0=a,l.x1=o,void(l.y1=u)}var d=c[e],f=r/2+d,h=e+1,_=n-1;for(;h<_;){var p=h+_>>>1;c[p]<f?h=p+1:_=p}f-c[h-1]<c[h]-f&&e+1<h&&--h;var m=c[h]-d,y=r-m;if(o-i>u-a){var g=(i*y+o*m)/r;t(e,h,m,i,a,g,u),t(h,n,y,g,a,o,u)}else{var v=(a*y+u*m)/r;t(e,h,m,i,a,o,v),t(h,n,y,i,v,o,u)}}(0,u,t.value,e,n,r,i)},ih=function(t,e,n,r,i){(1&t.depth?Kf:Ff)(t,e,n,r,i)},ah=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,u,c,l,d=-1,f=o.length,h=t.value;++d<f;){for(u=(s=o[d]).children,c=s.value=0,l=u.length;c<l;++c)s.value+=u[c].value;s.dice?Ff(s,n,r,i,r+=(a-r)*s.value/h):Kf(s,n,r,n+=(i-n)*s.value/h,a),h-=s.value}else t._squarify=o=th(e,t,n,r,i,a),o.ratio=e}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(Qf),oh=function(t){for(var e,n=-1,r=t.length,i=t[r-1],a=0;++n<r;)e=i,i=t[n],a+=e[1]*i[0]-e[0]*i[1];return a/2},sh=function(t){for(var e,n,r=-1,i=t.length,a=0,o=0,s=t[i-1],u=0;++r<i;)e=s,s=t[r],u+=n=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*n,o+=(e[1]+s[1])*n;return[a/(u*=3),o/u]},uh=function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])};function ch(t,e){return t[0]-e[0]||t[1]-e[1]}function lh(t){for(var e=t.length,n=[0,1],r=2,i=2;i<e;++i){for(;r>1&&uh(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}var dh=function(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(ch),e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var a=lh(r),o=lh(i),s=o[0]===a[0],u=o[o.length-1]===a[a.length-1],c=[];for(e=a.length-1;e>=0;--e)c.push(t[r[a[e]][2]]);for(e=+s;e<o.length-u;++e)c.push(t[r[o[e]][2]]);return c},fh=function(t,e){for(var n,r,i=t.length,a=t[i-1],o=e[0],s=e[1],u=a[0],c=a[1],l=!1,d=0;d<i;++d)n=(a=t[d])[0],(r=a[1])>s!=c>s&&o<(u-n)*(s-r)/(c-r)+n&&(l=!l),u=n,c=r;return l},hh=function(t){for(var e,n,r=-1,i=t.length,a=t[i-1],o=a[0],s=a[1],u=0;++r<i;)e=o,n=s,e-=o=(a=t[r])[0],n-=s=a[1],u+=Math.sqrt(e*e+n*n);return u},_h=[].slice,ph={};function mh(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function yh(t){if(!t._start)try{!function(t){for(;t._start=t._waiting&&t._active<t._size;){var e=t._ended+t._active,n=t._tasks[e],r=n.length-1,i=n[r];n[r]=gh(t,e),--t._waiting,++t._active,n=i.apply(null,n),t._tasks[e]&&(t._tasks[e]=n||ph)}}(t)}catch(e){if(t._tasks[t._ended+t._active-1])vh(t,e);else if(!t._data)throw e}}function gh(t,e){return function(n,r){t._tasks[e]&&(--t._active,++t._ended,t._tasks[e]=null,null==t._error&&(null!=n?vh(t,n):(t._data[e]=r,t._waiting?yh(t):Mh(t))))}}function vh(t,e){var n,r=t._tasks.length;for(t._error=e,t._data=void 0,t._waiting=NaN;--r>=0;)if((n=t._tasks[r])&&(t._tasks[r]=null,n.abort))try{n.abort()}catch(e){}t._active=NaN,Mh(t)}function Mh(t){if(!t._active&&t._call){var e=t._data;t._data=void 0,t._call(t._error,e)}}function bh(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new mh(t)}mh.prototype=bh.prototype={constructor:mh,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var e=_h.call(arguments,1);return e.push(t),++this._waiting,this._tasks.push(e),yh(this),this},abort:function(){return null==this._error&&vh(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(e,n){t.apply(null,[e].concat(n))},Mh(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,Mh(this),this}};var kh=function(){return Math.random()},Lh=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(kh),wh=function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var a;if(null!=r)a=r,r=null;else do{r=2*e()-1,a=2*e()-1,i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(kh),xh=function t(e){function n(){var t=wh.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(kh),Th=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}return n.source=t,n}(kh),Dh=function t(e){function n(t){var n=Th.source(e)(t);return function(){return n()/t}}return n.source=t,n}(kh),Yh=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(kh),Sh=function(t,e){var n,r,i,a,o=ft("beforesend","progress","load","error"),s=qa(),u=new XMLHttpRequest,c=null,l=null,d=0;function f(t){var e,r=u.status;if(!r&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(u)||r>=200&&r<300||304===r){if(i)try{e=i.call(n,u)}catch(t){return void o.call("error",n,t)}else e=u;o.call("load",n,e)}else o.call("error",n,t)}if("undefined"==typeof XDomainRequest||"withCredentials"in u||!/^(http(s)?:)?\/\//.test(t)||(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=u.ontimeout=f:u.onreadystatechange=function(t){u.readyState>3&&f(t)},u.onprogress=function(t){o.call("progress",n,t)},n={header:function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?s.get(t):(null==e?s.remove(t):s.set(t,e+""),n)},mimeType:function(t){return arguments.length?(r=null==t?null:t+"",n):r},responseType:function(t){return arguments.length?(a=t,n):a},timeout:function(t){return arguments.length?(d=+t,n):d},user:function(t){return arguments.length<1?c:(c=null==t?null:t+"",n)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",n)},response:function(t){return i=t,n},get:function(t,e){return n.send("GET",t,e)},post:function(t,e){return n.send("POST",t,e)},send:function(e,i,f){return u.open(e,t,!0,c,l),null==r||s.has("accept")||s.set("accept",r+",*/*"),u.setRequestHeader&&s.each(function(t,e){u.setRequestHeader(e,t)}),null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=a&&(u.responseType=a),d>0&&(u.timeout=d),null==f&&"function"==typeof i&&(f=i,i=null),null!=f&&1===f.length&&(f=function(t){return function(e,n){t(null==e?n:null)}}(f)),null!=f&&n.on("error",f).on("load",function(t){f(null,t)}),o.call("beforesend",n,u),u.send(null==i?null:i),n},abort:function(){return u.abort(),n},on:function(){var t=o.on.apply(o,arguments);return t===o?n:t}},null!=e){if("function"!=typeof e)throw new Error("invalid callback: "+e);return n.get(e)}return n};var Eh=function(t,e){return function(n,r){var i=Sh(n).mimeType(t).response(e);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}},Ah=Eh("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),Ch=Eh("application/json",function(t){return JSON.parse(t.responseText)}),jh=Eh("text/plain",function(t){return t.responseText}),Oh=Eh("application/xml",function(t){var e=t.responseXML;if(!e)throw new Error("parse error");return e}),Hh=function(t,e){return function(n,r,i){arguments.length<3&&(i=r,r=null);var a=Sh(n).mimeType(t);return a.row=function(t){return arguments.length?a.response(function(t,e){return function(n){return t(n.responseText,e)}}(e,r=t)):r},a.row(r),i?a.get(i):a}};var Ph=Hh("text/csv",fo),Fh=Hh("text/tab-separated-values",yo),Nh=Array.prototype,Bh=Nh.map,Rh=Nh.slice,Ih={name:"implicit"};function zh(t){var e=qa(),n=[],r=Ih;function i(i){var a=i+"",o=e.get(a);if(!o){if(r!==Ih)return r;e.set(a,o=n.push(i))}return t[(o-1)%t.length]}return t=null==t?[]:Rh.call(t),i.domain=function(t){if(!arguments.length)return n.slice();n=[],e=qa();for(var r,a,o=-1,s=t.length;++o<s;)e.has(a=(r=t[o])+"")||e.set(a,n.push(r));return i},i.range=function(e){return arguments.length?(t=Rh.call(e),i):t.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return zh().domain(n).range(t).unknown(r)},i}function Wh(){var t,e,n=zh().unknown(void 0),r=n.domain,i=n.range,a=[0,1],o=!1,s=0,u=0,c=.5;function l(){var n=r().length,l=a[1]<a[0],d=a[l-0],f=a[1-l];t=(f-d)/Math.max(1,n-s+2*u),o&&(t=Math.floor(t)),d+=(f-d-t*(n-s))*c,e=t*(1-s),o&&(d=Math.round(d),e=Math.round(e));var h=k(n).map(function(e){return d+t*e});return i(l?h.reverse():h)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),l()):r()},n.range=function(t){return arguments.length?(a=[+t[0],+t[1]],l()):a.slice()},n.rangeRound=function(t){return a=[+t[0],+t[1]],o=!0,l()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(o=!!t,l()):o},n.padding=function(t){return arguments.length?(s=u=Math.max(0,Math.min(1,t)),l()):s},n.paddingInner=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),l()):s},n.paddingOuter=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),l()):u},n.align=function(t){return arguments.length?(c=Math.max(0,Math.min(1,t)),l()):c},n.copy=function(){return Wh().domain(r()).range(a).round(o).paddingInner(s).paddingOuter(u).align(c)},l()}function qh(){return function t(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return t(n())},e}(Wh().paddingInner(1))}var Uh=function(t){return function(){return t}},Vh=function(t){return+t},$h=[0,1];function Gh(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Uh(e)}function Jh(t,e,n,r){var i=t[0],a=t[1],o=e[0],s=e[1];return a<i?(i=n(a,i),o=r(s,o)):(i=n(i,a),o=r(o,s)),function(t){return o(i(t))}}function Xh(t,e,n,r){var i=Math.min(t.length,e.length)-1,a=new Array(i),o=new Array(i),s=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<i;)a[s]=n(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(e){var n=u(t,e,1,i)-1;return o[n](a[n](e))}}function Zh(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function Kh(t,e){var n,r,i,a=$h,o=$h,s=$n,u=!1;function c(){return n=Math.min(a.length,o.length)>2?Xh:Jh,r=i=null,l}function l(e){return(r||(r=n(a,o,u?function(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:r(t)}}}(t):t,s)))(+e)}return l.invert=function(t){return(i||(i=n(o,a,Gh,u?function(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:r(t)}}}(e):e)))(+t)},l.domain=function(t){return arguments.length?(a=Bh.call(t,Vh),c()):a.slice()},l.range=function(t){return arguments.length?(o=Rh.call(t),c()):o.slice()},l.rangeRound=function(t){return o=Rh.call(t),s=Gn,c()},l.clamp=function(t){return arguments.length?(u=!!t,c()):u},l.interpolate=function(t){return arguments.length?(s=t,c()):s},c()}var Qh=function(t,e,n){var r,i=t[0],a=t[t.length-1],o=Y(i,a,null==e?10:e);switch((n=Qo(null==n?",f":n)).type){case"s":var s=Math.max(Math.abs(i),Math.abs(a));return null!=n.precision||isNaN(r=cs(o,s))||(n.precision=r),rs(n,s);case"":case"e":case"g":case"p":case"r":null!=n.precision||isNaN(r=ls(o,Math.max(Math.abs(i),Math.abs(a))))||(n.precision=r-("e"===n.type));break;case"f":case"%":null!=n.precision||isNaN(r=us(o))||(n.precision=r-2*("%"===n.type))}return ns(n)};function t_(t){var e=t.domain;return t.ticks=function(t){var n=e();return T(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){return Qh(e(),t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,s=i[a],u=i[o];return u<s&&(r=s,s=u,u=r,r=a,a=o,o=r),(r=D(s,u,n))>0?r=D(s=Math.floor(s/r)*r,u=Math.ceil(u/r)*r,n):r<0&&(r=D(s=Math.ceil(s*r)/r,u=Math.floor(u*r)/r,n)),r>0?(i[a]=Math.floor(s/r)*r,i[o]=Math.ceil(u/r)*r,e(i)):r<0&&(i[a]=Math.ceil(s*r)/r,i[o]=Math.floor(u*r)/r,e(i)),t},t}function e_(){var t=Kh(Gh,Nn);return t.copy=function(){return Zh(t,e_())},t_(t)}function n_(){var t=[0,1];function e(t){return+t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=Bh.call(n,Vh),e):t.slice()},e.copy=function(){return n_().domain(t)},t_(e)}var r_=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t};function i_(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:Uh(e)}function a_(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function o_(t){return isFinite(t)?+("1e"+t):t<0?0:t}function s_(t){return 10===t?o_:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function u_(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function c_(t){return function(e){return-t(-e)}}function l_(){var t=Kh(i_,a_).domain([1,10]),e=t.domain,n=10,r=u_(10),i=s_(10);function a(){return r=u_(n),i=s_(n),e()[0]<0&&(r=c_(r),i=c_(i)),t}return t.base=function(t){return arguments.length?(n=+t,a()):n},t.domain=function(t){return arguments.length?(e(t),a()):e()},t.ticks=function(t){var a,o=e(),s=o[0],u=o[o.length-1];(a=u<s)&&(f=s,s=u,u=f);var c,l,d,f=r(s),h=r(u),_=null==t?10:+t,p=[];if(!(n%1)&&h-f<_){if(f=Math.round(f)-1,h=Math.round(h)+1,s>0){for(;f<h;++f)for(l=1,c=i(f);l<n;++l)if(!((d=c*l)<s)){if(d>u)break;p.push(d)}}else for(;f<h;++f)for(l=n-1,c=i(f);l>=1;--l)if(!((d=c*l)<s)){if(d>u)break;p.push(d)}}else p=T(f,h,Math.min(h-f,_)).map(i);return a?p.reverse():p},t.tickFormat=function(e,a){if(null==a&&(a=10===n?".0e":","),"function"!=typeof a&&(a=ns(a)),e===1/0)return a;null==e&&(e=10);var o=Math.max(1,n*e/t.ticks().length);return function(t){var e=t/i(Math.round(r(t)));return e*n<n-.5&&(e*=n),e<=o?a(t):""}},t.nice=function(){return e(r_(e(),{floor:function(t){return i(Math.floor(r(t)))},ceil:function(t){return i(Math.ceil(r(t)))}}))},t.copy=function(){return Zh(t,l_().base(n))},t}function d_(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function f_(){var t=1,e=Kh(function(e,n){return(n=d_(n,t)-(e=d_(e,t)))?function(r){return(d_(r,t)-e)/n}:Uh(n)},function(e,n){return n=d_(n,t)-(e=d_(e,t)),function(r){return d_(e+n*r,1/t)}}),n=e.domain;return e.exponent=function(e){return arguments.length?(t=+e,n(n())):t},e.copy=function(){return Zh(e,f_().exponent(t))},t_(e)}function h_(){return f_().exponent(.5)}function __(){var t=[],e=[],n=[];function i(){var r=0,i=Math.max(1,e.length);for(n=new Array(i-1);++r<i;)n[r-1]=A(t,r/i);return a}function a(t){if(!isNaN(t=+t))return e[u(n,t)]}return a.invertExtent=function(r){var i=e.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:t[0],i<n.length?n[i]:t[t.length-1]]},a.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var n,a=0,o=e.length;a<o;++a)null==(n=e[a])||isNaN(n=+n)||t.push(n);return t.sort(r),i()},a.range=function(t){return arguments.length?(e=Rh.call(t),i()):e.slice()},a.quantiles=function(){return n.slice()},a.copy=function(){return __().domain(t).range(e)},a}function p_(){var t=0,e=1,n=1,r=[.5],i=[0,1];function a(t){if(t<=t)return i[u(r,t,0,n)]}function o(){var i=-1;for(r=new Array(n);++i<n;)r[i]=((i+1)*e-(i-n)*t)/(n+1);return a}return a.domain=function(n){return arguments.length?(t=+n[0],e=+n[1],o()):[t,e]},a.range=function(t){return arguments.length?(n=(i=Rh.call(t)).length-1,o()):i.slice()},a.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[t,r[0]]:o>=n?[r[n-1],e]:[r[o-1],r[o]]},a.copy=function(){return p_().domain([t,e]).range(i)},t_(a)}function m_(){var t=[.5],e=[0,1],n=1;function r(r){if(r<=r)return e[u(t,r,0,n)]}return r.domain=function(i){return arguments.length?(t=Rh.call(i),n=Math.min(t.length,e.length-1),r):t.slice()},r.range=function(i){return arguments.length?(e=Rh.call(i),n=Math.min(t.length,e.length-1),r):e.slice()},r.invertExtent=function(n){var r=e.indexOf(n);return[t[r-1],t[r]]},r.copy=function(){return m_().domain(t).range(e)},r}var y_=new Date,g_=new Date;function v_(t,e,n,r){function i(e){return t(e=new Date(+e)),e}return i.floor=i,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-e<n-t?e:n},i.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},i.range=function(n,r,a){var o,s=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r&&a>0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o<n&&n<r);return s},i.filter=function(n){return v_(function(e){if(e>=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 y_.setTime(+e),g_.setTime(+r),t(y_),t(g_),Math.floor(n(y_,g_))},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 M_=v_(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});M_.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?v_(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):M_:null};var b_=M_,k_=M_.range,L_=6e4,w_=6048e5,x_=v_(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getUTCSeconds()}),T_=x_,D_=x_.range,Y_=v_(function(t){t.setTime(Math.floor(t/L_)*L_)},function(t,e){t.setTime(+t+e*L_)},function(t,e){return(e-t)/L_},function(t){return t.getMinutes()}),S_=Y_,E_=Y_.range,A_=v_(function(t){var e=t.getTimezoneOffset()*L_%36e5;e<0&&(e+=36e5),t.setTime(36e5*Math.floor((+t-e)/36e5)+e)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getHours()}),C_=A_,j_=A_.range,O_=v_(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*L_)/864e5},function(t){return t.getDate()-1}),H_=O_,P_=O_.range;function F_(t){return v_(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*L_)/w_})}var N_=F_(0),B_=F_(1),R_=F_(2),I_=F_(3),z_=F_(4),W_=F_(5),q_=F_(6),U_=N_.range,V_=B_.range,$_=R_.range,G_=I_.range,J_=z_.range,X_=W_.range,Z_=q_.range,K_=v_(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()}),Q_=K_,tp=K_.range,ep=v_(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()});ep.every=function(t){return isFinite(t=Math.floor(t))&&t>0?v_(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 np=ep,rp=ep.range,ip=v_(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*L_)},function(t,e){return(e-t)/L_},function(t){return t.getUTCMinutes()}),ap=ip,op=ip.range,sp=v_(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getUTCHours()}),up=sp,cp=sp.range,lp=v_(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}),dp=lp,fp=lp.range;function hp(t){return v_(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)/w_})}var _p=hp(0),pp=hp(1),mp=hp(2),yp=hp(3),gp=hp(4),vp=hp(5),Mp=hp(6),bp=_p.range,kp=pp.range,Lp=mp.range,wp=yp.range,xp=gp.range,Tp=vp.range,Dp=Mp.range,Yp=v_(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),Sp=Yp,Ep=Yp.range,Ap=v_(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()});Ap.every=function(t){return isFinite(t=Math.floor(t))&&t>0?v_(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 Cp=Ap,jp=Ap.range;function Op(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 Hp(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 Pp(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function Fp(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,u=t.shortMonths,c=Jp(i),l=Xp(i),d=Jp(a),f=Xp(a),h=Jp(o),_=Xp(o),p=Jp(s),m=Xp(s),y=Jp(u),g=Xp(u),v={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:mm,e:mm,f:bm,H:ym,I:gm,j:vm,L:Mm,m:km,M:Lm,p:function(t){return i[+(t.getHours()>=12)]},Q:Zm,s:Km,S:wm,u:xm,U:Tm,V:Dm,w:Ym,W:Sm,x:null,X:null,y:Em,Y:Am,Z:Cm,"%":Xm},M={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:jm,e:jm,f:Nm,H:Om,I:Hm,j:Pm,L:Fm,m:Bm,M:Rm,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:Zm,s:Km,S:Im,u:zm,U:Wm,V:qm,w:Um,W:Vm,x:null,X:null,y:$m,Y:Gm,Z:Jm,"%":Xm},b={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=_[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=f[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},B:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return w(t,e,n,r)},d:om,e:om,f:fm,H:um,I:um,j:sm,L:dm,m:am,M:cm,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=l[r[0].toLowerCase()],n+r[0].length):-1},Q:_m,s:pm,S:lm,u:Kp,U:Qp,V:tm,w:Zp,W:em,x:function(t,e,r){return w(t,n,e,r)},X:function(t,e,n){return w(t,r,e,n)},y:rm,Y:nm,Z:im,"%":hm};function k(t,e){return function(n){var r,i,a,o=[],s=-1,u=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++s<c;)37===t.charCodeAt(s)&&(o.push(t.slice(u,s)),null!=(i=Wp[r=t.charAt(++s)])?r=t.charAt(++s):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),o.push(r),u=s+1);return o.push(t.slice(u,s)),o.join("")}}function L(t,e){return function(n){var r,i,a=Pp(1900);if(w(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("p"in a&&(a.H=a.H%12+12*a.p),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(r=(i=(r=Hp(Pp(a.y))).getUTCDay())>4||0===i?pp.ceil(r):pp(r),r=dp.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(r=(i=(r=e(Pp(a.y))).getDay())>4||0===i?B_.ceil(r):B_(r),r=H_.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?Hp(Pp(a.y)).getUTCDay():e(Pp(a.y)).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,Hp(a)):e(a)}}function w(t,e,n,r){for(var i,a,o=0,s=e.length,u=n.length;o<s;){if(r>=u)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=b[i in Wp?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return v.x=k(n,v),v.X=k(r,v),v.c=k(e,v),M.x=k(n,M),M.X=k(r,M),M.c=k(e,M),{format:function(t){var e=k(t+="",v);return e.toString=function(){return t},e},parse:function(t){var e=L(t+="",Op);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",M);return e.toString=function(){return t},e},utcParse:function(t){var e=L(t,Hp);return e.toString=function(){return t},e}}}var Np,Bp,Rp,Ip,zp,Wp={"-":"",_:" ",0:"0"},qp=/^\s*\d+/,Up=/^%/,Vp=/[\\^$*+?|[\]().{}]/g;function $p(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Gp(t){return t.replace(Vp,"\\$&")}function Jp(t){return new RegExp("^(?:"+t.map(Gp).join("|")+")","i")}function Xp(t){for(var e={},n=-1,r=t.length;++n<r;)e[t[n].toLowerCase()]=n;return e}function Zp(t,e,n){var r=qp.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Kp(t,e,n){var r=qp.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Qp(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function tm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function em(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function nm(t,e,n){var r=qp.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function rm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function im(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 am(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function om(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function sm(t,e,n){var r=qp.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function um(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function cm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function lm(t,e,n){var r=qp.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function dm(t,e,n){var r=qp.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function fm(t,e,n){var r=qp.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function hm(t,e,n){var r=Up.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function _m(t,e,n){var r=qp.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function pm(t,e,n){var r=qp.exec(e.slice(n));return r?(t.Q=1e3*+r[0],n+r[0].length):-1}function mm(t,e){return $p(t.getDate(),e,2)}function ym(t,e){return $p(t.getHours(),e,2)}function gm(t,e){return $p(t.getHours()%12||12,e,2)}function vm(t,e){return $p(1+H_.count(np(t),t),e,3)}function Mm(t,e){return $p(t.getMilliseconds(),e,3)}function bm(t,e){return Mm(t,e)+"000"}function km(t,e){return $p(t.getMonth()+1,e,2)}function Lm(t,e){return $p(t.getMinutes(),e,2)}function wm(t,e){return $p(t.getSeconds(),e,2)}function xm(t){var e=t.getDay();return 0===e?7:e}function Tm(t,e){return $p(N_.count(np(t),t),e,2)}function Dm(t,e){var n=t.getDay();return t=n>=4||0===n?z_(t):z_.ceil(t),$p(z_.count(np(t),t)+(4===np(t).getDay()),e,2)}function Ym(t){return t.getDay()}function Sm(t,e){return $p(B_.count(np(t),t),e,2)}function Em(t,e){return $p(t.getFullYear()%100,e,2)}function Am(t,e){return $p(t.getFullYear()%1e4,e,4)}function Cm(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+$p(e/60|0,"0",2)+$p(e%60,"0",2)}function jm(t,e){return $p(t.getUTCDate(),e,2)}function Om(t,e){return $p(t.getUTCHours(),e,2)}function Hm(t,e){return $p(t.getUTCHours()%12||12,e,2)}function Pm(t,e){return $p(1+dp.count(Cp(t),t),e,3)}function Fm(t,e){return $p(t.getUTCMilliseconds(),e,3)}function Nm(t,e){return Fm(t,e)+"000"}function Bm(t,e){return $p(t.getUTCMonth()+1,e,2)}function Rm(t,e){return $p(t.getUTCMinutes(),e,2)}function Im(t,e){return $p(t.getUTCSeconds(),e,2)}function zm(t){var e=t.getUTCDay();return 0===e?7:e}function Wm(t,e){return $p(_p.count(Cp(t),t),e,2)}function qm(t,e){var n=t.getUTCDay();return t=n>=4||0===n?gp(t):gp.ceil(t),$p(gp.count(Cp(t),t)+(4===Cp(t).getUTCDay()),e,2)}function Um(t){return t.getUTCDay()}function Vm(t,e){return $p(pp.count(Cp(t),t),e,2)}function $m(t,e){return $p(t.getUTCFullYear()%100,e,2)}function Gm(t,e){return $p(t.getUTCFullYear()%1e4,e,4)}function Jm(){return"+0000"}function Xm(){return"%"}function Zm(t){return+t}function Km(t){return Math.floor(+t/1e3)}function Qm(t){return Np=Fp(t),Bp=Np.format,Rp=Np.parse,Ip=Np.utcFormat,zp=Np.utcParse,Np}Qm({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"]});var ty=Date.prototype.toISOString?function(t){return t.toISOString()}:Ip("%Y-%m-%dT%H:%M:%S.%LZ");var ey=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:zp("%Y-%m-%dT%H:%M:%S.%LZ"),ny=1e3,ry=60*ny,iy=60*ry,ay=24*iy,oy=7*ay,sy=30*ay,uy=365*ay;function cy(t){return new Date(t)}function ly(t){return t instanceof Date?+t:+new Date(+t)}function dy(t,e,n,r,a,o,s,u,c){var l=Kh(Gh,Nn),d=l.invert,f=l.domain,h=c(".%L"),_=c(":%S"),p=c("%I:%M"),m=c("%I %p"),y=c("%a %d"),g=c("%b %d"),v=c("%B"),M=c("%Y"),b=[[s,1,ny],[s,5,5*ny],[s,15,15*ny],[s,30,30*ny],[o,1,ry],[o,5,5*ry],[o,15,15*ry],[o,30,30*ry],[a,1,iy],[a,3,3*iy],[a,6,6*iy],[a,12,12*iy],[r,1,ay],[r,2,2*ay],[n,1,oy],[e,1,sy],[e,3,3*sy],[t,1,uy]];function k(i){return(s(i)<i?h:o(i)<i?_:a(i)<i?p:r(i)<i?m:e(i)<i?n(i)<i?y:g:t(i)<i?v:M)(i)}function L(e,n,r,a){if(null==e&&(e=10),"number"==typeof e){var o=Math.abs(r-n)/e,s=i(function(t){return t[2]}).right(b,o);s===b.length?(a=Y(n/uy,r/uy,e),e=t):s?(a=(s=b[o/b[s-1][2]<b[s][2]/o?s-1:s])[1],e=s[0]):(a=Math.max(Y(n,r,e),1),e=u)}return null==a?e:e.every(a)}return l.invert=function(t){return new Date(d(t))},l.domain=function(t){return arguments.length?f(Bh.call(t,ly)):f().map(cy)},l.ticks=function(t,e){var n,r=f(),i=r[0],a=r[r.length-1],o=a<i;return o&&(n=i,i=a,a=n),n=(n=L(t,i,a,e))?n.range(i,a+1):[],o?n.reverse():n},l.tickFormat=function(t,e){return null==e?k:c(e)},l.nice=function(t,e){var n=f();return(t=L(t,n[0],n[n.length-1],e))?f(r_(n,t)):l},l.copy=function(){return Zh(l,dy(t,e,n,r,a,o,s,u,c))},l}var fy=function(){return dy(np,Q_,N_,H_,C_,S_,T_,b_,Bp).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},hy=function(){return dy(Cp,Sp,_p,dp,up,ap,T_,b_,Ip).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},_y=function(t){return t.match(/.{6}/g).map(function(t){return"#"+t})},py=_y("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),my=_y("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),yy=_y("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),gy=_y("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),vy=pr(kn(300,.5,0),kn(-240,.5,1)),My=pr(kn(-100,.75,.35),kn(80,1.5,.8)),by=pr(kn(260,.75,.35),kn(80,1.5,.8)),ky=kn(),Ly=function(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return ky.h=360*t-100,ky.s=1.5-1.5*e,ky.l=.8-.9*e,ky+""};function wy(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var xy=wy(_y("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Ty=wy(_y("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Dy=wy(_y("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Yy=wy(_y("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Sy(t){var e=0,n=1,r=!1;function i(i){var a=(i-e)/(n-e);return t(r?Math.max(0,Math.min(1,a)):a)}return i.domain=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.clamp=function(t){return arguments.length?(r=!!t,i):r},i.interpolator=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return Sy(t).domain([e,n]).clamp(r)},t_(i)}var Ey=function(t){return function(){return t}},Ay=Math.abs,Cy=Math.atan2,jy=Math.cos,Oy=Math.max,Hy=Math.min,Py=Math.sin,Fy=Math.sqrt,Ny=1e-12,By=Math.PI,Ry=By/2,Iy=2*By;function zy(t){return t>=1?Ry:t<=-1?-Ry:Math.asin(t)}function Wy(t){return t.innerRadius}function qy(t){return t.outerRadius}function Uy(t){return t.startAngle}function Vy(t){return t.endAngle}function $y(t){return t&&t.padAngle}function Gy(t,e,n,r,i,a,o){var s=t-n,u=e-r,c=(o?a:-a)/Fy(s*s+u*u),l=c*u,d=-c*s,f=t+l,h=e+d,_=n+l,p=r+d,m=(f+_)/2,y=(h+p)/2,g=_-f,v=p-h,M=g*g+v*v,b=i-a,k=f*p-_*h,L=(v<0?-1:1)*Fy(Oy(0,b*b*M-k*k)),w=(k*v-g*L)/M,x=(-k*g-v*L)/M,T=(k*v+g*L)/M,D=(-k*g+v*L)/M,Y=w-m,S=x-y,E=T-m,A=D-y;return Y*Y+S*S>E*E+A*A&&(w=T,x=D),{cx:w,cy:x,x01:-l,y01:-d,x11:w*(i/b-1),y11:x*(i/b-1)}}var Jy=function(){var t=Wy,e=qy,n=Ey(0),r=null,i=Uy,a=Vy,o=$y,s=null;function u(){var u,c,l,d=+t.apply(this,arguments),f=+e.apply(this,arguments),h=i.apply(this,arguments)-Ry,_=a.apply(this,arguments)-Ry,p=Ay(_-h),m=_>h;if(s||(s=u=Ha()),f<d&&(c=f,f=d,d=c),f>Ny)if(p>Iy-Ny)s.moveTo(f*jy(h),f*Py(h)),s.arc(0,0,f,h,_,!m),d>Ny&&(s.moveTo(d*jy(_),d*Py(_)),s.arc(0,0,d,_,h,m));else{var y,g,v=h,M=_,b=h,k=_,L=p,w=p,x=o.apply(this,arguments)/2,T=x>Ny&&(r?+r.apply(this,arguments):Fy(d*d+f*f)),D=Hy(Ay(f-d)/2,+n.apply(this,arguments)),Y=D,S=D;if(T>Ny){var E=zy(T/d*Py(x)),A=zy(T/f*Py(x));(L-=2*E)>Ny?(b+=E*=m?1:-1,k-=E):(L=0,b=k=(h+_)/2),(w-=2*A)>Ny?(v+=A*=m?1:-1,M-=A):(w=0,v=M=(h+_)/2)}var C=f*jy(v),j=f*Py(v),O=d*jy(k),H=d*Py(k);if(D>Ny){var P=f*jy(M),F=f*Py(M),N=d*jy(b),B=d*Py(b);if(p<By){var R=L>Ny?function(t,e,n,r,i,a,o,s){var u=n-t,c=r-e,l=o-i,d=s-a,f=(l*(e-a)-d*(t-i))/(d*u-l*c);return[t+f*u,e+f*c]}(C,j,N,B,P,F,O,H):[O,H],I=C-R[0],z=j-R[1],W=P-R[0],q=F-R[1],U=1/Py(((l=(I*W+z*q)/(Fy(I*I+z*z)*Fy(W*W+q*q)))>1?0:l<-1?By:Math.acos(l))/2),V=Fy(R[0]*R[0]+R[1]*R[1]);Y=Hy(D,(d-V)/(U-1)),S=Hy(D,(f-V)/(U+1))}}w>Ny?S>Ny?(y=Gy(N,B,C,j,f,S,m),g=Gy(P,F,O,H,f,S,m),s.moveTo(y.cx+y.x01,y.cy+y.y01),S<D?s.arc(y.cx,y.cy,S,Cy(y.y01,y.x01),Cy(g.y01,g.x01),!m):(s.arc(y.cx,y.cy,S,Cy(y.y01,y.x01),Cy(y.y11,y.x11),!m),s.arc(0,0,f,Cy(y.cy+y.y11,y.cx+y.x11),Cy(g.cy+g.y11,g.cx+g.x11),!m),s.arc(g.cx,g.cy,S,Cy(g.y11,g.x11),Cy(g.y01,g.x01),!m))):(s.moveTo(C,j),s.arc(0,0,f,v,M,!m)):s.moveTo(C,j),d>Ny&&L>Ny?Y>Ny?(y=Gy(O,H,P,F,d,-Y,m),g=Gy(C,j,N,B,d,-Y,m),s.lineTo(y.cx+y.x01,y.cy+y.y01),Y<D?s.arc(y.cx,y.cy,Y,Cy(y.y01,y.x01),Cy(g.y01,g.x01),!m):(s.arc(y.cx,y.cy,Y,Cy(y.y01,y.x01),Cy(y.y11,y.x11),!m),s.arc(0,0,d,Cy(y.cy+y.y11,y.cx+y.x11),Cy(g.cy+g.y11,g.cx+g.x11),m),s.arc(g.cx,g.cy,Y,Cy(g.y11,g.x11),Cy(g.y01,g.x01),!m))):s.arc(0,0,d,k,b,m):s.lineTo(O,H)}else s.moveTo(0,0);if(s.closePath(),u)return s=null,u+""||null}return u.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-By/2;return[jy(r)*n,Py(r)*n]},u.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),u):t},u.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Ey(+t),u):e},u.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Ey(+t),u):n},u.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Ey(+t),u):r},u.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Ey(+t),u):i},u.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Ey(+t),u):a},u.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Ey(+t),u):o},u.context=function(t){return arguments.length?(s=null==t?null:t,u):s},u};function Xy(t){this._context=t}Xy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(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;default:this._context.lineTo(t,e)}}};var Zy=function(t){return new Xy(t)};function Ky(t){return t[0]}function Qy(t){return t[1]}var tg=function(){var t=Ky,e=Qy,n=Ey(!0),r=null,i=Zy,a=null;function o(o){var s,u,c,l=o.length,d=!1;for(null==r&&(a=i(c=Ha())),s=0;s<=l;++s)!(s<l&&n(u=o[s],s,o))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+t(u,s,o),+e(u,s,o));if(c)return a=null,c+""||null}return o.x=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),o):t},o.y=function(t){return arguments.length?(e="function"==typeof t?t:Ey(+t),o):e},o.defined=function(t){return arguments.length?(n="function"==typeof t?t:Ey(!!t),o):n},o.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),o):i},o.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),o):r},o},eg=function(){var t=Ky,e=null,n=Ey(0),r=Qy,i=Ey(!0),a=null,o=Zy,s=null;function u(u){var c,l,d,f,h,_=u.length,p=!1,m=new Array(_),y=new Array(_);for(null==a&&(s=o(h=Ha())),c=0;c<=_;++c){if(!(c<_&&i(f=u[c],c,u))===p)if(p=!p)l=c,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),d=c-1;d>=l;--d)s.point(m[d],y[d]);s.lineEnd(),s.areaEnd()}p&&(m[c]=+t(f,c,u),y[c]=+n(f,c,u),s.point(e?+e(f,c,u):m[c],r?+r(f,c,u):y[c]))}if(h)return s=null,h+""||null}function c(){return tg().defined(i).curve(o).context(a)}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:Ey(+n),e=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+e),u):t},u.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:Ey(+t),u):e},u.y=function(t){return arguments.length?(n="function"==typeof t?t:Ey(+t),r=null,u):n},u.y0=function(t){return arguments.length?(n="function"==typeof t?t:Ey(+t),u):n},u.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Ey(+t),u):r},u.lineX0=u.lineY0=function(){return c().x(t).y(n)},u.lineY1=function(){return c().x(t).y(r)},u.lineX1=function(){return c().x(e).y(n)},u.defined=function(t){return arguments.length?(i="function"==typeof t?t:Ey(!!t),u):i},u.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),u):o},u.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),u):a},u},ng=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},rg=function(t){return t},ig=function(){var t=rg,e=ng,n=null,r=Ey(0),i=Ey(Iy),a=Ey(0);function o(o){var s,u,c,l,d,f=o.length,h=0,_=new Array(f),p=new Array(f),m=+r.apply(this,arguments),y=Math.min(Iy,Math.max(-Iy,i.apply(this,arguments)-m)),g=Math.min(Math.abs(y)/f,a.apply(this,arguments)),v=g*(y<0?-1:1);for(s=0;s<f;++s)(d=p[_[s]=s]=+t(o[s],s,o))>0&&(h+=d);for(null!=e?_.sort(function(t,n){return e(p[t],p[n])}):null!=n&&_.sort(function(t,e){return n(o[t],o[e])}),s=0,c=h?(y-f*v)/h:0;s<f;++s,m=l)u=_[s],l=m+((d=p[u])>0?d*c:0)+v,p[u]={data:o[u],index:s,value:d,startAngle:m,endAngle:l,padAngle:g};return p}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:Ey(+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:Ey(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Ey(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:Ey(+t),o):a},o},ag=sg(Zy);function og(t){this._curve=t}function sg(t){function e(e){return new og(t(e))}return e._curve=t,e}function ug(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(sg(t)):e()._curve},t}og.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 cg=function(){return ug(tg().curve(ag))},lg=function(){var t=eg().curve(ag),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 ug(n())},delete t.lineX0,t.lineEndAngle=function(){return ug(r())},delete t.lineX1,t.lineInnerRadius=function(){return ug(i())},delete t.lineY0,t.lineOuterRadius=function(){return ug(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(sg(t)):e()._curve},t},dg=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},fg=Array.prototype.slice;function hg(t){return t.source}function _g(t){return t.target}function pg(t){var e=hg,n=_g,r=Ky,i=Qy,a=null;function o(){var o,s=fg.call(arguments),u=e.apply(this,s),c=n.apply(this,s);if(a||(a=o=Ha()),t(a,+r.apply(this,(s[0]=u,s)),+i.apply(this,s),+r.apply(this,(s[0]=c,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:Ey(+t),o):r},o.y=function(t){return arguments.length?(i="function"==typeof t?t:Ey(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function mg(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function yg(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function gg(t,e,n,r,i){var a=dg(e,n),o=dg(e,n=(n+i)/2),s=dg(r,n),u=dg(r,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],u[0],u[1])}function vg(){return pg(mg)}function Mg(){return pg(yg)}function bg(){var t=pg(gg);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var kg={draw:function(t,e){var n=Math.sqrt(e/By);t.moveTo(n,0),t.arc(0,0,n,0,Iy)}},Lg={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()}},wg=Math.sqrt(1/3),xg=2*wg,Tg={draw:function(t,e){var n=Math.sqrt(e/xg),r=n*wg;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},Dg=Math.sin(By/10)/Math.sin(7*By/10),Yg=Math.sin(Iy/10)*Dg,Sg=-Math.cos(Iy/10)*Dg,Eg={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=Yg*n,i=Sg*n;t.moveTo(0,-n),t.lineTo(r,i);for(var a=1;a<5;++a){var o=Iy*a/5,s=Math.cos(o),u=Math.sin(o);t.lineTo(u*n,-s*n),t.lineTo(s*r-u*i,u*r+s*i)}t.closePath()}},Ag={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},Cg=Math.sqrt(3),jg={draw:function(t,e){var n=-Math.sqrt(e/(3*Cg));t.moveTo(0,2*n),t.lineTo(-Cg*n,-n),t.lineTo(Cg*n,-n),t.closePath()}},Og=Math.sqrt(3)/2,Hg=1/Math.sqrt(12),Pg=3*(Hg/2+1),Fg={draw:function(t,e){var n=Math.sqrt(e/Pg),r=n/2,i=n*Hg,a=r,o=n*Hg+n,s=-a,u=o;t.moveTo(r,i),t.lineTo(a,o),t.lineTo(s,u),t.lineTo(-.5*r-Og*i,Og*r+-.5*i),t.lineTo(-.5*a-Og*o,Og*a+-.5*o),t.lineTo(-.5*s-Og*u,Og*s+-.5*u),t.lineTo(-.5*r+Og*i,-.5*i-Og*r),t.lineTo(-.5*a+Og*o,-.5*o-Og*a),t.lineTo(-.5*s+Og*u,-.5*u-Og*s),t.closePath()}},Ng=[kg,Lg,Tg,Ag,Eg,jg,Fg],Bg=function(){var t=Ey(kg),e=Ey(64),n=null;function r(){var r;if(n||(n=r=Ha()),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:Ey(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:Ey(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r},Rg=function(){};function Ig(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 zg(t){this._context=t}zg.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:Ig(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:Ig(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var Wg=function(t){return new zg(t)};function qg(t){this._context=t}qg.prototype={areaStart:Rg,areaEnd:Rg,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:Ig(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var Ug=function(t){return new qg(t)};function Vg(t){this._context=t}Vg.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:Ig(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var $g=function(t){return new Vg(t)};function Gg(t,e){this._basis=new zg(t),this._beta=e}Gg.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,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*o),this._beta*e[u]+(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 Jg=function t(e){function n(t){return 1===e?new zg(t):new Gg(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Xg(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 Zg(t,e){this._context=t,this._k=(1-e)/6}Zg.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:Xg(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:Xg(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 Kg=function t(e){function n(t){return new Zg(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Qg(t,e){this._context=t,this._k=(1-e)/6}Qg.prototype={areaStart:Rg,areaEnd:Rg,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:Xg(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 tv=function t(e){function n(t){return new Qg(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ev(t,e){this._context=t,this._k=(1-e)/6}ev.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:Xg(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 nv=function t(e){function n(t){return new ev(t,e)}return n.tension=function(e){return t(+e)},n}(0);function rv(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Ny){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Ny){var c=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*c+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*c+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function iv(t,e){this._context=t,this._alpha=e}iv.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:rv(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 av=function t(e){function n(t){return e?new iv(t,e):new Zg(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ov(t,e){this._context=t,this._alpha=e}ov.prototype={areaStart:Rg,areaEnd:Rg,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:rv(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 sv=function t(e){function n(t){return e?new ov(t,e):new Qg(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function uv(t,e){this._context=t,this._alpha=e}uv.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:rv(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 cv=function t(e){function n(t){return e?new uv(t,e):new ev(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function lv(t){this._context=t}lv.prototype={areaStart:Rg,areaEnd:Rg,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 dv=function(t){return new lv(t)};function fv(t){return t<0?-1:1}function hv(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(fv(a)+fv(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function _v(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function pv(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 mv(t){this._context=t}function yv(t){this._context=new gv(t)}function gv(t){this._context=t}function vv(t){return new mv(t)}function Mv(t){return new yv(t)}function bv(t){this._context=t}function kv(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<r-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,o[e]-=n*o[e-1];for(i[r-1]=o[r-1]/a[r-1],e=r-2;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<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}mv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:pv(this,this._t0,_v(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){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,pv(this,_v(this,n=hv(this,t,e)),n);break;default:pv(this,this._t0,n=hv(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(yv.prototype=Object.create(mv.prototype)).point=function(t,e){mv.prototype.point.call(this,e,t)},gv.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}},bv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=kv(t),i=kv(e),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Lv=function(t){return new bv(t)};function wv(t,e){this._context=t,this._t=e}wv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=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 xv=function(t){return new wv(t,.5)};function Tv(t){return new wv(t,0)}function Dv(t){return new wv(t,1)}var Yv=function(t,e){if((i=t.length)>1)for(var n,r,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(r=o,o=t[e[a]],n=0;n<s;++n)o[n][1]+=o[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]},Sv=function(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n};function Ev(t,e){return t[e]}var Av=function(){var t=Ey([]),e=Sv,n=Yv,r=Ev;function i(i){var a,o,s=t.apply(this,arguments),u=i.length,c=s.length,l=new Array(c);for(a=0;a<c;++a){for(var d,f=s[a],h=l[a]=new Array(u),_=0;_<u;++_)h[_]=d=[0,+r(i[_],f,_,i)],d.data=i[_];h.key=f}for(a=0,o=e(l);a<c;++a)l[o[a]].index=a;return n(l,o),l}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:Ey(fg.call(e)),i):t},i.value=function(t){return arguments.length?(r="function"==typeof t?t:Ey(+t),i):r},i.order=function(t){return arguments.length?(e=null==t?Sv:"function"==typeof t?t:Ey(fg.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?Yv:t,i):n},i},Cv=function(t,e){if((r=t.length)>0){for(var n,r,i,a=0,o=t[0].length;a<o;++a){for(i=n=0;n<r;++n)i+=t[n][a][1]||0;if(i)for(n=0;n<r;++n)t[n][a][1]/=i}Yv(t,e)}},jv=function(t,e){if((s=t.length)>1)for(var n,r,i,a,o,s,u=0,c=t[e[0]].length;u<c;++u)for(a=o=0,n=0;n<s;++n)(i=(r=t[e[n]][u])[1]-r[0])>=0?(r[0]=a,r[1]=a+=i):i<0?(r[1]=o,r[0]=o+=i):r[0]=a},Ov=function(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],a=i.length;r<a;++r){for(var o=0,s=0;o<n;++o)s+=t[o][r][1]||0;i[r][1]+=i[r][0]=-s/2}Yv(t,e)}},Hv=function(t,e){if((i=t.length)>0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,a=0,o=1;o<r;++o){for(var s=0,u=0,c=0;s<i;++s){for(var l=t[e[s]],d=l[o][1]||0,f=(d-(l[o-1][1]||0))/2,h=0;h<s;++h){var _=t[e[h]];f+=(_[o][1]||0)-(_[o-1][1]||0)}u+=d,c+=f*d}n[o-1][1]+=n[o-1][0]=a,u&&(a-=c/u)}n[o-1][1]+=n[o-1][0]=a,Yv(t,e)}},Pv=function(t){var e=t.map(Fv);return Sv(t).sort(function(t,n){return e[t]-e[n]})};function Fv(t){for(var e,n=0,r=-1,i=t.length;++r<i;)(e=+t[r][1])&&(n+=e);return n}var Nv=function(t){return Pv(t).reverse()},Bv=function(t){var e,n,r=t.length,i=t.map(Fv),a=Sv(t).sort(function(t,e){return i[e]-i[t]}),o=0,s=0,u=[],c=[];for(e=0;e<r;++e)n=a[e],o<s?(o+=i[n],u.push(n)):(s+=i[n],c.push(n));return c.reverse().concat(u)},Rv=function(t){return Sv(t).reverse()},Iv=function(t){return function(){return t}};function zv(t){return t[0]}function Wv(t){return t[1]}function qv(){this._=null}function Uv(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Vv(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function $v(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function Gv(t){for(;t.L;)t=t.L;return t}qv.prototype={constructor:qv,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=Gv(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(Vv(this,n),n=(t=n).U),n.C=!1,r.C=!0,$v(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&($v(this,n),n=(t=n).U),n.C=!1,r.C=!0,Vv(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?Gv(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Vv(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,$v(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Vv(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,$v(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Vv(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,$v(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var Jv=qv;function Xv(t,e,n,r){var i=[null,null],a=gM.push(i)-1;return i.left=t,i.right=e,n&&Kv(i,t,e,n),r&&Kv(i,e,t,r),mM[t.index].halfedges.push(a),mM[e.index].halfedges.push(a),i}function Zv(t,e,n){var r=[e,n];return r.left=t,r}function Kv(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function Qv(t,e,n,r,i){var a,o=t[0],s=t[1],u=o[0],c=o[1],l=0,d=1,f=s[0]-u,h=s[1]-c;if(a=e-u,f||!(a>0)){if(a/=f,f<0){if(a<l)return;a<d&&(d=a)}else if(f>0){if(a>d)return;a>l&&(l=a)}if(a=r-u,f||!(a<0)){if(a/=f,f<0){if(a>d)return;a>l&&(l=a)}else if(f>0){if(a<l)return;a<d&&(d=a)}if(a=n-c,h||!(a>0)){if(a/=h,h<0){if(a<l)return;a<d&&(d=a)}else if(h>0){if(a>d)return;a>l&&(l=a)}if(a=i-c,h||!(a<0)){if(a/=h,h<0){if(a>d)return;a>l&&(l=a)}else if(h>0){if(a<l)return;a<d&&(d=a)}return!(l>0||d<1)||(l>0&&(t[0]=[u+l*f,c+l*h]),d<1&&(t[1]=[u+d*f,c+d*h]),!0)}}}}}function tM(t,e,n,r,i){var a=t[1];if(a)return!0;var o,s,u=t[0],c=t.left,l=t.right,d=c[0],f=c[1],h=l[0],_=l[1],p=(d+h)/2,m=(f+_)/2;if(_===f){if(p<e||p>=r)return;if(d>h){if(u){if(u[1]>=i)return}else u=[p,n];a=[p,i]}else{if(u){if(u[1]<n)return}else u=[p,i];a=[p,n]}}else if(s=m-(o=(d-h)/(_-f))*p,o<-1||o>1)if(d>h){if(u){if(u[1]>=i)return}else u=[(n-s)/o,n];a=[(i-s)/o,i]}else{if(u){if(u[1]<n)return}else u=[(i-s)/o,i];a=[(n-s)/o,n]}else if(f<_){if(u){if(u[0]>=r)return}else u=[e,o*e+s];a=[r,o*r+s]}else{if(u){if(u[0]<e)return}else u=[r,o*r+s];a=[e,o*e+s]}return t[0]=u,t[1]=a,!0}function eM(t,e){var n=t.site,r=e.left,i=e.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=e[1],i=e[0]):(r=e[0],i=e[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function nM(t,e){return e[+(e.left!==t.site)]}function rM(t,e){return e[+(e.left===t.site)]}var iM,aM=[];function oM(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i[0],s=i[1],u=r[0]-o,c=r[1]-s,l=a[0]-o,d=a[1]-s,f=2*(u*d-c*l);if(!(f>=-MM)){var h=u*u+c*c,_=l*l+d*d,p=(d*h-c*_)/f,m=(u*_-l*h)/f,y=aM.pop()||new function(){Uv(this),this.x=this.y=this.arc=this.site=this.cy=null};y.arc=t,y.site=i,y.x=p+o,y.y=(y.cy=m+s)+Math.sqrt(p*p+m*m),t.circle=y;for(var g=null,v=yM._;v;)if(y.y<v.y||y.y===v.y&&y.x<=v.x){if(!v.L){g=v.P;break}v=v.L}else{if(!v.R){g=v;break}v=v.R}yM.insert(g,y),g||(iM=y)}}}}function sM(t){var e=t.circle;e&&(e.P||(iM=e.N),yM.remove(e),aM.push(e),Uv(e),t.circle=null)}var uM=[];function cM(t){var e=uM.pop()||new function(){Uv(this),this.edge=this.site=this.circle=null};return e.site=t,e}function lM(t){sM(t),pM.remove(t),uM.push(t),Uv(t)}function dM(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,s=[t];lM(t);for(var u=a;u.circle&&Math.abs(n-u.circle.x)<vM&&Math.abs(r-u.circle.cy)<vM;)a=u.P,s.unshift(u),lM(u),u=a;s.unshift(u),sM(u);for(var c=o;c.circle&&Math.abs(n-c.circle.x)<vM&&Math.abs(r-c.circle.cy)<vM;)o=c.N,s.push(c),lM(c),c=o;s.push(c),sM(c);var l,d=s.length;for(l=1;l<d;++l)c=s[l],u=s[l-1],Kv(c.edge,u.site,c.site,i);u=s[0],(c=s[d-1]).edge=Xv(u.site,c.site,null,i),oM(u),oM(c)}function fM(t){for(var e,n,r,i,a=t[0],o=t[1],s=pM._;s;)if((r=hM(s,o)-a)>vM)s=s.L;else{if(!((i=a-_M(s,o))>vM)){r>-vM?(e=s.P,n=s):i>-vM?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){mM[t.index]={site:t,halfedges:[]}}(t);var u=cM(t);if(pM.insert(e,u),e||n){if(e===n)return sM(e),n=cM(e.site),pM.insert(u,n),u.edge=n.edge=Xv(e.site,u.site),oM(e),void oM(n);if(n){sM(e),sM(n);var c=e.site,l=c[0],d=c[1],f=t[0]-l,h=t[1]-d,_=n.site,p=_[0]-l,m=_[1]-d,y=2*(f*m-h*p),g=f*f+h*h,v=p*p+m*m,M=[(m*g-h*v)/y+l,(f*v-p*g)/y+d];Kv(n.edge,c,_,M),u.edge=Xv(c,t,null,M),n.edge=Xv(t,_,null,M),oM(e),oM(n)}else u.edge=Xv(e.site,u.site)}}function hM(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],u=n[1],c=u-e;if(!c)return s;var l=s-r,d=1/a-1/c,f=l/c;return d?(-f+Math.sqrt(f*f-2*d*(l*l/(-2*c)-u+c/2+i-a/2)))/d+r:(r+s)/2}function _M(t,e){var n=t.N;if(n)return hM(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var pM,mM,yM,gM,vM=1e-6,MM=1e-12;function bM(t,e){return e[1]-t[1]||e[0]-t[0]}function kM(t,e){var n,r,i,a=t.sort(bM).pop();for(gM=[],mM=new Array(t.length),pM=new Jv,yM=new Jv;;)if(i=iM,a&&(!i||a[1]<i.y||a[1]===i.y&&a[0]<i.x))a[0]===n&&a[1]===r||(fM(a),n=a[0],r=a[1]),a=t.pop();else{if(!i)break;dM(i.arc)}if(function(){for(var t,e,n,r,i=0,a=mM.length;i<a;++i)if((t=mM[i])&&(r=(e=t.halfedges).length)){var o=new Array(r),s=new Array(r);for(n=0;n<r;++n)o[n]=n,s[n]=eM(t,gM[e[n]]);for(o.sort(function(t,e){return s[e]-s[t]}),n=0;n<r;++n)s[n]=e[o[n]];for(n=0;n<r;++n)e[n]=s[n]}}(),e){var o=+e[0][0],s=+e[0][1],u=+e[1][0],c=+e[1][1];!function(t,e,n,r){for(var i,a=gM.length;a--;)tM(i=gM[a],t,e,n,r)&&Qv(i,t,e,n,r)&&(Math.abs(i[0][0]-i[1][0])>vM||Math.abs(i[0][1]-i[1][1])>vM)||delete gM[a]}(o,s,u,c),function(t,e,n,r){var i,a,o,s,u,c,l,d,f,h,_,p,m=mM.length,y=!0;for(i=0;i<m;++i)if(a=mM[i]){for(o=a.site,s=(u=a.halfedges).length;s--;)gM[u[s]]||u.splice(s,1);for(s=0,c=u.length;s<c;)_=(h=rM(a,gM[u[s]]))[0],p=h[1],d=(l=nM(a,gM[u[++s%c]]))[0],f=l[1],(Math.abs(_-d)>vM||Math.abs(p-f)>vM)&&(u.splice(s,0,gM.push(Zv(o,h,Math.abs(_-t)<vM&&r-p>vM?[t,Math.abs(d-t)<vM?f:r]:Math.abs(p-r)<vM&&n-_>vM?[Math.abs(f-r)<vM?d:n,r]:Math.abs(_-n)<vM&&p-e>vM?[n,Math.abs(d-n)<vM?f:e]:Math.abs(p-e)<vM&&_-t>vM?[Math.abs(f-e)<vM?d:t,e]:null))-1),++c);c&&(y=!1)}if(y){var g,v,M,b=1/0;for(i=0,y=null;i<m;++i)(a=mM[i])&&(M=(g=(o=a.site)[0]-t)*g+(v=o[1]-e)*v)<b&&(b=M,y=a);if(y){var k=[t,e],L=[t,r],w=[n,r],x=[n,e];y.halfedges.push(gM.push(Zv(o=y.site,k,L))-1,gM.push(Zv(o,L,w))-1,gM.push(Zv(o,w,x))-1,gM.push(Zv(o,x,k))-1)}}for(i=0;i<m;++i)(a=mM[i])&&(a.halfedges.length||delete mM[i])}(o,s,u,c)}this.edges=gM,this.cells=mM,pM=yM=gM=mM=null}kM.prototype={constructor:kM,polygons:function(){var t=this.edges;return this.cells.map(function(e){var n=e.halfedges.map(function(n){return nM(e,t[n])});return n.data=e.site.data,n})},triangles:function(){var t=[],e=this.edges;return this.cells.forEach(function(n,r){if(a=(i=n.halfedges).length)for(var i,a,o,s,u,c,l=n.site,d=-1,f=e[i[a-1]],h=f.left===l?f.right:f.left;++d<a;)o=h,h=(f=e[i[d]]).left===l?f.right:f.left,o&&h&&r<o.index&&r<h.index&&(u=o,c=h,((s=l)[0]-c[0])*(u[1]-s[1])-(s[0]-u[0])*(c[1]-s[1])<0)&&t.push([l.data,o.data,h.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})},find:function(t,e,n){for(var r,i,a=this,o=a._found||0,s=a.cells.length;!(i=a.cells[o]);)if(++o>=s)return null;var u=t-i.site[0],c=e-i.site[1],l=u*u+c*c;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 u=t-s[0],c=e-s[1],d=u*u+c*c;d<l&&(l=d,o=s.index)}})}while(null!==o);return a._found=r,null==n||l<=n*n?i.site:null}};var LM=function(){var t=zv,e=Wv,n=null;function r(r){return new kM(r.map(function(n,i){var a=[Math.round(t(n,i,r)/vM)*vM,Math.round(e(n,i,r)/vM)*vM];return a.index=i,a.data=n,a}),n)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(e){return arguments.length?(t="function"==typeof e?e:Iv(+e),r):t},r.y=function(t){return arguments.length?(e="function"==typeof t?t:Iv(+t),r):e},r.extent=function(t){return arguments.length?(n=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]},r.size=function(t){return arguments.length?(n=null==t?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]},r},wM=function(t){return function(){return t}};function xM(t,e,n){this.k=t,this.x=e,this.y=n}xM.prototype={constructor:xM,scale:function(t){return 1===t?this:new xM(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new xM(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var TM=new xM(1,0,0);function DM(t){return t.__zoom||TM}function YM(){$t.stopImmediatePropagation()}DM.prototype=xM.prototype;var SM=function(){$t.preventDefault(),$t.stopImmediatePropagation()};function EM(){return!$t.button}function AM(){var t,e,n=this;return n instanceof SVGElement?(t=(n=n.ownerSVGElement||n).width.baseVal.value,e=n.height.baseVal.value):(t=n.clientWidth,e=n.clientHeight),[[0,0],[t,e]]}function CM(){return this.__zoom||TM}function jM(){return-$t.deltaY*($t.deltaMode?120:1)/500}function OM(){return"ontouchstart"in this}function HM(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(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 PM=function(){var t,e,n=EM,r=AM,i=HM,a=jM,o=OM,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,l=rr,d=[],f=ft("start","zoom","end"),h=500,_=150,p=0;function m(t){t.property("__zoom",CM).on("wheel.zoom",L).on("mousedown.zoom",w).on("dblclick.zoom",x).filter(o).on("touchstart.zoom",T).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",Y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new xM(e,t.x,t.y)}function g(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 xM(t.k,r,i)}function v(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function M(t,e,n){t.on("start.zoom",function(){b(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).end()}).tween("zoom",function(){var t=arguments,i=b(this,t),a=r.apply(this,t),o=n||v(a),s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof e?e.apply(this,t):e,d=l(u.invert(o).concat(s/u.k),c.invert(o).concat(s/c.k));return function(t){if(1===t)t=c;else{var e=d(t),n=s/e[2];t=new xM(n,o[0]-e[0]*n,o[1]-e[1]*n)}i.zoom(null,t)}})}function b(t,e){for(var n,r=0,i=d.length;r<i;++r)if((n=d[r]).that===t)return n;return new k(t,e)}function k(t,e){this.that=t,this.args=e,this.index=-1,this.active=0,this.extent=r.apply(t,e)}function L(){if(n.apply(this,arguments)){var t=b(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,a.apply(this,arguments)))),o=de(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)],Jr(this),t.start()}SM(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},_),t.zoom("mouse",i(g(y(e,r),t.mouse[0],t.mouse[1]),t.extent,u))}}function w(){if(!e&&n.apply(this,arguments)){var t=b(this,arguments),r=ie($t.view).on("mousemove.zoom",function(){if(SM(),!t.moved){var e=$t.clientX-o,n=$t.clientY-s;t.moved=e*e+n*n>p}t.zoom("mouse",i(g(t.that.__zoom,t.mouse[0]=de(t.that),t.mouse[1]),t.extent,u))},!0).on("mouseup.zoom",function(){r.on("mousemove.zoom mouseup.zoom",null),ge($t.view,t.moved),SM(),t.end()},!0),a=de(this),o=$t.clientX,s=$t.clientY;ye($t.view),YM(),t.mouse=[a,this.__zoom.invert(a)],Jr(this),t.start()}}function x(){if(n.apply(this,arguments)){var t=this.__zoom,e=de(this),a=t.invert(e),o=t.k*($t.shiftKey?.5:2),s=i(g(y(t,o),e,a),r.apply(this,arguments),u);SM(),c>0?ie(this).transition().duration(c).call(M,s,e):ie(this).call(m.transform,s)}}function T(){if(n.apply(this,arguments)){var e,r,i,a,o=b(this,arguments),s=$t.changedTouches,u=s.length;for(YM(),r=0;r<u;++r)i=s[r],a=[a=he(this,s,i.identifier),this.__zoom.invert(a),i.identifier],o.touch0?o.touch1||(o.touch1=a):(o.touch0=a,e=!0);if(t&&(t=clearTimeout(t),!o.touch1))return o.end(),void((a=ie(this).on("dblclick.zoom"))&&a.apply(this,arguments));e&&(t=setTimeout(function(){t=null},h),Jr(this),o.start())}}function D(){var e,n,r,a,o=b(this,arguments),s=$t.changedTouches,c=s.length;for(SM(),t&&(t=clearTimeout(t)),e=0;e<c;++e)n=s[e],r=he(this,s,n.identifier),o.touch0&&o.touch0[2]===n.identifier?o.touch0[0]=r:o.touch1&&o.touch1[2]===n.identifier&&(o.touch1[0]=r);if(n=o.that.__zoom,o.touch1){var l=o.touch0[0],d=o.touch0[1],f=o.touch1[0],h=o.touch1[1],_=(_=f[0]-l[0])*_+(_=f[1]-l[1])*_,p=(p=h[0]-d[0])*p+(p=h[1]-d[1])*p;n=y(n,Math.sqrt(_/p)),r=[(l[0]+f[0])/2,(l[1]+f[1])/2],a=[(d[0]+h[0])/2,(d[1]+h[1])/2]}else{if(!o.touch0)return;r=o.touch0[0],a=o.touch0[1]}o.zoom("touch",i(g(n,r,a),o.extent,u))}function Y(){var t,n,r=b(this,arguments),i=$t.changedTouches,a=i.length;for(YM(),e&&clearTimeout(e),e=setTimeout(function(){e=null},h),t=0;t<a;++t)n=i[t],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0?r.touch0[1]=this.__zoom.invert(r.touch0[0]):r.end()}return m.transform=function(t,e){var n=t.selection?t.selection():t;n.property("__zoom",CM),t!==n?M(t,e):n.interrupt().each(function(){b(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},m.scaleBy=function(t,e){m.scaleTo(t,function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)})},m.scaleTo=function(t,e){m.transform(t,function(){var t=r.apply(this,arguments),n=this.__zoom,a=v(t),o=n.invert(a),s="function"==typeof e?e.apply(this,arguments):e;return i(g(y(n,s),a,o),t,u)})},m.translateBy=function(t,e,n){m.transform(t,function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),u)})},m.translateTo=function(t,e,n){m.transform(t,function(){var t=r.apply(this,arguments),a=this.__zoom,o=v(t);return i(TM.translate(o[0],o[1]).scale(a.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,u)})},k.prototype={start:function(){return 1==++this.active&&(this.index=d.push(this)-1,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(d.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){Kt(new function(t,e,n){this.target=t,this.type=e,this.transform=n}(m,t,this.that.__zoom),f.apply,f,[t,this.that,this.args])}},m.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:wM(+t),m):a},m.filter=function(t){return arguments.length?(n="function"==typeof t?t:wM(!!t),m):n},m.touchable=function(t){return arguments.length?(o="function"==typeof t?t:wM(!!t),m):o},m.extent=function(t){return arguments.length?(r="function"==typeof t?t:wM([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),m):r},m.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],m):[s[0],s[1]]},m.translateExtent=function(t){return arguments.length?(u[0][0]=+t[0][0],u[1][0]=+t[1][0],u[0][1]=+t[0][1],u[1][1]=+t[1][1],m):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},m.constrain=function(t){return arguments.length?(i=t,m):i},m.duration=function(t){return arguments.length?(c=+t,m):c},m.interpolate=function(t){return arguments.length?(l=t,m):l},m.on=function(){var t=f.on.apply(f,arguments);return t===f?m:t},m.clickDistance=function(t){return arguments.length?(p=(t=+t)*t,m):Math.sqrt(p)},m};n.d(e,"version",function(){return"4.13.0"}),n.d(e,"bisect",function(){return u}),n.d(e,"bisectRight",function(){return o}),n.d(e,"bisectLeft",function(){return s}),n.d(e,"ascending",function(){return r}),n.d(e,"bisector",function(){return i}),n.d(e,"cross",function(){return d}),n.d(e,"descending",function(){return f}),n.d(e,"deviation",function(){return p}),n.d(e,"extent",function(){return m}),n.d(e,"histogram",function(){return E}),n.d(e,"thresholdFreedmanDiaconis",function(){return C}),n.d(e,"thresholdScott",function(){return j}),n.d(e,"thresholdSturges",function(){return S}),n.d(e,"max",function(){return O}),n.d(e,"mean",function(){return H}),n.d(e,"median",function(){return P}),n.d(e,"merge",function(){return F}),n.d(e,"min",function(){return N}),n.d(e,"pairs",function(){return c}),n.d(e,"permute",function(){return B}),n.d(e,"quantile",function(){return A}),n.d(e,"range",function(){return k}),n.d(e,"scan",function(){return R}),n.d(e,"shuffle",function(){return I}),n.d(e,"sum",function(){return z}),n.d(e,"ticks",function(){return T}),n.d(e,"tickIncrement",function(){return D}),n.d(e,"tickStep",function(){return Y}),n.d(e,"transpose",function(){return W}),n.d(e,"variance",function(){return _}),n.d(e,"zip",function(){return U}),n.d(e,"axisTop",function(){return rt}),n.d(e,"axisRight",function(){return it}),n.d(e,"axisBottom",function(){return at}),n.d(e,"axisLeft",function(){return ot}),n.d(e,"brush",function(){return va}),n.d(e,"brushX",function(){return ya}),n.d(e,"brushY",function(){return ga}),n.d(e,"brushSelection",function(){return ma}),n.d(e,"chord",function(){return Da}),n.d(e,"ribbon",function(){return Ia}),n.d(e,"nest",function(){return Ua}),n.d(e,"set",function(){return Qa}),n.d(e,"map",function(){return qa}),n.d(e,"keys",function(){return to}),n.d(e,"values",function(){return eo}),n.d(e,"entries",function(){return no}),n.d(e,"color",function(){return Ie}),n.d(e,"rgb",function(){return Ue}),n.d(e,"hsl",function(){return Ge}),n.d(e,"lab",function(){return un}),n.d(e,"hcl",function(){return _n}),n.d(e,"cubehelix",function(){return kn}),n.d(e,"dispatch",function(){return ft}),n.d(e,"drag",function(){return xe}),n.d(e,"dragDisable",function(){return ye}),n.d(e,"dragEnable",function(){return ge}),n.d(e,"dsvFormat",function(){return co}),n.d(e,"csvParse",function(){return fo}),n.d(e,"csvParseRows",function(){return ho}),n.d(e,"csvFormat",function(){return _o}),n.d(e,"csvFormatRows",function(){return po}),n.d(e,"tsvParse",function(){return yo}),n.d(e,"tsvParseRows",function(){return go}),n.d(e,"tsvFormat",function(){return vo}),n.d(e,"tsvFormatRows",function(){return Mo}),n.d(e,"easeLinear",function(){return ii}),n.d(e,"easeQuad",function(){return si}),n.d(e,"easeQuadIn",function(){return ai}),n.d(e,"easeQuadOut",function(){return oi}),n.d(e,"easeQuadInOut",function(){return si}),n.d(e,"easeCubic",function(){return li}),n.d(e,"easeCubicIn",function(){return ui}),n.d(e,"easeCubicOut",function(){return ci}),n.d(e,"easeCubicInOut",function(){return li}),n.d(e,"easePoly",function(){return hi}),n.d(e,"easePolyIn",function(){return di}),n.d(e,"easePolyOut",function(){return fi}),n.d(e,"easePolyInOut",function(){return hi}),n.d(e,"easeSin",function(){return gi}),n.d(e,"easeSinIn",function(){return mi}),n.d(e,"easeSinOut",function(){return yi}),n.d(e,"easeSinInOut",function(){return gi}),n.d(e,"easeExp",function(){return bi}),n.d(e,"easeExpIn",function(){return vi}),n.d(e,"easeExpOut",function(){return Mi}),n.d(e,"easeExpInOut",function(){return bi}),n.d(e,"easeCircle",function(){return wi}),n.d(e,"easeCircleIn",function(){return ki}),n.d(e,"easeCircleOut",function(){return Li}),n.d(e,"easeCircleInOut",function(){return wi}),n.d(e,"easeBounce",function(){return Pi}),n.d(e,"easeBounceIn",function(){return Hi}),n.d(e,"easeBounceOut",function(){return Pi}),n.d(e,"easeBounceInOut",function(){return Fi}),n.d(e,"easeBack",function(){return Ri}),n.d(e,"easeBackIn",function(){return Ni}),n.d(e,"easeBackOut",function(){return Bi}),n.d(e,"easeBackInOut",function(){return Ri}),n.d(e,"easeElastic",function(){return Wi}),n.d(e,"easeElasticIn",function(){return zi}),n.d(e,"easeElasticOut",function(){return Wi}),n.d(e,"easeElasticInOut",function(){return qi}),n.d(e,"forceCenter",function(){return bo}),n.d(e,"forceCollide",function(){return Oo}),n.d(e,"forceLink",function(){return Fo}),n.d(e,"forceManyBody",function(){return qo}),n.d(e,"forceRadial",function(){return Uo}),n.d(e,"forceSimulation",function(){return Wo}),n.d(e,"forceX",function(){return Vo}),n.d(e,"forceY",function(){return $o}),n.d(e,"formatDefaultLocale",function(){return ss}),n.d(e,"format",function(){return ns}),n.d(e,"formatPrefix",function(){return rs}),n.d(e,"formatLocale",function(){return os}),n.d(e,"formatSpecifier",function(){return Qo}),n.d(e,"precisionFixed",function(){return us}),n.d(e,"precisionPrefix",function(){return cs}),n.d(e,"precisionRound",function(){return ls}),n.d(e,"geoArea",function(){return nu}),n.d(e,"geoBounds",function(){return Gu}),n.d(e,"geoCentroid",function(){return oc}),n.d(e,"geoCircle",function(){return yc}),n.d(e,"geoClipAntimeridian",function(){return Yc}),n.d(e,"geoClipCircle",function(){return Sc}),n.d(e,"geoClipExtent",function(){return Fc}),n.d(e,"geoClipRectangle",function(){return jc}),n.d(e,"geoContains",function(){return el}),n.d(e,"geoDistance",function(){return Vc}),n.d(e,"geoGraticule",function(){return il}),n.d(e,"geoGraticule10",function(){return al}),n.d(e,"geoInterpolate",function(){return ll}),n.d(e,"geoLength",function(){return Wc}),n.d(e,"geoPath",function(){return ud}),n.d(e,"geoAlbers",function(){return Td}),n.d(e,"geoAlbersUsa",function(){return Dd}),n.d(e,"geoAzimuthalEqualArea",function(){return Ad}),n.d(e,"geoAzimuthalEqualAreaRaw",function(){return Ed}),n.d(e,"geoAzimuthalEquidistant",function(){return jd}),n.d(e,"geoAzimuthalEquidistantRaw",function(){return Cd}),n.d(e,"geoConicConformal",function(){return Bd}),n.d(e,"geoConicConformalRaw",function(){return Nd}),n.d(e,"geoConicEqualArea",function(){return xd}),n.d(e,"geoConicEqualAreaRaw",function(){return wd}),n.d(e,"geoConicEquidistant",function(){return Wd}),n.d(e,"geoConicEquidistantRaw",function(){return zd}),n.d(e,"geoEquirectangular",function(){return Id}),n.d(e,"geoEquirectangularRaw",function(){return Rd}),n.d(e,"geoGnomonic",function(){return Ud}),n.d(e,"geoGnomonicRaw",function(){return qd}),n.d(e,"geoIdentity",function(){return $d}),n.d(e,"geoProjection",function(){return bd}),n.d(e,"geoProjectionMutator",function(){return kd}),n.d(e,"geoMercator",function(){return Hd}),n.d(e,"geoMercatorRaw",function(){return Od}),n.d(e,"geoNaturalEarth1",function(){return Jd}),n.d(e,"geoNaturalEarth1Raw",function(){return Gd}),n.d(e,"geoOrthographic",function(){return Zd}),n.d(e,"geoOrthographicRaw",function(){return Xd}),n.d(e,"geoStereographic",function(){return Qd}),n.d(e,"geoStereographicRaw",function(){return Kd}),n.d(e,"geoTransverseMercator",function(){return ef}),n.d(e,"geoTransverseMercatorRaw",function(){return tf}),n.d(e,"geoRotation",function(){return _c}),n.d(e,"geoStream",function(){return Gs}),n.d(e,"geoTransform",function(){return cd}),n.d(e,"cluster",function(){return of}),n.d(e,"hierarchy",function(){return uf}),n.d(e,"pack",function(){return Cf}),n.d(e,"packSiblings",function(){return Df}),n.d(e,"packEnclose",function(){return _f}),n.d(e,"partition",function(){return Nf}),n.d(e,"stratify",function(){return qf}),n.d(e,"tree",function(){return Zf}),n.d(e,"treemap",function(){return nh}),n.d(e,"treemapBinary",function(){return rh}),n.d(e,"treemapDice",function(){return Ff}),n.d(e,"treemapSlice",function(){return Kf}),n.d(e,"treemapSliceDice",function(){return ih}),n.d(e,"treemapSquarify",function(){return eh}),n.d(e,"treemapResquarify",function(){return ah}),n.d(e,"interpolate",function(){return $n}),n.d(e,"interpolateArray",function(){return Pn}),n.d(e,"interpolateBasis",function(){return xn}),n.d(e,"interpolateBasisClosed",function(){return Tn}),n.d(e,"interpolateDate",function(){return Fn}),n.d(e,"interpolateNumber",function(){return Nn}),n.d(e,"interpolateObject",function(){return Bn}),n.d(e,"interpolateRound",function(){return Gn}),n.d(e,"interpolateString",function(){return Vn}),n.d(e,"interpolateTransformCss",function(){return Qn}),n.d(e,"interpolateTransformSvg",function(){return tr}),n.d(e,"interpolateZoom",function(){return rr}),n.d(e,"interpolateRgb",function(){return Cn}),n.d(e,"interpolateRgbBasis",function(){return On}),n.d(e,"interpolateRgbBasisClosed",function(){return Hn}),n.d(e,"interpolateHsl",function(){return ar}),n.d(e,"interpolateHslLong",function(){return or}),n.d(e,"interpolateLab",function(){return sr}),n.d(e,"interpolateHcl",function(){return cr}),n.d(e,"interpolateHclLong",function(){return lr}),n.d(e,"interpolateCubehelix",function(){return _r}),n.d(e,"interpolateCubehelixLong",function(){return pr}),n.d(e,"quantize",function(){return mr}),n.d(e,"path",function(){return Ha}),n.d(e,"polygonArea",function(){return oh}),n.d(e,"polygonCentroid",function(){return sh}),n.d(e,"polygonHull",function(){return dh}),n.d(e,"polygonContains",function(){return fh}),n.d(e,"polygonLength",function(){return hh}),n.d(e,"quadtree",function(){return Yo}),n.d(e,"queue",function(){return bh}),n.d(e,"randomUniform",function(){return Lh}),n.d(e,"randomNormal",function(){return wh}),n.d(e,"randomLogNormal",function(){return xh}),n.d(e,"randomBates",function(){return Dh}),n.d(e,"randomIrwinHall",function(){return Th}),n.d(e,"randomExponential",function(){return Yh}),n.d(e,"request",function(){return Sh}),n.d(e,"html",function(){return Ah}),n.d(e,"json",function(){return Ch}),n.d(e,"text",function(){return jh}),n.d(e,"xml",function(){return Oh}),n.d(e,"csv",function(){return Ph}),n.d(e,"tsv",function(){return Fh}),n.d(e,"scaleBand",function(){return Wh}),n.d(e,"scalePoint",function(){return qh}),n.d(e,"scaleIdentity",function(){return n_}),n.d(e,"scaleLinear",function(){return e_}),n.d(e,"scaleLog",function(){return l_}),n.d(e,"scaleOrdinal",function(){return zh}),n.d(e,"scaleImplicit",function(){return Ih}),n.d(e,"scalePow",function(){return f_}),n.d(e,"scaleSqrt",function(){return h_}),n.d(e,"scaleQuantile",function(){return __}),n.d(e,"scaleQuantize",function(){return p_}),n.d(e,"scaleThreshold",function(){return m_}),n.d(e,"scaleTime",function(){return fy}),n.d(e,"scaleUtc",function(){return hy}),n.d(e,"schemeCategory10",function(){return py}),n.d(e,"schemeCategory20b",function(){return my}),n.d(e,"schemeCategory20c",function(){return yy}),n.d(e,"schemeCategory20",function(){return gy}),n.d(e,"interpolateCubehelixDefault",function(){return vy}),n.d(e,"interpolateRainbow",function(){return Ly}),n.d(e,"interpolateWarm",function(){return My}),n.d(e,"interpolateCool",function(){return by}),n.d(e,"interpolateViridis",function(){return xy}),n.d(e,"interpolateMagma",function(){return Ty}),n.d(e,"interpolateInferno",function(){return Dy}),n.d(e,"interpolatePlasma",function(){return Yy}),n.d(e,"scaleSequential",function(){return Sy}),n.d(e,"create",function(){return ae}),n.d(e,"creator",function(){return mt}),n.d(e,"local",function(){return se}),n.d(e,"matcher",function(){return wt}),n.d(e,"mouse",function(){return de}),n.d(e,"namespace",function(){return pt}),n.d(e,"namespaces",function(){return _t}),n.d(e,"clientPoint",function(){return le}),n.d(e,"select",function(){return ie}),n.d(e,"selectAll",function(){return fe}),n.d(e,"selection",function(){return re}),n.d(e,"selector",function(){return gt}),n.d(e,"selectorAll",function(){return Mt}),n.d(e,"style",function(){return Ct}),n.d(e,"touch",function(){return he}),n.d(e,"touches",function(){return _e}),n.d(e,"window",function(){return At}),n.d(e,"event",function(){return $t}),n.d(e,"customEvent",function(){return Kt}),n.d(e,"arc",function(){return Jy}),n.d(e,"area",function(){return eg}),n.d(e,"line",function(){return tg}),n.d(e,"pie",function(){return ig}),n.d(e,"areaRadial",function(){return lg}),n.d(e,"radialArea",function(){return lg}),n.d(e,"lineRadial",function(){return cg}),n.d(e,"radialLine",function(){return cg}),n.d(e,"pointRadial",function(){return dg}),n.d(e,"linkHorizontal",function(){return vg}),n.d(e,"linkVertical",function(){return Mg}),n.d(e,"linkRadial",function(){return bg}),n.d(e,"symbol",function(){return Bg}),n.d(e,"symbols",function(){return Ng}),n.d(e,"symbolCircle",function(){return kg}),n.d(e,"symbolCross",function(){return Lg}),n.d(e,"symbolDiamond",function(){return Tg}),n.d(e,"symbolSquare",function(){return Ag}),n.d(e,"symbolStar",function(){return Eg}),n.d(e,"symbolTriangle",function(){return jg}),n.d(e,"symbolWye",function(){return Fg}),n.d(e,"curveBasisClosed",function(){return Ug}),n.d(e,"curveBasisOpen",function(){return $g}),n.d(e,"curveBasis",function(){return Wg}),n.d(e,"curveBundle",function(){return Jg}),n.d(e,"curveCardinalClosed",function(){return tv}),n.d(e,"curveCardinalOpen",function(){return nv}),n.d(e,"curveCardinal",function(){return Kg}),n.d(e,"curveCatmullRomClosed",function(){return sv}),n.d(e,"curveCatmullRomOpen",function(){return cv}),n.d(e,"curveCatmullRom",function(){return av}),n.d(e,"curveLinearClosed",function(){return dv}),n.d(e,"curveLinear",function(){return Zy}),n.d(e,"curveMonotoneX",function(){return vv}),n.d(e,"curveMonotoneY",function(){return Mv}),n.d(e,"curveNatural",function(){return Lv}),n.d(e,"curveStep",function(){return xv}),n.d(e,"curveStepAfter",function(){return Dv}),n.d(e,"curveStepBefore",function(){return Tv}),n.d(e,"stack",function(){return Av}),n.d(e,"stackOffsetExpand",function(){return Cv}),n.d(e,"stackOffsetDiverging",function(){return jv}),n.d(e,"stackOffsetNone",function(){return Yv}),n.d(e,"stackOffsetSilhouette",function(){return Ov}),n.d(e,"stackOffsetWiggle",function(){return Hv}),n.d(e,"stackOrderAscending",function(){return Pv}),n.d(e,"stackOrderDescending",function(){return Nv}),n.d(e,"stackOrderInsideOut",function(){return Bv}),n.d(e,"stackOrderNone",function(){return Sv}),n.d(e,"stackOrderReverse",function(){return Rv}),n.d(e,"timeInterval",function(){return v_}),n.d(e,"timeMillisecond",function(){return b_}),n.d(e,"timeMilliseconds",function(){return k_}),n.d(e,"utcMillisecond",function(){return b_}),n.d(e,"utcMilliseconds",function(){return k_}),n.d(e,"timeSecond",function(){return T_}),n.d(e,"timeSeconds",function(){return D_}),n.d(e,"utcSecond",function(){return T_}),n.d(e,"utcSeconds",function(){return D_}),n.d(e,"timeMinute",function(){return S_}),n.d(e,"timeMinutes",function(){return E_}),n.d(e,"timeHour",function(){return C_}),n.d(e,"timeHours",function(){return j_}),n.d(e,"timeDay",function(){return H_}),n.d(e,"timeDays",function(){return P_}),n.d(e,"timeWeek",function(){return N_}),n.d(e,"timeWeeks",function(){return U_}),n.d(e,"timeSunday",function(){return N_}),n.d(e,"timeSundays",function(){return U_}),n.d(e,"timeMonday",function(){return B_}),n.d(e,"timeMondays",function(){return V_}),n.d(e,"timeTuesday",function(){return R_}),n.d(e,"timeTuesdays",function(){return $_}),n.d(e,"timeWednesday",function(){return I_}),n.d(e,"timeWednesdays",function(){return G_}),n.d(e,"timeThursday",function(){return z_}),n.d(e,"timeThursdays",function(){return J_}),n.d(e,"timeFriday",function(){return W_}),n.d(e,"timeFridays",function(){return X_}),n.d(e,"timeSaturday",function(){return q_}),n.d(e,"timeSaturdays",function(){return Z_}),n.d(e,"timeMonth",function(){return Q_}),n.d(e,"timeMonths",function(){return tp}),n.d(e,"timeYear",function(){return np}),n.d(e,"timeYears",function(){return rp}),n.d(e,"utcMinute",function(){return ap}),n.d(e,"utcMinutes",function(){return op}),n.d(e,"utcHour",function(){return up}),n.d(e,"utcHours",function(){return cp}),n.d(e,"utcDay",function(){return dp}),n.d(e,"utcDays",function(){return fp}),n.d(e,"utcWeek",function(){return _p}),n.d(e,"utcWeeks",function(){return bp}),n.d(e,"utcSunday",function(){return _p}),n.d(e,"utcSundays",function(){return bp}),n.d(e,"utcMonday",function(){return pp}),n.d(e,"utcMondays",function(){return kp}),n.d(e,"utcTuesday",function(){return mp}),n.d(e,"utcTuesdays",function(){return Lp}),n.d(e,"utcWednesday",function(){return yp}),n.d(e,"utcWednesdays",function(){return wp}),n.d(e,"utcThursday",function(){return gp}),n.d(e,"utcThursdays",function(){return xp}),n.d(e,"utcFriday",function(){return vp}),n.d(e,"utcFridays",function(){return Tp}),n.d(e,"utcSaturday",function(){return Mp}),n.d(e,"utcSaturdays",function(){return Dp}),n.d(e,"utcMonth",function(){return Sp}),n.d(e,"utcMonths",function(){return Ep}),n.d(e,"utcYear",function(){return Cp}),n.d(e,"utcYears",function(){return jp}),n.d(e,"timeFormatDefaultLocale",function(){return Qm}),n.d(e,"timeFormat",function(){return Bp}),n.d(e,"timeParse",function(){return Rp}),n.d(e,"utcFormat",function(){return Ip}),n.d(e,"utcParse",function(){return zp}),n.d(e,"timeFormatLocale",function(){return Fp}),n.d(e,"isoFormat",function(){return ty}),n.d(e,"isoParse",function(){return ey}),n.d(e,"now",function(){return Tr}),n.d(e,"timer",function(){return Sr}),n.d(e,"timerFlush",function(){return Er}),n.d(e,"timeout",function(){return Or}),n.d(e,"interval",function(){return Hr}),n.d(e,"transition",function(){return ei}),n.d(e,"active",function(){return Gi}),n.d(e,"interrupt",function(){return Jr}),n.d(e,"voronoi",function(){return LM}),n.d(e,"zoom",function(){return PM}),n.d(e,"zoomTransform",function(){return DM}),n.d(e,"zoomIdentity",function(){return TM})},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){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 u,c=[],l=!1,d=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):d=-1,c.length&&h())}function h(){if(!l){var t=s(f);l=!0;for(var e=c.length;e;){for(u=c,c=[];++d<e;)u&&u[d].run();d=-1,e=c.length}u=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function _(t,e){this.fun=t,this.array=e}function p(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new _(t,e)),1!==c.length||l||s(h)},_.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=p,i.addListener=p,i.once=p,i.off=p,i.removeListener=p,i.removeAllListeners=p,i.emit=p,i.prependListener=p,i.prependOnceListener=p,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},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}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(t){return r.exec(t).slice(1)};function a(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}e.resolve=function(){for(var e="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var o=i>=0?arguments[i]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,r="/"===o.charAt(0))}return e=n(a(e.split("/"),function(t){return!!t}),!r).join("/"),(r?"/":"")+e||"."},e.normalize=function(t){var r=e.isAbsolute(t),i="/"===o(t,-1);return(t=n(a(t.split("/"),function(t){return!!t}),!r).join("/"))||r||(t="."),t&&i&&(t+="/"),(r?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(a(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<t.length&&""===t[e];e++);for(var n=t.length-1;n>=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,u=0;u<o;u++)if(i[u]!==a[u]){s=u;break}var c=[];for(u=s;u<i.length;u++)c.push("..");return(c=c.concat(a.slice(s))).join("/")},e.sep="/",e.delimiter=":",e.dirname=function(t){var e=i(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},e.basename=function(t,e){var n=i(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){return i(t)[3]};var o="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(5))},function(t,e){},function(t,e,n){(function(t,n){(function(){var r,i=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",s="__lodash_hash_undefined__",u=500,c="__lodash_placeholder__",l=1,d=2,f=4,h=1,_=2,p=1,m=2,y=4,g=8,v=16,M=32,b=64,k=128,L=256,w=512,x=30,T="...",D=800,Y=16,S=1,E=2,A=1/0,C=9007199254740991,j=1.7976931348623157e308,O=NaN,H=4294967295,P=H-1,F=H>>>1,N=[["ary",k],["bind",p],["bindKey",m],["curry",g],["curryRight",v],["flip",w],["partial",M],["partialRight",b],["rearg",L]],B="[object Arguments]",R="[object Array]",I="[object AsyncFunction]",z="[object Boolean]",W="[object Date]",q="[object DOMException]",U="[object Error]",V="[object Function]",$="[object GeneratorFunction]",G="[object Map]",J="[object Number]",X="[object Null]",Z="[object Object]",K="[object Proxy]",Q="[object RegExp]",tt="[object Set]",et="[object String]",nt="[object Symbol]",rt="[object Undefined]",it="[object WeakMap]",at="[object WeakSet]",ot="[object ArrayBuffer]",st="[object DataView]",ut="[object Float32Array]",ct="[object Float64Array]",lt="[object Int8Array]",dt="[object Int16Array]",ft="[object Int32Array]",ht="[object Uint8Array]",_t="[object Uint8ClampedArray]",pt="[object Uint16Array]",mt="[object Uint32Array]",yt=/\b__p \+= '';/g,gt=/\b(__p \+=) '' \+/g,vt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Mt=/&(?:amp|lt|gt|quot|#39);/g,bt=/[&<>"']/g,kt=RegExp(Mt.source),Lt=RegExp(bt.source),wt=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,Tt=/<%=([\s\S]+?)%>/g,Dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Yt=/^\w*$/,St=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Et=/[\\^$.*+?()[\]{}|]/g,At=RegExp(Et.source),Ct=/^\s+|\s+$/g,jt=/^\s+/,Ot=/\s+$/,Ht=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Pt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ft=/,? & /,Nt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Bt=/\\(\\)?/g,Rt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,It=/\w*$/,zt=/^[-+]0x[0-9a-f]+$/i,Wt=/^0b[01]+$/i,qt=/^\[object .+?Constructor\]$/,Ut=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\d*)$/,$t=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gt=/($^)/,Jt=/['\n\r\u2028\u2029\\]/g,Xt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Zt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Kt="[\\ud800-\\udfff]",Qt="["+Zt+"]",te="["+Xt+"]",ee="\\d+",ne="[\\u2700-\\u27bf]",re="[a-z\\xdf-\\xf6\\xf8-\\xff]",ie="[^\\ud800-\\udfff"+Zt+ee+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ae="\\ud83c[\\udffb-\\udfff]",oe="[^\\ud800-\\udfff]",se="(?:\\ud83c[\\udde6-\\uddff]){2}",ue="[\\ud800-\\udbff][\\udc00-\\udfff]",ce="[A-Z\\xc0-\\xd6\\xd8-\\xde]",le="(?:"+re+"|"+ie+")",de="(?:"+ce+"|"+ie+")",fe="(?:"+te+"|"+ae+")"+"?",he="[\\ufe0e\\ufe0f]?"+fe+("(?:\\u200d(?:"+[oe,se,ue].join("|")+")[\\ufe0e\\ufe0f]?"+fe+")*"),_e="(?:"+[ne,se,ue].join("|")+")"+he,pe="(?:"+[oe+te+"?",te,se,ue,Kt].join("|")+")",me=RegExp("['’]","g"),ye=RegExp(te,"g"),ge=RegExp(ae+"(?="+ae+")|"+pe+he,"g"),ve=RegExp([ce+"?"+re+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Qt,ce,"$"].join("|")+")",de+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Qt,ce+le,"$"].join("|")+")",ce+"?"+le+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ce+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ee,_e].join("|"),"g"),Me=RegExp("[\\u200d\\ud800-\\udfff"+Xt+"\\ufe0e\\ufe0f]"),be=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ke=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Le=-1,we={};we[ut]=we[ct]=we[lt]=we[dt]=we[ft]=we[ht]=we[_t]=we[pt]=we[mt]=!0,we[B]=we[R]=we[ot]=we[z]=we[st]=we[W]=we[U]=we[V]=we[G]=we[J]=we[Z]=we[Q]=we[tt]=we[et]=we[it]=!1;var xe={};xe[B]=xe[R]=xe[ot]=xe[st]=xe[z]=xe[W]=xe[ut]=xe[ct]=xe[lt]=xe[dt]=xe[ft]=xe[G]=xe[J]=xe[Z]=xe[Q]=xe[tt]=xe[et]=xe[nt]=xe[ht]=xe[_t]=xe[pt]=xe[mt]=!0,xe[U]=xe[V]=xe[it]=!1;var Te={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},De=parseFloat,Ye=parseInt,Se="object"==typeof t&&t&&t.Object===Object&&t,Ee="object"==typeof self&&self&&self.Object===Object&&self,Ae=Se||Ee||Function("return this")(),Ce="object"==typeof e&&e&&!e.nodeType&&e,je=Ce&&"object"==typeof n&&n&&!n.nodeType&&n,Oe=je&&je.exports===Ce,He=Oe&&Se.process,Pe=function(){try{return He&&He.binding&&He.binding("util")}catch(t){}}(),Fe=Pe&&Pe.isArrayBuffer,Ne=Pe&&Pe.isDate,Be=Pe&&Pe.isMap,Re=Pe&&Pe.isRegExp,Ie=Pe&&Pe.isSet,ze=Pe&&Pe.isTypedArray;function We(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function qe(t,e,n,r){for(var i=-1,a=null==t?0:t.length;++i<a;){var o=t[i];e(r,o,n(o),t)}return r}function Ue(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}function Ve(t,e){for(var n=null==t?0:t.length;n--&&!1!==e(t[n],n,t););return t}function $e(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function Ge(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}function Je(t,e){return!!(null==t?0:t.length)&&on(t,e,0)>-1}function Xe(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function Ze(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function Ke(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function Qe(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}function tn(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function en(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}var nn=ln("length");function rn(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function an(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}function on(t,e,n){return e==e?function(t,e,n){var r=n-1,i=t.length;for(;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):an(t,un,n)}function sn(t,e,n,r){for(var i=n-1,a=t.length;++i<a;)if(r(t[i],e))return i;return-1}function un(t){return t!=t}function cn(t,e){var n=null==t?0:t.length;return n?hn(t,e)/n:O}function ln(t){return function(e){return null==e?r:e[t]}}function dn(t){return function(e){return null==t?r:t[e]}}function fn(t,e,n,r,i){return i(t,function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)}),n}function hn(t,e){for(var n,i=-1,a=t.length;++i<a;){var o=e(t[i]);o!==r&&(n=n===r?o:n+o)}return n}function _n(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function pn(t){return function(e){return t(e)}}function mn(t,e){return Ze(e,function(e){return t[e]})}function yn(t,e){return t.has(e)}function gn(t,e){for(var n=-1,r=t.length;++n<r&&on(e,t[n],0)>-1;);return n}function vn(t,e){for(var n=t.length;n--&&on(e,t[n],0)>-1;);return n}var Mn=dn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),bn=dn({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function kn(t){return"\\"+Te[t]}function Ln(t){return Me.test(t)}function wn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function xn(t,e){return function(n){return t(e(n))}}function Tn(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n];o!==e&&o!==c||(t[n]=c,a[i++]=n)}return a}function Dn(t,e){return"__proto__"==e?r:t[e]}function Yn(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function Sn(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function En(t){return Ln(t)?function(t){var e=ge.lastIndex=0;for(;ge.test(t);)++e;return e}(t):nn(t)}function An(t){return Ln(t)?function(t){return t.match(ge)||[]}(t):function(t){return t.split("")}(t)}var Cn=dn({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var jn=function t(e){var n,Xt=(e=null==e?Ae:jn.defaults(Ae.Object(),e,jn.pick(Ae,ke))).Array,Zt=e.Date,Kt=e.Error,Qt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,re=e.String,ie=e.TypeError,ae=Xt.prototype,oe=Qt.prototype,se=ee.prototype,ue=e["__core-js_shared__"],ce=oe.toString,le=se.hasOwnProperty,de=0,fe=(n=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",he=se.toString,_e=ce.call(ee),pe=Ae._,ge=ne("^"+ce.call(le).replace(Et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=Oe?e.Buffer:r,Te=e.Symbol,Se=e.Uint8Array,Ee=Me?Me.allocUnsafe:r,Ce=xn(ee.getPrototypeOf,ee),je=ee.create,He=se.propertyIsEnumerable,Pe=ae.splice,nn=Te?Te.isConcatSpreadable:r,dn=Te?Te.iterator:r,On=Te?Te.toStringTag:r,Hn=function(){try{var t=Ba(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Pn=e.clearTimeout!==Ae.clearTimeout&&e.clearTimeout,Fn=Zt&&Zt.now!==Ae.Date.now&&Zt.now,Nn=e.setTimeout!==Ae.setTimeout&&e.setTimeout,Bn=te.ceil,Rn=te.floor,In=ee.getOwnPropertySymbols,zn=Me?Me.isBuffer:r,Wn=e.isFinite,qn=ae.join,Un=xn(ee.keys,ee),Vn=te.max,$n=te.min,Gn=Zt.now,Jn=e.parseInt,Xn=te.random,Zn=ae.reverse,Kn=Ba(e,"DataView"),Qn=Ba(e,"Map"),tr=Ba(e,"Promise"),er=Ba(e,"Set"),nr=Ba(e,"WeakMap"),rr=Ba(ee,"create"),ir=nr&&new nr,ar={},or=lo(Kn),sr=lo(Qn),ur=lo(tr),cr=lo(er),lr=lo(nr),dr=Te?Te.prototype:r,fr=dr?dr.valueOf:r,hr=dr?dr.toString:r;function _r(t){if(Ys(t)&&!ys(t)&&!(t instanceof gr)){if(t instanceof yr)return t;if(le.call(t,"__wrapped__"))return fo(t)}return new yr(t)}var pr=function(){function t(){}return function(e){if(!Ds(e))return{};if(je)return je(e);t.prototype=e;var n=new t;return t.prototype=r,n}}();function mr(){}function yr(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=r}function gr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=H,this.__views__=[]}function vr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Mr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function br(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function kr(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new br;++e<n;)this.add(t[e])}function Lr(t){var e=this.__data__=new Mr(t);this.size=e.size}function wr(t,e){var n=ys(t),r=!n&&ms(t),i=!n&&!r&&bs(t),a=!n&&!r&&!i&&Ps(t),o=n||r||i||a,s=o?_n(t.length,re):[],u=s.length;for(var c in t)!e&&!le.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Va(c,u))||s.push(c);return s}function xr(t){var e=t.length;return e?t[ki(0,e-1)]:r}function Tr(t,e){return so(ra(t),Hr(e,0,t.length))}function Dr(t){return so(ra(t))}function Yr(t,e,n){(n===r||hs(t[e],n))&&(n!==r||e in t)||jr(t,e,n)}function Sr(t,e,n){var i=t[e];le.call(t,e)&&hs(i,n)&&(n!==r||e in t)||jr(t,e,n)}function Er(t,e){for(var n=t.length;n--;)if(hs(t[n][0],e))return n;return-1}function Ar(t,e,n,r){return Rr(t,function(t,i,a){e(r,t,n(t),a)}),r}function Cr(t,e){return t&&ia(e,iu(e),t)}function jr(t,e,n){"__proto__"==e&&Hn?Hn(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Or(t,e){for(var n=-1,i=e.length,a=Xt(i),o=null==t;++n<i;)a[n]=o?r:Qs(t,e[n]);return a}function Hr(t,e,n){return t==t&&(n!==r&&(t=t<=n?t:n),e!==r&&(t=t>=e?t:e)),t}function Pr(t,e,n,i,a,o){var s,u=e&l,c=e&d,h=e&f;if(n&&(s=a?n(t,i,a,o):n(t)),s!==r)return s;if(!Ds(t))return t;var _=ys(t);if(_){if(s=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&le.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!u)return ra(t,s)}else{var p=za(t),m=p==V||p==$;if(bs(t))return Zi(t,u);if(p==Z||p==B||m&&!a){if(s=c||m?{}:qa(t),!u)return c?function(t,e){return ia(t,Ia(t),e)}(t,function(t,e){return t&&ia(e,au(e),t)}(s,t)):function(t,e){return ia(t,Ra(t),e)}(t,Cr(s,t))}else{if(!xe[p])return a?t:{};s=function(t,e,n){var r,i,a,o=t.constructor;switch(e){case ot:return Ki(t);case z:case W:return new o(+t);case st:return function(t,e){var n=e?Ki(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case ut:case ct:case lt:case dt:case ft:case ht:case _t:case pt:case mt:return Qi(t,n);case G:return new o;case J:case et:return new o(t);case Q:return(a=new(i=t).constructor(i.source,It.exec(i))).lastIndex=i.lastIndex,a;case tt:return new o;case nt:return r=t,fr?ee(fr.call(r)):{}}}(t,p,u)}}o||(o=new Lr);var y=o.get(t);if(y)return y;if(o.set(t,s),js(t))return t.forEach(function(r){s.add(Pr(r,e,n,r,t,o))}),s;if(Ss(t))return t.forEach(function(r,i){s.set(i,Pr(r,e,n,i,t,o))}),s;var g=_?r:(h?c?Ca:Aa:c?au:iu)(t);return Ue(g||t,function(r,i){g&&(r=t[i=r]),Sr(s,i,Pr(r,e,n,i,t,o))}),s}function Fr(t,e,n){var i=n.length;if(null==t)return!i;for(t=ee(t);i--;){var a=n[i],o=e[a],s=t[a];if(s===r&&!(a in t)||!o(s))return!1}return!0}function Nr(t,e,n){if("function"!=typeof t)throw new ie(o);return ro(function(){t.apply(r,n)},e)}function Br(t,e,n,r){var a=-1,o=Je,s=!0,u=t.length,c=[],l=e.length;if(!u)return c;n&&(e=Ze(e,pn(n))),r?(o=Xe,s=!1):e.length>=i&&(o=yn,s=!1,e=new kr(e));t:for(;++a<u;){var d=t[a],f=null==n?d:n(d);if(d=r||0!==d?d:0,s&&f==f){for(var h=l;h--;)if(e[h]===f)continue t;c.push(d)}else o(e,f,r)||c.push(d)}return c}_r.templateSettings={escape:wt,evaluate:xt,interpolate:Tt,variable:"",imports:{_:_r}},_r.prototype=mr.prototype,_r.prototype.constructor=_r,yr.prototype=pr(mr.prototype),yr.prototype.constructor=yr,gr.prototype=pr(mr.prototype),gr.prototype.constructor=gr,vr.prototype.clear=function(){this.__data__=rr?rr(null):{},this.size=0},vr.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},vr.prototype.get=function(t){var e=this.__data__;if(rr){var n=e[t];return n===s?r:n}return le.call(e,t)?e[t]:r},vr.prototype.has=function(t){var e=this.__data__;return rr?e[t]!==r:le.call(e,t)},vr.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=rr&&e===r?s:e,this},Mr.prototype.clear=function(){this.__data__=[],this.size=0},Mr.prototype.delete=function(t){var e=this.__data__,n=Er(e,t);return!(n<0||(n==e.length-1?e.pop():Pe.call(e,n,1),--this.size,0))},Mr.prototype.get=function(t){var e=this.__data__,n=Er(e,t);return n<0?r:e[n][1]},Mr.prototype.has=function(t){return Er(this.__data__,t)>-1},Mr.prototype.set=function(t,e){var n=this.__data__,r=Er(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},br.prototype.clear=function(){this.size=0,this.__data__={hash:new vr,map:new(Qn||Mr),string:new vr}},br.prototype.delete=function(t){var e=Fa(this,t).delete(t);return this.size-=e?1:0,e},br.prototype.get=function(t){return Fa(this,t).get(t)},br.prototype.has=function(t){return Fa(this,t).has(t)},br.prototype.set=function(t,e){var n=Fa(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},kr.prototype.add=kr.prototype.push=function(t){return this.__data__.set(t,s),this},kr.prototype.has=function(t){return this.__data__.has(t)},Lr.prototype.clear=function(){this.__data__=new Mr,this.size=0},Lr.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Lr.prototype.get=function(t){return this.__data__.get(t)},Lr.prototype.has=function(t){return this.__data__.has(t)},Lr.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Mr){var r=n.__data__;if(!Qn||r.length<i-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new br(r)}return n.set(t,e),this.size=n.size,this};var Rr=sa(Gr),Ir=sa(Jr,!0);function zr(t,e){var n=!0;return Rr(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Wr(t,e,n){for(var i=-1,a=t.length;++i<a;){var o=t[i],s=e(o);if(null!=s&&(u===r?s==s&&!Hs(s):n(s,u)))var u=s,c=o}return c}function qr(t,e){var n=[];return Rr(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Ur(t,e,n,r,i){var a=-1,o=t.length;for(n||(n=Ua),i||(i=[]);++a<o;){var s=t[a];e>0&&n(s)?e>1?Ur(s,e-1,n,r,i):Ke(i,s):r||(i[i.length]=s)}return i}var Vr=ua(),$r=ua(!0);function Gr(t,e){return t&&Vr(t,e,iu)}function Jr(t,e){return t&&$r(t,e,iu)}function Xr(t,e){return Ge(e,function(e){return ws(t[e])})}function Zr(t,e){for(var n=0,i=(e=$i(e,t)).length;null!=t&&n<i;)t=t[co(e[n++])];return n&&n==i?t:r}function Kr(t,e,n){var r=e(t);return ys(t)?r:Ke(r,n(t))}function Qr(t){return null==t?t===r?rt:X:On&&On in ee(t)?function(t){var e=le.call(t,On),n=t[On];try{t[On]=r;var i=!0}catch(t){}var a=he.call(t);return i&&(e?t[On]=n:delete t[On]),a}(t):function(t){return he.call(t)}(t)}function ti(t,e){return t>e}function ei(t,e){return null!=t&&le.call(t,e)}function ni(t,e){return null!=t&&e in ee(t)}function ri(t,e,n){for(var i=n?Xe:Je,a=t[0].length,o=t.length,s=o,u=Xt(o),c=1/0,l=[];s--;){var d=t[s];s&&e&&(d=Ze(d,pn(e))),c=$n(d.length,c),u[s]=!n&&(e||a>=120&&d.length>=120)?new kr(s&&d):r}d=t[0];var f=-1,h=u[0];t:for(;++f<a&&l.length<c;){var _=d[f],p=e?e(_):_;if(_=n||0!==_?_:0,!(h?yn(h,p):i(l,p,n))){for(s=o;--s;){var m=u[s];if(!(m?yn(m,p):i(t[s],p,n)))continue t}h&&h.push(p),l.push(_)}}return l}function ii(t,e,n){var i=null==(t=eo(t,e=$i(e,t)))?t:t[co(Lo(e))];return null==i?r:We(i,t,n)}function ai(t){return Ys(t)&&Qr(t)==B}function oi(t,e,n,i,a){return t===e||(null==t||null==e||!Ys(t)&&!Ys(e)?t!=t&&e!=e:function(t,e,n,i,a,o){var s=ys(t),u=ys(e),c=s?R:za(t),l=u?R:za(e),d=(c=c==B?Z:c)==Z,f=(l=l==B?Z:l)==Z,p=c==l;if(p&&bs(t)){if(!bs(e))return!1;s=!0,d=!1}if(p&&!d)return o||(o=new Lr),s||Ps(t)?Sa(t,e,n,i,a,o):function(t,e,n,r,i,a,o){switch(n){case st:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ot:return!(t.byteLength!=e.byteLength||!a(new Se(t),new Se(e)));case z:case W:case J:return hs(+t,+e);case U:return t.name==e.name&&t.message==e.message;case Q:case et:return t==e+"";case G:var s=wn;case tt:var u=r&h;if(s||(s=Yn),t.size!=e.size&&!u)return!1;var c=o.get(t);if(c)return c==e;r|=_,o.set(t,e);var l=Sa(s(t),s(e),r,i,a,o);return o.delete(t),l;case nt:if(fr)return fr.call(t)==fr.call(e)}return!1}(t,e,c,n,i,a,o);if(!(n&h)){var m=d&&le.call(t,"__wrapped__"),y=f&&le.call(e,"__wrapped__");if(m||y){var g=m?t.value():t,v=y?e.value():e;return o||(o=new Lr),a(g,v,n,i,o)}}return!!p&&(o||(o=new Lr),function(t,e,n,i,a,o){var s=n&h,u=Aa(t),c=u.length,l=Aa(e).length;if(c!=l&&!s)return!1;for(var d=c;d--;){var f=u[d];if(!(s?f in e:le.call(e,f)))return!1}var _=o.get(t);if(_&&o.get(e))return _==e;var p=!0;o.set(t,e),o.set(e,t);for(var m=s;++d<c;){f=u[d];var y=t[f],g=e[f];if(i)var v=s?i(g,y,f,e,t,o):i(y,g,f,t,e,o);if(!(v===r?y===g||a(y,g,n,i,o):v)){p=!1;break}m||(m="constructor"==f)}if(p&&!m){var M=t.constructor,b=e.constructor;M!=b&&"constructor"in t&&"constructor"in e&&!("function"==typeof M&&M instanceof M&&"function"==typeof b&&b instanceof b)&&(p=!1)}return o.delete(t),o.delete(e),p}(t,e,n,i,a,o))}(t,e,n,i,oi,a))}function si(t,e,n,i){var a=n.length,o=a,s=!i;if(null==t)return!o;for(t=ee(t);a--;){var u=n[a];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a<o;){var c=(u=n[a])[0],l=t[c],d=u[1];if(s&&u[2]){if(l===r&&!(c in t))return!1}else{var f=new Lr;if(i)var p=i(l,d,c,t,e,f);if(!(p===r?oi(d,l,h|_,i,f):p))return!1}}return!0}function ui(t){return!(!Ds(t)||fe&&fe in t)&&(ws(t)?ge:qt).test(lo(t))}function ci(t){return"function"==typeof t?t:null==t?Eu:"object"==typeof t?ys(t)?pi(t[0],t[1]):_i(t):Bu(t)}function li(t){if(!Za(t))return Un(t);var e=[];for(var n in ee(t))le.call(t,n)&&"constructor"!=n&&e.push(n);return e}function di(t){if(!Ds(t))return function(t){var e=[];if(null!=t)for(var n in ee(t))e.push(n);return e}(t);var e=Za(t),n=[];for(var r in t)("constructor"!=r||!e&&le.call(t,r))&&n.push(r);return n}function fi(t,e){return t<e}function hi(t,e){var n=-1,r=vs(t)?Xt(t.length):[];return Rr(t,function(t,i,a){r[++n]=e(t,i,a)}),r}function _i(t){var e=Na(t);return 1==e.length&&e[0][2]?Qa(e[0][0],e[0][1]):function(n){return n===t||si(n,t,e)}}function pi(t,e){return Ga(t)&&Ka(e)?Qa(co(t),e):function(n){var i=Qs(n,t);return i===r&&i===e?tu(n,t):oi(e,i,h|_)}}function mi(t,e,n,i,a){t!==e&&Vr(e,function(o,s){if(Ds(o))a||(a=new Lr),function(t,e,n,i,a,o,s){var u=Dn(t,n),c=Dn(e,n),l=s.get(c);if(l)Yr(t,n,l);else{var d=o?o(u,c,n+"",t,e,s):r,f=d===r;if(f){var h=ys(c),_=!h&&bs(c),p=!h&&!_&&Ps(c);d=c,h||_||p?ys(u)?d=u:Ms(u)?d=ra(u):_?(f=!1,d=Zi(c,!0)):p?(f=!1,d=Qi(c,!0)):d=[]:As(c)||ms(c)?(d=u,ms(u)?d=qs(u):(!Ds(u)||i&&ws(u))&&(d=qa(c))):f=!1}f&&(s.set(c,d),a(d,c,i,o,s),s.delete(c)),Yr(t,n,d)}}(t,e,s,n,mi,i,a);else{var u=i?i(Dn(t,s),o,s+"",t,e,a):r;u===r&&(u=o),Yr(t,s,u)}},au)}function yi(t,e){var n=t.length;if(n)return Va(e+=e<0?n:0,n)?t[e]:r}function gi(t,e,n){var r=-1;return e=Ze(e.length?e:[Eu],pn(Pa())),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}(hi(t,function(t,n,i){return{criteria:Ze(e,function(e){return e(t)}),index:++r,value:t}}),function(t,e){return function(t,e,n){for(var r=-1,i=t.criteria,a=e.criteria,o=i.length,s=n.length;++r<o;){var u=ta(i[r],a[r]);if(u){if(r>=s)return u;var c=n[r];return u*("desc"==c?-1:1)}}return t.index-e.index}(t,e,n)})}function vi(t,e,n){for(var r=-1,i=e.length,a={};++r<i;){var o=e[r],s=Zr(t,o);n(s,o)&&Di(a,$i(o,t),s)}return a}function Mi(t,e,n,r){var i=r?sn:on,a=-1,o=e.length,s=t;for(t===e&&(e=ra(e)),n&&(s=Ze(t,pn(n)));++a<o;)for(var u=0,c=e[a],l=n?n(c):c;(u=i(s,l,u,r))>-1;)s!==t&&Pe.call(s,u,1),Pe.call(t,u,1);return t}function bi(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==a){var a=i;Va(i)?Pe.call(t,i,1):Bi(t,i)}}return t}function ki(t,e){return t+Rn(Xn()*(e-t+1))}function Li(t,e){var n="";if(!t||e<1||e>C)return n;do{e%2&&(n+=t),(e=Rn(e/2))&&(t+=t)}while(e);return n}function wi(t,e){return io(to(t,e,Eu),t+"")}function xi(t){return xr(hu(t))}function Ti(t,e){var n=hu(t);return so(n,Hr(e,0,n.length))}function Di(t,e,n,i){if(!Ds(t))return t;for(var a=-1,o=(e=$i(e,t)).length,s=o-1,u=t;null!=u&&++a<o;){var c=co(e[a]),l=n;if(a!=s){var d=u[c];(l=i?i(d,c,u):r)===r&&(l=Ds(d)?d:Va(e[a+1])?[]:{})}Sr(u,c,l),u=u[c]}return t}var Yi=ir?function(t,e){return ir.set(t,e),t}:Eu,Si=Hn?function(t,e){return Hn(t,"toString",{configurable:!0,enumerable:!1,value:Du(e),writable:!0})}:Eu;function Ei(t){return so(hu(t))}function Ai(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var a=Xt(i);++r<i;)a[r]=t[r+e];return a}function Ci(t,e){var n;return Rr(t,function(t,r,i){return!(n=e(t,r,i))}),!!n}function ji(t,e,n){var r=0,i=null==t?r:t.length;if("number"==typeof e&&e==e&&i<=F){for(;r<i;){var a=r+i>>>1,o=t[a];null!==o&&!Hs(o)&&(n?o<=e:o<e)?r=a+1:i=a}return i}return Oi(t,e,Eu,n)}function Oi(t,e,n,i){e=n(e);for(var a=0,o=null==t?0:t.length,s=e!=e,u=null===e,c=Hs(e),l=e===r;a<o;){var d=Rn((a+o)/2),f=n(t[d]),h=f!==r,_=null===f,p=f==f,m=Hs(f);if(s)var y=i||p;else y=l?p&&(i||h):u?p&&h&&(i||!_):c?p&&h&&!_&&(i||!m):!_&&!m&&(i?f<=e:f<e);y?a=d+1:o=d}return $n(o,P)}function Hi(t,e){for(var n=-1,r=t.length,i=0,a=[];++n<r;){var o=t[n],s=e?e(o):o;if(!n||!hs(s,u)){var u=s;a[i++]=0===o?0:o}}return a}function Pi(t){return"number"==typeof t?t:Hs(t)?O:+t}function Fi(t){if("string"==typeof t)return t;if(ys(t))return Ze(t,Fi)+"";if(Hs(t))return hr?hr.call(t):"";var e=t+"";return"0"==e&&1/t==-A?"-0":e}function Ni(t,e,n){var r=-1,a=Je,o=t.length,s=!0,u=[],c=u;if(n)s=!1,a=Xe;else if(o>=i){var l=e?null:La(t);if(l)return Yn(l);s=!1,a=yn,c=new kr}else c=e?[]:u;t:for(;++r<o;){var d=t[r],f=e?e(d):d;if(d=n||0!==d?d:0,s&&f==f){for(var h=c.length;h--;)if(c[h]===f)continue t;e&&c.push(f),u.push(d)}else a(c,f,n)||(c!==u&&c.push(f),u.push(d))}return u}function Bi(t,e){return null==(t=eo(t,e=$i(e,t)))||delete t[co(Lo(e))]}function Ri(t,e,n,r){return Di(t,e,n(Zr(t,e)),r)}function Ii(t,e,n,r){for(var i=t.length,a=r?i:-1;(r?a--:++a<i)&&e(t[a],a,t););return n?Ai(t,r?0:a,r?a+1:i):Ai(t,r?a+1:0,r?i:a)}function zi(t,e){var n=t;return n instanceof gr&&(n=n.value()),Qe(e,function(t,e){return e.func.apply(e.thisArg,Ke([t],e.args))},n)}function Wi(t,e,n){var r=t.length;if(r<2)return r?Ni(t[0]):[];for(var i=-1,a=Xt(r);++i<r;)for(var o=t[i],s=-1;++s<r;)s!=i&&(a[i]=Br(a[i]||o,t[s],e,n));return Ni(Ur(a,1),e,n)}function qi(t,e,n){for(var i=-1,a=t.length,o=e.length,s={};++i<a;){var u=i<o?e[i]:r;n(s,t[i],u)}return s}function Ui(t){return Ms(t)?t:[]}function Vi(t){return"function"==typeof t?t:Eu}function $i(t,e){return ys(t)?t:Ga(t,e)?[t]:uo(Us(t))}var Gi=wi;function Ji(t,e,n){var i=t.length;return n=n===r?i:n,!e&&n>=i?t:Ai(t,e,n)}var Xi=Pn||function(t){return Ae.clearTimeout(t)};function Zi(t,e){if(e)return t.slice();var n=t.length,r=Ee?Ee(n):new t.constructor(n);return t.copy(r),r}function Ki(t){var e=new t.constructor(t.byteLength);return new Se(e).set(new Se(t)),e}function Qi(t,e){var n=e?Ki(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ta(t,e){if(t!==e){var n=t!==r,i=null===t,a=t==t,o=Hs(t),s=e!==r,u=null===e,c=e==e,l=Hs(e);if(!u&&!l&&!o&&t>e||o&&s&&c&&!u&&!l||i&&s&&c||!n&&c||!a)return 1;if(!i&&!o&&!l&&t<e||l&&n&&a&&!i&&!o||u&&n&&a||!s&&a||!c)return-1}return 0}function ea(t,e,n,r){for(var i=-1,a=t.length,o=n.length,s=-1,u=e.length,c=Vn(a-o,0),l=Xt(u+c),d=!r;++s<u;)l[s]=e[s];for(;++i<o;)(d||i<a)&&(l[n[i]]=t[i]);for(;c--;)l[s++]=t[i++];return l}function na(t,e,n,r){for(var i=-1,a=t.length,o=-1,s=n.length,u=-1,c=e.length,l=Vn(a-s,0),d=Xt(l+c),f=!r;++i<l;)d[i]=t[i];for(var h=i;++u<c;)d[h+u]=e[u];for(;++o<s;)(f||i<a)&&(d[h+n[o]]=t[i++]);return d}function ra(t,e){var n=-1,r=t.length;for(e||(e=Xt(r));++n<r;)e[n]=t[n];return e}function ia(t,e,n,i){var a=!n;n||(n={});for(var o=-1,s=e.length;++o<s;){var u=e[o],c=i?i(n[u],t[u],u,n,t):r;c===r&&(c=t[u]),a?jr(n,u,c):Sr(n,u,c)}return n}function aa(t,e){return function(n,r){var i=ys(n)?qe:Ar,a=e?e():{};return i(n,t,Pa(r,2),a)}}function oa(t){return wi(function(e,n){var i=-1,a=n.length,o=a>1?n[a-1]:r,s=a>2?n[2]:r;for(o=t.length>3&&"function"==typeof o?(a--,o):r,s&&$a(n[0],n[1],s)&&(o=a<3?r:o,a=1),e=ee(e);++i<a;){var u=n[i];u&&t(e,u,i,o)}return e})}function sa(t,e){return function(n,r){if(null==n)return n;if(!vs(n))return t(n,r);for(var i=n.length,a=e?i:-1,o=ee(n);(e?a--:++a<i)&&!1!==r(o[a],a,o););return n}}function ua(t){return function(e,n,r){for(var i=-1,a=ee(e),o=r(e),s=o.length;s--;){var u=o[t?s:++i];if(!1===n(a[u],u,a))break}return e}}function ca(t){return function(e){var n=Ln(e=Us(e))?An(e):r,i=n?n[0]:e.charAt(0),a=n?Ji(n,1).join(""):e.slice(1);return i[t]()+a}}function la(t){return function(e){return Qe(wu(mu(e).replace(me,"")),t,"")}}function da(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=pr(t.prototype),r=t.apply(n,e);return Ds(r)?r:n}}function fa(t){return function(e,n,i){var a=ee(e);if(!vs(e)){var o=Pa(n,3);e=iu(e),n=function(t){return o(a[t],t,a)}}var s=t(e,n,i);return s>-1?a[o?e[s]:s]:r}}function ha(t){return Ea(function(e){var n=e.length,i=n,a=yr.prototype.thru;for(t&&e.reverse();i--;){var s=e[i];if("function"!=typeof s)throw new ie(o);if(a&&!u&&"wrapper"==Oa(s))var u=new yr([],!0)}for(i=u?i:n;++i<n;){var c=Oa(s=e[i]),l="wrapper"==c?ja(s):r;u=l&&Ja(l[0])&&l[1]==(k|g|M|L)&&!l[4].length&&1==l[9]?u[Oa(l[0])].apply(u,l[3]):1==s.length&&Ja(s)?u[c]():u.thru(s)}return function(){var t=arguments,r=t[0];if(u&&1==t.length&&ys(r))return u.plant(r).value();for(var i=0,a=n?e[i].apply(this,t):r;++i<n;)a=e[i].call(this,a);return a}})}function _a(t,e,n,i,a,o,s,u,c,l){var d=e&k,f=e&p,h=e&m,_=e&(g|v),y=e&w,M=h?r:da(t);return function p(){for(var m=arguments.length,g=Xt(m),v=m;v--;)g[v]=arguments[v];if(_)var b=Ha(p),k=function(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}(g,b);if(i&&(g=ea(g,i,a,_)),o&&(g=na(g,o,s,_)),m-=k,_&&m<l){var L=Tn(g,b);return ba(t,e,_a,p.placeholder,n,g,L,u,c,l-m)}var w=f?n:this,x=h?w[t]:t;return m=g.length,u?g=function(t,e){for(var n=t.length,i=$n(e.length,n),a=ra(t);i--;){var o=e[i];t[i]=Va(o,n)?a[o]:r}return t}(g,u):y&&m>1&&g.reverse(),d&&c<m&&(g.length=c),this&&this!==Ae&&this instanceof p&&(x=M||da(x)),x.apply(w,g)}}function pa(t,e){return function(n,r){return function(t,e,n,r){return Gr(t,function(t,i,a){e(r,n(t),i,a)}),r}(n,t,e(r),{})}}function ma(t,e){return function(n,i){var a;if(n===r&&i===r)return e;if(n!==r&&(a=n),i!==r){if(a===r)return i;"string"==typeof n||"string"==typeof i?(n=Fi(n),i=Fi(i)):(n=Pi(n),i=Pi(i)),a=t(n,i)}return a}}function ya(t){return Ea(function(e){return e=Ze(e,pn(Pa())),wi(function(n){var r=this;return t(e,function(t){return We(t,r,n)})})})}function ga(t,e){var n=(e=e===r?" ":Fi(e)).length;if(n<2)return n?Li(e,t):e;var i=Li(e,Bn(t/En(e)));return Ln(e)?Ji(An(i),0,t).join(""):i.slice(0,t)}function va(t){return function(e,n,i){return i&&"number"!=typeof i&&$a(e,n,i)&&(n=i=r),e=Rs(e),n===r?(n=e,e=0):n=Rs(n),function(t,e,n,r){for(var i=-1,a=Vn(Bn((e-t)/(n||1)),0),o=Xt(a);a--;)o[r?a:++i]=t,t+=n;return o}(e,n,i=i===r?e<n?1:-1:Rs(i),t)}}function Ma(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=Ws(e),n=Ws(n)),t(e,n)}}function ba(t,e,n,i,a,o,s,u,c,l){var d=e&g;e|=d?M:b,(e&=~(d?b:M))&y||(e&=~(p|m));var f=[t,e,a,d?o:r,d?s:r,d?r:o,d?r:s,u,c,l],h=n.apply(r,f);return Ja(t)&&no(h,f),h.placeholder=i,ao(h,t,e)}function ka(t){var e=te[t];return function(t,n){if(t=Ws(t),n=null==n?0:$n(Is(n),292)){var r=(Us(t)+"e").split("e");return+((r=(Us(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}var La=er&&1/Yn(new er([,-0]))[1]==A?function(t){return new er(t)}:Hu;function wa(t){return function(e){var n=za(e);return n==G?wn(e):n==tt?Sn(e):function(t,e){return Ze(e,function(e){return[e,t[e]]})}(e,t(e))}}function xa(t,e,n,i,a,s,u,l){var d=e&m;if(!d&&"function"!=typeof t)throw new ie(o);var f=i?i.length:0;if(f||(e&=~(M|b),i=a=r),u=u===r?u:Vn(Is(u),0),l=l===r?l:Is(l),f-=a?a.length:0,e&b){var h=i,_=a;i=a=r}var w=d?r:ja(t),x=[t,e,n,i,a,h,_,s,u,l];if(w&&function(t,e){var n=t[1],r=e[1],i=n|r,a=i<(p|m|k),o=r==k&&n==g||r==k&&n==L&&t[7].length<=e[8]||r==(k|L)&&e[7].length<=e[8]&&n==g;if(!a&&!o)return t;r&p&&(t[2]=e[2],i|=n&p?0:y);var s=e[3];if(s){var u=t[3];t[3]=u?ea(u,s,e[4]):s,t[4]=u?Tn(t[3],c):e[4]}(s=e[5])&&(u=t[5],t[5]=u?na(u,s,e[6]):s,t[6]=u?Tn(t[5],c):e[6]),(s=e[7])&&(t[7]=s),r&k&&(t[8]=null==t[8]?e[8]:$n(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i}(x,w),t=x[0],e=x[1],n=x[2],i=x[3],a=x[4],!(l=x[9]=x[9]===r?d?0:t.length:Vn(x[9]-f,0))&&e&(g|v)&&(e&=~(g|v)),e&&e!=p)T=e==g||e==v?function(t,e,n){var i=da(t);return function a(){for(var o=arguments.length,s=Xt(o),u=o,c=Ha(a);u--;)s[u]=arguments[u];var l=o<3&&s[0]!==c&&s[o-1]!==c?[]:Tn(s,c);return(o-=l.length)<n?ba(t,e,_a,a.placeholder,r,s,l,r,r,n-o):We(this&&this!==Ae&&this instanceof a?i:t,this,s)}}(t,e,l):e!=M&&e!=(p|M)||a.length?_a.apply(r,x):function(t,e,n,r){var i=e&p,a=da(t);return function e(){for(var o=-1,s=arguments.length,u=-1,c=r.length,l=Xt(c+s),d=this&&this!==Ae&&this instanceof e?a:t;++u<c;)l[u]=r[u];for(;s--;)l[u++]=arguments[++o];return We(d,i?n:this,l)}}(t,e,n,i);else var T=function(t,e,n){var r=e&p,i=da(t);return function e(){return(this&&this!==Ae&&this instanceof e?i:t).apply(r?n:this,arguments)}}(t,e,n);return ao((w?Yi:no)(T,x),t,e)}function Ta(t,e,n,i){return t===r||hs(t,se[n])&&!le.call(i,n)?e:t}function Da(t,e,n,i,a,o){return Ds(t)&&Ds(e)&&(o.set(e,t),mi(t,e,r,Da,o),o.delete(e)),t}function Ya(t){return As(t)?r:t}function Sa(t,e,n,i,a,o){var s=n&h,u=t.length,c=e.length;if(u!=c&&!(s&&c>u))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var d=-1,f=!0,p=n&_?new kr:r;for(o.set(t,e),o.set(e,t);++d<u;){var m=t[d],y=e[d];if(i)var g=s?i(y,m,d,e,t,o):i(m,y,d,t,e,o);if(g!==r){if(g)continue;f=!1;break}if(p){if(!en(e,function(t,e){if(!yn(p,e)&&(m===t||a(m,t,n,i,o)))return p.push(e)})){f=!1;break}}else if(m!==y&&!a(m,y,n,i,o)){f=!1;break}}return o.delete(t),o.delete(e),f}function Ea(t){return io(to(t,r,go),t+"")}function Aa(t){return Kr(t,iu,Ra)}function Ca(t){return Kr(t,au,Ia)}var ja=ir?function(t){return ir.get(t)}:Hu;function Oa(t){for(var e=t.name+"",n=ar[e],r=le.call(ar,e)?n.length:0;r--;){var i=n[r],a=i.func;if(null==a||a==t)return i.name}return e}function Ha(t){return(le.call(_r,"placeholder")?_r:t).placeholder}function Pa(){var t=_r.iteratee||Au;return t=t===Au?ci:t,arguments.length?t(arguments[0],arguments[1]):t}function Fa(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function Na(t){for(var e=iu(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Ka(i)]}return e}function Ba(t,e){var n=function(t,e){return null==t?r:t[e]}(t,e);return ui(n)?n:r}var Ra=In?function(t){return null==t?[]:(t=ee(t),Ge(In(t),function(e){return He.call(t,e)}))}:zu,Ia=In?function(t){for(var e=[];t;)Ke(e,Ra(t)),t=Ce(t);return e}:zu,za=Qr;function Wa(t,e,n){for(var r=-1,i=(e=$i(e,t)).length,a=!1;++r<i;){var o=co(e[r]);if(!(a=null!=t&&n(t,o)))break;t=t[o]}return a||++r!=i?a:!!(i=null==t?0:t.length)&&Ts(i)&&Va(o,i)&&(ys(t)||ms(t))}function qa(t){return"function"!=typeof t.constructor||Za(t)?{}:pr(Ce(t))}function Ua(t){return ys(t)||ms(t)||!!(nn&&t&&t[nn])}function Va(t,e){var n=typeof t;return!!(e=null==e?C:e)&&("number"==n||"symbol"!=n&&Vt.test(t))&&t>-1&&t%1==0&&t<e}function $a(t,e,n){if(!Ds(n))return!1;var r=typeof e;return!!("number"==r?vs(n)&&Va(e,n.length):"string"==r&&e in n)&&hs(n[e],t)}function Ga(t,e){if(ys(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!Hs(t))||Yt.test(t)||!Dt.test(t)||null!=e&&t in ee(e)}function Ja(t){var e=Oa(t),n=_r[e];if("function"!=typeof n||!(e in gr.prototype))return!1;if(t===n)return!0;var r=ja(n);return!!r&&t===r[0]}(Kn&&za(new Kn(new ArrayBuffer(1)))!=st||Qn&&za(new Qn)!=G||tr&&"[object Promise]"!=za(tr.resolve())||er&&za(new er)!=tt||nr&&za(new nr)!=it)&&(za=function(t){var e=Qr(t),n=e==Z?t.constructor:r,i=n?lo(n):"";if(i)switch(i){case or:return st;case sr:return G;case ur:return"[object Promise]";case cr:return tt;case lr:return it}return e});var Xa=ue?ws:Wu;function Za(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||se)}function Ka(t){return t==t&&!Ds(t)}function Qa(t,e){return function(n){return null!=n&&n[t]===e&&(e!==r||t in ee(n))}}function to(t,e,n){return e=Vn(e===r?t.length-1:e,0),function(){for(var r=arguments,i=-1,a=Vn(r.length-e,0),o=Xt(a);++i<a;)o[i]=r[e+i];i=-1;for(var s=Xt(e+1);++i<e;)s[i]=r[i];return s[e]=n(o),We(t,this,s)}}function eo(t,e){return e.length<2?t:Zr(t,Ai(e,0,-1))}var no=oo(Yi),ro=Nn||function(t,e){return Ae.setTimeout(t,e)},io=oo(Si);function ao(t,e,n){var r=e+"";return io(t,function(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ht,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Ue(N,function(n){var r="_."+n[0];e&n[1]&&!Je(t,r)&&t.push(r)}),t.sort()}(function(t){var e=t.match(Pt);return e?e[1].split(Ft):[]}(r),n)))}function oo(t){var e=0,n=0;return function(){var i=Gn(),a=Y-(i-n);if(n=i,a>0){if(++e>=D)return arguments[0]}else e=0;return t.apply(r,arguments)}}function so(t,e){var n=-1,i=t.length,a=i-1;for(e=e===r?i:e;++n<e;){var o=ki(n,a),s=t[o];t[o]=t[n],t[n]=s}return t.length=e,t}var uo=function(t){var e=ss(t,function(t){return n.size===u&&n.clear(),t}),n=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(St,function(t,n,r,i){e.push(r?i.replace(Bt,"$1"):n||t)}),e});function co(t){if("string"==typeof t||Hs(t))return t;var e=t+"";return"0"==e&&1/t==-A?"-0":e}function lo(t){if(null!=t){try{return ce.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function fo(t){if(t instanceof gr)return t.clone();var e=new yr(t.__wrapped__,t.__chain__);return e.__actions__=ra(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}var ho=wi(function(t,e){return Ms(t)?Br(t,Ur(e,1,Ms,!0)):[]}),_o=wi(function(t,e){var n=Lo(e);return Ms(n)&&(n=r),Ms(t)?Br(t,Ur(e,1,Ms,!0),Pa(n,2)):[]}),po=wi(function(t,e){var n=Lo(e);return Ms(n)&&(n=r),Ms(t)?Br(t,Ur(e,1,Ms,!0),r,n):[]});function mo(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Is(n);return i<0&&(i=Vn(r+i,0)),an(t,Pa(e,3),i)}function yo(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=i-1;return n!==r&&(a=Is(n),a=n<0?Vn(i+a,0):$n(a,i-1)),an(t,Pa(e,3),a,!0)}function go(t){return null!=t&&t.length?Ur(t,1):[]}function vo(t){return t&&t.length?t[0]:r}var Mo=wi(function(t){var e=Ze(t,Ui);return e.length&&e[0]===t[0]?ri(e):[]}),bo=wi(function(t){var e=Lo(t),n=Ze(t,Ui);return e===Lo(n)?e=r:n.pop(),n.length&&n[0]===t[0]?ri(n,Pa(e,2)):[]}),ko=wi(function(t){var e=Lo(t),n=Ze(t,Ui);return(e="function"==typeof e?e:r)&&n.pop(),n.length&&n[0]===t[0]?ri(n,r,e):[]});function Lo(t){var e=null==t?0:t.length;return e?t[e-1]:r}var wo=wi(xo);function xo(t,e){return t&&t.length&&e&&e.length?Mi(t,e):t}var To=Ea(function(t,e){var n=null==t?0:t.length,r=Or(t,e);return bi(t,Ze(e,function(t){return Va(t,n)?+t:t}).sort(ta)),r});function Do(t){return null==t?t:Zn.call(t)}var Yo=wi(function(t){return Ni(Ur(t,1,Ms,!0))}),So=wi(function(t){var e=Lo(t);return Ms(e)&&(e=r),Ni(Ur(t,1,Ms,!0),Pa(e,2))}),Eo=wi(function(t){var e=Lo(t);return e="function"==typeof e?e:r,Ni(Ur(t,1,Ms,!0),r,e)});function Ao(t){if(!t||!t.length)return[];var e=0;return t=Ge(t,function(t){if(Ms(t))return e=Vn(t.length,e),!0}),_n(e,function(e){return Ze(t,ln(e))})}function Co(t,e){if(!t||!t.length)return[];var n=Ao(t);return null==e?n:Ze(n,function(t){return We(e,r,t)})}var jo=wi(function(t,e){return Ms(t)?Br(t,e):[]}),Oo=wi(function(t){return Wi(Ge(t,Ms))}),Ho=wi(function(t){var e=Lo(t);return Ms(e)&&(e=r),Wi(Ge(t,Ms),Pa(e,2))}),Po=wi(function(t){var e=Lo(t);return e="function"==typeof e?e:r,Wi(Ge(t,Ms),r,e)}),Fo=wi(Ao);var No=wi(function(t){var e=t.length,n=e>1?t[e-1]:r;return Co(t,n="function"==typeof n?(t.pop(),n):r)});function Bo(t){var e=_r(t);return e.__chain__=!0,e}function Ro(t,e){return e(t)}var Io=Ea(function(t){var e=t.length,n=e?t[0]:0,i=this.__wrapped__,a=function(e){return Or(e,t)};return!(e>1||this.__actions__.length)&&i instanceof gr&&Va(n)?((i=i.slice(n,+n+(e?1:0))).__actions__.push({func:Ro,args:[a],thisArg:r}),new yr(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(r),t})):this.thru(a)});var zo=aa(function(t,e,n){le.call(t,n)?++t[n]:jr(t,n,1)});var Wo=fa(mo),qo=fa(yo);function Uo(t,e){return(ys(t)?Ue:Rr)(t,Pa(e,3))}function Vo(t,e){return(ys(t)?Ve:Ir)(t,Pa(e,3))}var $o=aa(function(t,e,n){le.call(t,n)?t[n].push(e):jr(t,n,[e])});var Go=wi(function(t,e,n){var r=-1,i="function"==typeof e,a=vs(t)?Xt(t.length):[];return Rr(t,function(t){a[++r]=i?We(e,t,n):ii(t,e,n)}),a}),Jo=aa(function(t,e,n){jr(t,n,e)});function Xo(t,e){return(ys(t)?Ze:hi)(t,Pa(e,3))}var Zo=aa(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var Ko=wi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&$a(t,e[0],e[1])?e=[]:n>2&&$a(e[0],e[1],e[2])&&(e=[e[0]]),gi(t,Ur(e,1),[])}),Qo=Fn||function(){return Ae.Date.now()};function ts(t,e,n){return e=n?r:e,e=t&&null==e?t.length:e,xa(t,k,r,r,r,r,e)}function es(t,e){var n;if("function"!=typeof e)throw new ie(o);return t=Is(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=r),n}}var ns=wi(function(t,e,n){var r=p;if(n.length){var i=Tn(n,Ha(ns));r|=M}return xa(t,r,e,n,i)}),rs=wi(function(t,e,n){var r=p|m;if(n.length){var i=Tn(n,Ha(rs));r|=M}return xa(e,r,t,n,i)});function is(t,e,n){var i,a,s,u,c,l,d=0,f=!1,h=!1,_=!0;if("function"!=typeof t)throw new ie(o);function p(e){var n=i,o=a;return i=a=r,d=e,u=t.apply(o,n)}function m(t){var n=t-l;return l===r||n>=e||n<0||h&&t-d>=s}function y(){var t=Qo();if(m(t))return g(t);c=ro(y,function(t){var n=e-(t-l);return h?$n(n,s-(t-d)):n}(t))}function g(t){return c=r,_&&i?p(t):(i=a=r,u)}function v(){var t=Qo(),n=m(t);if(i=arguments,a=this,l=t,n){if(c===r)return function(t){return d=t,c=ro(y,e),f?p(t):u}(l);if(h)return c=ro(y,e),p(l)}return c===r&&(c=ro(y,e)),u}return e=Ws(e)||0,Ds(n)&&(f=!!n.leading,s=(h="maxWait"in n)?Vn(Ws(n.maxWait)||0,e):s,_="trailing"in n?!!n.trailing:_),v.cancel=function(){c!==r&&Xi(c),d=0,i=l=a=c=r},v.flush=function(){return c===r?u:g(Qo())},v}var as=wi(function(t,e){return Nr(t,1,e)}),os=wi(function(t,e,n){return Nr(t,Ws(e)||0,n)});function ss(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(ss.Cache||br),n}function us(t){if("function"!=typeof t)throw new ie(o);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}ss.Cache=br;var cs=Gi(function(t,e){var n=(e=1==e.length&&ys(e[0])?Ze(e[0],pn(Pa())):Ze(Ur(e,1),pn(Pa()))).length;return wi(function(r){for(var i=-1,a=$n(r.length,n);++i<a;)r[i]=e[i].call(this,r[i]);return We(t,this,r)})}),ls=wi(function(t,e){var n=Tn(e,Ha(ls));return xa(t,M,r,e,n)}),ds=wi(function(t,e){var n=Tn(e,Ha(ds));return xa(t,b,r,e,n)}),fs=Ea(function(t,e){return xa(t,L,r,r,r,e)});function hs(t,e){return t===e||t!=t&&e!=e}var _s=Ma(ti),ps=Ma(function(t,e){return t>=e}),ms=ai(function(){return arguments}())?ai:function(t){return Ys(t)&&le.call(t,"callee")&&!He.call(t,"callee")},ys=Xt.isArray,gs=Fe?pn(Fe):function(t){return Ys(t)&&Qr(t)==ot};function vs(t){return null!=t&&Ts(t.length)&&!ws(t)}function Ms(t){return Ys(t)&&vs(t)}var bs=zn||Wu,ks=Ne?pn(Ne):function(t){return Ys(t)&&Qr(t)==W};function Ls(t){if(!Ys(t))return!1;var e=Qr(t);return e==U||e==q||"string"==typeof t.message&&"string"==typeof t.name&&!As(t)}function ws(t){if(!Ds(t))return!1;var e=Qr(t);return e==V||e==$||e==I||e==K}function xs(t){return"number"==typeof t&&t==Is(t)}function Ts(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=C}function Ds(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Ys(t){return null!=t&&"object"==typeof t}var Ss=Be?pn(Be):function(t){return Ys(t)&&za(t)==G};function Es(t){return"number"==typeof t||Ys(t)&&Qr(t)==J}function As(t){if(!Ys(t)||Qr(t)!=Z)return!1;var e=Ce(t);if(null===e)return!0;var n=le.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==_e}var Cs=Re?pn(Re):function(t){return Ys(t)&&Qr(t)==Q};var js=Ie?pn(Ie):function(t){return Ys(t)&&za(t)==tt};function Os(t){return"string"==typeof t||!ys(t)&&Ys(t)&&Qr(t)==et}function Hs(t){return"symbol"==typeof t||Ys(t)&&Qr(t)==nt}var Ps=ze?pn(ze):function(t){return Ys(t)&&Ts(t.length)&&!!we[Qr(t)]};var Fs=Ma(fi),Ns=Ma(function(t,e){return t<=e});function Bs(t){if(!t)return[];if(vs(t))return Os(t)?An(t):ra(t);if(dn&&t[dn])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[dn]());var e=za(t);return(e==G?wn:e==tt?Yn:hu)(t)}function Rs(t){return t?(t=Ws(t))===A||t===-A?(t<0?-1:1)*j:t==t?t:0:0===t?t:0}function Is(t){var e=Rs(t),n=e%1;return e==e?n?e-n:e:0}function zs(t){return t?Hr(Is(t),0,H):0}function Ws(t){if("number"==typeof t)return t;if(Hs(t))return O;if(Ds(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ds(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Ct,"");var n=Wt.test(t);return n||Ut.test(t)?Ye(t.slice(2),n?2:8):zt.test(t)?O:+t}function qs(t){return ia(t,au(t))}function Us(t){return null==t?"":Fi(t)}var Vs=oa(function(t,e){if(Za(e)||vs(e))ia(e,iu(e),t);else for(var n in e)le.call(e,n)&&Sr(t,n,e[n])}),$s=oa(function(t,e){ia(e,au(e),t)}),Gs=oa(function(t,e,n,r){ia(e,au(e),t,r)}),Js=oa(function(t,e,n,r){ia(e,iu(e),t,r)}),Xs=Ea(Or);var Zs=wi(function(t,e){t=ee(t);var n=-1,i=e.length,a=i>2?e[2]:r;for(a&&$a(e[0],e[1],a)&&(i=1);++n<i;)for(var o=e[n],s=au(o),u=-1,c=s.length;++u<c;){var l=s[u],d=t[l];(d===r||hs(d,se[l])&&!le.call(t,l))&&(t[l]=o[l])}return t}),Ks=wi(function(t){return t.push(r,Da),We(su,r,t)});function Qs(t,e,n){var i=null==t?r:Zr(t,e);return i===r?n:i}function tu(t,e){return null!=t&&Wa(t,e,ni)}var eu=pa(function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=he.call(e)),t[e]=n},Du(Eu)),nu=pa(function(t,e,n){null!=e&&"function"!=typeof e.toString&&(e=he.call(e)),le.call(t,e)?t[e].push(n):t[e]=[n]},Pa),ru=wi(ii);function iu(t){return vs(t)?wr(t):li(t)}function au(t){return vs(t)?wr(t,!0):di(t)}var ou=oa(function(t,e,n){mi(t,e,n)}),su=oa(function(t,e,n,r){mi(t,e,n,r)}),uu=Ea(function(t,e){var n={};if(null==t)return n;var r=!1;e=Ze(e,function(e){return e=$i(e,t),r||(r=e.length>1),e}),ia(t,Ca(t),n),r&&(n=Pr(n,l|d|f,Ya));for(var i=e.length;i--;)Bi(n,e[i]);return n});var cu=Ea(function(t,e){return null==t?{}:function(t,e){return vi(t,e,function(e,n){return tu(t,n)})}(t,e)});function lu(t,e){if(null==t)return{};var n=Ze(Ca(t),function(t){return[t]});return e=Pa(e),vi(t,n,function(t,n){return e(t,n[0])})}var du=wa(iu),fu=wa(au);function hu(t){return null==t?[]:mn(t,iu(t))}var _u=la(function(t,e,n){return e=e.toLowerCase(),t+(n?pu(e):e)});function pu(t){return Lu(Us(t).toLowerCase())}function mu(t){return(t=Us(t))&&t.replace($t,Mn).replace(ye,"")}var yu=la(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),gu=la(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),vu=ca("toLowerCase");var Mu=la(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var bu=la(function(t,e,n){return t+(n?" ":"")+Lu(e)});var ku=la(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Lu=ca("toUpperCase");function wu(t,e,n){return t=Us(t),(e=n?r:e)===r?function(t){return be.test(t)}(t)?function(t){return t.match(ve)||[]}(t):function(t){return t.match(Nt)||[]}(t):t.match(e)||[]}var xu=wi(function(t,e){try{return We(t,r,e)}catch(t){return Ls(t)?t:new Kt(t)}}),Tu=Ea(function(t,e){return Ue(e,function(e){e=co(e),jr(t,e,ns(t[e],t))}),t});function Du(t){return function(){return t}}var Yu=ha(),Su=ha(!0);function Eu(t){return t}function Au(t){return ci("function"==typeof t?t:Pr(t,l))}var Cu=wi(function(t,e){return function(n){return ii(n,t,e)}}),ju=wi(function(t,e){return function(n){return ii(t,n,e)}});function Ou(t,e,n){var r=iu(e),i=Xr(e,r);null!=n||Ds(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Xr(e,iu(e)));var a=!(Ds(n)&&"chain"in n&&!n.chain),o=ws(t);return Ue(i,function(n){var r=e[n];t[n]=r,o&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__);return(n.__actions__=ra(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,Ke([this.value()],arguments))})}),t}function Hu(){}var Pu=ya(Ze),Fu=ya($e),Nu=ya(en);function Bu(t){return Ga(t)?ln(co(t)):function(t){return function(e){return Zr(e,t)}}(t)}var Ru=va(),Iu=va(!0);function zu(){return[]}function Wu(){return!1}var qu=ma(function(t,e){return t+e},0),Uu=ka("ceil"),Vu=ma(function(t,e){return t/e},1),$u=ka("floor");var Gu,Ju=ma(function(t,e){return t*e},1),Xu=ka("round"),Zu=ma(function(t,e){return t-e},0);return _r.after=function(t,e){if("function"!=typeof e)throw new ie(o);return t=Is(t),function(){if(--t<1)return e.apply(this,arguments)}},_r.ary=ts,_r.assign=Vs,_r.assignIn=$s,_r.assignInWith=Gs,_r.assignWith=Js,_r.at=Xs,_r.before=es,_r.bind=ns,_r.bindAll=Tu,_r.bindKey=rs,_r.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return ys(t)?t:[t]},_r.chain=Bo,_r.chunk=function(t,e,n){e=(n?$a(t,e,n):e===r)?1:Vn(Is(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var a=0,o=0,s=Xt(Bn(i/e));a<i;)s[o++]=Ai(t,a,a+=e);return s},_r.compact=function(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var a=t[e];a&&(i[r++]=a)}return i},_r.concat=function(){var t=arguments.length;if(!t)return[];for(var e=Xt(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return Ke(ys(n)?ra(n):[n],Ur(e,1))},_r.cond=function(t){var e=null==t?0:t.length,n=Pa();return t=e?Ze(t,function(t){if("function"!=typeof t[1])throw new ie(o);return[n(t[0]),t[1]]}):[],wi(function(n){for(var r=-1;++r<e;){var i=t[r];if(We(i[0],this,n))return We(i[1],this,n)}})},_r.conforms=function(t){return function(t){var e=iu(t);return function(n){return Fr(n,t,e)}}(Pr(t,l))},_r.constant=Du,_r.countBy=zo,_r.create=function(t,e){var n=pr(t);return null==e?n:Cr(n,e)},_r.curry=function t(e,n,i){var a=xa(e,g,r,r,r,r,r,n=i?r:n);return a.placeholder=t.placeholder,a},_r.curryRight=function t(e,n,i){var a=xa(e,v,r,r,r,r,r,n=i?r:n);return a.placeholder=t.placeholder,a},_r.debounce=is,_r.defaults=Zs,_r.defaultsDeep=Ks,_r.defer=as,_r.delay=os,_r.difference=ho,_r.differenceBy=_o,_r.differenceWith=po,_r.drop=function(t,e,n){var i=null==t?0:t.length;return i?Ai(t,(e=n||e===r?1:Is(e))<0?0:e,i):[]},_r.dropRight=function(t,e,n){var i=null==t?0:t.length;return i?Ai(t,0,(e=i-(e=n||e===r?1:Is(e)))<0?0:e):[]},_r.dropRightWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3),!0,!0):[]},_r.dropWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3),!0):[]},_r.fill=function(t,e,n,i){var a=null==t?0:t.length;return a?(n&&"number"!=typeof n&&$a(t,e,n)&&(n=0,i=a),function(t,e,n,i){var a=t.length;for((n=Is(n))<0&&(n=-n>a?0:a+n),(i=i===r||i>a?a:Is(i))<0&&(i+=a),i=n>i?0:zs(i);n<i;)t[n++]=e;return t}(t,e,n,i)):[]},_r.filter=function(t,e){return(ys(t)?Ge:qr)(t,Pa(e,3))},_r.flatMap=function(t,e){return Ur(Xo(t,e),1)},_r.flatMapDeep=function(t,e){return Ur(Xo(t,e),A)},_r.flatMapDepth=function(t,e,n){return n=n===r?1:Is(n),Ur(Xo(t,e),n)},_r.flatten=go,_r.flattenDeep=function(t){return null!=t&&t.length?Ur(t,A):[]},_r.flattenDepth=function(t,e){return null!=t&&t.length?Ur(t,e=e===r?1:Is(e)):[]},_r.flip=function(t){return xa(t,w)},_r.flow=Yu,_r.flowRight=Su,_r.fromPairs=function(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r},_r.functions=function(t){return null==t?[]:Xr(t,iu(t))},_r.functionsIn=function(t){return null==t?[]:Xr(t,au(t))},_r.groupBy=$o,_r.initial=function(t){return null!=t&&t.length?Ai(t,0,-1):[]},_r.intersection=Mo,_r.intersectionBy=bo,_r.intersectionWith=ko,_r.invert=eu,_r.invertBy=nu,_r.invokeMap=Go,_r.iteratee=Au,_r.keyBy=Jo,_r.keys=iu,_r.keysIn=au,_r.map=Xo,_r.mapKeys=function(t,e){var n={};return e=Pa(e,3),Gr(t,function(t,r,i){jr(n,e(t,r,i),t)}),n},_r.mapValues=function(t,e){var n={};return e=Pa(e,3),Gr(t,function(t,r,i){jr(n,r,e(t,r,i))}),n},_r.matches=function(t){return _i(Pr(t,l))},_r.matchesProperty=function(t,e){return pi(t,Pr(e,l))},_r.memoize=ss,_r.merge=ou,_r.mergeWith=su,_r.method=Cu,_r.methodOf=ju,_r.mixin=Ou,_r.negate=us,_r.nthArg=function(t){return t=Is(t),wi(function(e){return yi(e,t)})},_r.omit=uu,_r.omitBy=function(t,e){return lu(t,us(Pa(e)))},_r.once=function(t){return es(2,t)},_r.orderBy=function(t,e,n,i){return null==t?[]:(ys(e)||(e=null==e?[]:[e]),ys(n=i?r:n)||(n=null==n?[]:[n]),gi(t,e,n))},_r.over=Pu,_r.overArgs=cs,_r.overEvery=Fu,_r.overSome=Nu,_r.partial=ls,_r.partialRight=ds,_r.partition=Zo,_r.pick=cu,_r.pickBy=lu,_r.property=Bu,_r.propertyOf=function(t){return function(e){return null==t?r:Zr(t,e)}},_r.pull=wo,_r.pullAll=xo,_r.pullAllBy=function(t,e,n){return t&&t.length&&e&&e.length?Mi(t,e,Pa(n,2)):t},_r.pullAllWith=function(t,e,n){return t&&t.length&&e&&e.length?Mi(t,e,r,n):t},_r.pullAt=To,_r.range=Ru,_r.rangeRight=Iu,_r.rearg=fs,_r.reject=function(t,e){return(ys(t)?Ge:qr)(t,us(Pa(e,3)))},_r.remove=function(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],a=t.length;for(e=Pa(e,3);++r<a;){var o=t[r];e(o,r,t)&&(n.push(o),i.push(r))}return bi(t,i),n},_r.rest=function(t,e){if("function"!=typeof t)throw new ie(o);return wi(t,e=e===r?e:Is(e))},_r.reverse=Do,_r.sampleSize=function(t,e,n){return e=(n?$a(t,e,n):e===r)?1:Is(e),(ys(t)?Tr:Ti)(t,e)},_r.set=function(t,e,n){return null==t?t:Di(t,e,n)},_r.setWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:Di(t,e,n,i)},_r.shuffle=function(t){return(ys(t)?Dr:Ei)(t)},_r.slice=function(t,e,n){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&$a(t,e,n)?(e=0,n=i):(e=null==e?0:Is(e),n=n===r?i:Is(n)),Ai(t,e,n)):[]},_r.sortBy=Ko,_r.sortedUniq=function(t){return t&&t.length?Hi(t):[]},_r.sortedUniqBy=function(t,e){return t&&t.length?Hi(t,Pa(e,2)):[]},_r.split=function(t,e,n){return n&&"number"!=typeof n&&$a(t,e,n)&&(e=n=r),(n=n===r?H:n>>>0)?(t=Us(t))&&("string"==typeof e||null!=e&&!Cs(e))&&!(e=Fi(e))&&Ln(t)?Ji(An(t),0,n):t.split(e,n):[]},_r.spread=function(t,e){if("function"!=typeof t)throw new ie(o);return e=null==e?0:Vn(Is(e),0),wi(function(n){var r=n[e],i=Ji(n,0,e);return r&&Ke(i,r),We(t,this,i)})},_r.tail=function(t){var e=null==t?0:t.length;return e?Ai(t,1,e):[]},_r.take=function(t,e,n){return t&&t.length?Ai(t,0,(e=n||e===r?1:Is(e))<0?0:e):[]},_r.takeRight=function(t,e,n){var i=null==t?0:t.length;return i?Ai(t,(e=i-(e=n||e===r?1:Is(e)))<0?0:e,i):[]},_r.takeRightWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3),!1,!0):[]},_r.takeWhile=function(t,e){return t&&t.length?Ii(t,Pa(e,3)):[]},_r.tap=function(t,e){return e(t),t},_r.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ie(o);return Ds(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),is(t,e,{leading:r,maxWait:e,trailing:i})},_r.thru=Ro,_r.toArray=Bs,_r.toPairs=du,_r.toPairsIn=fu,_r.toPath=function(t){return ys(t)?Ze(t,co):Hs(t)?[t]:ra(uo(Us(t)))},_r.toPlainObject=qs,_r.transform=function(t,e,n){var r=ys(t),i=r||bs(t)||Ps(t);if(e=Pa(e,4),null==n){var a=t&&t.constructor;n=i?r?new a:[]:Ds(t)&&ws(a)?pr(Ce(t)):{}}return(i?Ue:Gr)(t,function(t,r,i){return e(n,t,r,i)}),n},_r.unary=function(t){return ts(t,1)},_r.union=Yo,_r.unionBy=So,_r.unionWith=Eo,_r.uniq=function(t){return t&&t.length?Ni(t):[]},_r.uniqBy=function(t,e){return t&&t.length?Ni(t,Pa(e,2)):[]},_r.uniqWith=function(t,e){return e="function"==typeof e?e:r,t&&t.length?Ni(t,r,e):[]},_r.unset=function(t,e){return null==t||Bi(t,e)},_r.unzip=Ao,_r.unzipWith=Co,_r.update=function(t,e,n){return null==t?t:Ri(t,e,Vi(n))},_r.updateWith=function(t,e,n,i){return i="function"==typeof i?i:r,null==t?t:Ri(t,e,Vi(n),i)},_r.values=hu,_r.valuesIn=function(t){return null==t?[]:mn(t,au(t))},_r.without=jo,_r.words=wu,_r.wrap=function(t,e){return ls(Vi(e),t)},_r.xor=Oo,_r.xorBy=Ho,_r.xorWith=Po,_r.zip=Fo,_r.zipObject=function(t,e){return qi(t||[],e||[],Sr)},_r.zipObjectDeep=function(t,e){return qi(t||[],e||[],Di)},_r.zipWith=No,_r.entries=du,_r.entriesIn=fu,_r.extend=$s,_r.extendWith=Gs,Ou(_r,_r),_r.add=qu,_r.attempt=xu,_r.camelCase=_u,_r.capitalize=pu,_r.ceil=Uu,_r.clamp=function(t,e,n){return n===r&&(n=e,e=r),n!==r&&(n=(n=Ws(n))==n?n:0),e!==r&&(e=(e=Ws(e))==e?e:0),Hr(Ws(t),e,n)},_r.clone=function(t){return Pr(t,f)},_r.cloneDeep=function(t){return Pr(t,l|f)},_r.cloneDeepWith=function(t,e){return Pr(t,l|f,e="function"==typeof e?e:r)},_r.cloneWith=function(t,e){return Pr(t,f,e="function"==typeof e?e:r)},_r.conformsTo=function(t,e){return null==e||Fr(t,e,iu(e))},_r.deburr=mu,_r.defaultTo=function(t,e){return null==t||t!=t?e:t},_r.divide=Vu,_r.endsWith=function(t,e,n){t=Us(t),e=Fi(e);var i=t.length,a=n=n===r?i:Hr(Is(n),0,i);return(n-=e.length)>=0&&t.slice(n,a)==e},_r.eq=hs,_r.escape=function(t){return(t=Us(t))&&Lt.test(t)?t.replace(bt,bn):t},_r.escapeRegExp=function(t){return(t=Us(t))&&At.test(t)?t.replace(Et,"\\$&"):t},_r.every=function(t,e,n){var i=ys(t)?$e:zr;return n&&$a(t,e,n)&&(e=r),i(t,Pa(e,3))},_r.find=Wo,_r.findIndex=mo,_r.findKey=function(t,e){return rn(t,Pa(e,3),Gr)},_r.findLast=qo,_r.findLastIndex=yo,_r.findLastKey=function(t,e){return rn(t,Pa(e,3),Jr)},_r.floor=$u,_r.forEach=Uo,_r.forEachRight=Vo,_r.forIn=function(t,e){return null==t?t:Vr(t,Pa(e,3),au)},_r.forInRight=function(t,e){return null==t?t:$r(t,Pa(e,3),au)},_r.forOwn=function(t,e){return t&&Gr(t,Pa(e,3))},_r.forOwnRight=function(t,e){return t&&Jr(t,Pa(e,3))},_r.get=Qs,_r.gt=_s,_r.gte=ps,_r.has=function(t,e){return null!=t&&Wa(t,e,ei)},_r.hasIn=tu,_r.head=vo,_r.identity=Eu,_r.includes=function(t,e,n,r){t=vs(t)?t:hu(t),n=n&&!r?Is(n):0;var i=t.length;return n<0&&(n=Vn(i+n,0)),Os(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&on(t,e,n)>-1},_r.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Is(n);return i<0&&(i=Vn(r+i,0)),on(t,e,i)},_r.inRange=function(t,e,n){return e=Rs(e),n===r?(n=e,e=0):n=Rs(n),function(t,e,n){return t>=$n(e,n)&&t<Vn(e,n)}(t=Ws(t),e,n)},_r.invoke=ru,_r.isArguments=ms,_r.isArray=ys,_r.isArrayBuffer=gs,_r.isArrayLike=vs,_r.isArrayLikeObject=Ms,_r.isBoolean=function(t){return!0===t||!1===t||Ys(t)&&Qr(t)==z},_r.isBuffer=bs,_r.isDate=ks,_r.isElement=function(t){return Ys(t)&&1===t.nodeType&&!As(t)},_r.isEmpty=function(t){if(null==t)return!0;if(vs(t)&&(ys(t)||"string"==typeof t||"function"==typeof t.splice||bs(t)||Ps(t)||ms(t)))return!t.length;var e=za(t);if(e==G||e==tt)return!t.size;if(Za(t))return!li(t).length;for(var n in t)if(le.call(t,n))return!1;return!0},_r.isEqual=function(t,e){return oi(t,e)},_r.isEqualWith=function(t,e,n){var i=(n="function"==typeof n?n:r)?n(t,e):r;return i===r?oi(t,e,r,n):!!i},_r.isError=Ls,_r.isFinite=function(t){return"number"==typeof t&&Wn(t)},_r.isFunction=ws,_r.isInteger=xs,_r.isLength=Ts,_r.isMap=Ss,_r.isMatch=function(t,e){return t===e||si(t,e,Na(e))},_r.isMatchWith=function(t,e,n){return n="function"==typeof n?n:r,si(t,e,Na(e),n)},_r.isNaN=function(t){return Es(t)&&t!=+t},_r.isNative=function(t){if(Xa(t))throw new Kt(a);return ui(t)},_r.isNil=function(t){return null==t},_r.isNull=function(t){return null===t},_r.isNumber=Es,_r.isObject=Ds,_r.isObjectLike=Ys,_r.isPlainObject=As,_r.isRegExp=Cs,_r.isSafeInteger=function(t){return xs(t)&&t>=-C&&t<=C},_r.isSet=js,_r.isString=Os,_r.isSymbol=Hs,_r.isTypedArray=Ps,_r.isUndefined=function(t){return t===r},_r.isWeakMap=function(t){return Ys(t)&&za(t)==it},_r.isWeakSet=function(t){return Ys(t)&&Qr(t)==at},_r.join=function(t,e){return null==t?"":qn.call(t,e)},_r.kebabCase=yu,_r.last=Lo,_r.lastIndexOf=function(t,e,n){var i=null==t?0:t.length;if(!i)return-1;var a=i;return n!==r&&(a=(a=Is(n))<0?Vn(i+a,0):$n(a,i-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,a):an(t,un,a,!0)},_r.lowerCase=gu,_r.lowerFirst=vu,_r.lt=Fs,_r.lte=Ns,_r.max=function(t){return t&&t.length?Wr(t,Eu,ti):r},_r.maxBy=function(t,e){return t&&t.length?Wr(t,Pa(e,2),ti):r},_r.mean=function(t){return cn(t,Eu)},_r.meanBy=function(t,e){return cn(t,Pa(e,2))},_r.min=function(t){return t&&t.length?Wr(t,Eu,fi):r},_r.minBy=function(t,e){return t&&t.length?Wr(t,Pa(e,2),fi):r},_r.stubArray=zu,_r.stubFalse=Wu,_r.stubObject=function(){return{}},_r.stubString=function(){return""},_r.stubTrue=function(){return!0},_r.multiply=Ju,_r.nth=function(t,e){return t&&t.length?yi(t,Is(e)):r},_r.noConflict=function(){return Ae._===this&&(Ae._=pe),this},_r.noop=Hu,_r.now=Qo,_r.pad=function(t,e,n){t=Us(t);var r=(e=Is(e))?En(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ga(Rn(i),n)+t+ga(Bn(i),n)},_r.padEnd=function(t,e,n){t=Us(t);var r=(e=Is(e))?En(t):0;return e&&r<e?t+ga(e-r,n):t},_r.padStart=function(t,e,n){t=Us(t);var r=(e=Is(e))?En(t):0;return e&&r<e?ga(e-r,n)+t:t},_r.parseInt=function(t,e,n){return n||null==e?e=0:e&&(e=+e),Jn(Us(t).replace(jt,""),e||0)},_r.random=function(t,e,n){if(n&&"boolean"!=typeof n&&$a(t,e,n)&&(e=n=r),n===r&&("boolean"==typeof e?(n=e,e=r):"boolean"==typeof t&&(n=t,t=r)),t===r&&e===r?(t=0,e=1):(t=Rs(t),e===r?(e=t,t=0):e=Rs(e)),t>e){var i=t;t=e,e=i}if(n||t%1||e%1){var a=Xn();return $n(t+a*(e-t+De("1e-"+((a+"").length-1))),e)}return ki(t,e)},_r.reduce=function(t,e,n){var r=ys(t)?Qe:fn,i=arguments.length<3;return r(t,Pa(e,4),n,i,Rr)},_r.reduceRight=function(t,e,n){var r=ys(t)?tn:fn,i=arguments.length<3;return r(t,Pa(e,4),n,i,Ir)},_r.repeat=function(t,e,n){return e=(n?$a(t,e,n):e===r)?1:Is(e),Li(Us(t),e)},_r.replace=function(){var t=arguments,e=Us(t[0]);return t.length<3?e:e.replace(t[1],t[2])},_r.result=function(t,e,n){var i=-1,a=(e=$i(e,t)).length;for(a||(a=1,t=r);++i<a;){var o=null==t?r:t[co(e[i])];o===r&&(i=a,o=n),t=ws(o)?o.call(t):o}return t},_r.round=Xu,_r.runInContext=t,_r.sample=function(t){return(ys(t)?xr:xi)(t)},_r.size=function(t){if(null==t)return 0;if(vs(t))return Os(t)?En(t):t.length;var e=za(t);return e==G||e==tt?t.size:li(t).length},_r.snakeCase=Mu,_r.some=function(t,e,n){var i=ys(t)?en:Ci;return n&&$a(t,e,n)&&(e=r),i(t,Pa(e,3))},_r.sortedIndex=function(t,e){return ji(t,e)},_r.sortedIndexBy=function(t,e,n){return Oi(t,e,Pa(n,2))},_r.sortedIndexOf=function(t,e){var n=null==t?0:t.length;if(n){var r=ji(t,e);if(r<n&&hs(t[r],e))return r}return-1},_r.sortedLastIndex=function(t,e){return ji(t,e,!0)},_r.sortedLastIndexBy=function(t,e,n){return Oi(t,e,Pa(n,2),!0)},_r.sortedLastIndexOf=function(t,e){if(null!=t&&t.length){var n=ji(t,e,!0)-1;if(hs(t[n],e))return n}return-1},_r.startCase=bu,_r.startsWith=function(t,e,n){return t=Us(t),n=null==n?0:Hr(Is(n),0,t.length),e=Fi(e),t.slice(n,n+e.length)==e},_r.subtract=Zu,_r.sum=function(t){return t&&t.length?hn(t,Eu):0},_r.sumBy=function(t,e){return t&&t.length?hn(t,Pa(e,2)):0},_r.template=function(t,e,n){var i=_r.templateSettings;n&&$a(t,e,n)&&(e=r),t=Us(t),e=Gs({},e,i,Ta);var a,o,s=Gs({},e.imports,i.imports,Ta),u=iu(s),c=mn(s,u),l=0,d=e.interpolate||Gt,f="__p += '",h=ne((e.escape||Gt).source+"|"+d.source+"|"+(d===Tt?Rt:Gt).source+"|"+(e.evaluate||Gt).source+"|$","g"),_="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++Le+"]")+"\n";t.replace(h,function(e,n,r,i,s,u){return r||(r=i),f+=t.slice(l,u).replace(Jt,kn),n&&(a=!0,f+="' +\n__e("+n+") +\n'"),s&&(o=!0,f+="';\n"+s+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=u+e.length,e}),f+="';\n";var p=e.variable;p||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(yt,""):f).replace(gt,"$1").replace(vt,"$1;"),f="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var m=xu(function(){return Qt(u,_+"return "+f).apply(r,c)});if(m.source=f,Ls(m))throw m;return m},_r.times=function(t,e){if((t=Is(t))<1||t>C)return[];var n=H,r=$n(t,H);e=Pa(e),t-=H;for(var i=_n(r,e);++n<t;)e(n);return i},_r.toFinite=Rs,_r.toInteger=Is,_r.toLength=zs,_r.toLower=function(t){return Us(t).toLowerCase()},_r.toNumber=Ws,_r.toSafeInteger=function(t){return t?Hr(Is(t),-C,C):0===t?t:0},_r.toString=Us,_r.toUpper=function(t){return Us(t).toUpperCase()},_r.trim=function(t,e,n){if((t=Us(t))&&(n||e===r))return t.replace(Ct,"");if(!t||!(e=Fi(e)))return t;var i=An(t),a=An(e);return Ji(i,gn(i,a),vn(i,a)+1).join("")},_r.trimEnd=function(t,e,n){if((t=Us(t))&&(n||e===r))return t.replace(Ot,"");if(!t||!(e=Fi(e)))return t;var i=An(t);return Ji(i,0,vn(i,An(e))+1).join("")},_r.trimStart=function(t,e,n){if((t=Us(t))&&(n||e===r))return t.replace(jt,"");if(!t||!(e=Fi(e)))return t;var i=An(t);return Ji(i,gn(i,An(e))).join("")},_r.truncate=function(t,e){var n=x,i=T;if(Ds(e)){var a="separator"in e?e.separator:a;n="length"in e?Is(e.length):n,i="omission"in e?Fi(e.omission):i}var o=(t=Us(t)).length;if(Ln(t)){var s=An(t);o=s.length}if(n>=o)return t;var u=n-En(i);if(u<1)return i;var c=s?Ji(s,0,u).join(""):t.slice(0,u);if(a===r)return c+i;if(s&&(u+=c.length-u),Cs(a)){if(t.slice(u).search(a)){var l,d=c;for(a.global||(a=ne(a.source,Us(It.exec(a))+"g")),a.lastIndex=0;l=a.exec(d);)var f=l.index;c=c.slice(0,f===r?u:f)}}else if(t.indexOf(Fi(a),u)!=u){var h=c.lastIndexOf(a);h>-1&&(c=c.slice(0,h))}return c+i},_r.unescape=function(t){return(t=Us(t))&&kt.test(t)?t.replace(Mt,Cn):t},_r.uniqueId=function(t){var e=++de;return Us(t)+e},_r.upperCase=ku,_r.upperFirst=Lu,_r.each=Uo,_r.eachRight=Vo,_r.first=vo,Ou(_r,(Gu={},Gr(_r,function(t,e){le.call(_r.prototype,e)||(Gu[e]=t)}),Gu),{chain:!1}),_r.VERSION="4.17.5",Ue(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){_r[t].placeholder=_r}),Ue(["drop","take"],function(t,e){gr.prototype[t]=function(n){n=n===r?1:Vn(Is(n),0);var i=this.__filtered__&&!e?new gr(this):this.clone();return i.__filtered__?i.__takeCount__=$n(n,i.__takeCount__):i.__views__.push({size:$n(n,H),type:t+(i.__dir__<0?"Right":"")}),i},gr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Ue(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==S||3==n;gr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Pa(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),Ue(["head","last"],function(t,e){var n="take"+(e?"Right":"");gr.prototype[t]=function(){return this[n](1).value()[0]}}),Ue(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");gr.prototype[t]=function(){return this.__filtered__?new gr(this):this[n](1)}}),gr.prototype.compact=function(){return this.filter(Eu)},gr.prototype.find=function(t){return this.filter(t).head()},gr.prototype.findLast=function(t){return this.reverse().find(t)},gr.prototype.invokeMap=wi(function(t,e){return"function"==typeof t?new gr(this):this.map(function(n){return ii(n,t,e)})}),gr.prototype.reject=function(t){return this.filter(us(Pa(t)))},gr.prototype.slice=function(t,e){t=Is(t);var n=this;return n.__filtered__&&(t>0||e<0)?new gr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==r&&(n=(e=Is(e))<0?n.dropRight(-e):n.take(e-t)),n)},gr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},gr.prototype.toArray=function(){return this.take(H)},Gr(gr.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),a=_r[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);a&&(_r.prototype[e]=function(){var e=this.__wrapped__,s=i?[1]:arguments,u=e instanceof gr,c=s[0],l=u||ys(e),d=function(t){var e=a.apply(_r,Ke([t],s));return i&&f?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(u=l=!1);var f=this.__chain__,h=!!this.__actions__.length,_=o&&!f,p=u&&!h;if(!o&&l){e=p?e:new gr(this);var m=t.apply(e,s);return m.__actions__.push({func:Ro,args:[d],thisArg:r}),new yr(m,f)}return _&&p?t.apply(this,s):(m=this.thru(d),_?i?m.value()[0]:m.value():m)})}),Ue(["pop","push","shift","sort","splice","unshift"],function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);_r.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(ys(i)?i:[],t)}return this[n](function(n){return e.apply(ys(n)?n:[],t)})}}),Gr(gr.prototype,function(t,e){var n=_r[e];if(n){var r=n.name+"";(ar[r]||(ar[r]=[])).push({name:e,func:n})}}),ar[_a(r,m).name]=[{name:"wrapper",func:r}],gr.prototype.clone=function(){var t=new gr(this.__wrapped__);return t.__actions__=ra(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ra(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ra(this.__views__),t},gr.prototype.reverse=function(){if(this.__filtered__){var t=new gr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},gr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=ys(t),r=e<0,i=n?t.length:0,a=function(t,e,n){for(var r=-1,i=n.length;++r<i;){var a=n[r],o=a.size;switch(a.type){case"drop":t+=o;break;case"dropRight":e-=o;break;case"take":e=$n(e,t+o);break;case"takeRight":t=Vn(t,e-o)}}return{start:t,end:e}}(0,i,this.__views__),o=a.start,s=a.end,u=s-o,c=r?s:o-1,l=this.__iteratees__,d=l.length,f=0,h=$n(u,this.__takeCount__);if(!n||!r&&i==u&&h==u)return zi(t,this.__actions__);var _=[];t:for(;u--&&f<h;){for(var p=-1,m=t[c+=e];++p<d;){var y=l[p],g=y.iteratee,v=y.type,M=g(m);if(v==E)m=M;else if(!M){if(v==S)continue t;break t}}_[f++]=m}return _},_r.prototype.at=Io,_r.prototype.chain=function(){return Bo(this)},_r.prototype.commit=function(){return new yr(this.value(),this.__chain__)},_r.prototype.next=function(){this.__values__===r&&(this.__values__=Bs(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?r:this.__values__[this.__index__++]}},_r.prototype.plant=function(t){for(var e,n=this;n instanceof mr;){var i=fo(n);i.__index__=0,i.__values__=r,e?a.__wrapped__=i:e=i;var a=i;n=n.__wrapped__}return a.__wrapped__=t,e},_r.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof gr){var e=t;return this.__actions__.length&&(e=new gr(this)),(e=e.reverse()).__actions__.push({func:Ro,args:[Do],thisArg:r}),new yr(e,this.__chain__)}return this.thru(Do)},_r.prototype.toJSON=_r.prototype.valueOf=_r.prototype.value=function(){return zi(this.__wrapped__,this.__actions__)},_r.prototype.first=_r.prototype.head,dn&&(_r.prototype[dn]=function(){return this}),_r}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Ae._=jn,define(function(){return jn})):je?((je.exports=jn)._=jn,Ce._=jn):Ae._=jn}).call(this)}).call(this,n(151),n(4)(t))},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var i=(o=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),a=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[n].concat(a).concat([i]).join("\n")}var o;return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i<this.length;i++){var a=this[i][0];"number"==typeof a&&(r[a]=!0)}for(i=0;i<t.length;i++){var o=t[i];"number"==typeof o[0]&&r[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]="("+o[2]+") and ("+n+")"),e.push(o))}},e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.interpolateToCurve=e.isSubstringInArray=e.detectType=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3));var i=e.detectType=function(t){return(t=t.replace(/^\s*%%.*\n/g,"\n")).match(/^\s*sequenceDiagram/)?"sequence":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?"class":t.match(/^\s*gitGraph/)?"git":"flowchart"},a=e.isSubstringInArray=function(t,e){for(var n=0;n<e.length;n++)if(e[n].match(t))return n;return-1},o=e.interpolateToCurve=function(t,e){if(!t)return e;var n="curve"+(t.charAt(0).toUpperCase()+t.slice(1));return r[n]||e};e.default={detectType:i,isSubstringInArray:a,interpolateToCurve:o}},function(t,e,n){const r=n(1);t.exports=s;const i="\0",a="\0",o="";function s(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[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function u(t,e){t[e]?t[e]++:t[e]=1}function c(t,e){--t[e]||delete t[e]}function l(t,e,n,a){var s=""+e,u=""+n;if(!t&&s>u){var c=s;s=u,u=c}return s+o+u+o+(r.isUndefined(a)?i:a)}function d(t,e){return l(t,e.v,e.w,e.name)}s.prototype._nodeCount=0,s.prototype._edgeCount=0,s.prototype.isDirected=function(){return this._isDirected},s.prototype.isMultigraph=function(){return this._isMultigraph},s.prototype.isCompound=function(){return this._isCompound},s.prototype.setGraph=function(t){return this._label=t,this},s.prototype.graph=function(){return this._label},s.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},s.prototype.nodeCount=function(){return this._nodeCount},s.prototype.nodes=function(){return r.keys(this._nodes)},s.prototype.sources=function(){var t=this;return r.filter(this.nodes(),function(e){return r.isEmpty(t._in[e])})},s.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),function(e){return r.isEmpty(t._out[e])})},s.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},s.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]=a,this._children[t]={},this._children[a][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},s.prototype.node=function(t){return this._nodes[t]},s.prototype.hasNode=function(t){return r.has(this._nodes,t)},s.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},s.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=a;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},s.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},s.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==a)return e}},s.prototype.children=function(t){if(r.isUndefined(t)&&(t=a),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===a)return this.nodes();if(this.hasNode(t))return[]}},s.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},s.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},s.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},s.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},s.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},s.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return r.values(this._edgeObjs)},s.prototype.setPath=function(t,e){const 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},s.prototype.setEdge=function(){let t,e,n,i,a=!1;const o=arguments[0];"object"==typeof o&&null!==o&&"v"in o?(t=o.v,e=o.w,n=o.name,2===arguments.length&&(i=arguments[1],a=!0)):(t=o,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return a&&(this._edgeLabels[s]=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[s]=a?i:this._defaultEdgeLabelFn(t,e,n);var c=function(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};r&&(s.name=r);return s}(this._isDirected,t,e,n);return t=c.v,e=c.w,Object.freeze(c),this._edgeObjs[s]=c,u(this._preds[e],t),u(this._sucs[t],e),this._in[e][s]=c,this._out[t][s]=c,this._edgeCount++,this},s.prototype.edge=function(t,e,n){var r=1===arguments.length?d(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},s.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?d(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},s.prototype.removeEdge=function(t,e,n){const r=1===arguments.length?d(this._isDirected,arguments[0]):l(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],c(this._preds[e],t),c(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},s.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}},s.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}},s.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){t.exports={Graph:n(11),json:n(176),alg:n(175)}},function(t,e,n){"use strict";(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="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},u={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;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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_]+)/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 c(){this.yy={}}return s.lexer=u,c.prototype=s,s.Parser=c,new c}();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(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getHead=e.getDirection=e.getCurrentBranch=e.getCommitsArray=e.getCommits=e.getBranches=e.getBranchesAsObjArray=e.clear=e.prettyPrint=e.reset=e.checkout=e.merge=e.branch=e.commit=e.getOptions=e.setOptions=e.setDirection=void 0;var r,i=n(8),a=(r=i)&&r.__esModule?r:{default:r},o=n(2);var s={},u=null,c={master:u},l="master",d="LR",f=0;function h(){for(var t,e,n="",r=0;r<7;r++)n+="0123456789abcdef"[(t=0,e=16,Math.floor(Math.random()*(e-t))+t)];return n}function _(t,e){for(o.logger.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return o.logger.debug("In merge commit:",e.parent),_(t,s[e.parent[0]])||_(t,s[e.parent[1]]);e=s[e.parent]}return o.logger.debug(t.id,e.id),t.id===e.id}var p=e.setDirection=function(t){d=t},m={},y=e.setOptions=function(t){o.logger.debug("options str",t),t=(t=t&&t.trim())||"{}";try{m=JSON.parse(t)}catch(t){o.logger.error("error while parsing gitGraph options",t.message)}},g=e.getOptions=function(){return m},v=e.commit=function(t){var e={id:h(),message:t,seq:f++,parent:null==u?null:u.id};u=e,s[e.id]=e,c[l]=e.id,o.logger.debug("in pushCommit "+e.id)},M=e.branch=function(t){c[t]=null!=u?u.id:null,o.logger.debug("in createBranch")},b=e.merge=function(t){var e=s[c[l]],n=s[c[t]];if(function(t,e){return t.seq>e.seq&&_(e,t)}(e,n))o.logger.debug("Already merged");else{if(_(e,n))c[l]=c[t],u=s[c[l]];else{var r={id:h(),message:"merged branch "+t+" into "+l,seq:f++,parent:[null==u?null:u.id,c[t]]};u=r,s[r.id]=r,c[l]=r.id}o.logger.debug(c),o.logger.debug("in mergeBranch")}},k=e.checkout=function(t){o.logger.debug("in checkout");var e=c[l=t];u=s[e]},L=e.reset=function(t){o.logger.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"===e?u:s[c[e]];for(o.logger.debug(r,n);n>0;)if(n--,!(r=s[r.parent])){var i="Critical error - unique parent commit not found during reset";throw o.logger.error(i),i}u=r,c[l]=r.id};function w(t,e,n){var r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}var x=e.prettyPrint=function(){o.logger.debug(s),function t(e){var n=a.default.maxBy(e,"seq"),r="";e.forEach(function(t){r+=t===n?"\t*":"\t|"});var i=[r,n.id,n.seq];if(a.default.each(c,function(t,e){t===n.id&&i.push(e)}),o.logger.debug(i.join(" ")),Array.isArray(n.parent)){var u=s[n.parent[0]];w(e,n,u),e.push(s[n.parent[1]])}else{if(null==n.parent)return;var l=s[n.parent];w(e,n,l)}t(e=a.default.uniqBy(e,"id"))}([E()[0]])},T=e.clear=function(){s={},c={master:u=null},l="master",f=0},D=e.getBranchesAsObjArray=function(){return a.default.map(c,function(t,e){return{name:e,commit:s[t]}})},Y=e.getBranches=function(){return c},S=e.getCommits=function(){return s},E=e.getCommitsArray=function(){var t=Object.keys(s).map(function(t){return s[t]});return t.forEach(function(t){o.logger.debug(t.id)}),a.default.orderBy(t,["seq"],["desc"])},A=e.getCurrentBranch=function(){return l},C=e.getDirection=function(){return d},j=e.getHead=function(){return u};e.default={setDirection:p,setOptions:y,getOptions:g,commit:v,branch:M,merge:b,checkout:k,reset:L,prettyPrint:x,clear:T,getBranchesAsObjArray:D,getBranches:Y,getCommits:S,getCommitsArray:E,getCurrentBranch:A,getDirection:C,getHead:j}},function(t,e,n){"use strict";(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,11],n=[1,12],r=[1,13],i=[1,15],a=[1,16],o=[1,17],s=[6,8],u=[1,26],c=[1,27],l=[1,28],d=[1,29],f=[1,30],h=[1,31],_=[6,8,13,17,23,26,27,28,29,30,31],p=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],y=[23,30,31,45,46,47],g=[23,26,27,28,29,45,46,47],v=[6,8,13],M=[1,46],b={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 5:this.$=a[s-1]+a[s];break;case 6:this.$=a[s];break;case 7:r.addRelation(a[s]);break;case 8:a[s-1].title=r.cleanupLabel(a[s]),r.addRelation(a[s-1]);break;case 12:r.addMembers(a[s-3],a[s-1]);break;case 13:this.$=[a[s]];break;case 14:a[s].push(a[s-1]),this.$=a[s];break;case 15:break;case 16:r.addMembers(a[s-1],r.cleanupLabel(a[s]));break;case 17:console.warn("Member",a[s]);break;case 18:break;case 19:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 21:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 22:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 23:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 24:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 25:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 26:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 27:this.$=r.relationType.AGGREGATION;break;case 28:this.$=r.relationType.EXTENSION;break;case 29:this.$=r.relationType.COMPOSITION;break;case 30:this.$=r.relationType.DEPENDENCY;break;case 31:this.$=r.lineType.LINE;break;case 32:this.$=r.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:e,20:n,21:r,45:i,46:a,47:o},{8:[1,18]},{6:[1,19],8:[2,3]},t(s,[2,7],{13:[1,20]}),t(s,[2,9]),t(s,[2,10]),t(s,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:u,27:c,28:l,29:d,30:f,31:h}),{10:32,11:14,45:i,46:a,47:o},t(s,[2,17]),t(s,[2,18]),t(_,[2,6],{11:14,10:33,45:i,46:a,47:o}),t(p,[2,46]),t(p,[2,47]),t(p,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:e,20:n,21:r,45:i,46:a,47:o},t(s,[2,8]),{10:35,11:14,23:[1,36],45:i,46:a,47:o},{22:37,24:24,25:25,26:u,27:c,28:l,29:d,30:f,31:h},t(s,[2,16]),{25:38,30:f,31:h},t(m,[2,26],{24:39,26:u,27:c,28:l,29:d}),t(y,[2,27]),t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),t(g,[2,31]),t(g,[2,32]),t(s,[2,11],{17:[1,40]}),t(_,[2,5]),{8:[2,4]},t(v,[2,19]),{10:41,11:14,45:i,46:a,47:o},{10:42,11:14,23:[1,43],45:i,46:a,47:o},t(m,[2,25],{24:44,26:u,27:c,28:l,29:d}),t(m,[2,24]),{18:45,20:M},t(v,[2,21]),t(v,[2,20]),{10:47,11:14,45:i,46:a,47:o},t(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:M},t(v,[2,22]),t(s,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},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="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},k={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;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[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:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}};function L(){this.yy={}}return b.lexer=k,L.prototype=b,b.Parser=L,new L}();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(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.relationType=e.lineType=e.cleanupLabel=e.addMembers=e.addRelation=e.getRelations=e.getClasses=e.getClass=e.clear=e.addClass=void 0;var r=n(2),i=[],a={},o=e.addClass=function(t){void 0===a[t]&&(a[t]={id:t,methods:[],members:[]})},s=e.clear=function(){i=[],a={}},u=e.getClass=function(t){return a[t]},c=e.getClasses=function(){return a},l=e.getRelations=function(){return i},d=e.addRelation=function(t){r.logger.debug("Adding relation: "+JSON.stringify(t)),o(t.id1),o(t.id2),i.push(t)},f=e.addMembers=function(t,e){var n=a[t];"string"==typeof e&&(")"===e.substr(-1)?n.methods.push(e):n.members.push(e))},h=e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},_=e.lineType={LINE:0,DOTTED_LINE:1},p=e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3};e.default={addClass:o,clear:s,getClass:u,getClasses:c,getRelations:l,addRelation:d,addMembers:f,cleanupLabel:h,lineType:_,relationType:p}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.addTaskOrg=e.findTaskById=e.addTask=e.getTasks=e.addSection=e.getTitle=e.setTitle=e.setDateFormat=e.getAxisFormat=e.setAxisFormat=e.clear=void 0;var r,i=n(0),a=(r=i)&&r.__esModule?r:{default:r},o=n(2);var s="",u="",c="",l=[],d=[],f="",h=e.clear=function(){l=[],d=[],f="",c="",L=0,x=void 0,T=void 0,D=[]},_=e.setAxisFormat=function(t){u=t},p=e.getAxisFormat=function(){return u},m=e.setDateFormat=function(t){s=t},y=e.setTitle=function(t){c=t},g=e.getTitle=function(){return c},v=e.addSection=function(t){f=t,l.push(t)},M=e.getTasks=function(){for(var t=C(),e=0;!t&&e<10;)t=C(),e++;return d=D},b=function(t,e,n){n=n.trim();var r=/^after\s+([\d\w-]+)/.exec(n.trim());if(null!==r){var i=E(r[1]);if(void 0===i){var s=new Date;return s.setHours(0,0,0,0),s}return i.endTime}return(0,a.default)(n,e.trim(),!0).isValid()?(0,a.default)(n,e.trim(),!0).toDate():(o.logger.debug("Invalid date:"+n),o.logger.debug("With date format:"+e.trim()),new Date)},k=function(t,e,n){if(n=n.trim(),(0,a.default)(n,e.trim(),!0).isValid())return(0,a.default)(n,e.trim()).toDate();var r=(0,a.default)(t),i=/^([\d]+)([wdhms])/.exec(n.trim());if(null!==i){switch(i[2]){case"s":r.add(i[1],"seconds");break;case"m":r.add(i[1],"minutes");break;case"h":r.add(i[1],"hours");break;case"d":r.add(i[1],"days");break;case"w":r.add(i[1],"weeks")}return r.toDate()}return r.toDate()},L=0,w=function(t){return void 0===t?"task"+(L+=1):t},x=void 0,T=void 0,D=[],Y={},S=e.addTask=function(t,e){var n={section:f,type:f,processed:!1,raw:{data:e},task:t},r=function(t,e){for(var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={},i=!0;i;)i=!1,n[0].match(/^\s*active\s*$/)&&(r.active=!0,n.shift(1),i=!0),n[0].match(/^\s*done\s*$/)&&(r.done=!0,n.shift(1),i=!0),n[0].match(/^\s*crit\s*$/)&&(r.crit=!0,n.shift(1),i=!0);for(var a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:r.id=w(),r.startTime={type:"prevTaskEnd",id:t},r.endTime={data:n[0]};break;case 2:r.id=w(),r.startTime={type:"getStartDate",startData:n[0]},r.endTime={data:n[1]};break;case 3:r.id=w(n[0]),r.startTime={type:"getStartDate",startData:n[1]},r.endTime={data:n[2]}}return r}(T,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=T,n.active=r.active,n.done=r.done,n.crit=r.crit;var i=D.push(n);T=n.id,Y[n.id]=i-1},E=e.findTaskById=function(t){var e=Y[t];return D[e]},A=e.addTaskOrg=function(t,e){var n={section:f,type:f,description:t,task:t},r=function(t,e){for(var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={},i=!0;i;)i=!1,n[0].match(/^\s*active\s*$/)&&(r.active=!0,n.shift(1),i=!0),n[0].match(/^\s*done\s*$/)&&(r.done=!0,n.shift(1),i=!0),n[0].match(/^\s*crit\s*$/)&&(r.crit=!0,n.shift(1),i=!0);for(var a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:r.id=w(),r.startTime=t.endTime,r.endTime=k(r.startTime,s,n[0]);break;case 2:r.id=w(),r.startTime=b(0,s,n[0]),r.endTime=k(r.startTime,s,n[1]);break;case 3:r.id=w(n[0]),r.startTime=b(0,s,n[1]),r.endTime=k(r.startTime,s,n[2])}return r}(x,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,x=n,d.push(n)},C=function(){for(var t=function(t){var e=D[t],n="";switch(D[t].raw.startTime.type){case"prevTaskEnd":var r=E(e.prevTaskId);e.startTime=r.endTime;break;case"getStartDate":(n=b(0,s,D[t].raw.startTime.startData))&&(D[t].startTime=n)}return D[t].startTime&&(D[t].endTime=k(D[t].startTime,s,D[t].raw.endTime.data),D[t].endTime&&(D[t].processed=!0)),D[t].processed},e=!0,n=0;n<D.length;n++)t(n),e=e&&D[n].processed;return e};e.default={clear:h,setDateFormat:m,setAxisFormat:_,getAxisFormat:p,setTitle:y,getTitle:g,addSection:v,getTasks:M,addTask:S,findTaskById:E,addTaskOrg:A}},function(t,e,n){"use strict";(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,8,10,11,12,13,14,15],n=[1,9],r=[1,10],i=[1,11],a=[1,12],o=[1,13],s={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,axisFormat:12,title:13,section:14,taskTxt:15,taskData:16,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"axisFormat",13:"title",14:"section",15:"taskTxt",16:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,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:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:r.setDateFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 9:r.setAxisFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 10:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 11:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 12:r.addTask(a[s-1],a[s]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:r,13:i,14:a,15:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:14,11:n,12:r,13:i,14:a,15:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),{16:[1,15]},t(e,[2,4]),t(e,[2,12])],defaultActions:{},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="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},u={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;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return 12;case 7:return"date";case 8:return 13;case 9:return 14;case 10:return 15;case 11:return 16;case 12:return":";case 13:return 6;case 14:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:axisFormat\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:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],inclusive:!0}}};function c(){this.yy={}}return s.lexer=u,c.prototype=s,s.Parser=c,new c}();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(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.apply=e.setTitle=e.addNote=e.PLACEMENT=e.ARROWTYPE=e.LINETYPE=e.clear=e.getTitle=e.getActorKeys=e.getActor=e.getActors=e.getMessages=e.addSignal=e.addMessage=e.addActor=void 0;var r=n(2),i={},a=[],o=[],s="",u=e.addActor=function(t,e,n){var r=i[t];r&&e===r.name&&null==n||(null==n&&(n=e),i[t]={name:e,description:n})},c=e.addMessage=function(t,e,n,r){a.push({from:t,to:e,message:n,answer:r})},l=e.addSignal=function(t,e,n,i){r.logger.debug("Adding message from="+t+" to="+e+" message="+n+" type="+i),a.push({from:t,to:e,message:n,type:i})},d=e.getMessages=function(){return a},f=e.getActors=function(){return i},h=e.getActor=function(t){return i[t]},_=e.getActorKeys=function(){return Object.keys(i)},p=e.getTitle=function(){return s},m=e.clear=function(){i={},a=[]},y=e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},g=e.ARROWTYPE={FILLED:0,OPEN:1},v=e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},M=e.addNote=function(t,e,n){var r={actor:t,placement:e,message:n},i=[].concat(t,t);o.push(r),a.push({from:i[0],to:i[1],message:n,type:y.NOTE,placement:e})},b=e.setTitle=function(t){s=t},k=e.apply=function t(e){if(e instanceof Array)e.forEach(function(e){t(e)});else switch(e.type){case"addActor":u(e.actor,e.actor,e.description);break;case"activeStart":case"activeEnd":l(e.actor,void 0,void 0,e.signalType);break;case"addNote":M(e.actor,e.placement,e.text);break;case"addMessage":l(e.from,e.to,e.msg,e.signalType);break;case"loopStart":l(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":l(void 0,void 0,void 0,e.signalType);break;case"optStart":l(void 0,void 0,e.optText,e.signalType);break;case"optEnd":l(void 0,void 0,void 0,e.signalType);break;case"altStart":case"else":l(void 0,void 0,e.altText,e.signalType);break;case"altEnd":l(void 0,void 0,void 0,e.signalType);break;case"setTitle":b(e.text);break;case"parStart":case"and":l(void 0,void 0,e.parText,e.signalType);break;case"parEnd":l(void 0,void 0,void 0,e.signalType)}};e.default={addActor:u,addMessage:c,addSignal:l,getMessages:d,getActors:f,getActor:h,getActorKeys:_,getTitle:p,clear:m,LINETYPE:y,ARROWTYPE:g,PLACEMENT:v,addNote:M,setTitle:b,apply:k}},function(t,e,n){"use strict";(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,4],i=[2,4],a=[1,9],o=[1,11],s=[1,12],u=[1,14],c=[1,15],l=[1,17],d=[1,18],f=[1,19],h=[1,20],_=[1,21],p=[1,23],m=[1,24],y=[1,4,5,10,15,16,18,20,21,22,23,25,27,28,29,40],g=[1,32],v=[4,5,10,15,16,18,20,21,22,23,25,29,40],M=[4,5,10,15,16,18,20,21,22,23,25,28,29,40],b=[4,5,10,15,16,18,20,21,22,23,25,27,29,40],k=[38,39,40],L={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else_sections:24,par:25,par_sections:26,and:27,else:28,note:29,placement:30,over:31,actor_pair:32,spaceList:33,",":34,left_of:35,right_of:36,signaltype:37,"+":38,"-":39,ACTOR:40,SOLID_OPEN_ARROW:41,DOTTED_OPEN_ARROW:42,SOLID_ARROW:43,DOTTED_ARROW:44,SOLID_CROSS:45,DOTTED_CROSS:46,TXT:47,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",25:"par",27:"and",28:"else",29:"note",31:"over",34:",",35:"left_of",36:"right_of",38:"+",39:"-",40:"ACTOR",41:"SOLID_OPEN_ARROW",42:"DOTTED_OPEN_ARROW",43:"SOLID_ARROW",44:"DOTTED_ARROW",45:"SOLID_CROSS",46:"DOTTED_CROSS",47:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,4],[9,4],[26,1],[26,4],[24,1],[24,4],[17,4],[17,4],[33,2],[33,1],[32,3],[32,1],[30,1],[30,1],[14,5],[14,5],[14,4],[11,1],[37,1],[37,1],[37,1],[37,1],[37,1],[37,1],[19,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 3:return r.apply(a[s]),a[s];case 4:this.$=[];break;case 5:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:case 7:this.$=a[s];break;case 8:this.$=[];break;case 9:a[s-3].description=a[s-1],this.$=a[s-3];break;case 10:this.$=a[s-1];break;case 12:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]};break;case 13:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-1]};break;case 15:this.$=[{type:"setTitle",text:a[s-1]}];break;case 16:a[s-1].unshift({type:"loopStart",loopText:a[s-2],signalType:r.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 17:a[s-1].unshift({type:"optStart",optText:a[s-2],signalType:r.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:a[s-2],signalType:r.LINETYPE.OPT_END}),this.$=a[s-1];break;case 18:a[s-1].unshift({type:"altStart",altText:a[s-2],signalType:r.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[s-1];break;case 19:a[s-1].unshift({type:"parStart",parText:a[s-2],signalType:r.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[s-1];break;case 21:this.$=a[s-3].concat([{type:"and",parText:a[s-1],signalType:r.LINETYPE.PAR_AND},a[s]]);break;case 23:this.$=a[s-3].concat([{type:"else",altText:a[s-1],signalType:r.LINETYPE.ALT_ELSE},a[s]]);break;case 24:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 25:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 28:this.$=[a[s-2],a[s]];break;case 29:this.$=a[s];break;case 30:this.$=r.PLACEMENT.LEFTOF;break;case 31:this.$=r.PLACEMENT.RIGHTOF;break;case 32:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]}];break;case 33:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-4]}];break;case 34:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 35:this.$={type:"addActor",actor:a[s]};break;case 36:this.$=r.LINETYPE.SOLID_OPEN;break;case 37:this.$=r.LINETYPE.DOTTED_OPEN;break;case 38:this.$=r.LINETYPE.SOLID;break;case 39:this.$=r.LINETYPE.DOTTED;break;case 40:this.$=r.LINETYPE.SOLID_CROSS;break;case 41:this.$=r.LINETYPE.DOTTED_CROSS;break;case 42:this.$=a[s].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:e,5:n,6:r},{1:[3]},{3:5,4:e,5:n,6:r},{3:6,4:e,5:n,6:r},t([1,4,5,10,15,16,18,20,22,23,25,29,40],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,22:f,23:h,25:_,29:p,40:m},t(y,[2,5]),{9:25,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,22:f,23:h,25:_,29:p,40:m},t(y,[2,7]),t(y,[2,8]),{11:26,40:m},{5:[1,27]},{11:28,40:m},{11:29,40:m},{5:[1,30]},{19:31,47:g},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{37:37,41:[1,38],42:[1,39],43:[1,40],44:[1,41],45:[1,42],46:[1,43]},{30:44,31:[1,45],35:[1,46],36:[1,47]},t([5,12,34,41,42,43,44,45,46,47],[2,35]),t(y,[2,6]),{5:[1,49],12:[1,48]},t(y,[2,11]),{5:[1,50]},{5:[1,51]},t(y,[2,14]),{5:[1,52]},{5:[2,42]},t(v,i,{7:53}),t(v,i,{7:54}),t(M,i,{24:55,7:56}),t(b,i,{26:57,7:58}),{11:61,38:[1,59],39:[1,60],40:m},t(k,[2,36]),t(k,[2,37]),t(k,[2,38]),t(k,[2,39]),t(k,[2,40]),t(k,[2,41]),{11:62,40:m},{11:64,32:63,40:m},{40:[2,30]},{40:[2,31]},{13:[1,65]},t(y,[2,10]),t(y,[2,12]),t(y,[2,13]),t(y,[2,15]),{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[1,66],22:f,23:h,25:_,29:p,40:m},{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[1,67],22:f,23:h,25:_,29:p,40:m},{21:[1,68]},{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[2,22],22:f,23:h,25:_,28:[1,69],29:p,40:m},{21:[1,70]},{4:a,5:o,8:8,9:10,10:s,11:22,14:13,15:u,16:c,17:16,18:l,20:d,21:[2,20],22:f,23:h,25:_,27:[1,71],29:p,40:m},{11:72,40:m},{11:73,40:m},{19:74,47:g},{19:75,47:g},{19:76,47:g},{34:[1,77],47:[2,29]},{5:[1,78]},t(y,[2,16]),t(y,[2,17]),t(y,[2,18]),{13:[1,79]},t(y,[2,19]),{13:[1,80]},{19:81,47:g},{19:82,47:g},{5:[2,34]},{5:[2,24]},{5:[2,25]},{11:83,40:m},t(y,[2,9]),t(M,i,{7:56,24:84}),t(b,i,{7:58,26:85}),{5:[2,32]},{5:[2,33]},{47:[2,28]},{21:[2,23]},{21:[2,21]}],defaultActions:{5:[2,1],6:[2,2],32:[2,42],46:[2,30],47:[2,31],74:[2,34],75:[2,24],76:[2,25],81:[2,32],82:[2,33],83:[2,28],84:[2,23],85:[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="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},w={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;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),40;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),28;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 35;case 18:return 36;case 19:return 31;case 20:return 29;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 34;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),40;case 28:return 43;case 29:return 44;case 30:return 41;case 31:return 42;case 32:return 45;case 33:return 46;case 34:return 47;case 35:return 38;case 36:return 39;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\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,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}};function x(){this.yy={}}return L.lexer=w,x.prototype=L,L.Parser=x,new x}();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(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){t.exports=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,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},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.w={},n(n.s=27)}([function(t,e){t.exports=n(8)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.addDummyNode=o,e.simplify=s,e.asNonCompoundGraph=u,e.successorWeights=c,e.predecessorWeights=l,e.intersectRect=d,e.buildLayerMatrix=f,e.normalizeRanks=h,e.removeEmptyRanks=_,e.addBorderNode=p,e.maxRank=m,e.partition=y,e.time=g,e.notime=v;var r,i=(r=n(0))&&r.__esModule?r:{default:r},a=n(2);function o(t,e,n,r){var a=void 0;do{a=i.default.uniqueId(r)}while(t.hasNode(a));return n.dummy=e,t.setNode(a,n),a}function s(t){var e=(new a.Graph).setGraph(t.graph());return i.default.forEach(t.nodes(),function(n){e.setNode(n,t.node(n))}),i.default.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}function u(t){var e=new a.Graph({multigraph:t.isMultigraph()}).setGraph(t.graph());return i.default.forEach(t.nodes(),function(n){t.children(n).length||e.setNode(n,t.node(n))}),i.default.forEach(t.edges(),function(n){e.setEdge(n,t.edge(n))}),e}function c(t){var e=i.default.map(t.nodes(),function(e){var n={};return i.default.forEach(t.outEdges(e),function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight}),n});return i.default.zipObject(t.nodes(),e)}function l(t){var e=i.default.map(t.nodes(),function(e){var n={};return i.default.forEach(t.inEdges(e),function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight}),n});return i.default.zipObject(t.nodes(),e)}function d(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,o=t.width/2,s=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u=void 0,c=void 0;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),u=s*i/a,c=s):(i<0&&(o=-o),u=o,c=o*a/i),{x:n+u,y:r+c}}function f(t){var e=i.default.map(i.default.range(m(t)+1),function(){return[]});return i.default.forEach(t.nodes(),function(n){var r=t.node(n),a=r.rank;i.default.isUndefined(a)||(e[a][r.order]=n)}),e}function h(t){var e=i.default.min(i.default.map(t.nodes(),function(e){return t.node(e).rank}));i.default.forEach(t.nodes(),function(n){var r=t.node(n);i.default.has(r,"rank")&&(r.rank-=e)})}function _(t){var e=i.default.min(i.default.map(t.nodes(),function(e){return t.node(e).rank})),n=[];i.default.forEach(t.nodes(),function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)});var r=0,a=t.graph().nodeRankFactor;i.default.forEach(n,function(e,n){i.default.isUndefined(e)&&n%a!=0?--r:r&&i.default.forEach(e,function(e){t.node(e).rank+=r})})}function p(t,e,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),o(t,"border",i,e)}function m(t){return i.default.max(i.default.map(t.nodes(),function(e){var n=t.node(e).rank;if(!i.default.isUndefined(n))return n}))}function y(t,e){var n={lhs:[],rhs:[]};return i.default.forEach(t,function(t){e(t)?n.lhs.push(t):n.rhs.push(t)}),n}function g(t,e){var n=i.default.now();try{return e()}finally{console.log(t+" time: "+(i.default.now()-n)+"ms")}}function v(t,e){return e()}e.default={addDummyNode:o,simplify:s,asNonCompoundGraph:u,successorWeights:c,predecessorWeights:l,intersectRect:d,buildLayerMatrix:f,normalizeRanks:h,removeEmptyRanks:_,addBorderNode:p,maxRank:m,partition:y,time:g,notime:v}},function(t,e){t.exports=n(12)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.longestPath=a,e.slack=o;var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t){var e={};i.default.forEach(t.sources(),function n(r){var a=t.node(r);if(i.default.has(e,r))return a.rank;e[r]=!0;var o=i.default.min(i.default.map(t.outEdges(r),function(e){return n(e.w)-t.edge(e).minlen}))||0;return a.rank=o})}function o(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}e.default={longestPath:a,slack:o}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r},a=n(2),o=n(3);function s(t,e){return i.default.forEach(t.nodes(),function n(r){i.default.forEach(e.nodeEdges(r),function(i){var a=i.v,s=r===a?i.w:a;t.hasNode(s)||(0,o.slack)(e,i)||(t.setNode(s,{}),t.setEdge(r,s,{}),n(s))})}),t.nodeCount()}function u(t,e){return i.default.minBy(e.edges(),function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return(0,o.slack)(e,n)})}function c(t,e,n){i.default.forEach(t.nodes(),function(t){e.node(t).rank+=n})}e.default=function(t){var e=new a.Graph({directed:!1}),n=t.nodes()[0],r=t.nodeCount();e.setNode(n,{});for(var i=void 0;s(e,t)<r;)i=u(e,t),c(e,t,e.hasNode(i.v)?(0,o.slack)(t,i):-(0,o.slack)(t,i));return e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.positionX=m;var r=o(n(0)),i=n(2),a=o(n(1));function o(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var n={};return r.default.reduce(e,function(e,i){var a=0,o=0,s=e.length,u=r.default.last(i);return r.default.forEach(i,function(e,l){var d=function(t,e){if(t.node(e).dummy)return r.default.find(t.predecessors(e),function(e){return t.node(e).dummy})}(t,e),f=d?t.node(d).order:s;(d||e===u)&&(r.default.forEach(i.slice(o,l+1),function(e){r.default.forEach(t.predecessors(e),function(r){var i=t.node(r),o=i.order;!(o<a||f<o)||i.dummy&&t.node(e).dummy||c(n,r,e)})}),o=l+1,a=f)}),i}),n}function u(t,e){var n={};function i(e,i,a,o,s){var u=void 0;r.default.forEach(r.default.range(i,a),function(i){u=e[i],t.node(u).dummy&&r.default.forEach(t.predecessors(u),function(e){var r=t.node(e);r.dummy&&(r.order<o||r.order>s)&&c(n,e,u)})})}return r.default.reduce(e,function(e,n){var a=-1,o=void 0,s=0;return r.default.forEach(n,function(r,u){if("border"===t.node(r).dummy){var c=t.predecessors(r);c.length&&(o=t.node(c[0]).order,i(n,s,u,a,o),s=u,a=o)}i(n,s,n.length,o,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 l(t,e,n){if(e>n){var i=e;e=n,n=i}return r.default.has(t[e],n)}function d(t,e,n,i){var a={},o={},s={};return r.default.forEach(e,function(t){r.default.forEach(t,function(t,e){a[t]=t,o[t]=t,s[t]=e})}),r.default.forEach(e,function(t){var e=-1;r.default.forEach(t,function(t){var u=i(t);if(u.length)for(var c=((u=r.default.sortBy(u,function(t){return s[t]})).length-1)/2,d=Math.floor(c),f=Math.ceil(c);d<=f;++d){var h=u[d];o[t]===t&&e<s[h]&&!l(n,t,h)&&(o[h]=t,o[t]=a[t]=a[h],e=s[h])}})}),{root:a,align:o}}function f(t,e,n,a,o){var s={},u=function(t,e,n,a){var o=new i.Graph,s=t.graph(),u=function(t,e,n){return function(i,a,o){var s=i.node(a),u=i.node(o),c=0,l=void 0;if(c+=s.width/2,r.default.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":l=-s.width/2;break;case"r":l=s.width/2}if(l&&(c+=n?l:-l),l=0,c+=(s.dummy?e:t)/2,c+=(u.dummy?e:t)/2,c+=u.width/2,r.default.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":l=u.width/2;break;case"r":l=-u.width/2}return l&&(c+=n?l:-l),l=0,c}}(s.nodesep,s.edgesep,a);return r.default.forEach(e,function(e){var i=void 0;r.default.forEach(e,function(e){var r=n[e];if(o.setNode(r),i){var a=n[i],s=o.edge(a,r);o.setEdge(a,r,Math.max(u(t,e,i),s||0))}i=e})}),o}(t,e,n,o),c={};r.default.forEach(u.nodes(),function t(e){r.default.has(c,e)||(c[e]=!0,s[e]=r.default.reduce(u.inEdges(e),function(e,n){return t(n.v),Math.max(e,s[n.v]+u.edge(n))},0))});var l=o?"borderLeft":"borderRight";return r.default.forEach(u.nodes(),function e(n){if(2!==c[n]){c[n]++;var i=t.node(n),a=r.default.reduce(u.outEdges(n),function(t,n){return e(n.w),Math.min(t,s[n.w]-u.edge(n))},Number.POSITIVE_INFINITY);a!==Number.POSITIVE_INFINITY&&i.borderType!==l&&(s[n]=Math.max(s[n],a))}}),r.default.forEach(a,function(t){s[t]=s[n[t]]}),s}function h(t,e){return r.default.minBy(r.default.values(e),function(e){var n=(r.default.minBy(r.default.toPairs(e),function(e){return e[1]-y(t,e[0])/2})||["k",0])[1];return(r.default.maxBy(r.default.toPairs(e),function(e){return e[1]+y(t,e[0])/2})||["k",0])[1]-n})}function _(t,e){var n=r.default.values(e),i=r.default.min(n),a=r.default.max(n);r.default.forEach(["u","d"],function(n){r.default.forEach(["l","r"],function(o){var s=n+o,u=t[s];if(u!==e){var c=r.default.values(u),l="l"===o?i-r.default.min(c):a-r.default.max(c);l&&(t[s]=r.default.mapValues(u,function(t){return t+l}))}})})}function p(t,e){return r.default.mapValues(t.ul,function(n,i){if(e)return t[e.toLowerCase()][i];var a=r.default.sortBy(r.default.map(t,i));return(a[1]+a[2])/2})}function m(t){var e=a.default.buildLayerMatrix(t),n=r.default.merge(s(t,e),u(t,e)),i={},o=void 0;r.default.forEach(["u","d"],function(a){o="u"===a?e:r.default.values(e).reverse(),r.default.forEach(["l","r"],function(e){"r"===e&&(o=r.default.map(o,function(t){return r.default.values(t).reverse()}));var s=r.default.bind("u"===a?t.predecessors:t.successors,t),u=d(0,o,n,s),c=f(t,o,u.root,u.align,"r"===e);"r"===e&&(c=r.default.mapValues(c,function(t){return-t})),i[a+e]=c})});var c=h(t,i);return _(i,c),p(i,t.graph().align)}function y(t,e){return t.node(e).width}e.default={positionX:m,findType1Conflicts:s,findType2Conflicts:u,addConflict:c,hasConflict:l,verticalAlignment:d,horizontalCompaction:f,alignCoordinates:_,findSmallestWidthAlignment:h,balance:p}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(0)),i=o(n(1)),a=n(5);function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){(function(t){var e=i.default.buildLayerMatrix(t),n=t.graph().ranksep,a=0;r.default.forEach(e,function(e){var i=r.default.max(r.default.map(e,function(e){return t.node(e).height}));r.default.forEach(e,function(e){t.node(e).y=a+i/2}),a+=i+n})})(t=i.default.asNonCompoundGraph(t)),r.default.forEach((0,a.positionX)(t),function(e,n){t.node(n).x=e})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e,n){var r={},a=void 0;i.default.forEach(n,function(n){for(var i=t.parent(n),o=void 0,s=void 0;i;){if((o=t.parent(i))?(s=r[o],r[o]=i):(s=a,a=i),s&&s!==i)return void e.setEdge(s,i);i=o}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r},a=n(2);e.default=function(t,e,n){var r=function(t){for(var e=void 0;t.hasNode(e=i.default.uniqueId("_root")););return e}(t),o=new a.Graph({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(e){return t.node(e)});return i.default.forEach(t.nodes(),function(a){var s=t.node(a),u=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(a),o.setParent(a,u||r),i.default.forEach(t[n](a),function(e){var n=e.v===a?e.w:e.v,r=o.edge(n,a),s=i.default.isUndefined(r)?0:r.weight;o.setEdge(n,a,{weight:t.edge(e).weight+s})}),i.default.has(s,"minRank")&&o.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),o}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n){for(var i=void 0;e.length&&(i=r.default.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}e.default=function(t,e){var n,a=i.default.partition(t,function(t){return r.default.has(t,"barycenter")}),s=a.lhs,u=r.default.sortBy(a.rhs,function(t){return-t.i}),c=[],l=0,d=0,f=0;s.sort((n=!!e,function(t,e){return t.barycenter<e.barycenter?-1:t.barycenter>e.barycenter?1:n?e.i-t.i:t.i-e.i})),f=o(c,u,f),r.default.forEach(s,function(t){f+=t.vs.length,c.push(t.vs),l+=t.barycenter*t.weight,d+=t.weight,f=o(c,u,f)});var h={vs:r.default.flatten(c,!0)};return d&&(h.barycenter=l/d,h.weight=d),h}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n={};return i.default.forEach(t,function(t,e){var r=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};i.default.isUndefined(t.barycenter)||(r.barycenter=t.barycenter,r.weight=t.weight)}),i.default.forEach(e.edges(),function(t){var e=n[t.v],r=n[t.w];i.default.isUndefined(e)||i.default.isUndefined(r)||(r.indegree++,e.out.push(n[t.w]))}),function(t){var e=[];function n(t){return function(e){var n,r,a,o;e.merged||(i.default.isUndefined(e.barycenter)||i.default.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&(r=e,a=0,o=0,(n=t).weight&&(a+=n.barycenter*n.weight,o+=n.weight),r.weight&&(a+=r.barycenter*r.weight,o+=r.weight),n.vs=r.vs.concat(n.vs),n.barycenter=a/o,n.weight=o,n.i=Math.min(r.i,n.i),r.merged=!0)}}function r(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var a=t.pop();e.push(a),i.default.forEach(a.in.reverse(),n(a)),i.default.forEach(a.out,r(a))}return i.default.chain(e).filter(function(t){return!t.merged}).map(function(t){return i.default.pick(t,["vs","i","barycenter","weight"])}).value()}(i.default.filter(n,function(t){return!t.indegree}))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){return i.default.map(e,function(e){var n=t.inEdges(e);if(n.length){var r=i.default.reduce(n,function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}},{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=s(n(0)),i=s(n(11)),a=s(n(10)),o=s(n(9));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function t(e,n,s,u){var c=e.children(n),l=e.node(n),d=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,h={};d&&(c=r.default.filter(c,function(t){return t!==d&&t!==f}));var _=(0,i.default)(e,c);r.default.forEach(_,function(n){if(e.children(n.v).length){var i=t(e,n.v,s,u);h[n.v]=i,r.default.has(i,"barycenter")&&(a=n,o=i,r.default.isUndefined(a.barycenter)?(a.barycenter=o.barycenter,a.weight=o.weight):(a.barycenter=(a.barycenter*a.weight+o.barycenter*o.weight)/(a.weight+o.weight),a.weight+=o.weight))}var a,o});var p=(0,a.default)(_,s);!function(t,e){r.default.forEach(t,function(t){t.vs=r.default.flatten(t.vs.map(function(t){return e[t]?e[t].vs:t}),!0)})}(p,h);var m=(0,o.default)(p,u);if(d&&(m.vs=r.default.flatten([d,m.vs,f],!0),e.predecessors(d).length)){var y=e.node(e.predecessors(d)[0]),g=e.node(e.predecessors(f)[0]);r.default.has(m,"barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+y.order+g.order)/(m.weight+2),m.weight+=2}return m}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t,e,n){for(var r=i.default.zipObject(n,i.default.map(n,function(t,e){return e})),a=i.default.flatten(i.default.map(e,function(e){return i.default.chain(t.outEdges(e)).map(function(e){return{pos:r[e.w],weight:t.edge(e).weight}}).sortBy("pos").value()}),!0),o=1;o<n.length;)o<<=1;var s=2*o-1;o-=1;var u=i.default.map(new Array(s),function(){return 0}),c=0;return i.default.forEach(a.forEach(function(t){var e=t.pos+o;u[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=u[e+1]),u[e=e-1>>1]+=t.weight;c+=t.weight*n})),c}e.default=function(t,e){for(var n=0,r=1;r<e.length;++r)n+=a(t,e[r-1],e[r]);return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t){var e={},n=i.default.filter(t.nodes(),function(e){return!t.children(e).length}),r=i.default.max(i.default.map(n,function(e){return t.node(e).rank})),a=i.default.map(i.default.range(r+1),function(){return[]}),o=i.default.sortBy(n,function(e){return t.node(e).rank});return i.default.forEach(o,function n(r){if(!i.default.has(e,r)){e[r]=!0;var o=t.node(r);a[o.rank].push(r),i.default.forEach(t.successors(r),n)}}),a}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=d(n(0)),i=n(2),a=d(n(14)),o=d(n(13)),s=d(n(12)),u=d(n(8)),c=d(n(7)),l=d(n(1));function d(t){return t&&t.__esModule?t:{default:t}}function f(t,e,n){return r.default.map(e,function(e){return(0,u.default)(t,e,n)})}function h(t,e){var n=new i.Graph;r.default.forEach(t,function(t){var i=t.graph().root,a=(0,s.default)(t,i,n,e);r.default.forEach(a.vs,function(e,n){t.node(e).order=n}),(0,c.default)(t,n,a.vs)})}function _(t,e){r.default.forEach(e,function(e){r.default.forEach(e,function(e,n){t.node(e).order=n})})}e.default=function(t){var e=l.default.maxRank(t),n=f(t,r.default.range(1,e+1),"inEdges"),i=f(t,r.default.range(e-1,-1,-1),"outEdges"),s=(0,a.default)(t);_(t,s);for(var u=Number.POSITIVE_INFINITY,c=void 0,d=0,p=0;p<4;++d,++p){h(d%2?n:i,d%4>=2),s=l.default.buildLayerMatrix(t);var m=(0,o.default)(t,s);m<u&&(p=0,c=r.default.cloneDeep(s),u=m)}_(t,c)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t){i.default.forEach(t.nodes(),function(e){o(t.node(e))}),i.default.forEach(t.edges(),function(e){o(t.edge(e))})}function o(t){var e=t.width;t.width=t.height,t.height=e}function s(t){t.y=-t.y}function u(t){var e=t.x;t.x=t.y,t.y=e}e.default={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||a(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){i.default.forEach(t.nodes(),function(e){s(t.node(e))}),i.default.forEach(t.edges(),function(e){var n=t.edge(e);i.default.forEach(n.points,s),i.default.has(n,"y")&&s(n)})}(t),"lr"!==e&&"rl"!==e||(function(t){i.default.forEach(t.nodes(),function(e){u(t.node(e))}),i.default.forEach(t.edges(),function(e){var n=t.edge(e);i.default.forEach(n.points,u),i.default.has(n,"x")&&u(n)})}(t),a(t))}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n,r,a,o){var s={width:0,height:0,rank:o,borderType:e},u=a[e][o-1],c=i.default.addDummyNode(t,"border",s,n);a[e][o]=c,t.setParent(c,r),u&&t.setEdge(u,c,{weight:1})}e.default=function(t){r.default.forEach(t.children(),function e(n){var i=t.children(n),a=t.node(n);if(i.length&&r.default.forEach(i,e),r.default.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,u=a.maxRank+1;s<u;++s)o(t,"borderLeft","_bl",n,a,s),o(t,"borderRight","_br",n,a,s)}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}e.default={run:function(t){var e=i.default.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};return r.default.forEach(t.children(),function(n){!function n(i,a){var o=t.children(i);o&&o.length&&r.default.forEach(o,function(t){n(t,a+1)}),e[i]=a}(n,1)}),e}(t),a=r.default.max(r.default.values(n))-1,o=2*a+1;t.graph().nestingRoot=e,r.default.forEach(t.edges(),function(e){t.edge(e).minlen*=o});var s=function(t){return r.default.reduce(t.edges(),function(e,n){return e+t.edge(n).weight},0)}(t)+1;r.default.forEach(t.children(),function(u){!function t(e,n,a,o,s,u,c){var l=e.children(c);if(l.length){var d=i.default.addBorderNode(e,"_bt"),f=i.default.addBorderNode(e,"_bb"),h=e.node(c);e.setParent(d,c),h.borderTop=d,e.setParent(f,c),h.borderBottom=f,r.default.forEach(l,function(r){t(e,n,a,o,s,u,r);var i=e.node(r),l=i.borderTop?i.borderTop:r,h=i.borderBottom?i.borderBottom:r,_=i.borderTop?o:2*o,p=l!==h?1:s-u[c]+1;e.setEdge(d,l,{weight:_,minlen:p,nestingEdge:!0}),e.setEdge(h,f,{weight:_,minlen:p,nestingEdge:!0})}),e.parent(c)||e.setEdge(n,d,{weight:0,minlen:s+u[c]})}else c!==n&&e.setEdge(n,c,{weight:0,minlen:a})}(t,e,o,s,a,n,u)}),t.graph().nodeRankFactor=o},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.default.forEach(t.edges(),function(e){t.edge(e).nestingEdge&&t.removeEdge(e)})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t){var e=function(t){var e={},n=0;return i.default.forEach(t.children(),function r(a){var o=n;i.default.forEach(t.children(a),r),e[a]={low:o,lim:n++}}),e}(t);i.default.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=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim),c=void 0;c=n;do{c=t.parent(c),a.push(c)}while(c&&(e[c].low>s||u>e[c].lim));for(i=c,c=r;(c=t.parent(c))!==i;)o.push(c);return{path:a.concat(o.reverse()),lca:i}}(t,e,i.v,i.w),o=a.path,s=a.lca,u=0,c=o[u],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(c=o[u])!==s&&t.node(c).maxRank<r.rank;)u++;c===s&&(l=!1)}if(!l){for(;u<o.length-1&&t.node(c=o[u+1]).minRank<=r.rank;)u++;c=o[u]}t.setParent(n,c),n=t.successors(n)[0]}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(n(0)),i=n(2),a=u(n(4)),o=n(3),s=n(1);function u(t){return t&&t.__esModule?t:{default:t}}var c=i.alg.preorder,l=i.alg.postorder;function d(t){t=(0,s.simplify)(t),(0,o.longestPath)(t);var e=(0,a.default)(t);_(e),f(e,t);for(var n=void 0;n=p(e);)y(e,t,n,m(e,t,n))}function f(t,e){var n=l(t,t.nodes());n=n.slice(0,n.length-1),r.default.forEach(n,function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=h(t,e,n)}(t,e,n)})}function h(t,e,n){var i=t.node(n).parent,a=!0,o=e.edge(n,i),s=0;return o||(a=!1,o=e.edge(i,n)),s=o.weight,r.default.forEach(e.nodeEdges(n),function(r){var o,u,c=r.v===n,l=c?r.w:r.v;if(l!==i){var d=c===a,f=e.edge(r).weight;if(s+=d?f:-f,o=n,u=l,t.hasEdge(o,u)){var h=t.edge(n,l).cutvalue;s+=d?-h:h}}}),s}function _(t,e){arguments.length<2&&(e=t.nodes()[0]),function t(e,n,i,a,o){var s=i,u=e.node(a);return n[a]=!0,r.default.forEach(e.neighbors(a),function(o){r.default.has(n,o)||(i=t(e,n,i,o,a))}),u.low=s,u.lim=i++,o?u.parent=o:delete u.parent,i}(t,{},1,e)}function p(t){return r.default.find(t.edges(),function(e){return t.edge(e).cutvalue<0})}function m(t,e,n){var i=n.v,a=n.w;e.hasEdge(i,a)||(i=n.w,a=n.v);var s=t.node(i),u=t.node(a),c=s,l=!1;s.lim>u.lim&&(c=u,l=!0);var d=r.default.filter(e.edges(),function(e){return l===g(t,t.node(e.v),c)&&l!==g(t,t.node(e.w),c)});return r.default.minBy(d,function(t){return(0,o.slack)(e,t)})}function y(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),_(t),f(t,e),function(t,e){var n=r.default.find(t.nodes(),function(t){return!e.node(t).parent}),i=c(t,n);i=i.slice(1),r.default.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 g(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}d.initLowLimValues=_,d.initCutValues=f,d.calcCutValue=h,d.leaveEdge=p,d.enterEdge=m,d.exchangeEdges=y,e.default=d},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=o(n(4)),a=o(n(20));function o(t){return t&&t.__esModule?t:{default:t}}var s=r.longestPath;function u(t){(0,a.default)(t)}e.default=function(t){switch(t.graph().ranker){case"network-simplex":u(t);break;case"tight-tree":!function(t){(0,r.longestPath)(t),(0,i.default)(t)}(t);break;case"longest-path":s(t);break;default:u(t)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(1));function a(t){return t&&t.__esModule?t:{default:t}}e.default={run:function(t){t.graph().dummyChains=[],r.default.forEach(t.edges(),function(e){!function(t,e){var n=e.v,r=t.node(n).rank,a=e.w,o=t.node(a).rank,s=e.name,u=t.edge(e),c=u.labelRank;if(o!==r+1){t.removeEdge(e);var l=void 0,d=void 0,f=void 0;for(f=0,++r;r<o;++f,++r)u.points=[],d={width:0,height:0,edgeLabel:u,edgeObj:e,rank:r},l=i.default.addDummyNode(t,"edge",d,"_d"),r===c&&(d.width=u.width,d.height=u.height,d.dummy="edge-label",d.labelpos=u.labelpos),t.setEdge(n,l,{weight:u.weight},s),0===f&&t.graph().dummyChains.push(l),n=l;t.setEdge(n,a,{weight:u.weight},s)}}(t,e)})},undo:function(t){r.default.forEach(t.graph().dummyChains,function(e){var n=t.node(e),r=n.edgeLabel,i=null;for(t.setEdge(n.edgeObj,r);n.dummy;)i=t.successors(e)[0],t.removeNode(e),r.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),e=i,n=t.node(e)})}}},function(t,e,n){"use strict";function r(){var t={};t._next=t._prev=t,this._sentinel=t}function i(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function a(t,e){if("_next"!==t&&"_prev"!==t)return e}Object.defineProperty(e,"__esModule",{value:!0}),r.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return i(e),e},r.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&i(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},r.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,a)),n=n._prev;return"["+t.join(", ")+"]"},e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(0)),i=n(2),a=o(n(23));function o(t){return t&&t.__esModule?t:{default:t}}var s=r.default.constant(1);function u(t,e,n,i,a){var o=a?[]:void 0;return r.default.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.default.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)}e.default=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i.Graph,o=0,s=0;r.default.forEach(t.nodes(),function(t){n.setNode(t,{v:t,in:0,out:0})}),r.default.forEach(t.edges(),function(t){var r=n.edge(t.v,t.w)||0,i=e(t),a=r+i;n.setEdge(t.v,t.w,a),s=Math.max(s,n.node(t.v).out+=i),o=Math.max(o,n.node(t.w).in+=i)});var u=r.default.range(s+o+3).map(function(){return new a.default}),l=o+1;return r.default.forEach(n.nodes(),function(t){c(u,l,n.node(t))}),{graph:n,buckets:u,zeroIdx:l}}(t,e||s),o=function(t,e,n){for(var r=[],i=e[e.length-1],a=e[0],o=void 0;t.nodeCount();){for(;o=a.dequeue();)u(t,e,n,o);for(;o=i.dequeue();)u(t,e,n,o);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(o=e[s].dequeue()){r=r.concat(u(t,e,n,o,!0));break}}return r}(n.graph,n.buckets,n.zeroIdx);return r.default.flatten(r.default.map(o,function(e){return t.outEdges(e.v,e.w)}),!0)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=a(n(0)),i=a(n(24));function a(t){return t&&t.__esModule?t:{default:t}}e.default={run:function(t){var e="greedy"===t.graph().acyclicer?(0,i.default)(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};return r.default.forEach(t.nodes(),function a(o){r.default.has(i,o)||(i[o]=!0,n[o]=!0,r.default.forEach(t.outEdges(o),function(t){r.default.has(n,t.w)?e.push(t):a(t.w)}),delete n[o])}),e}(t);r.default.forEach(e,function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.default.uniqueId("rev"))})},undo:function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}})}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=m(n(0)),i=n(2),a=m(n(25)),o=m(n(22)),s=m(n(21)),u=n(1),c=m(u),l=m(n(19)),d=m(n(18)),f=m(n(17)),h=m(n(16)),_=m(n(15)),p=m(n(6));function m(t){return t&&t.__esModule?t:{default:t}}var y=["nodesep","edgesep","ranksep","marginx","marginy"],g={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},v=["acyclicer","ranker","rankdir","align"],M=["width","height"],b={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],L={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},w=["labelpos"];function x(t,e){return r.default.mapValues(r.default.pick(t,e),Number)}function T(t){var e={};return r.default.forEach(t,function(t,n){e[n.toLowerCase()]=t}),e}e.default=function(t,e){var n=e&&e.debugTiming?c.default.time:c.default.notime;n("layout",function(){var e=n(" buildLayoutGraph",function(){return function(t){var e=new i.Graph({multigraph:!0,compound:!0}),n=T(t.graph());return e.setGraph(r.default.merge({},g,x(n,y),r.default.pick(n,v))),r.default.forEach(t.nodes(),function(n){var i=T(t.node(n));e.setNode(n,r.default.defaults(x(i,M),b)),e.setParent(n,t.parent(n))}),r.default.forEach(t.edges(),function(n){var i=T(t.edge(n));e.setEdge(n,r.default.merge({},L,x(i,k),r.default.pick(i,w)))}),e}(t)});n(" runLayout",function(){!function(t,e){e(" makeSpaceForEdgeLabels",function(){!function(t){var e=t.graph();e.ranksep/=2,r.default.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.default.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(){a.default.run(t)}),e(" nestingGraph.run",function(){d.default.run(t)}),e(" rank",function(){(0,s.default)(c.default.asNonCompoundGraph(t))}),e(" injectEdgeLabelProxies",function(){!function(t){r.default.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};c.default.addDummyNode(t,"edge-proxy",i,"_ep")}})}(t)}),e(" removeEmptyRanks",function(){(0,u.removeEmptyRanks)(t)}),e(" nestingGraph.cleanup",function(){d.default.cleanup(t)}),e(" normalizeRanks",function(){(0,u.normalizeRanks)(t)}),e(" assignRankMinMax",function(){!function(t){var e=0;r.default.forEach(t.nodes(),function(n){var r=t.node(n);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,e=Math.max(e,r.maxRank))}),t.graph().maxRank=e}(t)}),e(" removeEdgeLabelProxies",function(){!function(t){r.default.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(){o.default.run(t)}),e(" parentDummyChains",function(){(0,l.default)(t)}),e(" addBorderSegments",function(){(0,f.default)(t)}),e(" order",function(){(0,_.default)(t)}),e(" insertSelfEdges",function(){!function(t){var e=c.default.buildLayerMatrix(t);r.default.forEach(e,function(e){var n=0;r.default.forEach(e,function(e,i){var a=t.node(e);a.order=i+n,r.default.forEach(a.selfEdges,function(e){c.default.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(){h.default.adjust(t)}),e(" position",function(){(0,p.default)(t)}),e(" positionSelfEdges",function(){!function(t){r.default.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.default.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.default.last(n.borderLeft)),s=t.node(r.default.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.default.forEach(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}(t)}),e(" normalize.undo",function(){o.default.undo(t)}),e(" fixupEdgeLabelCoords",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);if(r.default.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(){h.default.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,u=o.marginy||0;function c(t){var r=t.x,o=t.y,s=t.width,u=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,o-u/2),a=Math.max(a,o+u/2)}r.default.forEach(t.nodes(),function(e){c(t.node(e))}),r.default.forEach(t.edges(),function(e){var n=t.edge(e);r.default.has(n,"x")&&c(n)}),e-=s,i-=u,r.default.forEach(t.nodes(),function(n){var r=t.node(n);r.x-=e,r.y-=i}),r.default.forEach(t.edges(),function(n){var a=t.edge(n);r.default.forEach(a.points,function(t){t.x-=e,t.y-=i}),r.default.has(a,"x")&&(a.x-=e),r.default.has(a,"y")&&(a.y-=i)}),o.width=n-e+s,o.height=a-i+u}(t)}),e(" assignNodeIntersects",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),a=null,o=null;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(c.default.intersectRect(r,a)),n.points.push(c.default.intersectRect(i,o))})}(t)}),e(" reversePoints",function(){!function(t){r.default.forEach(t.edges(),function(e){var n=t.edge(e);n.reversed&&n.points.reverse()})}(t)}),e(" acyclic.undo",function(){a.default.undo(t)})}(e,n)}),n(" updateInputGraph",function(){!function(t,e){r.default.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.default.forEach(t.edges(),function(n){var i=t.edge(n),a=e.edge(n);i.points=a.points,r.default.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)})})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(26))&&r.__esModule?r:{default:r};e.default={layout:i.default}}])},function(t,e,n){"use strict";(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,3],r=[1,5],i=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],a=[2,2],o=[1,12],s=[1,13],u=[1,14],c=[1,15],l=[1,31],d=[1,33],f=[1,22],h=[1,34],_=[1,24],p=[1,25],m=[1,26],y=[1,27],g=[1,28],v=[1,38],M=[1,40],b=[1,35],k=[1,39],L=[1,45],w=[1,44],x=[1,36],T=[1,37],D=[1,41],Y=[1,42],S=[1,43],E=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],A=[1,53],C=[1,52],j=[1,54],O=[1,72],H=[1,80],P=[1,81],F=[1,66],N=[1,65],B=[1,85],R=[1,84],I=[1,82],z=[1,83],W=[1,73],q=[1,68],U=[1,67],V=[1,63],$=[1,75],G=[1,76],J=[1,77],X=[1,78],Z=[1,79],K=[1,70],Q=[1,69],tt=[8,9,11],et=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],nt=[1,115],rt=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],it=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],at=[1,117],ot=[1,118],st=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ut=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],ct=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],dt=[1,191],ft=[1,188],ht=[1,195],_t=[1,192],pt=[1,189],mt=[1,196],yt=[1,186],gt=[1,187],vt=[1,190],Mt=[1,193],bt=[1,194],kt=[1,213],Lt=[8,9,11,86],wt=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],xt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeperator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 2:this.$=[];break;case 3:a[s]!==[]&&a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=a[s];break;case 11:r.setDirection(a[s-1]),this.$=a[s-1];break;case 12:r.setDirection("LR"),this.$=a[s-1];break;case 13:r.setDirection("RL"),this.$=a[s-1];break;case 14:r.setDirection("BT"),this.$=a[s-1];break;case 15:r.setDirection("TB"),this.$=a[s-1];break;case 30:this.$=a[s-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=r.addSubGraph(a[s-1],a[s-3]);break;case 37:this.$=r.addSubGraph(a[s-1],void 0);break;case 41:r.addLink(a[s-2],a[s],a[s-1]),this.$=[a[s-2],a[s]];break;case 42:this.$=[a[s]];break;case 43:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"square");break;case 44:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"square");break;case 45:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"circle");break;case 46:this.$=a[s-6],r.addVertex(a[s-6],a[s-3],"circle");break;case 47:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"ellipse");break;case 48:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"ellipse");break;case 49:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"round");break;case 50:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"round");break;case 51:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"diamond");break;case 52:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"diamond");break;case 53:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"odd");break;case 54:this.$=a[s-4],r.addVertex(a[s-4],a[s-2],"odd");break;case 55:this.$=a[s],r.addVertex(a[s]);break;case 56:this.$=a[s-1],r.addVertex(a[s-1]);break;case 58:case 93:case 96:case 109:this.$=a[s-1]+""+a[s];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:a[s-1].text=a[s],this.$=a[s-1];break;case 64:case 65:a[s-2].text=a[s-1],this.$=a[s-2];break;case 66:this.$=a[s];break;case 67:this.$={type:"arrow",stroke:"normal",text:a[s-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:a[s-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:a[s-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:a[s-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:a[s-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:a[s-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:a[s-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:a[s-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:a[s-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:a[s-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:a[s-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:a[s-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=a[s-1];break;case 110:case 111:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 112:this.$=a[s-4],r.setClass(a[s-2],a[s]);break;case 113:this.$=a[s-4],r.setClickEvent(a[s-2],a[s],void 0,void 0);break;case 114:this.$=a[s-6],r.setClickEvent(a[s-4],a[s-2],void 0,a[s]);break;case 115:this.$=a[s-4],r.setClickEvent(a[s-2],void 0,a[s],void 0);break;case 116:this.$=a[s-6],r.setClickEvent(a[s-4],void 0,a[s-2],a[s]);break;case 117:this.$=a[s-4],r.addVertex(a[s-2],void 0,void 0,a[s]);break;case 118:case 119:case 120:this.$=a[s-4],r.updateLink(a[s-2],a[s]);break;case 121:case 122:this.$=a[s-8],r.updateLinkInterpolate(a[s-6],a[s-2]),r.updateLink(a[s-6],a[s]);break;case 123:case 124:this.$=a[s-6],r.updateLinkInterpolate(a[s-4],a[s]);break;case 126:this.$=[a[s]];break;case 127:a[s-2].push(a[s]),this.$=a[s-2];break;case 129:this.$=a[s-1]+a[s]}},table:[{3:1,4:2,9:e,10:n,12:r},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:n,12:r},{4:8,9:e,10:n,12:r},{10:[1,9]},{1:[2,1],6:10,7:11,8:o,9:s,10:u,11:c,13:l,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,33:23,35:29,44:30,45:32,46:h,71:_,72:p,73:m,74:y,75:g,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(i,[2,9]),t(i,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},t(E,[2,3]),t(E,[2,4]),t(E,[2,5]),t(E,[2,6]),t(E,[2,7]),t(E,[2,8]),{8:A,9:C,11:j,24:51},{8:A,9:C,11:j,24:55},{8:A,9:C,11:j,24:56},{8:A,9:C,11:j,24:57},{8:A,9:C,11:j,24:58},{8:A,9:C,11:j,24:59},{8:A,9:C,10:O,11:j,12:H,13:P,15:F,16:N,17:B,18:R,24:61,30:I,31:60,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(tt,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},t(et,[2,55],{45:32,21:113,44:114,10:nt,13:l,15:[1,112],18:d,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(rt,[2,57]),t(rt,[2,59]),t(rt,[2,60]),t(rt,[2,61]),t(rt,[2,62]),t(it,[2,154]),t(it,[2,155]),t(it,[2,156]),t(it,[2,157]),t(it,[2,158]),t(it,[2,159]),t(it,[2,160]),t(it,[2,161]),t(it,[2,162]),t(it,[2,163]),t(it,[2,164]),{8:at,9:ot,10:nt,14:116,21:119},{8:at,9:ot,10:nt,14:120,21:119},{8:at,9:ot,10:nt,14:121,21:119},{8:at,9:ot,10:nt,14:122,21:119},{8:at,9:ot,10:nt,14:123,21:119},t(E,[2,30]),t(E,[2,38]),t(E,[2,39]),t(E,[2,40]),t(E,[2,31]),t(E,[2,32]),t(E,[2,33]),t(E,[2,34]),t(E,[2,35]),{8:A,9:C,10:O,11:j,12:H,13:P,15:F,16:N,17:B,18:R,24:124,30:I,32:z,45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(st,a,{5:126}),t(ut,[2,92]),t(ut,[2,94]),t(ut,[2,143]),t(ut,[2,144]),t(ut,[2,145]),t(ut,[2,146]),t(ut,[2,147]),t(ut,[2,148]),t(ut,[2,149]),t(ut,[2,150]),t(ut,[2,151]),t(ut,[2,152]),t(ut,[2,153]),t(ut,[2,97]),t(ut,[2,98]),t(ut,[2,99]),t(ut,[2,100]),t(ut,[2,101]),t(ut,[2,102]),t(ut,[2,103]),t(ut,[2,104]),t(ut,[2,105]),t(ut,[2,106]),t(ut,[2,107]),{13:l,18:d,33:127,35:29,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(ct,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:131,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:132,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:133,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(lt,[2,79]),t(lt,[2,80]),t(lt,[2,81]),t(lt,[2,82]),t(lt,[2,83]),t(lt,[2,84]),t(lt,[2,85]),t(lt,[2,86]),t(lt,[2,87]),t(lt,[2,88]),t(lt,[2,89]),t(lt,[2,90]),{13:l,18:d,35:134,44:30,45:32,46:h,80:[1,135],81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{78:[1,136],81:[1,137]},{13:l,18:d,35:139,44:30,45:32,46:h,78:[1,138],81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:140,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:141,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:142,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:144,32:z,38:[1,143],45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:145,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:146,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:147,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,56]),t(rt,[2,58]),t(et,[2,29],{21:148,10:nt}),t(i,[2,11]),t(i,[2,21]),t(i,[2,22]),{9:[1,149]},t(i,[2,12]),t(i,[2,13]),t(i,[2,14]),t(i,[2,15]),t(st,a,{5:150}),t(ut,[2,93]),{6:10,7:11,8:o,9:s,10:u,11:c,13:l,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,151],33:23,35:29,44:30,45:32,46:h,71:_,72:p,73:m,74:y,75:g,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(tt,[2,41]),t(ct,[2,63],{10:[1,152]}),{10:[1,153]},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:154,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,60:U,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,167],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,173],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:[1,174],13:l,18:d,44:114,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,37:[1,175],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,31:176,32:z,45:71,46:W,50:q,60:U,66:62,67:V,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,39:[1,177],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,41:[1,178],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,43:[1,179],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,37:[1,180],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,28]),t(i,[2,23]),{6:10,7:11,8:o,9:s,10:u,11:c,13:l,18:d,23:16,25:17,26:18,27:19,28:20,29:21,30:f,32:[1,181],33:23,35:29,44:30,45:32,46:h,71:_,72:p,73:m,74:y,75:g,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(E,[2,37]),t(ct,[2,65]),t(ct,[2,64]),{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,45:71,46:W,50:q,60:U,65:[1,182],66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(ct,[2,67]),t(ct,[2,68]),t(ct,[2,69]),t(ct,[2,70]),t(ct,[2,71]),t(ct,[2,72]),t(ct,[2,73]),t(ct,[2,74]),t(ct,[2,75]),t(ct,[2,76]),t(ct,[2,77]),t(ct,[2,78]),{10:dt,46:ft,71:ht,79:183,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:197,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:198,80:_t,81:pt,82:[1,199],84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:200,80:_t,81:pt,82:[1,201],84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:202,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:203,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{13:l,18:d,35:204,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:205,44:30,45:32,46:h,67:[1,206],81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,43],{21:207,10:nt}),{10:O,12:H,13:P,15:F,16:N,17:B,18:R,30:I,32:z,39:[1,208],45:71,46:W,50:q,60:U,66:125,70:74,71:$,72:G,73:J,74:X,75:Z,77:64,78:K,81:v,84:Q,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},t(et,[2,49],{21:209,10:nt}),t(et,[2,47],{21:210,10:nt}),t(et,[2,51],{21:211,10:nt}),t(et,[2,53],{21:212,10:nt}),t(E,[2,36]),t([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),t(tt,[2,117],{86:kt}),t(Lt,[2,126],{87:214,10:dt,46:ft,71:ht,80:_t,81:pt,84:mt,88:yt,89:gt,90:vt,91:Mt,92:bt}),t(wt,[2,128]),t(wt,[2,130]),t(wt,[2,131]),t(wt,[2,132]),t(wt,[2,133]),t(wt,[2,134]),t(wt,[2,135]),t(wt,[2,136]),t(wt,[2,137]),t(wt,[2,138]),t(wt,[2,139]),t(wt,[2,140]),t(tt,[2,118],{86:kt}),t(tt,[2,119],{86:kt}),{10:[1,215]},t(tt,[2,120],{86:kt}),{10:[1,216]},t(tt,[2,110],{86:kt}),t(tt,[2,111],{86:kt}),t(tt,[2,112],{45:32,44:114,13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,113],{45:32,44:114,10:[1,217],13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,115],{10:[1,218]}),t(et,[2,44]),{39:[1,219]},t(et,[2,50]),t(et,[2,48]),t(et,[2,52]),t(et,[2,54]),{10:dt,46:ft,71:ht,80:_t,81:pt,84:mt,85:220,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},t(wt,[2,129]),{13:l,18:d,35:221,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{13:l,18:d,35:222,44:30,45:32,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S},{67:[1,223]},{67:[1,224]},t(et,[2,45],{21:225,10:nt}),t(Lt,[2,127],{87:214,10:dt,46:ft,71:ht,80:_t,81:pt,84:mt,88:yt,89:gt,90:vt,91:Mt,92:bt}),t(tt,[2,123],{45:32,44:114,10:[1,226],13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,124],{45:32,44:114,10:[1,227],13:l,18:d,46:h,81:v,86:M,88:b,89:k,91:L,92:w,94:x,95:T,96:D,97:Y,98:S}),t(tt,[2,114]),t(tt,[2,116]),t(et,[2,46]),{10:dt,46:ft,71:ht,79:228,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},{10:dt,46:ft,71:ht,79:229,80:_t,81:pt,84:mt,85:184,87:185,88:yt,89:gt,90:vt,91:Mt,92:bt},t(tt,[2,121],{86:kt}),t(tt,[2,122],{86:kt})],defaultActions:{},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="",u=0,c=0,l=0,d=1,f=a.slice.call(arguments,1),h=Object.create(this.lexer),_={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(_.yy[p]=this.yy[p]);h.setInput(t,_.yy),_.yy.lexer=h,_.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var m=h.yylloc;a.push(m);var y=h.options&&h.options.ranges;"function"==typeof _.yy.parseError?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,v,M,b,k,L,w,x,T,D,Y={};;){if(M=n[n.length-1],this.defaultActions[M]?b=this.defaultActions[M]:(null!==g&&void 0!==g||(D=void 0,"number"!=typeof(D=r.pop()||h.lex()||d)&&(D instanceof Array&&(D=(r=D).pop()),D=e.symbols_[D]||D),g=D),b=o[M]&&o[M][g]),void 0===b||!b.length||!b[0]){var S="";for(L in T=[],o[M])this.terminals_[L]&&L>2&&T.push("'"+this.terminals_[L]+"'");S=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(u+1)+": Unexpected "+(g==d?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[g]||g,line:h.yylineno,loc:m,expected:T})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+g);switch(b[0]){case 1:n.push(g),i.push(h.yytext),a.push(h.yylloc),n.push(b[1]),g=null,v?(g=v,v=null):(c=h.yyleng,s=h.yytext,u=h.yylineno,m=h.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[b[1]][1],Y.$=i[i.length-w],Y._$={first_line:a[a.length-(w||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(w||1)].first_column,last_column:a[a.length-1].last_column},y&&(Y._$.range=[a[a.length-(w||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(Y,[s,c,u,_.yy,b[1],i,a].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),a=a.slice(0,-1*w)),n.push(this.productions_[b[1]][0]),i.push(Y.$),a.push(Y._$),x=o[n[n.length-2]][n[n.length-1]],n.push(x);break;case 3:return!0}}return!0}},Tt={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;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[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:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[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])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}};function Dt(){this.yy={}}return xt.lexer=Tt,Dt.prototype=xt,xt.Parser=Dt,new Dt}();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(7).readFileSync(n(6).normalize(r[1]),"utf8");return e.parser.parse(i)},void 0!==r&&n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(5),n(4)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSubGraphs=e.indexNodes=e.getDepthFirstPos=e.addSubGraph=e.defaultStyle=e.clear=e.getClasses=e.getEdges=e.getVertices=e.getDirection=e.bindFunctions=e.setClickEvent=e.getTooltip=e.setClass=e.setDirection=e.addClass=e.updateLink=e.updateLinkInterpolate=e.addLink=e.addVertex=void 0;var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),o=n(2),s=n(10),u=(r=s)&&r.__esModule?r:{default:r};var c={},l=[],d=[],f=[],h={},_=0,p=void 0,m=[],y=e.addVertex=function(t,e,n,r){var i=void 0;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&('"'===(i=e.trim())[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==n&&(c[t].type=n),void 0!==n&&(c[t].type=n),void 0!==r&&null!==r&&r.forEach(function(e){c[t].styles.push(e)}))},g=e.addLink=function(t,e,n,r){o.logger.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};void 0!==(r=n.text)&&(i.text=r.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==n&&(i.type=n.type,i.stroke=n.stroke),l.push(i)},v=e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},M=e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.default.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},b=e.addClass=function(t,e){void 0===d[t]&&(d[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){d[t].styles.push(e)})},k=e.setDirection=function(t){p=t},L=e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)},w=function(t,e){void 0!==e&&(h[t]=e)},x=function(t,e){void 0!==e&&void 0!==c[t]&&m.push(function(n){var r=a.select(n).select('[id="'+t+'"]');null!==r&&r.on("click",function(){window[e](t)})})},T=function(t,e){void 0!==e&&void 0!==c[t]&&m.push(function(n){var r=a.select(n).select('[id="'+t+'"]');null!==r&&r.on("click",function(){window.open(e,"newTab")})})},D=e.getTooltip=function(t){return h[t]},Y=e.setClickEvent=function(t,e,n,r){t.indexOf(",")>0?t.split(",").forEach(function(i){w(i,r),x(i,e),T(i,n),L(t,"clickable")}):(w(t,r),x(t,e),T(t,n),L(t,"clickable"))},S=e.bindFunctions=function(t){m.forEach(function(e){e(t)})},E=e.getDirection=function(){return p},A=e.getVertices=function(){return c},C=e.getEdges=function(){return l},j=e.getClasses=function(){return d},O=function(t){var e=a.select(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=a.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),a.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=a.select(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",n.left+(n.right-n.left)/2+"px").style("top",n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),a.select(this).classed("hover",!1)})};m.push(O);var H=e.clear=function(){c={},d={},l=[],(m=[]).push(O),f=[],_=0,h=[]},P=e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},F=e.addSubGraph=function(t,e){var n,r,a,o=[];n=o.concat.apply(o,t),r={boolean:{},number:{},string:{}},a=[],o=n.filter(function(t){var e=void 0===t?"undefined":i(t);return""!==t.trim()&&(e in r?!r[e].hasOwnProperty(t)&&(r[e][t]=!0):!(a.indexOf(t)>=0)&&a.push(t))});var s={id:"subGraph"+_,nodes:o,title:e.trim()};return f.push(s),_+=1,s.id},N=function(t){for(var e=0;e<f.length;e++)if(f[e].id===t)return e;return-1},B=-1,R=[],I=e.getDepthFirstPos=function(t){return R[t]},z=e.indexNodes=function(){B=-1,f.length>0&&function t(e,n){var r=f[n].nodes;if(!((B+=1)>2e3)){if(R[B]=n,f[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var o=N(r[i]);if(o>=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",f.length-1)},W=e.getSubGraphs=function(){return f};e.default={addVertex:y,addLink:g,updateLinkInterpolate:v,updateLink:M,addClass:b,setDirection:k,setClass:L,getTooltip:D,setClickEvent:Y,bindFunctions:S,getDirection:E,getVertices:A,getEdges:C,getClasses:j,clear:H,defaultStyle:P,addSubGraph:F,getDepthFirstPos:I,indexNodes:z,getSubGraphs:W}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var i=(t.isDirected()?t.successors:t.neighbors).bind(t);const a=[],o={};return r.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);!function t(e,n,i,a,o,s){r.has(a,n)||(a[n]=!0,i||s.push(n),r.each(o(n),function(n){t(e,n,i,a,o,s)}),i&&s.push(n))}(t,e,"post"===n,o,i,a)}),a}},function(t,e,n){const r=n(1);function i(t){const e={},n={},i=[];if(r.each(t.sinks(),function o(s){if(r.has(n,s))throw new a;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),o),delete n[s],i.push(s))}),r.size(e)!==t.nodeCount())throw new a;return i}function a(){}t.exports=i,i.CycleException=a,a.prototype=new Error},function(t,e,n){var r=n(1);t.exports=function(t){let e=0;const n=[],i={},a=[];return t.nodes().forEach(function(o){r.has(i,o)||function o(s){var u=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach(function(t){r.has(i,t)?i[t].onStack&&(u.lowlink=Math.min(u.lowlink,i[t].index)):(o(t),u.lowlink=Math.min(u.lowlink,i[t].lowlink))}),u.lowlink===u.index){const t=[];let e;do{e=n.pop(),i[e].onStack=!1,t.push(e)}while(s!==e);a.push(t)}}(o)}),a}},function(t,e,n){const r=n(1);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){const e=this._arr,n=2*t,r=n+1;let i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},i.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e},i.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){const r=n(1),i=n(27);t.exports=function(t,e,n,r){return function(t,e,n,r){const a={},o=new i;let s,u;var c=function(t){const e=t.v!==s?t.v:t.w,r=a[e],i=n(t),c=u.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);c<r.distance&&(r.distance=c,r.predecessor=s,o.decrease(e,c))};t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;a[t]={distance:n},o.add(t,n)});for(;o.size()>0&&(s=o.removeMin(),(u=a[s]).distance!==Number.POSITIVE_INFINITY);)r(s).forEach(c);return a}(t,String(e),n||a,r||function(e){return t.outEdges(e)})};var a=r.constant(1)},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"中午"===e?t>=11?t:t+12:"下午"===e||"晚上"===e?t+12:void 0},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"週";default:return t}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(t,e){return 12===t&&(t=0),"凌晨"===e||"早上"===e||"上午"===e?t:"下午"===e||"晚上"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";case"M":return t+"月";case"w":case"W":return t+"周";default:return t}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(t){return/^ch$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];t.defineLocale("ur",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i,a={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===n?e?"хвилина":"хвилину":"h"===n?e?"година":"годину":t+" "+(r=+t,i=a[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}function n(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!t)return n.nominative;var r=/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative";return n[r][t.day()]},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(t,e){return 12===t&&(t=0),"يېرىم كېچە"===e||"سەھەر"===e||"چۈشتىن بۇرۇن"===e?t:"چۈشتىن كېيىن"===e||"كەچ"===e?t+12:t>=11?t:t+12},meridiem:function(t,e,n){var r=100*t+e;return r<600?"يېرىم كېچە":r<900?"سەھەر":r<1130?"چۈشتىن بۇرۇن":r<1230?"چۈش":r<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"-كۈنى";case"w":case"W":return t+"-ھەپتە";default:return t}},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["viensas secunds","'iensas secunds"],ss:[t+" secunds",t+" secunds"],m:["'n míut","'iens míut"],mm:[t+" míuts",t+" míuts"],h:["'n þora","'iensa þora"],hh:[t+" þoras",t+" þoras"],d:["'n ziua","'iensa ziua"],dd:[t+" ziuas",t+" ziuas"],M:["'n mes","'iens mes"],MM:[t+" mesen",t+" mesen"],y:["'n ar","'iens ar"],yy:[t+" ars",t+" ars"]};return r?i[n][0]:e?i[n][0]:i[n][1]}t.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(t){return"d'o"===t.toLowerCase()},meridiem:function(t,e,n){return t>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};t.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(t,n){switch(n){case"d":case"D":case"Do":case"DD":return t;default:if(0===t)return t+"'ıncı";var r=t%10,i=t%100-r,a=t>=100?100:null;return t+(e[r]||e[i]||e[a])}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(t,n,r,i){var a=function(t){var n=Math.floor(t%1e3/100),r=Math.floor(t%100/10),i=t%10,a="";return n>0&&(a+=e[n]+"vatlh"),r>0&&(a+=(""!==a?" ":"")+e[r]+"maH"),i>0&&(a+=(""!==a?" ":"")+e[i]),""===a?"pagh":a}(t);switch(r){case"ss":return a+" lup";case"mm":return a+" tup";case"hh":return a+" rep";case"dd":return a+" jaj";case"MM":return a+" jar";case"yy":return a+" DIS"}}t.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"leS":-1!==t.indexOf("jar")?e.slice(0,-3)+"waQ":-1!==t.indexOf("DIS")?e.slice(0,-3)+"nem":e+" pIq"},past:function(t){var e=t;return e=-1!==t.indexOf("jaj")?e.slice(0,-3)+"Hu’":-1!==t.indexOf("jar")?e.slice(0,-3)+"wen":-1!==t.indexOf("DIS")?e.slice(0,-3)+"ben":e+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(t){return t},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(t){return"หลังเที่ยง"===t},meridiem:function(t,e,n){return t<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};t.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(t,e){return 12===t&&(t=0),"шаб"===e?t<4?t:t+12:"субҳ"===e?t:"рӯз"===e?t>=11?t:t+12:"бегоҳ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"шаб":t<11?"субҳ":t<16?"рӯз":t<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(t,e){return 12===t&&(t=0),"రాత్రి"===e?t<4?t:t+12:"ఉదయం"===e?t:"మధ్యాహ్నం"===e?t>=10?t:t+12:"సాయంత్రం"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"రాత్రి":t<10?"ఉదయం":t<17?"మధ్యాహ్నం":t<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};t.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(t){return t+"வது"},preparse:function(t){return t.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(t,e,n){return t<2?" யாமம்":t<6?" வைகறை":t<10?" காலை":t<14?" நண்பகல்":t<18?" எற்பாடு":t<22?" மாலை":" யாமம்"},meridiemHour:function(t,e){return 12===t&&(t=0),"யாமம்"===e?t<2?t:t+12:"வைகறை"===e||"காலை"===e?t:"நண்பகல்"===e&&t>=10?t:t+12},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"e":1===e?"a":2===e?"a":"e";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(t,e,n){return t<11?"ekuseni":t<15?"emini":t<19?"entsambama":"ebusuku"},meridiemHour:function(t,e){return 12===t&&(t=0),"ekuseni"===e?t:"emini"===e?t>=11?t:t+12:"entsambama"===e||"ebusuku"===e?0===t?0:t+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(t){return"M"===t.charAt(0)},meridiem:function(t,e,n){return t<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i=t+" ";switch(n){case"s":return e||r?"nekaj sekund":"nekaj sekundami";case"ss":return i+=1===t?e?"sekundo":"sekundi":2===t?e||r?"sekundi":"sekundah":t<5?e||r?"sekunde":"sekundah":"sekund";case"m":return e?"ena minuta":"eno minuto";case"mm":return i+=1===t?e?"minuta":"minuto":2===t?e||r?"minuti":"minutama":t<5?e||r?"minute":"minutami":e||r?"minut":"minutami";case"h":return e?"ena ura":"eno uro";case"hh":return i+=1===t?e?"ura":"uro":2===t?e||r?"uri":"urama":t<5?e||r?"ure":"urami":e||r?"ur":"urami";case"d":return e||r?"en dan":"enim dnem";case"dd":return i+=1===t?e||r?"dan":"dnem":2===t?e||r?"dni":"dnevoma":e||r?"dni":"dnevi";case"M":return e||r?"en mesec":"enim mesecem";case"MM":return i+=1===t?e||r?"mesec":"mesecem":2===t?e||r?"meseca":"mesecema":t<5?e||r?"mesece":"meseci":e||r?"mesecev":"meseci";case"y":return e||r?"eno leto":"enim letom";case"yy":return i+=1===t?e||r?"leto":"letom":2===t?e||r?"leti":"letoma":t<5?e||r?"leta":"leti":e||r?"let":"leti"}}t.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function r(t){return t>1&&t<5}function i(t,e,n,i){var a=t+" ";switch(n){case"s":return e||i?"pár sekúnd":"pár sekundami";case"ss":return e||i?a+(r(t)?"sekundy":"sekúnd"):a+"sekundami";case"m":return e?"minúta":i?"minútu":"minútou";case"mm":return e||i?a+(r(t)?"minúty":"minút"):a+"minútami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?a+(r(t)?"hodiny":"hodín"):a+"hodinami";case"d":return e||i?"deň":"dňom";case"dd":return e||i?a+(r(t)?"dni":"dní"):a+"dňami";case"M":return e||i?"mesiac":"mesiacom";case"MM":return e||i?a+(r(t)?"mesiace":"mesiacov"):a+"mesiacmi";case"y":return e||i?"rok":"rokom";case"yy":return e||i?a+(r(t)?"roky":"rokov"):a+"rokmi"}}t.defineLocale("sk",{months:e,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(t){return t+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(t){return"ප.ව."===t||"පස් වරු"===t},meridiem:function(t,e,n){return t>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];t.defineLocale("sd",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(t){return"شام"===t},meridiem:function(t,e,n){return t<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?e?"минута":"минуту":t+" "+(r=+t,i=a[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=" ";return(t%100>=20||t>=100&&t%100==0)&&(r=" de "),t+r+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}t.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:e,m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function r(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function i(t,e,n){var i=t+" ";switch(n){case"ss":return i+(r(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return i+(r(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return i+(r(t)?"godziny":"godzin");case"MM":return i+(r(t)?"miesiące":"miesięcy");case"yy":return i+(r(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,r){return t?""===r?"("+n[t.month()]+"|"+e[t.month()]+")":/D MMMM/.test(r)?n[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:i,m:i,mm:i,h:i,hh:i,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:i,y:"rok",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};t.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(t){return t.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ਰਾਤ"===e?t<4?t:t+12:"ਸਵੇਰ"===e?t:"ਦੁਪਹਿਰ"===e?t>=10?t:t+12:"ਸ਼ਾਮ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ਰਾਤ":t<10?"ਸਵੇਰ":t<17?"ਦੁਪਹਿਰ":t<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],i=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(t,e){return 12===t&&(t=0),"राति"===e?t<4?t:t+12:"बिहान"===e?t:"दिउँसो"===e?t>=10?t:t+12:"साँझ"===e?t+12:void 0},meridiem:function(t,e,n){return t<3?"राति":t<12?"बिहान":t<16?"दिउँसो":t<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};t.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(t){return t.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"tengahari"===e?t>=11?t:t+12:"petang"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"tengahari":t<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function r(t,e,n,r){var i="";if(e)switch(n){case"s":i="काही सेकंद";break;case"ss":i="%d सेकंद";break;case"m":i="एक मिनिट";break;case"mm":i="%d मिनिटे";break;case"h":i="एक तास";break;case"hh":i="%d तास";break;case"d":i="एक दिवस";break;case"dd":i="%d दिवस";break;case"M":i="एक महिना";break;case"MM":i="%d महिने";break;case"y":i="एक वर्ष";break;case"yy":i="%d वर्षे"}else switch(n){case"s":i="काही सेकंदां";break;case"ss":i="%d सेकंदां";break;case"m":i="एका मिनिटा";break;case"mm":i="%d मिनिटां";break;case"h":i="एका तासा";break;case"hh":i="%d तासां";break;case"d":i="एका दिवसा";break;case"dd":i="%d दिवसां";break;case"M":i="एका महिन्या";break;case"MM":i="%d महिन्यां";break;case"y":i="एका वर्षा";break;case"yy":i="%d वर्षां"}return i.replace(/%d/i,t)}t.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात्री"===e?t<4?t:t+12:"सकाळी"===e?t:"दुपारी"===e?t>=10?t:t+12:"सायंकाळी"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात्री":t<10?"सकाळी":t<17?"दुपारी":t<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(t,e){return 12===t&&(t=0),"രാത്രി"===e&&t>=4||"ഉച്ച കഴിഞ്ഞ്"===e||"വൈകുന്നേരം"===e?t+12:t},meridiem:function(t,e,n){return t<4?"രാത്രി":t<12?"രാവിലെ":t<17?"ഉച്ച കഴിഞ്ഞ്":t<20?"വൈകുന്നേരം":"രാത്രി"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(t,e){return 1===t?e[0]:t>=2&&t<=4?e[1]:e[2]},translate:function(t,n,r){var i=e.words[r];return 1===r.length?n?i[0]:i[1]:t+" "+e.correctGrammaticalCase(t,i)}};t.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:e.translate,m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mjesec",MM:e.translate,y:"godinu",yy:e.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(t,e,n){return n?e%10==1&&e%100!=11?t[2]:t[3]:e%10==1&&e%100!=11?t[0]:t[1]}function r(t,r,i){return t+" "+n(e[i],t,r)}function i(t,r,i){return n(e[i],t,r)}t.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(t,e){return e?"dažas sekundes":"dažām sekundēm"},ss:r,m:i,mm:r,h:i,hh:r,d:i,dd:r,M:i,MM:r,y:i,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(t,e,n,r){return e?i(n)[0]:r?i(n)[1]:i(n)[2]}function r(t){return t%10==0||t>10&&t<20}function i(t){return e[t].split("_")}function a(t,e,a,o){var s=t+" ";return 1===t?s+n(0,e,a[0],o):e?s+(r(t)?i(a)[1]:i(a)[0]):o?s+i(a)[1]:s+(r(t)?i(a)[1]:i(a)[2])}t.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(t,e,n,r){return e?"kelios sekundės":r?"kelių sekundžių":"kelias sekundes"},ss:a,m:n,mm:a,h:n,hh:a,d:n,dd:a,M:n,MM:a,y:n,yy:a},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(t){return t+"-oji"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(t){return"ຕອນແລງ"===t},meridiem:function(t,e,n){return t<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(t){return"ທີ່"+t}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return e?i[n][0]:i[n][1]}function n(t){if(t=parseInt(t,10),isNaN(t))return!1;if(t<0)return!0;if(t<10)return 4<=t&&t<=7;if(t<100){var e=t%10,r=t/10;return n(0===e?r:e)}if(t<1e4){for(;t>=10;)t/=10;return n(t)}return n(t/=1e3)}t.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(t){return n(t.substr(0,t.indexOf(" ")))?"a "+t:"an "+t},past:function(t){return n(t.substr(0,t.indexOf(" ")))?"viru "+t:"virun "+t},s:"e puer Sekonnen",ss:"%d Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};t.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"일";case"M":return t+"월";case"w":case"W":return t+"주";default:return t}},meridiemParse:/오전|오후/,isPM:function(t){return"오후"===t},meridiem:function(t,e,n){return t<12?"오전":"오후"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};t.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(t){return t.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(t,e){return 12===t&&(t=0),"ರಾತ್ರಿ"===e?t<4?t:t+12:"ಬೆಳಿಗ್ಗೆ"===e?t:"ಮಧ್ಯಾಹ್ನ"===e?t>=10?t:t+12:"ಸಂಜೆ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"ರಾತ್ರಿ":t<10?"ಬೆಳಿಗ್ಗೆ":t<17?"ಮಧ್ಯಾಹ್ನ":t<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(t){return t+"ನೇ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};t.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(t){var n=t%10,r=t>=100?100:null;return t+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(t){return/(წამი|წუთი|საათი|წელი)/.test(t)?t.replace(/ი$/,"ში"):t+"ში"},past:function(t){return/(წამი|წუთი|საათი|დღე|თვე)/.test(t)?t.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(t)?t.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(t){return 0===t?t:1===t?t+"-ლი":t<20||t<=100&&t%20==0||t%100==0?"მე-"+t:t+"-ე"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(t,e){return 12===t&&(t=0),"enjing"===e?t:"siyang"===e?t>=11?t:t+12:"sonten"===e||"ndalu"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"enjing":t<15?"siyang":t<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,n){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(t){return(/^[0-9].+$/.test(t)?"tra":"in")+" "+t},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t){return t%100==11||t%10!=1}function n(t,n,r,i){var a=t+" ";switch(r){case"s":return n||i?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return e(t)?a+(n||i?"sekúndur":"sekúndum"):a+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return e(t)?a+(n||i?"mínútur":"mínútum"):n?a+"mínúta":a+"mínútu";case"hh":return e(t)?a+(n||i?"klukkustundir":"klukkustundum"):a+"klukkustund";case"d":return n?"dagur":i?"dag":"degi";case"dd":return e(t)?n?a+"dagar":a+(i?"daga":"dögum"):n?a+"dagur":a+(i?"dag":"degi");case"M":return n?"mánuður":i?"mánuð":"mánuði";case"MM":return e(t)?n?a+"mánuðir":a+(i?"mánuði":"mánuðum"):n?a+"mánuður":a+(i?"mánuð":"mánuði");case"y":return n||i?"ár":"ári";case"yy":return e(t)?a+(n||i?"ár":"árum"):a+(n||i?"ár":"ári")}}t.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(t,e){return 12===t&&(t=0),"pagi"===e?t:"siang"===e?t>=11?t:t+12:"sore"===e||"malam"===e?t+12:void 0},meridiem:function(t,e,n){return t<11?"pagi":t<15?"siang":t<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(t){return/^(ցերեկվա|երեկոյան)$/.test(t)},meridiem:function(t){return t<4?"գիշերվա":t<12?"առավոտվա":t<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(t,e){switch(e){case"DDD":case"w":case"W":case"DDDo":return 1===t?t+"-ին":t+"-րդ";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(t,e,n,r){var i=t;switch(n){case"s":return r||e?"néhány másodperc":"néhány másodperce";case"ss":return i+(r||e)?" másodperc":" másodperce";case"m":return"egy"+(r||e?" perc":" perce");case"mm":return i+(r||e?" perc":" perce");case"h":return"egy"+(r||e?" óra":" órája");case"hh":return i+(r||e?" óra":" órája");case"d":return"egy"+(r||e?" nap":" napja");case"dd":return i+(r||e?" nap":" napja");case"M":return"egy"+(r||e?" hónap":" hónapja");case"MM":return i+(r||e?" hónap":" hónapja");case"y":return"egy"+(r||e?" év":" éve");case"yy":return i+(r||e?" év":" éve")}return""}function r(t){return(t?"":"[múlt] ")+"["+e[this.day()]+"] LT[-kor]"}t.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(t){return"u"===t.charAt(1).toLowerCase()},meridiem:function(t,e,n){return t<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return r.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return r.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};t.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(t){return t.replace(/[१२३४५६७८९०]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(t,e){return 12===t&&(t=0),"रात"===e?t<4?t:t+12:"सुबह"===e?t:"दोपहर"===e?t>=10?t:t+12:"शाम"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"रात":t<10?"सुबह":t<17?"दोपहर":t<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(t){return 2===t?"שעתיים":t+" שעות"},d:"יום",dd:function(t){return 2===t?"יומיים":t+" ימים"},M:"חודש",MM:function(t){return 2===t?"חודשיים":t+" חודשים"},y:"שנה",yy:function(t){return 2===t?"שנתיים":t%10==0&&10!==t?t+" שנה":t+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem:function(t,e,n){return t<5?"לפנות בוקר":t<10?"בבוקר":t<12?n?'לפנה"צ':"לפני הצהריים":t<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};t.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(t){return t.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(t,e){return 12===t&&(t=0),"રાત"===e?t<4?t:t+12:"સવાર"===e?t:"બપોર"===e?t>=10?t:t+12:"સાંજ"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"રાત":t<10?"સવાર":t<17?"બપોર":t<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["thodde secondanim","thodde second"],ss:[t+" secondanim",t+" second"],m:["eka mintan","ek minute"],mm:[t+" mintanim",t+" mintam"],h:["eka horan","ek hor"],hh:[t+" horanim",t+" hor"],d:["eka disan","ek dis"],dd:[t+" disanim",t+" dis"],M:["eka mhoinean","ek mhoino"],MM:[t+" mhoineanim",t+" mhoine"],y:["eka vorsan","ek voros"],yy:[t+" vorsanim",t+" vorsam"]};return e?i[n][0]:i[n][1]}t.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(t,e){switch(e){case"D":return t+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return t}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(t,e){return 12===t&&(t=0),"rati"===e?t<4?t:t+12:"sokalli"===e?t:"donparam"===e?t>12?t:t+12:"sanje"===e?t+12:void 0},meridiem:function(t,e,n){return t<4?"rati":t<12?"sokalli":t<16?"donparam":t<20?"sanje":"rati"}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(t){return 0===t.indexOf("un")?"n"+t:"en "+t},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(t){var e=1===t?"d":t%10==2?"na":"mh";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");t.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(t,e){switch(e){default:case"M":case"Q":case"D":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",e[7],e[8],e[9]];function r(t,r,i,a){var o="";switch(i){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"ss":return a?"sekunnin":"sekuntia";case"m":return a?"minuutin":"minuutti";case"mm":o=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":o=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":o=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":o=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":o=a?"vuoden":"vuotta"}return o=function(t,r){return t<10?r?n[t]:e[t]:t}(t,a)+" "+o}t.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};t.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(t){return/بعد از ظهر/.test(t)},meridiem:function(t,e,n){return t<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(t){return t.replace(/[۰-۹]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["ühe minuti","üks minut"],mm:[t+" minuti",t+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[t+" tunni",t+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[t+" kuu",t+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[t+" aasta",t+" aastat"]};return e?i[n][2]?i[n][2]:i[n][1]:r?i[n][0]:i[n][1]}t.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:e,ss:e,m:e,mm:e,h:e,hh:e,d:e,dd:"%d päeva",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");t.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,r){return t?/-MMM-/.test(r)?n[t.month()]:e[t.month()]:e},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(t){return"p"===t.charAt(0).toLowerCase()},meridiem:function(t,e,n){return t>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few 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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(t){var e=t%10,n=1==~~(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return t?"string"==typeof e&&/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(t){return"μ"===(t+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n,r=this._calendarEl[t],i=e&&e.hours();return((n=r)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(r=r.apply(e)),r.replace("{}",i%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];t.defineLocale("dv",{months:e,monthsShort:e,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(t){return"މފ"===t},meridiem:function(t,e,n){return t<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(t){var e=t,n="";return e>20?n=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(n=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(t){var e=/сехет$/i.exec(t)?"рен":/ҫул$/i.exec(t)?"тан":"ран";return t+e},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function r(t){return t>1&&t<5&&1!=~~(t/10)}function i(t,e,n,i){var a=t+" ";switch(n){case"s":return e||i?"pár sekund":"pár sekundami";case"ss":return e||i?a+(r(t)?"sekundy":"sekund"):a+"sekundami";case"m":return e?"minuta":i?"minutu":"minutou";case"mm":return e||i?a+(r(t)?"minuty":"minut"):a+"minutami";case"h":return e?"hodina":i?"hodinu":"hodinou";case"hh":return e||i?a+(r(t)?"hodiny":"hodin"):a+"hodinami";case"d":return e||i?"den":"dnem";case"dd":return e||i?a+(r(t)?"dny":"dní"):a+"dny";case"M":return e||i?"měsíc":"měsícem";case"MM":return e||i?a+(r(t)?"měsíce":"měsíců"):a+"měsíci";case"y":return e||i?"rok":"rokem";case"yy":return e||i?a+(r(t)?"roky":"let"):a+"lety"}}t.defineLocale("cs",{months:e,monthsShort:n,monthsParse:function(t,e){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+t[n]+"$|^"+e[n]+"$","i");return r}(e,n),shortMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(n),longMonthsParse:function(t){var e,n=[];for(e=0;e<12;e++)n[e]=new RegExp("^"+t[e]+"$","i");return n}(e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(t,e){var n=1===t?"r":2===t?"n":3===t?"r":4===t?"t":"è";return"w"!==e&&"W"!==e||(n="a"),t+n},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r=t+" ";switch(n){case"ss":return r+=1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi";case"m":return e?"jedna minuta":"jedne minute";case"mm":return r+=1===t?"minuta":2===t||3===t||4===t?"minute":"minuta";case"h":return e?"jedan sat":"jednog sata";case"hh":return r+=1===t?"sat":2===t||3===t||4===t?"sata":"sati";case"dd":return r+=1===t?"dan":"dana";case"MM":return r+=1===t?"mjesec":2===t||3===t||4===t?"mjeseca":"mjeseci";case"yy":return r+=1===t?"godina":2===t||3===t||4===t?"godine":"godina"}}t.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:e,m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){return t+" "+function(t,e){return 2===e?function(t){var e={m:"v",b:"v",d:"z"};return void 0===e[t.charAt(0)]?t:e[t.charAt(0)]+t.substring(1)}(t):t}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],t)}t.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:e,h:"un eur",hh:"%d eur",d:"un devezh",dd:e,M:"ur miz",MM:e,y:"ur bloaz",yy:function(t){switch(function t(e){return e>9?t(e%10):e}(t)){case 1:case 3:case 4:case 5:case 9:return t+" bloaz";default:return t+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(t){var e=1===t?"añ":"vet";return t+e},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};t.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(t){return t.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(t,e){return 12===t&&(t=0),"མཚན་མོ"===e&&t>=4||"ཉིན་གུང"===e&&t<5||"དགོང་དག"===e?t+12:t},meridiem:function(t,e,n){return t<4?"མཚན་མོ":t<10?"ཞོགས་ཀས":t<17?"ཉིན་གུང":t<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};t.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(t){return t.replace(/[১২৩৪৫৬৭৮৯০]/g,function(t){return n[t]})},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(t,e){return 12===t&&(t=0),"রাত"===e&&t>=4||"দুপুর"===e&&t<5||"বিকাল"===e?t+12:t},meridiem:function(t,e,n){return t<4?"রাত":t<10?"সকাল":t<17?"দুপুর":t<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){var e=t%10,n=t%100;return 0===t?t+"-ев":0===n?t+"-ен":n>10&&n<20?t+"-ти":1===e?t+"-ви":2===e?t+"-ри":7===e||8===e?t+"-ми":t+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";function e(t,e,n){var r,i,a={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:e?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===n?e?"хвіліна":"хвіліну":"h"===n?e?"гадзіна":"гадзіну":t+" "+(r=+t,i=a[n].split("_"),r%10==1&&r%100!=11?i[0]:r%10>=2&&r%10<=4&&(r%100<10||r%100>=20)?i[1]:i[2])}t.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:e,mm:e,h:e,hh:e,d:"дзень",dd:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(t){return/^(дня|вечара)$/.test(t)},meridiem:function(t,e,n){return t<4?"ночы":t<12?"раніцы":t<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t%10!=2&&t%10!=3||t%100==12||t%100==13?t+"-ы":t+"-і";case"D":return t+"-га";default:return t}},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};t.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(t){return/^(gündüz|axşam)$/.test(t)},meridiem:function(t,e,n){return t<4?"gecə":t<12?"səhər":t<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(t){if(0===t)return t+"-ıncı";var n=t%10,r=t%100-n,i=t>=100?100:null;return t+(e[n]||e[r]||e[i])},week:{dow:1,doy:7}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};t.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(t){return function(e,i,a,o){var s=n(e),u=r[t][n(e)];return 2===s&&(u=u[i?0:1]),u.replace(/%d/i,e)}},a=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),ss:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(t){return t.replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n(0))},function(t,e,n){!function(t){"use strict";var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},i={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(t){return function(e,n,a,o){var s=r(e),u=i[t][r(e)];return 2===s&&(u=u[n?0:1]),u.replace(/%d/i,e)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];t.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(t){return"م"===t},meridiem:function(t,e,n){return t<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(t){return n[t]}).replace(/،/g,",")},postformat:function(t){return t.replace(/\d/g,function(t){return e[t]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(t,e,n){!function(t){"use strict";t.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(t){return/^nm$/i.test(t)},meridiem:function(t,e,n){return t<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#eee;stroke:#999;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff}.cluster rect{fill:#eaf2fb!important;stroke:#26a!important;stroke-width:1px!important}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText,.loopText{fill:#fff;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#80b3e6}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#e6e6e6;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#1a4d80}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#1a4d80}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333!important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333!important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333!important}.titleText{text-anchor:middle;font-size:18px;fill:#333}g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:#999;stroke:#999;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#eee;stroke:#999;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#999;stroke:#999;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(152);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#cde498;stroke:#13540c;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#cdffb2!important;stroke:#6eaa49!important;stroke-width:1px!important}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#13540c;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:.5}.classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(154);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#ececff;stroke:#9370db;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#ffffde!important;stroke:#aa3!important;stroke-width:1px!important}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#ccf;fill:#ececff}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ececff}.labelText,.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:rgba(102,102,255,.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000!important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000!important}.titleText{text-anchor:middle;font-size:18px;fill:#000}g.classGroup text{fill:#9370db;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#ececff;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#ececff;opacity:.5}.classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#ececff;stroke:#9370db;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(156);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){(t.exports=n(9)(!1)).push([t.i,'.label{font-family:trebuchet ms,verdana,arial;color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#bdd5ea;stroke:purple;stroke-width:1px}.node.clickable{cursor:pointer}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8}.cluster rect{fill:#6d6d65!important;stroke:hsla(0,0%,100%,.25)!important;stroke-width:1px!important}.cluster text{fill:#f9fffe}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-size:12px;background:#6d6d65;border:1px solid hsla(0,0%,100%,.25);border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#81b1db;fill:#bdd5ea}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#d3d3d3}#arrowhead{fill:#d3d3d3}#crosshead path{fill:#d3d3d3!important;stroke:#d3d3d3!important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81b1db;fill:#bdd5ea}.labelText,.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#81b1db}.note{stroke:hsla(0,0%,100%,.25);fill:#fff5ad}.noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:14px}.section{stroke:none;opacity:.2}.section0{fill:hsla(0,0%,100%,.3)}.section2{fill:#eae8b9}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#f9fffe}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#d3d3d3;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#db5757;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323d47}.task0,.task1,.task2,.task3{fill:#bdd5ea;stroke:hsla(0,0%,100%,.5)}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81b1db;stroke:hsla(0,0%,100%,.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323d47!important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323d47!important}.crit0,.crit1,.crit2,.crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#e83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#323d47!important}.titleText{text-anchor:middle;font-size:18px;fill:#323d47}g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#bdd5ea;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}#compositionEnd,#compositionStart{fill:purple;stroke:purple;stroke-width:1}#aggregationEnd,#aggregationStart{fill:#bdd5ea;stroke:purple;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:purple;stroke:purple;stroke-width:1}.branch-label,.commit-id,.commit-msg{fill:#d3d3d3;color:#d3d3d3}',""])},function(t,e,n){var r=n(158);t.exports="string"==typeof r?r:r.toString()},function(t,e,n){var r={"./dark/index.scss":159,"./default/index.scss":157,"./forest/index.scss":155,"./neutral/index.scss":153};function i(t){var e=a(t);return n(e)}function a(t){var e=r[t];if(!(e+1)){var n=new Error('Cannot find module "'+t+'".');throw n.code="MODULE_NOT_FOUND",n}return e}i.keys=function(){return Object.keys(r)},i.resolve=a,t.exports=i,i.id=160},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=void 0;var r=c(n(8)),i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=c(n(14)),o=c(n(13)),s=n(2),u=n(10);function c(t){return t&&t.__esModule?t:{default:t}}var l={},d=void 0,f={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}},h={},_=e.setConf=function(t){h=t};function p(t,e,n,r){var a=(0,u.interpolateToCurve)(r,i.curveBasis),o=f.branchColors[n%f.branchColors.length],s=i.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).curve(a);t.append("svg:path").attr("d",s(e)).style("stroke",o).style("stroke-width",f.lineStrokeWidth).style("fill","none")}function m(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 y(t,e,n,r,i){s.logger.debug("svgDrawLineForCommits: ",e,n);var a=m(t.select("#node-"+e+" circle")),o=m(t.select("#node-"+n+" circle"));switch(r){case"LR":if(a.left-o.left>f.nodeSpacing){var u={x:a.left-f.nodeSpacing,y:o.top+o.height/2};p(t,[u,{x:o.left+o.width,y:o.top+o.height/2}],i,"linear"),p(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:u.y},u],i)}else p(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-f.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-f.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>f.nodeSpacing){var c={x:o.left+o.width/2,y:a.top+a.height+f.nodeSpacing};p(t,[c,{x:o.left+o.width/2,y:o.top}],i,"linear"),p(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+a.height+f.nodeSpacing/2},{x:o.left+o.width/2,y:c.y-f.nodeSpacing/2},c],i)}else p(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+f.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-f.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],i)}}function g(t,e){return t.select(e).node().cloneNode(!0)}var v=e.draw=function(t,e,n){try{var u=o.default.parser;u.yy=a.default,s.logger.debug("in gitgraph renderer",t,e,n),u.parse(t+"\n"),f=r.default.extend(f,h,a.default.getOptions()),s.logger.debug("effective options",f);var c=a.default.getDirection();l=a.default.getCommits();var _=a.default.getBranchesAsObjArray();"BT"===c&&(f.nodeLabel.x=_.length*f.branchOffset,f.nodeLabel.width="100%",f.nodeLabel.y=-2*f.nodeRadius);var p=i.select('[id="'+e+'"]');!function(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",f.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",f.nodeLabel.width).attr("height",f.nodeLabel.height).attr("x",f.nodeLabel.x).attr("y",f.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("")}(p),d=1,r.default.each(_,function(t){!function t(e,n,i,a){var o=void 0,u=Object.keys(l).length;if(r.default.isString(n))do{if(o=l[n],s.logger.debug("in renderCommitHistory",o.id,o.seq),e.select("#node-"+n).size()>0)return;e.append(function(){return g(e,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+o.id}).attr("transform",function(){switch(a){case"LR":return"translate("+(o.seq*f.nodeSpacing+f.leftMargin)+", "+d*f.branchOffset+")";case"BT":return"translate("+(d*f.branchOffset+f.leftMargin)+", "+(u-o.seq)*f.nodeSpacing+")"}}).attr("fill",f.nodeFillColor).attr("stroke",f.nodeStrokeColor).attr("stroke-width",f.nodeStrokeWidth);var c=r.default.find(i,["commit",o]);c&&(s.logger.debug("found branch ",c.name),e.select("#node-"+o.id+" p").append("xhtml:span").attr("class","branch-label").text(c.name+", ")),e.select("#node-"+o.id+" p").append("xhtml:span").attr("class","commit-id").text(o.id),""!==o.message&&"BT"===a&&e.select("#node-"+o.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+o.message),n=o.parent}while(n&&l[n]);r.default.isArray(n)&&(s.logger.debug("found merge commmit",n),t(e,n[0],i,a),d++,t(e,n[1],i,a),d--)}(p,t.commit.id,_,c),function t(e,n,i,a){for(a=a||0;n.seq>0&&!n.lineDrawn;)r.default.isString(n.parent)?(y(e,n.id,n.parent,i,a),n.lineDrawn=!0,n=l[n.parent]):r.default.isArray(n.parent)&&(y(e,n.id,n.parent[0],i,a),y(e,n.id,n.parent[1],i,a+1),t(e,l[n.parent[1]],i,a+1),n.lineDrawn=!0,n=l[n.parent[0]])}(p,t.commit,c),d++}),p.attr("height",function(){return"BT"===c?Object.keys(l).length*f.nodeSpacing:(_.length+1)*f.branchOffset})}catch(t){s.logger.error("Error while rendering gitgraph"),s.logger.error(t.message)}};e.default={setConf:_,draw:v}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=void 0;var r=c(n(21)),i=c(n(12)),a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),o=c(n(16)),s=n(2),u=n(15);function c(t){return t&&t.__esModule?t:{default:t}}u.parser.yy=o.default;var l={},d=0,f={dividerMargin:10,padding:5,textHeight:10},h=function(t){for(var e=Object.keys(l),n=0;n<e.length;n++)if(l[e[n]].label===t)return e[n]},_=0,p=function(t,e){s.logger.info("Rendering class "+e);var n=function(t,e,n){var r=t.append("tspan").attr("x",f.padding).text(e);n||r.attr("dy",f.textHeight)},r="classId"+d,i={id:r,label:e.id,width:0,height:0},a=t.append("g").attr("id",r).attr("class","classGroup"),o=a.append("text").attr("x",f.padding).attr("y",f.textHeight+f.padding).text(e.id).node().getBBox().height,u=a.append("line").attr("x1",0).attr("y1",f.padding+o+f.dividerMargin/2).attr("y2",f.padding+o+f.dividerMargin/2),c=a.append("text").attr("x",f.padding).attr("y",o+f.dividerMargin+f.textHeight).attr("fill","white").attr("class","classText"),h=!0;e.members.forEach(function(t){n(c,t,h),h=!1});var _=c.node().getBBox(),p=a.append("line").attr("x1",0).attr("y1",f.padding+o+f.dividerMargin+_.height).attr("y2",f.padding+o+f.dividerMargin+_.height),m=a.append("text").attr("x",f.padding).attr("y",o+2*f.dividerMargin+_.height+f.textHeight).attr("fill","white").attr("class","classText");h=!0,e.methods.forEach(function(t){n(m,t,h),h=!1});var y=a.node().getBBox();return a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*f.padding).attr("height",y.height+f.padding+.5*f.dividerMargin),u.attr("x2",y.width+2*f.padding),p.attr("x2",y.width+2*f.padding),i.width=y.width+2*f.padding,i.height=y.height+f.padding+.5*f.dividerMargin,l[r]=i,d++,i},m=e.setConf=function(t){Object.keys(t).forEach(function(e){f[e]=t[e]})},y=e.draw=function(t,e){u.parser.yy.clear(),u.parser.parse(t),s.logger.info("Rendering diagram "+t);var n,c=a.select('[id="'+e+'"]');(n=c).append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),n.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),n.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),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 18,7 L9,13 L14,7 L9,1 Z");var l=new i.default.Graph({multigraph:!0});l.setGraph({isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}});for(var d=o.default.getClasses(),m=Object.keys(d),y=0;y<m.length;y++){var g=d[m[y]],v=p(c,g);l.setNode(v.id,v),s.logger.info("Org height: "+v.height)}o.default.getRelations().forEach(function(t){s.logger.info("tjoho"+h(t.id1)+h(t.id2)+JSON.stringify(t)),l.setEdge(h(t.id1),h(t.id2),{relation:t})}),r.default.layout(l),l.nodes().forEach(function(t){void 0!==t&&(s.logger.debug("Node "+t+": "+JSON.stringify(l.node(t))),a.select("#"+t).attr("transform","translate("+(l.node(t).x-l.node(t).width/2)+","+(l.node(t).y-l.node(t).height/2)+" )"))}),l.edges().forEach(function(t){s.logger.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(l.edge(t))),function(t,e,n){var r=function(t){switch(t){case o.default.relationType.AGGREGATION:return"aggregation";case o.default.relationType.EXTENSION:return"extension";case o.default.relationType.COMPOSITION:return"composition";case o.default.relationType.DEPENDENCY:return"dependency"}},i=e.points,s=a.line().x(function(t){return t.x}).y(function(t){return t.y}).curve(a.curveBasis),u=t.append("path").attr("d",s(i)).attr("id","edge"+_).attr("class","relation"),c="";f.arrowMarkerAbsolute&&(c=(c=(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),"none"!==n.relation.type1&&u.attr("marker-start","url("+c+"#"+r(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&u.attr("marker-end","url("+c+"#"+r(n.relation.type2)+"End)");var l=void 0,d=void 0,h=e.points.length;if(h%2!=0){var p=e.points[Math.floor(h/2)],m=e.points[Math.ceil(h/2)];l=(p.x+m.x)/2,d=(p.y+m.y)/2}else{var y=e.points[Math.floor(h/2)];l=y.x,d=y.y}if(void 0!==n.title){var g=t.append("g").attr("class","classLabel"),v=g.append("text").attr("class","label").attr("x",l).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=v;var M=v.node().getBBox();g.insert("rect",":first-child").attr("class","box").attr("x",M.x-f.padding/2).attr("y",M.y-f.padding/2).attr("width",M.width+f.padding).attr("height",M.height+f.padding)}_++}(c,l.edge(t),l.edge(t).relation)}),c.attr("height","100%"),c.attr("width","100%"),c.attr("viewBox","0 0 "+(l.graph().width+20)+" "+(l.graph().height+20))};e.default={setConf:m,draw:y}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=void 0;var r,i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=n(18),o=n(17),s=(r=o)&&r.__esModule?r:{default:r};a.parser.yy=s.default;var u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'},c=e.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})},l=void 0,d=e.draw=function(t,e){a.parser.yy.clear(),a.parser.parse(t);var n=document.getElementById(e);void 0===(l=n.parentElement.offsetWidth)&&(l=1200),void 0!==u.useWidth&&(l=u.useWidth);var r=a.parser.yy.getTasks(),o=r.length*(u.barHeight+u.barGap)+2*u.topPadding;n.setAttribute("height","100%"),n.setAttribute("viewBox","0 0 "+l+" "+o);for(var s=i.select('[id="'+e+'"]'),c=i.scaleTime().domain([i.min(r,function(t){return t.startTime}),i.max(r,function(t){return t.endTime})]).rangeRound([0,l-u.leftPadding-u.rightPadding]),d=[],f=0;f<r.length;f++)d.push(r[f].type);var h=d;d=function(t){for(var e={},n=[],r=0,i=t.length;r<i;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(d),function(t,e,n){var r=u.barHeight,o=r+u.barGap,l=u.topPadding,f=u.leftPadding;i.scaleLinear().domain([0,d.length]).range(["#00B9FA","#F95002"]).interpolate(i.interpolateHcl);_=f,p=l,m=n,y=i.axisBottom(c).tickSize(-m+p+u.gridLineStartPadding).tickFormat(i.timeFormat(a.parser.yy.getAxisFormat()||u.axisFormat||"%Y-%m-%d")),s.append("g").attr("class","grid").attr("transform","translate("+_+", "+(m-50)+")").call(y).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),function(t,e,n,r,i,a,o,l){s.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,r){return r*e+n-2}).attr("width",function(){return o-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<d.length;e++)if(t.type===d[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var f=s.append("g").selectAll("rect").data(t).enter();f.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return c(t.startTime)+r}).attr("y",function(t,r){return r*e+n}).attr("width",function(t){return c(t.endTime)-c(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",n=0,r=0;r<d.length;r++)t.type===d[r]&&(n=r%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+n:e+" active"+n:t.done?t.crit?e+" doneCrit"+n:e+" done"+n:t.crit?e+" crit"+n:e+" task"+n}),f.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=c(t.startTime),n=c(t.endTime),i=this.getBBox().width;return i>n-e?n+i+1.5*u.leftPadding>o?e+r-5:n+r+5:(n-e)/2+e+r}).attr("y",function(t,r){return r*e+u.barHeight/2+(u.fontSize/2-2)+n}).attr("text-height",i).attr("class",function(t){for(var e=c(t.startTime),n=c(t.endTime),r=this.getBBox().width,i=0,a=0;a<d.length;a++)t.type===d[a]&&(i=a%u.numberSectionStyles);var s="";return t.active&&(s=t.crit?"activeCritText"+i:"activeText"+i),t.done?s=t.crit?s+" doneCritText"+i:s+" doneText"+i:t.crit&&(s=s+" critText"+i),r>n-e?n+r+1.5*u.leftPadding>o?"taskTextOutsideLeft taskTextOutside"+i+" "+s:"taskTextOutsideRight taskTextOutside"+i+" "+s:"taskText taskText"+i+" "+s})}(t,o,l,f,r,0,e),function(t,e){for(var n=[],r=0,i=0;i<d.length;i++)n[i]=[d[i],(a=d[i],o=h,function(t){var e=t.length,n={};for(;e;)n[t[--e]]=(n[t[e]]||0)+1;return n}(o)[a]||0)];var a,o;s.append("g").selectAll("text").data(n).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,a){if(!(a>0))return i[1]*t/2+e;for(var o=0;o<a;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e}).attr("class",function(t){for(var e=0;e<d.length;e++)if(t[0]===d[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}(o,l),function(t,e,n,r){var i=s.append("g").attr("class","today"),a=new Date;i.append("line").attr("x1",c(a)+t).attr("x2",c(a)+t).attr("y1",u.titleTopMargin).attr("y2",r-u.titleTopMargin).attr("class","today")}(f,0,0,n);var _,p,m,y}(r,l,o),void 0!==u.useWidth&&n.setAttribute("width",l),s.append("text").text(a.parser.yy.getTitle()).attr("x",l/2).attr("y",u.titleTopMargin).attr("class","titleText")};e.default={setConf:c,draw:d}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=e.drawRect=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},i=e.drawText=function(t,e,n){var r=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(r),i},a=e.drawLabel=function(t,e){var n,r,a,o,s,u=t.append("polygon");u.attr("points",(n=e.x,r=e.y,n+","+r+" "+(n+(a=50))+","+r+" "+(n+a)+","+(r+(o=20)-(s=7))+" "+(n+a-1.2*s)+","+(r+o)+" "+n+","+(r+o))),u.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,i(t,e)},o=-1,s=e.drawActor=function(t,e,n,i,a){var s=e+a.width/2,u=t.append("g");0===n&&(o++,u.append("line").attr("id","actor"+o).attr("x1",s).attr("y1",5).attr("x2",s).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var c=_();c.x=e,c.y=n,c.fill="#eaeaea",c.width=a.width,c.height=a.height,c.class="actor",c.rx=3,c.ry=3,r(u,c),p(a)(i,u,c.x,c.y,c.width,c.height,{class:"actor"})},u=e.anchorElement=function(t){return t.append("g")},c=e.drawActivation=function(t,e,n){var i=_(),a=e.anchored;i.x=e.startx,i.y=e.starty,i.fill="#f4f4f4",i.width=e.stopx-e.startx,i.height=n-e.starty,r(a,i)},l=e.drawLoop=function(t,e,n,r){var o=t.append("g"),s=function(t,e,n,r){return o.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")};s(e.startx,e.starty,e.stopx,e.starty),s(e.stopx,e.starty,e.stopx,e.stopy),s(e.startx,e.stopy,e.stopx,e.stopy),s(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){s(e.startx,t,e.stopx,t).style("stroke-dasharray","3, 3")});var u=h();u.text=n,u.x=e.startx,u.y=e.starty,u.labelMargin=15,u.class="labelText",a(o,u),(u=h()).text="[ "+e.title+" ]",u.x=e.startx+(e.stopx-e.startx)/2,u.y=e.starty+1.5*r.boxMargin,u.anchor="middle",u.class="loopText",i(o,u),void 0!==e.sectionTitles&&e.sectionTitles.forEach(function(t,n){""!==t&&(u.text="[ "+t+" ]",u.y=e.sections[n]+1.5*r.boxMargin,i(o,u))})},d=e.insertArrowHead=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")},f=e.insertArrowCrossHead=function(t){var e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},h=e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},_=e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},p=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){var u=e.append("text").attr("x",n+a/2).attr("y",i).style("text-anchor","middle");u.append("tspan").attr("x",n+a/2).attr("dy","0").text(t),u.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(u,s)}function n(t,n,i,a,o,s,u){var c=n.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",s).append("div").style("display","table").style("height","100%").style("width","100%");l.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,a,o,s,u),r(l,u)}function r(t,e){for(var n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}();e.default={drawRect:r,drawText:i,drawLabel:a,drawActor:s,anchorElement:u,drawActivation:c,drawLoop:l,insertArrowHead:d,insertArrowCrossHead:f,getTextObj:h,getNoteRect:_}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.setConf=e.drawActors=e.bounds=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),i=u(n(164)),a=n(2),o=n(20),s=u(n(19));function u(t){return t&&t.__esModule?t:{default:t}}o.parser.yy=s.default;var c={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"},l=e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],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=this,a=0;function o(o){return function(s){a++;var u=i.sequenceItems.length-a+1;i.updateVal(s,"starty",e-u*c.boxMargin,Math.min),i.updateVal(s,"stopy",r+u*c.boxMargin,Math.max),i.updateVal(l.data,"startx",t-u*c.boxMargin,Math.min),i.updateVal(l.data,"stopx",n+u*c.boxMargin,Math.max),"activation"!==o&&(i.updateVal(s,"startx",t-u*c.boxMargin,Math.min),i.updateVal(s,"stopx",n+u*c.boxMargin,Math.max),i.updateVal(l.data,"starty",e-u*c.boxMargin,Math.min),i.updateVal(l.data,"stopy",r+u*c.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},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(l.data,"startx",i,Math.min),this.updateVal(l.data,"starty",o,Math.min),this.updateVal(l.data,"stopx",a,Math.max),this.updateVal(l.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},newActivation:function(t,e){var n=o.parser.yy.getActors()[t.from.actor],r=_(t.from.actor).length,a=n.x+c.width/2+(r-1)*c.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+c.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.default.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},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(l.getVerticalPos()),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 this.data}},d=function(t,e,n,r,a){var o=i.default.getNoteRect();o.x=e,o.y=n,o.width=a||c.width,o.class="note";var s=t.append("g"),u=i.default.drawRect(s,o),d=function(t,e,n,r,a){var o=0,s=t.split(/<br\/?>/gi),u=!0,l=!1,d=void 0;try{for(var f,h=s[Symbol.iterator]();!(u=(f=h.next()).done);u=!0){var _=f.value,p=i.default.getTextObj();p.x=e,p.y=n+o,p.textMargin=c.noteMargin,p.dy="1em",p.text=_,p.class="noteText";var m=i.default.drawText(r,p,a);o+=(m._groups||m)[0][0].getBBox().height}}catch(t){l=!0,d=t}finally{try{!u&&h.return&&h.return()}finally{if(l)throw d}}return o}(r.message,e-4,n+24,s,o.width-c.noteMargin);l.insert(e,n,e+o.width,n+2*c.noteMargin+d),u.attr("height",d+2*c.noteMargin),l.bumpVerticalPos(d+2*c.noteMargin)},f=e.drawActors=function(t,e,n,r){for(var a=0;a<n.length;a++){var o=n[a];e[o].x=a*c.actorMargin+a*c.width,e[o].y=r,e[o].width=c.diagramMarginX,e[o].height=c.diagramMarginY,i.default.drawActor(t,e[o].x,r,e[o].description,c),l.insert(e[o].x,r,e[o].x+c.width,c.height)}l.bumpVerticalPos(c.height)},h=e.setConf=function(t){Object.keys(t).forEach(function(e){c[e]=t[e]})},_=function(t){return l.activations.filter(function(e){return e.actor===t})},p=function(t){var e=o.parser.yy.getActors(),n=_(t);return[n.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+c.width/2),n.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+c.width/2)]},m=e.draw=function(t,e){o.parser.yy.clear(),o.parser.parse(t+"\n"),l.init();var n=r.select('[id="'+e+'"]'),s=void 0,u=void 0,h=void 0,_=o.parser.yy.getActors(),m=o.parser.yy.getActorKeys(),y=o.parser.yy.getMessages(),g=o.parser.yy.getTitle();f(n,_,m,0),i.default.insertArrowHead(n),i.default.insertArrowCrossHead(n),y.forEach(function(t){var e=void 0;switch(t.type){case o.parser.yy.LINETYPE.NOTE:l.bumpVerticalPos(c.boxMargin),s=_[t.from].x,u=_[t.to].x,t.placement===o.parser.yy.PLACEMENT.RIGHTOF?d(n,s+(c.width+c.actorMargin)/2,l.getVerticalPos(),t):t.placement===o.parser.yy.PLACEMENT.LEFTOF?d(n,s-(c.width+c.actorMargin)/2,l.getVerticalPos(),t):t.to===t.from?d(n,s,l.getVerticalPos(),t):(h=Math.abs(s-u)+c.actorMargin,d(n,(s+u+c.width-h)/2,l.getVerticalPos(),t,h));break;case o.parser.yy.LINETYPE.ACTIVE_START:l.newActivation(t,n);break;case o.parser.yy.LINETYPE.ACTIVE_END:!function(t,e){var r=l.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),i.default.drawActivation(n,r,e,c),l.insert(r.startx,e-10,r.stopx,e)}(t,l.getVerticalPos());break;case o.parser.yy.LINETYPE.LOOP_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.LOOP_END:e=l.endLoop(),i.default.drawLoop(n,e,"loop",c),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.OPT_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.OPT_END:e=l.endLoop(),i.default.drawLoop(n,e,"opt",c),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.ALT_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.ALT_ELSE:l.bumpVerticalPos(c.boxMargin),e=l.addSectionToLoop(t.message),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.ALT_END:e=l.endLoop(),i.default.drawLoop(n,e,"alt",c),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.PAR_START:l.bumpVerticalPos(c.boxMargin),l.newLoop(t.message),l.bumpVerticalPos(c.boxMargin+c.boxTextMargin);break;case o.parser.yy.LINETYPE.PAR_AND:l.bumpVerticalPos(c.boxMargin),e=l.addSectionToLoop(t.message),l.bumpVerticalPos(c.boxMargin);break;case o.parser.yy.LINETYPE.PAR_END:e=l.endLoop(),i.default.drawLoop(n,e,"par",c),l.bumpVerticalPos(c.boxMargin);break;default:try{l.bumpVerticalPos(c.messageMargin);var r=p(t.from),f=p(t.to),m=r[0]<=f[0]?1:0,y=r[0]<f[0]?0:1;s=r[m],u=f[y];var g=l.getVerticalPos();!function(t,e,n,r,i){var a=t.append("g"),s=e+(n-e)/2,u=a.append("text").attr("x",s).attr("y",r-7).style("text-anchor","middle").attr("class","messageText").text(i.message),d=(u._groups||u)[0][0].getBBox().width,f=void 0;if(e===n){f=a.append("path").attr("d","M "+e+","+r+" C "+(e+60)+","+(r-10)+" "+(e+60)+","+(r+30)+" "+e+","+(r+20)),l.bumpVerticalPos(30);var h=Math.max(d/2,100);l.insert(e-h,l.getVerticalPos()-10,n+h,l.getVerticalPos())}else(f=a.append("line")).attr("x1",e),f.attr("y1",r),f.attr("x2",n),f.attr("y2",r),l.insert(e,l.getVerticalPos()-10,n,l.getVerticalPos());i.type===o.parser.yy.LINETYPE.DOTTED||i.type===o.parser.yy.LINETYPE.DOTTED_CROSS||i.type===o.parser.yy.LINETYPE.DOTTED_OPEN?(f.style("stroke-dasharray","3, 3"),f.attr("class","messageLine1")):f.attr("class","messageLine0");var _="";c.arrowMarkerAbsolute&&(_=(_=(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),f.attr("stroke-width",2),f.attr("stroke","black"),f.style("fill","none"),i.type!==o.parser.yy.LINETYPE.SOLID&&i.type!==o.parser.yy.LINETYPE.DOTTED||f.attr("marker-end","url("+_+"#arrowhead)"),i.type!==o.parser.yy.LINETYPE.SOLID_CROSS&&i.type!==o.parser.yy.LINETYPE.DOTTED_CROSS||f.attr("marker-end","url("+_+"#crosshead)")}(n,s,u,g,t);var v=r.concat(f);l.insert(Math.min.apply(null,v),g,Math.max.apply(null,v),g)}catch(t){a.logger.error("error while drawing message",t)}}}),c.mirrorActors&&(l.bumpVerticalPos(2*c.boxMargin),f(n,_,m,l.getVerticalPos()));var v=l.getBounds();a.logger.debug("For line height fix Querying: #"+e+" .actor-line"),r.selectAll("#"+e+" .actor-line").attr("y2",v.stopy);var M=v.stopy-v.starty+2*c.diagramMarginY;c.mirrorActors&&(M=M-c.boxMargin+c.bottomMarginAdj);var b=v.stopx-v.startx+2*c.diagramMarginX;g&&n.append("text").text(g).attr("x",(v.stopx-v.startx)/2-2*c.diagramMarginX).attr("y",-25),c.useMaxWidth?(n.attr("height","100%"),n.attr("width","100%"),n.attr("style","max-width:"+b+"px;")):(n.attr("height",M),n.attr("width",b));var k=g?40:0;n.attr("viewBox",v.startx-c.diagramMarginX+" -"+(c.diagramMarginY+k)+" "+b+" "+(M+k))};e.default={bounds:l,drawActors:f,setConf:h,draw:m}},function(t,e,n){t.exports=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,{configurable:!1,enumerable:!0,get:r})},n.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},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.w={},n(n.s=25)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(2))&&r.__esModule?r:{default:r},a=/:/g;function o(t){return t?String(t).replace(a,"\\:"):""}e.default={isSubgraph:function(t,e){return!!t.children(e).length},edgeToId:function(t){return o(t.v)+":"+o(t.w)+":"+o(t.name)},applyStyle:function(t,e){e&&t.attr("style",e)},applyClass:function(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))},applyTransition:function(t,e){var n=e.graph();if(i.default.isPlainObject(n)){var r=n.transition;if(i.default.isFunction(r))return r(t)}return t}}},function(t,e){t.exports=n(3)},function(t,e){t.exports=n(8)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(16)),i=o(n(15)),a=o(n(14));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e,n){var o=e.label,s=t.append("g");"svg"===e.labelType?(0,a.default)(s,e):"string"!=typeof o||"html"===e.labelType?(0,i.default)(s,e):(0,r.default)(s,e);var u=s.node().getBBox(),c=void 0;switch(n){case"top":c=-e.height/2;break;case"bottom":c=e.height/2-u.height;break;default:c=-u.height/2}return s.attr("transform","translate("+-u.width/2+","+c+")"),s}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,s=a-r.y,u=Math.sqrt(e*e*s*s+n*n*o*o),c=Math.abs(e*n*o/u);r.x<i&&(c=-c);var l=Math.abs(e*n*s/u);return r.y<a&&(l=-l),{x:i+c,y:a+l}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var n=t.x,r=t.y,i=e.x-n,a=e.y-r,o=t.width/2,s=t.height/2,u=void 0,c=void 0;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),u=0===a?0:s*i/a,c=s):(i<0&&(o=-o),u=o,c=0===i?0:o*a/i),{x:n+u,y:r+c}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(23))&&r.__esModule?r:{default:r};e.default=function(t,e,n){var r=t.x,a=t.y,o=[],s=Number.POSITIVE_INFINITY,u=Number.POSITIVE_INFINITY;e.forEach(function(t){s=Math.min(s,t.x),u=Math.min(u,t.y)});for(var c=r-t.width/2-s,l=a-t.height/2-u,d=0;d<e.length;d+=1){var f=e[d],h=e[d<e.length-1?d+1:0],_=(0,i.default)(t,n,{x:c+f.x,y:l+f.y},{x:c+h.x,y:l+h.y});_&&o.push(_)}return o.length?(o.length>1&&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,u=Math.sqrt(o*o+s*s);return a<u?-1:a===u?0:1}),o[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(4))&&r.__esModule?r:{default:r};e.default=function(t,e,n){return(0,i.default)(t,e,e,n)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){return t.intersect(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};function a(t,e,n,r){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");i.default.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])}e.default={normal:a,vee:function(t,e,n,r){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");i.default.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])},undirected:function(t,e,n,r){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");i.default.applyStyle(a,n[r+"Style"]),n[r+"Class"]&&a.attr("class",n[r+"Class"])},default:a}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=s(n(5)),i=s(n(4)),a=s(n(7)),o=s(n(6));function s(t){return t&&t.__esModule?t:{default:t}}e.default={rect:function(t,e,n){var i=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return(0,r.default)(n,t)},i},ellipse:function(t,e,n){var r=e.width/2,a=e.height/2,o=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",a);return n.intersect=function(t){return(0,i.default)(n,r,a,t)},o},circle:function(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return(0,a.default)(n,r,t)},i},diamond:function(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],s=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" "));return n.intersect=function(t){return(0,o.default)(n,a,t)},s}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=s(n(2)),a=s(n(8)),o=s(n(0));function s(t){return t&&t.__esModule?t:{default:t}}function u(t,e){var n=r.line().x(function(t){return t.x}).y(function(t){return t.y});return n.curve(t.curve),n(e)}e.default=function(t,e,n){var s=t.selectAll("g.edgePath").data(e.edges(),function(t){return o.default.edgeToId(t)}).classed("update",!0);return function(t,e){var n=s.enter().append("g").attr("class","edgePath").style("opacity",0);n.append("path").attr("class","path").attr("d",function(t){var n=e.edge(t),r=e.node(t.v).elem,a=i.default.range(n.points.length).map(function(){return e=(t=r).getBBox(),{x:(n=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2)).e,y:n.f};var t,e,n});return u(n,a)}),n.append("defs")}(0,e),function(t,e){var n=s.exit();o.default.applyTransition(n,e).style("opacity",0).remove(),o.default.applyTransition(n.select("path.path"),e).attr("d",function(t){var n=e.node(t.v);return n?u({},i.default.range(this.getTotalLength()).map(function(){return n})):r.select(this).attr("d")})}(0,e),s=t.selectAll("g.edgePath"),o.default.applyTransition(s,e).style("opacity",1),s.each(function(t){var n=r.select(this),i=e.edge(t);i.elem=this,i.id&&n.attr("id",i.id),o.default.applyClass(n,i.class,(n.classed("update")?"update ":"")+"edgePath")}),s.selectAll("path.path").each(function(t){var n=e.edge(t);n.arrowheadId=i.default.uniqueId("arrowhead");var s=r.select(this).attr("marker-end",function(){return"url(#"+n.arrowheadId+")"}).style("fill","none");o.default.applyTransition(s,e).attr("d",function(t){return function(t,e){var n=t.edge(e),r=t.node(e.v),i=t.node(e.w),o=n.points.slice(1,n.points.length-1);return o.unshift((0,a.default)(r,o[0])),o.push((0,a.default)(i,o[o.length-1])),u(n,o)}(e,t)}),o.default.applyStyle(s,n.style)}),s.selectAll("defs *").remove(),s.selectAll("defs").each(function(t){var i=e.edge(t);(0,n[i.arrowhead])(r.select(this),i.arrowheadId,i,"arrowhead")}),s}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=s(n(2)),a=s(n(3)),o=s(n(0));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){var n=t.selectAll("g.edgeLabel").data(e.edges(),function(t){return o.default.edgeToId(t)}).classed("update",!0);return n.selectAll("*").remove(),n.enter().append("g").classed("edgeLabel",!0).style("opacity",0),(n=t.selectAll("g.edgeLabel")).each(function(t){var n=e.edge(t),o=(0,a.default)(r.select(this),e.edge(t),0,0).classed("label",!0),s=o.node().getBBox();n.labelId&&o.attr("id",n.labelId),i.default.has(n,"width")||(n.width=s.width),i.default.has(n,"height")||(n.height=s.height)}),o.default.applyTransition(n.exit(),e).style("opacity",0).remove(),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=o(n(0)),a=o(n(3));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){var n=e.nodes().filter(function(t){return i.default.isSubgraph(e,t)}),o=t.selectAll("g.cluster").data(n,function(t){return t});return o.selectAll("*").remove(),o.enter().append("g").attr("class","cluster").attr("id",function(t){return e.node(t).id}).style("opacity",0),o=t.selectAll("g.cluster"),i.default.applyTransition(o,e).style("opacity",1),o.each(function(t){var n=e.node(t),i=r.select(this);r.select(this).append("rect");var o=i.append("g").attr("class","label");(0,a.default)(o,n,n.clusterLabelPos)}),o.selectAll("rect").each(function(t){var n=e.node(t),a=r.select(this);i.default.applyStyle(a,n.style)}),i.default.applyTransition(o.exit(),e).style("opacity",0).remove(),o}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n=t;return n.node().appendChild(e.label),i.default.applyStyle(n,e.labelStyle),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n=t.append("foreignObject").attr("width","100000"),r=n.append("xhtml:div");r.attr("xmlns","http://www.w3.org/1999/xhtml");var o=e.label;switch(void 0===o?"undefined":i(o)){case"function":r.insert(o);break;case"object":r.insert(function(){return o});break;default:r.html(o)}a.default.applyStyle(r,e.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap");var s=r.node().getBoundingClientRect();return n.attr("width",s.width).attr("height",s.height),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){for(var n=t.append("text"),r=function(t){for(var e="",n=!1,r=null,i=0;i<t.length;i+=1)if(r=t[i],n){switch(r){case"n":e+="\n";break;default:e+=r}n=!1}else"\\"===r?n=!0:e+=r;return e}(e.label).split("\n"),a=0;a<r.length;a+=1)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(r[a]);return i.default.applyStyle(n,e.labelStyle),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=s(n(2)),i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),a=s(n(3)),o=s(n(0));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e,n){var s=e.nodes().filter(function(t){return!o.default.isSubgraph(e,t)}),u=t.selectAll("g.node").data(s,function(t){return t}).classed("update",!0);return u.selectAll("*").remove(),u.enter().append("g").attr("class","node").style("opacity",0),(u=t.selectAll("g.node")).each(function(t){var s=e.node(t),u=i.select(this);o.default.applyClass(u,s.class,(u.classed("update")?"update ":"")+"node");var c=u.append("g").attr("class","label"),l=(0,a.default)(c,s),d=n[s.shape],f=r.default.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&u.attr("id",s.id),s.labelId&&c.attr("id",s.labelId),r.default.has(s,"width")&&(f.width=s.width),r.default.has(s,"height")&&(f.height=s.height),f.width+=s.paddingLeft+s.paddingRight,f.height+=s.paddingTop+s.paddingBottom,c.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var h=d(i.select(this),f,s);o.default.applyStyle(h,s.style);var _=h.node().getBBox();s.width=_.width,s.height=_.height}),o.default.applyTransition(u.exit(),e).style("opacity",0).remove(),u}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),a=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){var n=t.filter(function(){return!i.select(this).classed("update")});function r(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}n.attr("transform",r),a.default.applyTransition(t,e).style("opacity",1).attr("transform",r),a.default.applyTransition(n.selectAll("rect"),e).attr("width",function(t){return e.node(t).width}).attr("height",function(t){return e.node(t).height}).attr("x",function(t){return-e.node(t).width/2}).attr("y",function(t){return-e.node(t).height/2})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),i=o(n(2)),a=o(n(0));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){function n(t){var n=e.edge(t);return i.default.has(n,"x")?"translate("+n.x+","+n.y+")":""}t.filter(function(){return!r.select(this).classed("update")}).attr("transform",n),a.default.applyTransition(t,e).style("opacity",1).attr("transform",n)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),a=(r=n(0))&&r.__esModule?r:{default:r};e.default=function(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}t.filter(function(){return!i.select(this).classed("update")}).attr("transform",n),a.default.applyTransition(t,e).style("opacity",1).attr("transform",n)}},function(t,e){t.exports=n(21)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=p(n(2)),i=p(n(21)),a=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(1)),o=p(n(20)),s=p(n(19)),u=p(n(18)),c=p(n(17)),l=p(n(13)),d=p(n(12)),f=p(n(11)),h=p(n(10)),_=p(n(9));function p(t){return t&&t.__esModule?t:{default:t}}var m={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},y={arrowhead:"normal",curve:a.curveLinear};function g(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}e.default=function(){var t=c.default,e=l.default,n=d.default,a=f.default,p=h.default,v=_.default,M=function(c,l){!function(t){t.nodes().forEach(function(e){var n=t.node(e);r.default.has(n,"label")||t.children(e).length||(n.label=e),r.default.has(n,"paddingX")&&r.default.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),r.default.has(n,"paddingY")&&r.default.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),r.default.has(n,"padding")&&r.default.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),r.default.defaults(n,m),r.default.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(t){n[t]=Number(n[t])}),r.default.has(n,"width")&&(n._prevWidth=n.width),r.default.has(n,"height")&&(n._prevHeight=n.height)}),t.edges().forEach(function(e){var n=t.edge(e);r.default.has(n,"label")||(n.label=""),r.default.defaults(n,y)})}(l),c.selectAll("*").remove();var d=g(c,"output"),f=g(d,"clusters"),h=g(d,"edgePaths"),_=n(g(d,"edgeLabels"),l),M=t(g(d,"nodes"),l,p);i.default.layout(l),(0,o.default)(M,l),(0,s.default)(_,l),a(h,l,v);var b=e(f,l);(0,u.default)(b,l),function(t){r.default.each(t.nodes(),function(e){var n=t.node(e);r.default.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,r.default.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight})}(l)};return M.createNodes=function(e){return arguments.length?(t=e,M):t},M.createClusters=function(t){return arguments.length?(e=t,M):e},M.createEdgeLabels=function(t){return arguments.length?(n=t,M):n},M.createEdgePaths=function(t){return arguments.length?(a=t,M):a},M.shapes=function(t){return arguments.length?(p=t,M):p},M.arrows=function(t){return arguments.length?(v=t,M):v},M}},function(t,e,n){"use strict";function r(t,e){return t*e>0}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,i){var a=e.y-t.y,o=t.x-e.x,s=e.x*t.y-t.x*e.y,u=a*n.x+o*n.y+s,c=a*i.x+o*i.y+s;if(0===u||0===c||!r(u,c)){var l=i.y-n.y,d=n.x-i.x,f=i.x*n.y-n.x*i.y,h=l*t.x+d*t.y+f,_=l*e.x+d*e.y+f;if(0===h||0===_||!r(h,_)){var p=a*d-l*o;if(0!==p){var m=Math.abs(p/2),y=o*f-d*s;return{x:y<0?(y-m)/p:(y+m)/p,y:(y=l*s-a*f)<0?(y-m)/p:(y+m)/p}}}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=u(n(8)),i=u(n(7)),a=u(n(4)),o=u(n(6)),s=u(n(5));function u(t){return t&&t.__esModule?t:{default:t}}e.default={node:r.default,circle:i.default,ellipse:a.default,polygon:o.default,rect:s.default}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(24)),i=o(n(22)),a=o(n(0));function o(t){return t&&t.__esModule?t:{default:t}}e.default={intersect:r.default,render:i.default,util:a.default}}])},function(t,e,n){const r=n(1),i=n(11),a=n(27);t.exports=function(t,e){const n=new i,o={},s=new a;let u;function c(t){const n=t.v===u?t.w:t.v,r=s.priority(n);if(void 0!==r){var i=e(t);i<r&&(o[n]=u,s.decrease(n,i))}}if(0===t.nodeCount())return n;r.each(t.nodes(),function(t){s.add(t,Number.POSITIVE_INFINITY),n.setNode(t)}),s.decrease(t.nodes()[0],0);var l=!1;for(;s.size()>0;){if(u=s.removeMin(),r.has(o,u))n.setEdge(u,o[u]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(u).forEach(c)}return n}},function(t,e,n){var r=n(24);t.exports=function(t,e){return r(t,e,"pre")}},function(t,e,n){var r=n(24);t.exports=function(t,e){return r(t,e,"post")}},function(t,e,n){var r=n(25);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){return function(t,e,n){const 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){const 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;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)})})}),r}(t,e||i,n||function(e){return t.outEdges(e)})};var i=r.constant(1)},function(t,e,n){const r=n(1),i=n(26);t.exports=function(t){return r.filter(i(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}},function(t,e,n){const r=n(28),i=n(1);t.exports=function(t,e,n){return i.transform(t.nodes(),function(i,a){i[a]=r(t,a,e,n)},{})}},function(t,e,n){var r=n(1);t.exports=function(t){const e={},n=[];let i;function a(n){r.has(e,n)||(e[n]=!0,i.push(n),r.each(t.successors(n),a),r.each(t.predecessors(n),a))}return r.each(t.nodes(),function(t){i=[],a(t),i.length&&n.push(i)}),n}},function(t,e,n){t.exports={components:n(174),dijkstra:n(28),dijkstraAll:n(173),findCycles:n(172),floydWarshall:n(171),isAcyclic:n(170),postorder:n(169),preorder:n(168),prim:n(167),tarjan:n(26),topsort:n(25)}},function(t,e,n){const r=n(1),i=n(11);t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:function(t){return r.map(t.nodes(),function(e){const n=t.node(e),i=t.parent(e),a={v:e};return r.isUndefined(n)||(a.value=n),r.isUndefined(i)||(a.parent=i),a})}(t),edges:function(t){return r.map(t.edges(),function(e){const n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i})}(t)};r.isUndefined(t.graph())||(e.value=r.clone(t.graph()));return e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),r.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.draw=e.getClasses=e.addEdges=e.addVertices=e.setConf=void 0;var r=l(n(12)),i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=l(n(23)),o=l(n(22)),s=l(n(166)),u=n(2),c=n(10);function l(t){return t&&t.__esModule?t:{default:t}}var d={},f=e.setConf=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)d[e[n]]=t[e[n]]},h=e.addVertices=function(t,e){Object.keys(t).forEach(function(n){var r=t[n],i=void 0,a="";r.classes.length>0&&(a=r.classes.join(" "));var o="";o=function(t,e){for(var n=0;n<e.length;n++)void 0!==e[n]&&(t=t+e[n]+";");return t}(o,r.styles),i=void 0===r.text?r.id:r.text;var s="";if(d.htmlLabels)s="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{for(var u=document.createElementNS("http://www.w3.org/2000/svg","text"),c=i.split(/<br>/),l=0;l<c.length;l++){var f=document.createElementNS("http://www.w3.org/2000/svg","tspan");f.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),f.setAttribute("dy","1em"),f.setAttribute("x","1"),f.textContent=c[l],u.appendChild(f)}s="svg",i=u}var h=0,_="";switch(r.type){case"round":h=5,_="rect";break;case"square":_="rect";break;case"diamond":_="question";break;case"odd":case"odd_right":_="rect_left_inv_arrow";break;case"circle":_="circle";break;case"ellipse":_="ellipse";break;case"group":_="rect",i=d.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:_="rect"}e.setNode(r.id,{labelType:s,shape:_,label:i,rx:h,ry:h,class:a,style:o,id:r.id})})},_=e.addEdges=function(t,e){var n=0,r=void 0;void 0!==t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(a){n++;var o={};"arrow_open"===a.type?o.arrowhead="none":o.arrowhead="normal";var s="";if(void 0!==a.style)a.style.forEach(function(t){s=s+t+";"});else switch(a.stroke){case"normal":s="fill:none",void 0!==r&&(s=r);break;case"dotted":s="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":s="stroke: #333; stroke-width: 3.5px;fill:none"}o.style=s,void 0!==a.interpolate?o.curve=(0,c.interpolateToCurve)(a.interpolate,i.curveLinear):void 0!==t.defaultInterpolate?o.curve=(0,c.interpolateToCurve)(t.defaultInterpolate,i.curveLinear):o.curve=(0,c.interpolateToCurve)(d.curve,i.curveLinear),void 0===a.text?void 0!==a.style&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",void 0===a.style?(o.labelpos="c",d.htmlLabels?(o.labelType="html",o.label='<span class="edgeLabel">'+a.text+"</span>"):(o.labelType="text",o.style="stroke: #333; stroke-width: 1.5px;fill:none",o.label=a.text.replace(/<br>/g,"\n"))):o.label=a.text.replace(/<br>/g,"\n")),e.setEdge(a.start,a.end,o,n)})},p=e.getClasses=function(t){a.default.clear();var e=o.default.parser;return e.yy=a.default,e.parse(t),a.default.getClasses()},m=e.draw=function(t,e){u.logger.debug("Drawing flowchart"),a.default.clear();var n=o.default.parser;n.yy=a.default;try{n.parse(t)}catch(t){u.logger.debug("Parsing failed")}var c=a.default.getDirection();void 0===c&&(c="TD");for(var l=new r.default.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:c,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),f=void 0,p=a.default.getSubGraphs(),m=p.length-1;m>=0;m--)f=p[m],a.default.addVertex(f.id,f.title,"group",void 0);var y=a.default.getVertices(),g=a.default.getEdges(),v=0;for(v=p.length-1;v>=0;v--){f=p[v],i.selectAll("cluster").append("text");for(var M=0;M<f.nodes.length;M++)l.setParent(f.nodes[M],f.id)}h(y,l),_(g,l);var b=new(0,s.default.render);b.shapes().question=function(t,e,n){var r=.8*(e.width+e.height),i=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],a=t.insert("polygon",":first-child").attr("points",i.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-r/2+","+2*r/4+")");return n.intersect=function(t){return s.default.intersect.polygon(n,i,t)},a},b.shapes().rect_left_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return s.default.intersect.polygon(n,a,t)},o},b.shapes().rect_right_inv_arrow=function(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-r/2+","+2*i/4+")");return n.intersect=function(t){return s.default.intersect.polygon(n,a,t)},o},b.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");s.default.util.applyStyle(i,n[r+"Style"])},b.arrows().normal=function(t,e,n,r){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var k=i.select('[id="'+e+'"]'),L=i.select("#"+e+" g");for(b(L,l),L.selectAll("g.node").attr("title",function(){return a.default.getTooltip(this.id)}),d.useMaxWidth?(k.attr("height","100%"),k.attr("width",d.width),k.attr("viewBox","0 0 "+(l.graph().width+64)+" "+(l.graph().height+64)),k.attr("style","max-width:"+(l.graph().width+64)+"px;")):(k.attr("height",l.graph().height+64),void 0===d.width?k.attr("width",l.graph().width+64):k.attr("width",d.width),k.attr("viewBox","0 0 "+(l.graph().width+64)+" "+(l.graph().height+64))),k.select("g").attr("transform","translate(32, 32)"),a.default.indexNodes("subGraph"+v),v=0;v<p.length;v++)if("undefined"!==(f=p[v]).title){var w=document.querySelectorAll("#"+e+" #"+f.id+" rect"),x=document.querySelectorAll("#"+e+" #"+f.id),T=w[0].x.baseVal.value,D=w[0].y.baseVal.value,Y=w[0].width.baseVal.value,S=i.select(x[0]).append("text");S.attr("x",T+Y/2),S.attr("y",D+14),S.attr("fill","black"),S.attr("stroke","none"),S.attr("id",e+"Text"),S.style("text-anchor","middle"),void 0===f.title?S.text("Undef"):S.text(f.title)}if(!d.htmlLabels)for(var E=document.querySelectorAll("#"+e+" .edgeLabel .label"),A=0;A<E.length;A++){var C=E[A],j=C.getBBox(),O=document.createElementNS("http://www.w3.org/2000/svg","rect");O.setAttribute("rx",0),O.setAttribute("ry",0),O.setAttribute("width",j.width),O.setAttribute("height",j.height),O.setAttribute("style","fill:#e8e8e8;"),C.insertBefore(O,C.firstChild)}};e.default={setConf:f,addVertices:h,addEdges:_,getClasses:p,draw:m}},function(t,e,n){var r={"./af":150,"./af.js":150,"./ar":149,"./ar-dz":148,"./ar-dz.js":148,"./ar-kw":147,"./ar-kw.js":147,"./ar-ly":146,"./ar-ly.js":146,"./ar-ma":145,"./ar-ma.js":145,"./ar-sa":144,"./ar-sa.js":144,"./ar-tn":143,"./ar-tn.js":143,"./ar.js":149,"./az":142,"./az.js":142,"./be":141,"./be.js":141,"./bg":140,"./bg.js":140,"./bm":139,"./bm.js":139,"./bn":138,"./bn.js":138,"./bo":137,"./bo.js":137,"./br":136,"./br.js":136,"./bs":135,"./bs.js":135,"./ca":134,"./ca.js":134,"./cs":133,"./cs.js":133,"./cv":132,"./cv.js":132,"./cy":131,"./cy.js":131,"./da":130,"./da.js":130,"./de":129,"./de-at":128,"./de-at.js":128,"./de-ch":127,"./de-ch.js":127,"./de.js":129,"./dv":126,"./dv.js":126,"./el":125,"./el.js":125,"./en-au":124,"./en-au.js":124,"./en-ca":123,"./en-ca.js":123,"./en-gb":122,"./en-gb.js":122,"./en-ie":121,"./en-ie.js":121,"./en-il":120,"./en-il.js":120,"./en-nz":119,"./en-nz.js":119,"./eo":118,"./eo.js":118,"./es":117,"./es-do":116,"./es-do.js":116,"./es-us":115,"./es-us.js":115,"./es.js":117,"./et":114,"./et.js":114,"./eu":113,"./eu.js":113,"./fa":112,"./fa.js":112,"./fi":111,"./fi.js":111,"./fo":110,"./fo.js":110,"./fr":109,"./fr-ca":108,"./fr-ca.js":108,"./fr-ch":107,"./fr-ch.js":107,"./fr.js":109,"./fy":106,"./fy.js":106,"./gd":105,"./gd.js":105,"./gl":104,"./gl.js":104,"./gom-latn":103,"./gom-latn.js":103,"./gu":102,"./gu.js":102,"./he":101,"./he.js":101,"./hi":100,"./hi.js":100,"./hr":99,"./hr.js":99,"./hu":98,"./hu.js":98,"./hy-am":97,"./hy-am.js":97,"./id":96,"./id.js":96,"./is":95,"./is.js":95,"./it":94,"./it.js":94,"./ja":93,"./ja.js":93,"./jv":92,"./jv.js":92,"./ka":91,"./ka.js":91,"./kk":90,"./kk.js":90,"./km":89,"./km.js":89,"./kn":88,"./kn.js":88,"./ko":87,"./ko.js":87,"./ky":86,"./ky.js":86,"./lb":85,"./lb.js":85,"./lo":84,"./lo.js":84,"./lt":83,"./lt.js":83,"./lv":82,"./lv.js":82,"./me":81,"./me.js":81,"./mi":80,"./mi.js":80,"./mk":79,"./mk.js":79,"./ml":78,"./ml.js":78,"./mr":77,"./mr.js":77,"./ms":76,"./ms-my":75,"./ms-my.js":75,"./ms.js":76,"./mt":74,"./mt.js":74,"./my":73,"./my.js":73,"./nb":72,"./nb.js":72,"./ne":71,"./ne.js":71,"./nl":70,"./nl-be":69,"./nl-be.js":69,"./nl.js":70,"./nn":68,"./nn.js":68,"./pa-in":67,"./pa-in.js":67,"./pl":66,"./pl.js":66,"./pt":65,"./pt-br":64,"./pt-br.js":64,"./pt.js":65,"./ro":63,"./ro.js":63,"./ru":62,"./ru.js":62,"./sd":61,"./sd.js":61,"./se":60,"./se.js":60,"./si":59,"./si.js":59,"./sk":58,"./sk.js":58,"./sl":57,"./sl.js":57,"./sq":56,"./sq.js":56,"./sr":55,"./sr-cyrl":54,"./sr-cyrl.js":54,"./sr.js":55,"./ss":53,"./ss.js":53,"./sv":52,"./sv.js":52,"./sw":51,"./sw.js":51,"./ta":50,"./ta.js":50,"./te":49,"./te.js":49,"./tet":48,"./tet.js":48,"./tg":47,"./tg.js":47,"./th":46,"./th.js":46,"./tl-ph":45,"./tl-ph.js":45,"./tlh":44,"./tlh.js":44,"./tr":43,"./tr.js":43,"./tzl":42,"./tzl.js":42,"./tzm":41,"./tzm-latn":40,"./tzm-latn.js":40,"./tzm.js":41,"./ug-cn":39,"./ug-cn.js":39,"./uk":38,"./uk.js":38,"./ur":37,"./ur.js":37,"./uz":36,"./uz-latn":35,"./uz-latn.js":35,"./uz.js":36,"./vi":34,"./vi.js":34,"./x-pseudo":33,"./x-pseudo.js":33,"./yo":32,"./yo.js":32,"./zh-cn":31,"./zh-cn.js":31,"./zh-hk":30,"./zh-hk.js":30,"./zh-tw":29,"./zh-tw.js":29};function i(t){var e=a(t);return n(e)}function a(t){var e=r[t];if(!(e+1)){var n=new Error('Cannot find module "'+t+'".');throw n.code="MODULE_NOT_FOUND",n}return e}i.keys=function(){return Object.keys(r)},i.resolve=a,t.exports=i,i.id=178},function(t,e){function n(t,e){if(!t)return t;if(!e)return t;t=r(t,e+" $1$2");var n=e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return t=(t=(t=t.replace(new RegExp("("+n+")\\s*\\1(?=[\\s\\r\\n,{])","g"),"$1")).replace(new RegExp("("+n+")\\s*:host","g"),"$1")).replace(new RegExp("("+n+")\\s*@","g"),"@")}function r(t,e){return(t=t.replace(/\/\*([\s\S]*?)\*\//g,"")).replace(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g,e)}t.exports=n,n.replace=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeEntities=e.encodeEntities=void 0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(3)),a=L(n(179)),o=n(2),s=L(n(10)),u=L(n(177)),c=L(n(22)),l=L(n(23)),d=L(n(165)),f=L(n(20)),h=L(n(19)),_=L(n(163)),p=L(n(18)),m=L(n(17)),y=L(n(162)),g=L(n(15)),v=L(n(16)),M=L(n(161)),b=L(n(13)),k=L(n(14));function L(t){return t&&t.__esModule?t:{default:t}}for(var w={},x=["default","forest","dark","neutral"],T=0;T<x.length;T++){var D=x[T];w[D]=n(160)("./"+D+"/index.scss")}var Y={theme:"default",themeCSS:void 0,logLevel:5,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0,curve:"linear"},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"},class:{},git:{}};(0,o.setLogLevel)(Y.logLevel);var S=e.encodeEntities=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+"¶ß"})},E=e.decodeEntities=function(t){var e=t;return e=(e=(e=e.replace(/fl°°/g,function(){return"&#"})).replace(/fl°/g,function(){return"&"})).replace(/¶ß/g,function(){return";"})},A=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)if("object"===r(t[e[n]])&&null!=t[e[n]])for(var i=Object.keys(t[e[n]]),a=0;a<i.length;a++)o.logger.debug("Setting conf ",e[n],"-",i[a]),void 0===Y[e[n]]&&(Y[e[n]]={}),o.logger.debug("Setting config: "+e[n]+" "+i[a]+" to "+t[e[n]][i[a]]),Y[e[n]][i[a]]=t[e[n]][i[a]];else Y[e[n]]=t[e[n]]};var C={render:function(t,e,n,r){if(void 0!==r)r.innerHTML="",i.select(r).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var c=document.querySelector("#d"+t);c&&(c.innerHTML=""),i.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=e,e=S(e);var f=i.select("#d"+t).node(),h=s.default.detectType(e),p=f.firstChild,m=p.firstChild,g=w[Y.theme];if(void 0===g&&(g=""),void 0!==Y.themeCSS&&(g+="\n"+Y.themeCSS),"flowchart"===h){var v=u.default.getClasses(e);for(var b in v)g+="\n."+b+" > * { "+v[b].styles.join(" !important; ")+" !important; }"}var k=document.createElement("style");k.innerHTML=(0,a.default)(g,"#"+t),p.insertBefore(k,m);var L=document.createElement("style"),x=window.getComputedStyle(p);switch(L.innerHTML="#"+t+" {\n color: "+x.color+";\n font: "+x.font+";\n }",p.insertBefore(L,m),h){case"git":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,M.default.setConf(Y.git),M.default.draw(e,t,!1);break;case"flowchart":Y.flowchart.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,u.default.setConf(Y.flowchart),u.default.draw(e,t,!1);break;case"sequence":Y.sequence.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,Y.sequenceDiagram?(d.default.setConf(Object.assign(Y.sequence,Y.sequenceDiagram)),console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")):d.default.setConf(Y.sequence),d.default.draw(e,t);break;case"gantt":Y.gantt.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,_.default.setConf(Y.gantt),_.default.draw(e,t);break;case"class":Y.class.arrowMarkerAbsolute=Y.arrowMarkerAbsolute,y.default.setConf(Y.class),y.default.draw(e,t)}i.select('[id="'+t+'"]').selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");var T="";Y.arrowMarkerAbsolute&&(T=(T=(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)"));var D=i.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+T+"#arrowhead","g");D=E(D),void 0!==n?n(D,l.default.bindFunctions):o.logger.warn("CB = undefined!");var A=i.select("#d"+t).node();return null!==A&&"function"==typeof A.remove&&i.select("#d"+t).node().remove(),D},parse:function(t){var e=void 0;switch(s.default.detectType(t)){case"git":(e=b.default).parser.yy=k.default;break;case"flowchart":(e=c.default).parser.yy=l.default;break;case"sequence":(e=f.default).parser.yy=h.default;break;case"gantt":(e=p.default).parser.yy=m.default;break;case"class":(e=g.default).parser.yy=v.default}e.parser.yy.parseError=function(t,e){throw{str:t,hash:e}},e.parse(t)},initialize:function(t){o.logger.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":r(t))&&A(t),(0,o.setLogLevel)(Y.logLevel)},getConfig:function(){return Y}};e.default=C},function(t,e,n){(function(t,n){!function(r){var i="object"==typeof e&&e,a="object"==typeof t&&t&&t.exports==i&&t,o="object"==typeof n&&n;o.global!==o&&o.window!==o||(r=o);var s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,l=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,d={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},f=/["&'<>`]/g,h={'"':"&quot;","&":"&amp;","'":"&#x27;","<":"&lt;",">":"&gt;","`":"&#x60;"},_=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,p=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)([=a-zA-Z0-9])?/g,y={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},g={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},M=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],b=String.fromCharCode,k={}.hasOwnProperty,L=function(t,e){return k.call(t,e)},w=function(t,e){if(!t)return e;var n,r={};for(n in e)r[n]=L(t,n)?t[n]:e[n];return r},x=function(t,e){var n="";return t>=55296&&t<=57343||t>1114111?(e&&Y("character reference outside the permissible Unicode range"),"�"):L(v,t)?(e&&Y("disallowed character reference"),v[t]):(e&&function(t,e){for(var n=-1,r=t.length;++n<r;)if(t[n]==e)return!0;return!1}(M,t)&&Y("disallowed character reference"),t>65535&&(n+=b((t-=65536)>>>10&1023|55296),t=56320|1023&t),n+=b(t))},T=function(t){return"&#x"+t.toString(16).toUpperCase()+";"},D=function(t){return"&#"+t+";"},Y=function(t){throw Error("Parse error: "+t)},S=function(t,e){(e=w(e,S.options)).strict&&p.test(t)&&Y("forbidden code point");var n=e.encodeEverything,r=e.useNamedReferences,i=e.allowUnsafeSymbols,a=e.decimal?D:T,o=function(t){return a(t.charCodeAt(0))};return n?(t=t.replace(u,function(t){return r&&L(d,t)?"&"+d[t]+";":o(t)}),r&&(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;").replace(/&#x66;&#x6A;/g,"&fjlig;")),r&&(t=t.replace(l,function(t){return"&"+d[t]+";"}))):r?(i||(t=t.replace(f,function(t){return"&"+d[t]+";"})),t=(t=t.replace(/&gt;\u20D2/g,"&nvgt;").replace(/&lt;\u20D2/g,"&nvlt;")).replace(l,function(t){return"&"+d[t]+";"})):i||(t=t.replace(f,o)),t.replace(s,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1);return a(1024*(e-55296)+n-56320+65536)}).replace(c,o)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var E=function(t,e){var n=(e=w(e,E.options)).strict;return n&&_.test(t)&&Y("malformed character reference"),t.replace(m,function(t,r,i,a,o,s,u,c){var l,d,f,h,_,p;return r?(f=r,d=i,n&&!d&&Y("character reference was not terminated by a semicolon"),l=parseInt(f,10),x(l,n)):a?(h=a,d=o,n&&!d&&Y("character reference was not terminated by a semicolon"),l=parseInt(h,16),x(l,n)):s?L(y,_=s)?y[_]:(n&&Y("named character reference was not terminated by a semicolon"),t):(_=u,(p=c)&&e.isAttributeValue?(n&&"="==p&&Y("`&` did not start a character reference"),t):(n&&Y("named character reference was not terminated by a semicolon"),g[_]+(p||"")))})};E.options={isAttributeValue:!1,strict:!1};var A={version:"1.1.1",encode:S,decode:E,escape:function(t){return t.replace(f,function(t){return h[t]})},unescape:E};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return A});else if(i&&!i.nodeType)if(a)a.exports=A;else for(var C in A)L(A,C)&&(i[C]=A[C]);else r.he=A}(this)}).call(this,n(4)(t),n(151))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=o(n(181)),i=o(n(180)),a=n(2);function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){u.startOnLoad?i.default.getConfig().startOnLoad&&u.init():void 0===u.startOnLoad&&(a.logger.debug("In start, no config"),i.default.getConfig().startOnLoad&&u.init())};"undefined"!=typeof document&&
+/*!
+ * Wait for document loaded before starting the execution
+ */
+window.addEventListener("load",function(){s()},!1);var u={startOnLoad:!0,htmlLabels:!0,mermaidAPI:i.default,parse:i.default.parse,render:i.default.render,init:function(){var t=i.default.getConfig();a.logger.debug("Starting rendering diagrams");var e=void 0;arguments.length>=2?(
+/*! sequence config was passed as #1 */
+void 0!==arguments[0]&&(u.sequenceConfig=arguments[0]),e=arguments[1]):e=arguments[0];var n=void 0;"function"==typeof arguments[arguments.length-1]?(n=arguments[arguments.length-1],a.logger.debug("Callback function found")):void 0!==t.mermaid&&("function"==typeof t.mermaid.callback?(n=t.mermaid.callback,a.logger.debug("Callback function found")):a.logger.debug("No Callback function found")),e=void 0===e?document.querySelectorAll(".mermaid"):"string"==typeof e?document.querySelectorAll(e):e instanceof window.Node?[e]:e,a.logger.debug("Start On Load before: "+u.startOnLoad),void 0!==u.startOnLoad&&(a.logger.debug("Start On Load inner: "+u.startOnLoad),i.default.initialize({startOnLoad:u.startOnLoad})),void 0!==u.ganttConfig&&i.default.initialize({gantt:u.ganttConfig});for(var o=void 0,s=function(t){var a=e[t];
+/*! Check if previously processed */if(a.getAttribute("data-processed"))return"continue";a.setAttribute("data-processed",!0);var s="mermaid-"+Date.now();o=a.innerHTML,o=r.default.decode(o).trim().replace(/<br>/gi,"<br/>"),i.default.render(s,o,function(t,e){a.innerHTML=t,void 0!==n&&n(s),e(a)},a)},c=0;c<e.length;c++)s(c)},initialize:function(t){a.logger.debug("Initializing mermaid"),void 0!==t.mermaid&&(void 0!==t.mermaid.startOnLoad&&(u.startOnLoad=t.mermaid.startOnLoad),void 0!==t.mermaid.htmlLabels&&(u.htmlLabels=t.mermaid.htmlLabels)),i.default.initialize(t)},contentLoaded:s};e.default=u}]).default});
+//# sourceMappingURL=mermaid.min.js.map \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css
new file mode 100644
index 00000000..e9570979
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaid.neutral.min.css
@@ -0,0 +1 @@
+.mermaid .label{color:#333}.node circle,.node ellipse,.node polygon,.node rect{fill:#eee;stroke:#999;stroke-width:1px}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff}.cluster rect{fill:#eaf2fb!important;rx:4!important;stroke:#26a!important;stroke-width:1px!important}.cluster text{fill:#333}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{marker-end:"url(#arrowhead)"}.messageLine0,.messageLine1{stroke-width:1.5;stroke-dasharray:"2 2";stroke:#333}#arrowhead{fill:#333}#crosshead path{fill:#333!important;stroke:#333!important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText,.loopText{fill:#fff;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:"2 2";marker-end:"url(#arrowhead)";stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:#000;stroke:none;font-family:Arial,Helvetica,sans-serif;font-size:14px}.section{stroke:none;opacity:.2}.section0,.section2{fill:#7fb2e6}.section1,.section3{fill:#fff;opacity:.2}.sectionTitle0,.sectionTitle1,.sectionTitle2,.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px}.grid .tick{stroke:#e5e5e5;opacity:.3;shape-rendering:crispEdges}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#194c7f}.taskTextOutside0,.taskTextOutside1,.taskTextOutside2,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#194c7f}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333!important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333!important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3,.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333!important}.titleText{text-anchor:middle;font-size:18px;fill:#333}g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-size:10px}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}svg .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}svg .classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}#compositionEnd,#compositionStart,.composition{fill:#999;stroke:#999;stroke-width:1}#aggregationEnd,#aggregationStart,.aggregation{fill:#eee;stroke:#999;stroke-width:1}#dependencyEnd,#dependencyStart,#extensionEnd,#extensionStart{fill:#999;stroke:#999;stroke-width:1}.node text{font-size:14px}.node text,div.mermaidTooltip{font-family:Arial,Helvetica,sans-serif}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100} \ No newline at end of file
diff --git a/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js
new file mode 100644
index 00000000..8d2152a1
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/res/mermaid/8.0.0/mermaidAPI.min.js
@@ -0,0 +1 @@
+module.exports=function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=21)}([function(t,e,r){"use strict";function n(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getSeconds(),i=t.getMilliseconds();return e<10&&(e="0"+e),r<10&&(r="0"+r),n<10&&(n="0"+n),i<100&&(i="0"+i),i<10&&(i="00"+i),e+":"+r+":"+n+" ("+i+")"}function i(t){return"%c "+n(new Date)+" :%c"+t+": "}var s=function(){},a=function(){},u=function(){},o=function(){},c=function(){};e.setLogLevel=function(t){t<6&&(e.Log.fatal=console.log.bind(console,i("FATAL"),"color:grey;","color: red;")),t<5&&(e.Log.error=console.log.bind(console,i("ERROR"),"color:grey;","color: red;")),t<4&&(e.Log.warn=console.log.bind(console,i("WARN"),"color:grey;","color: orange;")),t<3&&(e.Log.info=console.log.bind(console,i("INFO"),"color:grey;","color: info;")),t<2&&(e.Log.debug=console.log.bind(console,i("DEBUG"),"color:grey;","color: green;"))},e.Log={debug:s,info:a,warn:u,error:o,fatal:c}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(22);t.exports=i,function(){var t=!1;if(t="tspans",i.selection.prototype.textwrap)return!1;void 0===t&&(t=!1),i.selection.prototype.textwrap=i.selection.enter.prototype.textwrap=function(e,r){r=parseInt(r)||0;var s,a=this,u=function(t){var e=t[0][0];if("rect"!==e.tagName.toString())return!1;var r={};return r.x=i.select(e).attr("x")||0,r.y=i.select(e).attr("y")||0,r.width=i.select(e).attr("width")||0,r.height=i.select(e).attr("height")||0,r.attr=t.attr,r},o=function(t){if(t.attr||(t.attr=function(t){if(this[t])return this[t]}),"object"===(void 0===t?"undefined":n(t))&&void 0!==t.x&&void 0!==t.y&&void 0!==t.width&&void 0!==t.height)return t;if("function"==typeof Array.isArray&&Array.isArray(t)||"[object Array]"===Object.prototype.toString.call(t)){return u(t)}return!1}(e);if(r&&(o=function(t,e){var r=t;return 0!==e&&(r.x=parseInt(r.x)+e,r.y=parseInt(r.y)+e,r.width-=2*e,r.height-=2*e),r}(o,r)),0!==a.length&&i&&e&&o){e=o;var c,l=function(t){var r=i.select(t[0].parentNode),n=r.select("text"),a=n.style("line-height"),u=n.text();n.remove();var o=r.append("foreignObject");o.attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height);var c=o.append("xhtml:div").attr("class","wrapped");c.style("height",e.height).style("width",e.width).html(u),a&&c.style("line-height",a),s=r.select("foreignObject")},h=function(t){var n,a=t[0],u=a.parentNode,o=i.select(a),c=a.getBBox().height,l=a.getBBox().width,h=c,y=o.style("line-height");if(n=y&&parseInt(y)?parseInt(y.replace("px","")):h,l>e.width){var d=o.text();if(o.text(""),d){var p,g;if(-1!==d.indexOf(" "))p=" ",g=d.split(" ");else{p="";var f=d.length,m=Math.ceil(l/e.width),A=Math.floor(f/m);A*m>=f||m++,g=[];for(var b,E,x=0;x<m;x++)E=x*A,b=d.substr(E,A),g.push(b)}var k=[],_=0,v={};for(x=0;x<g.length;x++){var F,D=g[x],C=o.text(),T=a.getComputedTextLength();F=C?C+p+D:D,o.text(F);var w=a.getComputedTextLength();if(w>e.width&&C&&""!==C&&(_+=T,v={string:C,width:T,offset:_},k.push(v),o.text(""),o.text(D),x===g.length-1&&(F=D,o.text(F),w=a.getComputedTextLength())),x===g.length-1){o.text("");var S=F;S&&""!==S&&(w-_>0&&(w-=_),v={string:S,width:w,offset:_},k.push(v))}}var B;for(o.text(""),x=0;x<k.length;x++)b=k[x].string,x*n<e.height-1.5*n&&(B=o.append("tspan").text(b),B.attr("dy",function(t){if(x>0)return n}),B.attr("x",function(){var t=e.x;return r&&(t+=r),t}))}}o.attr("y",function(){var t=e.y;return n&&(t+=n),r&&(t+=r),t}),o.attr("x",function(){var t=e.x;return r&&(t+=r),t}),s=i.select(u).selectAll("text")};t&&("foreignobjects"===t?c=l:"tspans"===t&&(c=h)),t||(c="undefined"!=typeof SVGForeignObjectElement?l:h);for(var y=0;y<a.length;y++){c(a[y])}return s}return a||!1}}()},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){t.exports=require("fs")},function(t,e){t.exports=require("path")},function(t,e,r){"use strict";var n,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(0),a=s.Log,u=r(6),o=r(1),c={},l=[],h=[],y=[],d={},p=0,g=[];e.addVertex=function(t,e,r,n){var i;void 0!==t&&0!==t.trim().length&&(void 0===c[t]&&(c[t]={id:t,styles:[],classes:[]}),void 0!==e&&(i=e.trim(),'"'===i[0]&&'"'===i[i.length-1]&&(i=i.substring(1,i.length-1)),c[t].text=i),void 0!==r&&(c[t].type=r),void 0!==r&&(c[t].type=r),void 0!==n&&null!==n&&n.forEach(function(e){c[t].styles.push(e)}))},e.addLink=function(t,e,r,n){a.info("Got edge...",t,e);var i={start:t,end:e,type:void 0,text:""};n=r.text,void 0!==n&&(i.text=n.trim(),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==r&&(i.type=r.type,i.stroke=r.stroke),l.push(i)},e.updateLinkInterpolate=function(t,e){"default"===t?l.defaultInterpolate=e:l[t].interpolate=e},e.updateLink=function(t,e){"default"===t?l.defaultStyle=e:(-1===u.isSubstringInArray("fill",e)&&e.push("fill:none"),l[t].style=e)},e.addClass=function(t,e){void 0===h[t]&&(h[t]={id:t,styles:[]}),void 0!==e&&null!==e&&e.forEach(function(e){h[t].styles.push(e)})},e.setDirection=function(t){n=t},e.setClass=function(t,e){t.indexOf(",")>0?t.split(",").forEach(function(t){void 0!==c[t]&&c[t].classes.push(e)}):void 0!==c[t]&&c[t].classes.push(e)};var f=function(t,e){void 0!==e&&(d[t]=e)},m=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window[e](t)})})},A=function(t,e){void 0!==e&&void 0!==c[t]&&g.push(function(r){var n=o.select(r).select("#"+t);null!==n&&n.on("click",function(){window.open(e,"newTab")})})};e.getTooltip=function(t){return d[t]},e.setClickEvent=function(t,e,r,n){t.indexOf(",")>0?t.split(",").forEach(function(t){f(t,n),m(t,e),A(t,r)}):(f(t,n),m(t,e),A(t,r))},e.bindFunctions=function(t){g.forEach(function(e){e(t)})},e.getDirection=function(){return n},e.getVertices=function(){return c},e.getEdges=function(){return l},e.getClasses=function(){return h};var b=function(t){var e=o.select(".mermaidTooltip");null===e[0][0]&&(e=o.select("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),o.select(t).select("svg").selectAll("g.node").on("mouseover",function(){var t=o.select(this);if(null!==t.attr("title")){var r=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",r.left+(r.right-r.left)/2+"px").style("top",r.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),o.select(this).classed("hover",!1)})};g.push(b),e.clear=function(){c={},h={},l=[],g=[],g.push(b),y=[],p=0,d=[]},e.defaultStyle=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},e.addSubGraph=function(t,e){var r=[];r=function(t){var e={boolean:{},number:{},string:{}},r=[];return t.filter(function(t){var n=void 0===t?"undefined":i(t);return" "!==t&&(n in e?!e[n].hasOwnProperty(t)&&(e[n][t]=!0):!(r.indexOf(t)>=0)&&r.push(t))})}(r.concat.apply(r,t));var n={id:"subGraph"+p,nodes:r,title:e};return y.push(n),p+=1,n.id};var E=function(t){var e;for(e=0;e<y.length;e++)if(y[e].id===t)return e;return-1},x=-1,k=[],_=function t(e,r){var n=y[r].nodes;if(!((x+=1)>2e3)){if(k[x]=r,y[r].id===e)return{result:!0,count:0};for(var i=0,s=1;i<n.length;){var a=E(n[i]);if(a>=0){var u=t(e,a);if(u.result)return{result:!0,count:s+u.count};s+=u.count}i+=1}return{result:!1,count:s}}};e.getDepthFirstPos=function(t){return k[t]},e.indexNodes=function(){x=-1,y.length>0&&_("none",y.length-1)},e.getSubGraphs=function(){return y},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s=function(t){return t=t.replace(/^\s*%%.*\n/g,"\n"),t.match(/^\s*sequenceDiagram/)?"sequenceDiagram":t.match(/^\s*digraph/)?"dotGraph":t.match(/^\s*info/)?"info":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram/)?(i.debug("Detected classDiagram syntax"),"classDiagram"):t.match(/^\s*gitGraph/)?(i.debug("Detected gitGraph syntax"),"gitGraph"):"graph"};e.detectType=s;var a=function(t,e){for(var r,n="",s=document.styleSheets,a=0;a<s.length;a++)if("mermaid-svg-internal-css"!==s[a].title)try{var u=s[a].cssRules;if(null!==u)for(var o=0;o<u.length;o++)if(r=u[o],void 0!==r.style){var c;c=t.querySelectorAll(r.selectorText),c.length>0&&(n+=r.selectorText+" { "+r.style.cssText+"}\n")}}catch(t){void 0!==r&&i.warn('Invalid CSS selector "'+r.selectorText+'"',t)}var l="",h="";for(var y in e)e.hasOwnProperty(y)&&void 0!==y&&("default"===y?(e.default.styles instanceof Array&&(l+="#"+t.id.trim()+" .node>rect { "+e[y].styles.join("; ")+"; }\n"),e.default.nodeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .node text { "+e[y].nodeLabelStyles.join("; ")+"; }\n"),e.default.edgeLabelStyles instanceof Array&&(l+="#"+t.id.trim()+" .edgeLabel text { "+e[y].edgeLabelStyles.join("; ")+"; }\n"),e.default.clusterStyles instanceof Array&&(l+="#"+t.id.trim()+" .cluster rect { "+e[y].clusterStyles.join("; ")+"; }\n")):e[y].styles instanceof Array&&(h+="#"+t.id.trim()+" ."+y+">rect, ."+y+">polygon, ."+y+">circle, ."+y+">ellipse { "+e[y].styles.join("; ")+"; }\n"));if(""!==n||""!==l||""!==h){var d=document.createElement("style");d.setAttribute("type","text/css"),d.setAttribute("title","mermaid-svg-internal-css"),d.innerHTML="/* <![CDATA[ */\n",""!==l&&(d.innerHTML+=l),""!==n&&(d.innerHTML+=n),""!==h&&(d.innerHTML+=h),d.innerHTML+="/* ]]> */\n",t.insertBefore(d,t.firstChild)}};e.cloneCssStyles=a;var u=function(t,e){for(var r=0;r<e.length;r++)if(e[r].match(t))return r;return-1};e.isSubstringInArray=u},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,4],n=[1,3],i=[1,5],s=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],a=[2,2],u=[1,12],o=[1,13],c=[1,14],l=[1,15],h=[1,31],y=[1,33],d=[1,22],p=[1,34],g=[1,24],f=[1,25],m=[1,26],A=[1,27],b=[1,28],E=[1,38],x=[1,40],k=[1,35],_=[1,39],v=[1,45],F=[1,44],D=[1,36],C=[1,37],T=[1,41],w=[1,42],S=[1,43],B=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],L=[1,53],I=[1,52],O=[1,54],P=[1,72],N=[1,80],M=[1,81],R=[1,66],$=[1,65],j=[1,85],V=[1,84],U=[1,82],G=[1,83],H=[1,73],Y=[1,68],W=[1,67],q=[1,63],z=[1,75],X=[1,76],K=[1,77],Z=[1,78],Q=[1,79],J=[1,70],tt=[1,69],et=[8,9,11],rt=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],nt=[1,115],it=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],st=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],at=[1,117],ut=[1,118],ot=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],ct=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],lt=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],ht=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],yt=[1,191],dt=[1,188],pt=[1,195],gt=[1,192],ft=[1,189],mt=[1,196],At=[1,186],bt=[1,187],Et=[1,190],xt=[1,193],kt=[1,194],_t=[1,213],vt=[8,9,11,86],Ft=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92],Dt={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,DIR:13,FirstStmtSeparator:14,TAGEND:15,TAGSTART:16,UP:17,DOWN:18,ending:19,endToken:20,spaceList:21,spaceListNewline:22,verticeStatement:23,separator:24,styleStatement:25,linkStyleStatement:26,classDefStatement:27,classStatement:28,clickStatement:29,subgraph:30,text:31,end:32,vertex:33,link:34,alphaNum:35,SQS:36,SQE:37,PS:38,PE:39,"(-":40,"-)":41,DIAMOND_START:42,DIAMOND_STOP:43,alphaNumStatement:44,alphaNumToken:45,MINUS:46,linkStatement:47,arrowText:48,TESTSTR:49,"--":50,ARROW_POINT:51,ARROW_CIRCLE:52,ARROW_CROSS:53,ARROW_OPEN:54,"-.":55,DOTTED_ARROW_POINT:56,DOTTED_ARROW_CIRCLE:57,DOTTED_ARROW_CROSS:58,DOTTED_ARROW_OPEN:59,"==":60,THICK_ARROW_POINT:61,THICK_ARROW_CIRCLE:62,THICK_ARROW_CROSS:63,THICK_ARROW_OPEN:64,PIPE:65,textToken:66,STR:67,commentText:68,commentToken:69,keywords:70,STYLE:71,LINKSTYLE:72,CLASSDEF:73,CLASS:74,CLICK:75,textNoTags:76,textNoTagsToken:77,DEFAULT:78,stylesOpt:79,HEX:80,NUM:81,INTERPOLATE:82,commentStatement:83,PCT:84,style:85,COMMA:86,styleComponent:87,ALPHA:88,COLON:89,UNIT:90,BRKT:91,DOT:92,graphCodeTokens:93,PUNCTUATION:94,UNICODE_TEXT:95,PLUS:96,EQUALS:97,MULT:98,TAG_START:99,TAG_END:100,QUOTE:101,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 2:this.$=[];break;case 3:s[u]!==[]&&s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 57:case 59:case 60:case 92:case 94:case 95:case 108:this.$=s[u];break;case 11:n.setDirection(s[u-1]),this.$=s[u-1];break;case 12:n.setDirection("LR"),this.$=s[u-1];break;case 13:n.setDirection("RL"),this.$=s[u-1];break;case 14:n.setDirection("BT"),this.$=s[u-1];break;case 15:n.setDirection("TB"),this.$=s[u-1];break;case 30:this.$=s[u-1];break;case 31:case 32:case 33:case 34:case 35:this.$=[];break;case 36:this.$=n.addSubGraph(s[u-1],s[u-3]);break;case 37:this.$=n.addSubGraph(s[u-1],void 0);break;case 41:n.addLink(s[u-2],s[u],s[u-1]),this.$=[s[u-2],s[u]];break;case 42:this.$=[s[u]];break;case 43:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"square");break;case 44:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"square");break;case 45:this.$=s[u-5],n.addVertex(s[u-5],s[u-2],"circle");break;case 46:this.$=s[u-6],n.addVertex(s[u-6],s[u-3],"circle");break;case 47:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"ellipse");break;case 48:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"ellipse");break;case 49:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"round");break;case 50:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"round");break;case 51:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"diamond");break;case 52:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"diamond");break;case 53:this.$=s[u-3],n.addVertex(s[u-3],s[u-1],"odd");break;case 54:this.$=s[u-4],n.addVertex(s[u-4],s[u-2],"odd");break;case 55:this.$=s[u],n.addVertex(s[u]);break;case 56:this.$=s[u-1],n.addVertex(s[u-1]);break;case 58:case 93:case 96:case 109:this.$=s[u-1]+""+s[u];break;case 61:this.$="v";break;case 62:this.$="-";break;case 63:s[u-1].text=s[u],this.$=s[u-1];break;case 64:case 65:s[u-2].text=s[u-1],this.$=s[u-2];break;case 66:this.$=s[u];break;case 67:this.$={type:"arrow",stroke:"normal",text:s[u-1]};break;case 68:this.$={type:"arrow_circle",stroke:"normal",text:s[u-1]};break;case 69:this.$={type:"arrow_cross",stroke:"normal",text:s[u-1]};break;case 70:this.$={type:"arrow_open",stroke:"normal",text:s[u-1]};break;case 71:this.$={type:"arrow",stroke:"dotted",text:s[u-1]};break;case 72:this.$={type:"arrow_circle",stroke:"dotted",text:s[u-1]};break;case 73:this.$={type:"arrow_cross",stroke:"dotted",text:s[u-1]};break;case 74:this.$={type:"arrow_open",stroke:"dotted",text:s[u-1]};break;case 75:this.$={type:"arrow",stroke:"thick",text:s[u-1]};break;case 76:this.$={type:"arrow_circle",stroke:"thick",text:s[u-1]};break;case 77:this.$={type:"arrow_cross",stroke:"thick",text:s[u-1]};break;case 78:this.$={type:"arrow_open",stroke:"thick",text:s[u-1]};break;case 79:this.$={type:"arrow",stroke:"normal"};break;case 80:this.$={type:"arrow_circle",stroke:"normal"};break;case 81:this.$={type:"arrow_cross",stroke:"normal"};break;case 82:this.$={type:"arrow_open",stroke:"normal"};break;case 83:this.$={type:"arrow",stroke:"dotted"};break;case 84:this.$={type:"arrow_circle",stroke:"dotted"};break;case 85:this.$={type:"arrow_cross",stroke:"dotted"};break;case 86:this.$={type:"arrow_open",stroke:"dotted"};break;case 87:this.$={type:"arrow",stroke:"thick"};break;case 88:this.$={type:"arrow_circle",stroke:"thick"};break;case 89:this.$={type:"arrow_cross",stroke:"thick"};break;case 90:this.$={type:"arrow_open",stroke:"thick"};break;case 91:this.$=s[u-1];break;case 110:case 111:this.$=s[u-4],n.addClass(s[u-2],s[u]);break;case 112:this.$=s[u-4],n.setClass(s[u-2],s[u]);break;case 113:this.$=s[u-4],n.setClickEvent(s[u-2],s[u],void 0,void 0);break;case 114:this.$=s[u-6],n.setClickEvent(s[u-4],s[u-2],void 0,s[u]);break;case 115:this.$=s[u-4],n.setClickEvent(s[u-2],void 0,s[u],void 0);break;case 116:this.$=s[u-6],n.setClickEvent(s[u-4],void 0,s[u-2],s[u]);break;case 117:this.$=s[u-4],n.addVertex(s[u-2],void 0,void 0,s[u]);break;case 118:case 119:case 120:this.$=s[u-4],n.updateLink(s[u-2],s[u]);break;case 121:case 122:this.$=s[u-8],n.updateLinkInterpolate(s[u-6],s[u-2]),n.updateLink(s[u-6],s[u]);break;case 123:case 124:this.$=s[u-6],n.updateLinkInterpolate(s[u-4],s[u]);break;case 126:this.$=[s[u]];break;case 127:s[u-2].push(s[u]),this.$=s[u-2];break;case 129:this.$=s[u-1]+s[u]}},table:[{3:1,4:2,9:r,10:n,12:i},{1:[3]},e(s,a,{5:6}),{4:7,9:r,10:n,12:i},{4:8,9:r,10:n,12:i},{10:[1,9]},{1:[2,1],6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(s,[2,9]),e(s,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},e(B,[2,3]),e(B,[2,4]),e(B,[2,5]),e(B,[2,6]),e(B,[2,7]),e(B,[2,8]),{8:L,9:I,11:O,24:51},{8:L,9:I,11:O,24:55},{8:L,9:I,11:O,24:56},{8:L,9:I,11:O,24:57},{8:L,9:I,11:O,24:58},{8:L,9:I,11:O,24:59},{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:61,30:U,31:60,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},e(rt,[2,55],{45:32,21:113,44:114,10:nt,13:h,15:[1,112],18:y,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(it,[2,57]),e(it,[2,59]),e(it,[2,60]),e(it,[2,61]),e(it,[2,62]),e(st,[2,154]),e(st,[2,155]),e(st,[2,156]),e(st,[2,157]),e(st,[2,158]),e(st,[2,159]),e(st,[2,160]),e(st,[2,161]),e(st,[2,162]),e(st,[2,163]),e(st,[2,164]),{8:at,9:ut,10:nt,14:116,21:119},{8:at,9:ut,10:nt,14:120,21:119},{8:at,9:ut,10:nt,14:121,21:119},{8:at,9:ut,10:nt,14:122,21:119},{8:at,9:ut,10:nt,14:123,21:119},e(B,[2,30]),e(B,[2,38]),e(B,[2,39]),e(B,[2,40]),e(B,[2,31]),e(B,[2,32]),e(B,[2,33]),e(B,[2,34]),e(B,[2,35]),{8:L,9:I,10:P,11:O,12:N,13:M,15:R,16:$,17:j,18:V,24:124,30:U,32:G,45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ot,a,{5:126}),e(ct,[2,92]),e(ct,[2,94]),e(ct,[2,143]),e(ct,[2,144]),e(ct,[2,145]),e(ct,[2,146]),e(ct,[2,147]),e(ct,[2,148]),e(ct,[2,149]),e(ct,[2,150]),e(ct,[2,151]),e(ct,[2,152]),e(ct,[2,153]),e(ct,[2,97]),e(ct,[2,98]),e(ct,[2,99]),e(ct,[2,100]),e(ct,[2,101]),e(ct,[2,102]),e(ct,[2,103]),e(ct,[2,104]),e(ct,[2,105]),e(ct,[2,106]),e(ct,[2,107]),{13:h,18:y,33:127,35:29,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:131,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:132,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:133,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(ht,[2,79]),e(ht,[2,80]),e(ht,[2,81]),e(ht,[2,82]),e(ht,[2,83]),e(ht,[2,84]),e(ht,[2,85]),e(ht,[2,86]),e(ht,[2,87]),e(ht,[2,88]),e(ht,[2,89]),e(ht,[2,90]),{13:h,18:y,35:134,44:30,45:32,46:p,80:[1,135],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{78:[1,136],81:[1,137]},{13:h,18:y,35:139,44:30,45:32,46:p,78:[1,138],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:140,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:141,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:142,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:144,32:G,38:[1,143],45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:145,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:146,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:147,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,56]),e(it,[2,58]),e(rt,[2,29],{21:148,10:nt}),e(s,[2,11]),e(s,[2,21]),e(s,[2,22]),{9:[1,149]},e(s,[2,12]),e(s,[2,13]),e(s,[2,14]),e(s,[2,15]),e(ot,a,{5:150}),e(ct,[2,93]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,151],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(et,[2,41]),e(lt,[2,63],{10:[1,152]}),{10:[1,153]},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:154,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,167],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,173],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:[1,174],13:h,18:y,44:114,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,175],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,31:176,32:G,45:71,46:H,50:Y,60:W,66:62,67:q,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,177],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,41:[1,178],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,43:[1,179],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,37:[1,180],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,28]),e(s,[2,23]),{6:10,7:11,8:u,9:o,10:c,11:l,13:h,18:y,23:16,25:17,26:18,27:19,28:20,29:21,30:d,32:[1,181],33:23,35:29,44:30,45:32,46:p,71:g,72:f,73:m,74:A,75:b,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(B,[2,37]),e(lt,[2,65]),e(lt,[2,64]),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,45:71,46:H,50:Y,60:W,65:[1,182],66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(lt,[2,67]),e(lt,[2,68]),e(lt,[2,69]),e(lt,[2,70]),e(lt,[2,71]),e(lt,[2,72]),e(lt,[2,73]),e(lt,[2,74]),e(lt,[2,75]),e(lt,[2,76]),e(lt,[2,77]),e(lt,[2,78]),{10:yt,46:dt,71:pt,79:183,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:197,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:198,80:gt,81:ft,82:[1,199],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:200,80:gt,81:ft,82:[1,201],84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:202,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:203,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{13:h,18:y,35:204,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:205,44:30,45:32,46:p,67:[1,206],81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,43],{21:207,10:nt}),{10:P,12:N,13:M,15:R,16:$,17:j,18:V,30:U,32:G,39:[1,208],45:71,46:H,50:Y,60:W,66:125,70:74,71:z,72:X,73:K,74:Z,75:Q,77:64,78:J,81:E,84:tt,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},e(rt,[2,49],{21:209,10:nt}),e(rt,[2,47],{21:210,10:nt}),e(rt,[2,51],{21:211,10:nt}),e(rt,[2,53],{21:212,10:nt}),e(B,[2,36]),e([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),e(et,[2,117],{86:_t}),e(vt,[2,126],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(Ft,[2,128]),e(Ft,[2,130]),e(Ft,[2,131]),e(Ft,[2,132]),e(Ft,[2,133]),e(Ft,[2,134]),e(Ft,[2,135]),e(Ft,[2,136]),e(Ft,[2,137]),e(Ft,[2,138]),e(Ft,[2,139]),e(Ft,[2,140]),e(et,[2,118],{86:_t}),e(et,[2,119],{86:_t}),{10:[1,215]},e(et,[2,120],{86:_t}),{10:[1,216]},e(et,[2,110],{86:_t}),e(et,[2,111],{86:_t}),e(et,[2,112],{45:32,44:114,13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,113],{45:32,44:114,10:[1,217],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,115],{10:[1,218]}),e(rt,[2,44]),{39:[1,219]},e(rt,[2,50]),e(rt,[2,48]),e(rt,[2,52]),e(rt,[2,54]),{10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,85:220,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(Ft,[2,129]),{13:h,18:y,35:221,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{13:h,18:y,35:222,44:30,45:32,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S},{67:[1,223]},{67:[1,224]},e(rt,[2,45],{21:225,10:nt}),e(vt,[2,127],{87:214,10:yt,46:dt,71:pt,80:gt,81:ft,84:mt,88:At,89:bt,90:Et,91:xt,92:kt}),e(et,[2,123],{45:32,44:114,10:[1,226],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,124],{45:32,44:114,10:[1,227],13:h,18:y,46:p,81:E,86:x,88:k,89:_,91:v,92:F,94:D,95:C,96:T,97:w,98:S}),e(et,[2,114]),e(et,[2,116]),e(rt,[2,46]),{10:yt,46:dt,71:pt,79:228,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},{10:yt,46:dt,71:pt,79:229,80:gt,81:ft,84:mt,85:184,87:185,88:At,89:bt,90:Et,91:xt,92:kt},e(et,[2,121],{86:_t}),e(et,[2,122],{86:_t})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},Ct=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:this.begin("string");break;case 2:this.popState();break;case 3:return"STR";case 4:return 71;case 5:return 78;case 6:return 72;case 7:return 82;case 8:return 73;case 9:return 74;case 10:return 75;case 11:return 12;case 12:return 30;case 13:return 32;case 14:case 15:case 16:case 17:case 18:case 19:return 13;case 20:return 81;case 21:return 91;case 22:return 89;case 23:return 8;case 24:return 86;case 25:return 98;case 26:return 16;case 27:return 15;case 28:return 17;case 29:return 18;case 30:return 53;case 31:return 51;case 32:return 52;case 33:return 54;case 34:return 58;case 35:return 56;case 36:return 57;case 37:return 59;case 38:return 58;case 39:return 56;case 40:return 57;case 41:return 59;case 42:return 63;case 43:return 61;case 44:return 62;case 45:return 64;case 46:return 50;case 47:return 55;case 48:return 60;case 49:return 40;case 50:return 41;case 51:return 46;case 52:return 92;case 53:return 96;case 54:return 84;case 55:case 56:return 97;case 57:return 88;case 58:return 94;case 59:return 95;case 60:return 65;case 61:return 38;case 62:return 39;case 63:return 36;case 64:return 37;case 65:return 42;case 66:return 43;case 67:return 101;case 68:return 9;case 69:return 10;case 70:return 11}},rules:[/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[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])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/],conditions:{string:{rules:[2,3],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],inclusive:!0}}}}();return Dt.lexer=Ct,t.prototype=Dt,Dt.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,5],n=[1,6],i=[1,12],s=[1,13],a=[1,14],u=[1,15],o=[1,16],c=[1,17],l=[1,18],h=[1,19],y=[1,20],d=[1,21],p=[1,22],g=[8,16,17,18,19,20,21,22,23,24,25,26],f=[1,37],m=[1,33],A=[1,34],b=[1,35],E=[1,36],x=[8,10,16,17,18,19,20,21,22,23,24,25,26,28,32,37,39,40,45,57,58],k=[10,28],_=[10,28,37,57,58],v=[2,49],F=[1,45],D=[1,48],C=[1,49],T=[1,52],w=[2,65],S=[1,65],B=[1,66],L=[1,67],I=[1,68],O=[1,69],P=[1,70],N=[1,71],M=[1,72],R=[1,73],$=[8,16,17,18,19,20,21,22,23,24,25,26,47],j=[10,28,37],V={trace:function(){},yy:{},symbols_:{error:2,expressions:3,graph:4,EOF:5,graphStatement:6,idStatement:7,"{":8,stmt_list:9,"}":10,strict:11,GRAPH:12,DIGRAPH:13,textNoTags:14,textNoTagsToken:15,ALPHA:16,NUM:17,COLON:18,PLUS:19,EQUALS:20,MULT:21,DOT:22,BRKT:23,SPACE:24,MINUS:25,keywords:26,stmt:27,";":28,node_stmt:29,edge_stmt:30,attr_stmt:31,"=":32,subgraph:33,attr_list:34,NODE:35,EDGE:36,"[":37,a_list:38,"]":39,",":40,edgeRHS:41,node_id:42,edgeop:43,port:44,":":45,compass_pt:46,SUBGRAPH:47,n:48,ne:49,e:50,se:51,s:52,sw:53,w:54,nw:55,c:56,ARROW_POINT:57,ARROW_OPEN:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:"{",10:"}",11:"strict",12:"GRAPH",13:"DIGRAPH",16:"ALPHA",17:"NUM",18:"COLON",19:"PLUS",20:"EQUALS",21:"MULT",22:"DOT",23:"BRKT",24:"SPACE",25:"MINUS",26:"keywords",28:";",32:"=",35:"NODE",36:"EDGE",37:"[",39:"]",40:",",45:":",47:"SUBGRAPH",48:"n",49:"ne",50:"e",51:"se",52:"s",53:"sw",54:"w",55:"nw",56:"c",57:"ARROW_POINT",58:"ARROW_OPEN"},productions_:[0,[3,2],[4,5],[4,6],[4,4],[6,1],[6,1],[7,1],[14,1],[14,2],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[9,1],[9,3],[27,1],[27,1],[27,1],[27,3],[27,1],[31,2],[31,2],[31,2],[34,4],[34,3],[34,3],[34,2],[38,5],[38,5],[38,3],[30,3],[30,3],[30,2],[30,2],[41,3],[41,3],[41,2],[41,2],[29,2],[29,1],[42,2],[42,1],[44,4],[44,2],[44,2],[33,5],[33,4],[33,3],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,1],[46,0],[43,1],[43,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:this.$=s[u-1];break;case 2:this.$=s[u-4];break;case 3:this.$=s[u-5];break;case 4:this.$=s[u-3];break;case 8:case 10:case 11:this.$=s[u];break;case 9:this.$=s[u-1]+""+s[u];break;case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:this.$=s[u];break;case 17:this.$="<br>";break;case 39:this.$="oy";break;case 40:n.addLink(s[u-1],s[u].id,s[u].op),this.$="oy";break;case 42:n.addLink(s[u-1],s[u].id,s[u].op),this.$={op:s[u-2],id:s[u-1]};break;case 44:this.$={op:s[u-1],id:s[u]};break;case 48:n.addVertex(s[u-1]),this.$=s[u-1];break;case 49:n.addVertex(s[u]),this.$=s[u];break;case 66:this.$="arrow";break;case 67:this.$="arrow_open"}},table:[{3:1,4:2,6:3,11:[1,4],12:r,13:n},{1:[3]},{5:[1,7]},{7:8,8:[1,9],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{6:23,12:r,13:n},e(g,[2,5]),e(g,[2,6]),{1:[2,1]},{8:[1,24]},{7:30,8:f,9:25,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e([8,10,28,32,37,39,40,45,57,58],[2,7],{15:38,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p}),e(x,[2,8]),e(x,[2,10]),e(x,[2,11]),e(x,[2,12]),e(x,[2,13]),e(x,[2,14]),e(x,[2,15]),e(x,[2,16]),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),{7:39,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:40,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,41]},{10:[2,21],28:[1,42]},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(_,v,{44:44,32:[1,43],45:F}),e(k,[2,27],{41:46,43:47,57:D,58:C}),e(k,[2,47],{43:47,34:50,41:51,37:T,57:D,58:C}),{34:53,37:T},{34:54,37:T},{34:55,37:T},{7:56,8:[1,57],14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{7:30,8:f,9:58,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},e(x,[2,9]),{8:[1,59]},{10:[1,60]},{5:[2,4]},{7:30,8:f,9:61,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{7:62,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},e(_,[2,48]),e(_,w,{14:10,15:11,7:63,46:64,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(k,[2,41],{34:74,37:T}),{7:77,8:f,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,33:76,42:75,47:E},e($,[2,66]),e($,[2,67]),e(k,[2,46]),e(k,[2,40],{34:78,37:T}),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:79,39:[1,80]},e(k,[2,28]),e(k,[2,29]),e(k,[2,30]),{8:[1,82]},{7:30,8:f,9:83,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,84]},{7:30,8:f,9:85,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{5:[2,2]},{10:[2,22]},e(k,[2,26]),e(_,[2,51],{45:[1,86]}),e(_,[2,52]),e(_,[2,56]),e(_,[2,57]),e(_,[2,58]),e(_,[2,59]),e(_,[2,60]),e(_,[2,61]),e(_,[2,62]),e(_,[2,63]),e(_,[2,64]),e(k,[2,38]),e(j,[2,44],{43:47,41:87,57:D,58:C}),e(j,[2,45],{43:47,41:88,57:D,58:C}),e(_,v,{44:44,45:F}),e(k,[2,39]),{39:[1,89]},e(k,[2,34],{34:90,37:T}),{32:[1,91]},{7:30,8:f,9:92,12:m,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,27:26,29:27,30:28,31:29,33:31,35:A,36:b,42:32,47:E},{10:[1,93]},e(_,[2,55]),{10:[1,94]},e(_,w,{46:95,48:S,49:B,50:L,51:I,52:O,53:P,54:N,55:M,56:R}),e(j,[2,42]),e(j,[2,43]),e(k,[2,33],{34:96,37:T}),e(k,[2,32]),{7:97,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p},{10:[1,98]},e(_,[2,54]),{5:[2,3]},e(_,[2,50]),e(k,[2,31]),{28:[1,99],39:[2,37],40:[1,100]},e(_,[2,53]),{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:101},{7:81,14:10,15:11,16:i,17:s,18:a,19:u,20:o,21:c,22:l,23:h,24:y,25:d,26:p,38:102},{39:[2,35]},{39:[2,36]}],defaultActions:{7:[2,1],41:[2,4],60:[2,2],61:[2,22],94:[2,3],101:[2,35],102:[2,36]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},U=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:return"STYLE";case 1:return"LINKSTYLE";case 2:return"CLASSDEF";case 3:return"CLASS";case 4:return"CLICK";case 5:return 12;case 6:return 13;case 7:return 47;case 8:return 35;case 9:return 36;case 10:case 11:case 12:case 13:case 14:case 15:return"DIR";case 16:return 17;case 17:return 23;case 18:return 18;case 19:return 28;case 20:return 40;case 21:return 32;case 22:return 21;case 23:return 22;case 24:return"ARROW_CROSS";case 25:return 57;case 26:return"ARROW_CIRCLE";case 27:return 58;case 28:return 25;case 29:return 19;case 30:return 20;case 31:return 16;case 32:return"PIPE";case 33:return"PS";case 34:return"PE";case 35:return 37;case 36:return 39;case 37:return 8;case 38:return 10;case 39:return"QUOTE";case 40:return 24;case 41:return"NEWLINE";case 42:return 5}},rules:[/^(?:style\b)/,/^(?:linkStyle\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:digraph\b)/,/^(?:subgraph\b)/,/^(?:node\b)/,/^(?:edge\b)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9])/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:=)/,/^(?:\*)/,/^(?:\.)/,/^(?:--[x])/,/^(?:->)/,/^(?:--[o])/,/^(?:--)/,/^(?:-)/,/^(?:\+)/,/^(?:=)/,/^(?:[\u0021-\u0027\u002A-\u002E\u003F\u0041-\u005A\u0061-\u007A\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)/,/^(?:\n)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],inclusive:!0}}}}();return V.lexer=U,t.prototype=V,V.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,2],n=[1,3],i=[1,4],s=[2,4],a=[1,9],u=[1,11],o=[1,12],c=[1,14],l=[1,15],h=[1,17],y=[1,18],d=[1,19],p=[1,20],g=[1,21],f=[1,23],m=[1,24],A=[1,4,5,10,15,16,18,20,21,22,23,24,25,27,28,39],b=[1,32],E=[4,5,10,15,16,18,20,21,22,23,25,28,39],x=[4,5,10,15,16,18,20,21,22,23,25,27,28,39],k=[37,38,39],_={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,participant:10,actor:11,AS:12,restOfLine:13,signal:14,activate:15,deactivate:16,note_statement:17,title:18,text2:19,loop:20,end:21,opt:22,alt:23,else:24,par:25,par_sections:26,and:27,note:28,placement:29,over:30,actor_pair:31,spaceList:32,",":33,left_of:34,right_of:35,signaltype:36,"+":37,"-":38,ACTOR:39,SOLID_OPEN_ARROW:40,DOTTED_OPEN_ARROW:41,SOLID_ARROW:42,DOTTED_ARROW:43,SOLID_CROSS:44,DOTTED_CROSS:45,TXT:46,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",24:"else",25:"par",27:"and",28:"note",30:"over",33:",",34:"left_of",35:"right_of",37:"+",38:"-",39:"ACTOR",40:"SOLID_OPEN_ARROW",41:"DOTTED_OPEN_ARROW",42:"SOLID_ARROW",43:"DOTTED_ARROW",44:"SOLID_CROSS",45:"DOTTED_CROSS",46:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,7],[9,4],[26,1],[26,4],[17,4],[17,4],[32,2],[32,1],[31,3],[31,1],[29,1],[29,1],[14,5],[14,5],[14,4],[11,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 3:return n.apply(s[u]),s[u];case 4:this.$=[];break;case 5:s[u-1].push(s[u]),this.$=s[u-1];break;case 6:case 7:this.$=s[u];break;case 8:this.$=[];break;case 9:s[u-3].description=s[u-1],this.$=s[u-3];break;case 10:this.$=s[u-1];break;case 12:this.$={type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]};break;case 13:this.$={type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-1]};break;case 15:this.$=[{type:"setTitle",text:s[u-1]}];break;case 16:s[u-1].unshift({type:"loopStart",loopText:s[u-2],signalType:n.LINETYPE.LOOP_START}),s[u-1].push({type:"loopEnd",loopText:s[u-2],signalType:n.LINETYPE.LOOP_END}),this.$=s[u-1];break;case 17:s[u-1].unshift({type:"optStart",optText:s[u-2],signalType:n.LINETYPE.OPT_START}),s[u-1].push({type:"optEnd",optText:s[u-2],signalType:n.LINETYPE.OPT_END}),this.$=s[u-1];break;case 18:s[u-4].unshift({type:"altStart",altText:s[u-5],signalType:n.LINETYPE.ALT_START}),s[u-4].push({type:"else",altText:s[u-2],signalType:n.LINETYPE.ALT_ELSE}),s[u-4]=s[u-4].concat(s[u-1]),s[u-4].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=s[u-4];break;case 19:s[u-1].unshift({type:"parStart",parText:s[u-2],signalType:n.LINETYPE.PAR_START}),s[u-1].push({type:"parEnd",signalType:n.LINETYPE.PAR_END}),this.$=s[u-1];break;case 21:this.$=s[u-3].concat([{type:"and",parText:s[u-1],signalType:n.LINETYPE.PAR_AND},s[u]]);break;case 22:this.$=[s[u-1],{type:"addNote",placement:s[u-2],actor:s[u-1].actor,text:s[u]}];break;case 23:s[u-2]=[].concat(s[u-1],s[u-1]).slice(0,2),s[u-2][0]=s[u-2][0].actor,s[u-2][1]=s[u-2][1].actor,this.$=[s[u-1],{type:"addNote",placement:n.PLACEMENT.OVER,actor:s[u-2].slice(0,2),text:s[u]}];break;case 26:this.$=[s[u-2],s[u]];break;case 27:this.$=s[u];break;case 28:this.$=n.PLACEMENT.LEFTOF;break;case 29:this.$=n.PLACEMENT.RIGHTOF;break;case 30:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:s[u-1]}];break;case 31:this.$=[s[u-4],s[u-1],{type:"addMessage",from:s[u-4].actor,to:s[u-1].actor,signalType:s[u-3],msg:s[u]},{type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:s[u-4]}];break;case 32:this.$=[s[u-3],s[u-1],{type:"addMessage",from:s[u-3].actor,to:s[u-1].actor,signalType:s[u-2],msg:s[u]}];break;case 33:this.$={type:"addActor",actor:s[u]};break;case 34:this.$=n.LINETYPE.SOLID_OPEN;break;case 35:this.$=n.LINETYPE.DOTTED_OPEN;break;case 36:this.$=n.LINETYPE.SOLID;break;case 37:this.$=n.LINETYPE.DOTTED;break;case 38:this.$=n.LINETYPE.SOLID_CROSS;break;case 39:this.$=n.LINETYPE.DOTTED_CROSS;break;case 40:this.$=s[u].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:r,5:n,6:i},{1:[3]},{3:5,4:r,5:n,6:i},{3:6,4:r,5:n,6:i},e([1,4,5,10,15,16,18,20,22,23,25,28,39],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,5]),{9:25,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,25:g,28:f,39:m},e(A,[2,7]),e(A,[2,8]),{11:26,39:m},{5:[1,27]},{11:28,39:m},{11:29,39:m},{5:[1,30]},{19:31,46:b},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{36:37,40:[1,38],41:[1,39],42:[1,40],43:[1,41],44:[1,42],45:[1,43]},{29:44,30:[1,45],34:[1,46],35:[1,47]},e([5,12,33,40,41,42,43,44,45,46],[2,33]),e(A,[2,6]),{5:[1,49],12:[1,48]},e(A,[2,11]),{5:[1,50]},{5:[1,51]},e(A,[2,14]),{5:[1,52]},{5:[2,40]},e(E,s,{7:53}),e(E,s,{7:54}),e([4,5,10,15,16,18,20,22,23,24,25,28,39],s,{7:55}),e(x,s,{26:56,7:57}),{11:60,37:[1,58],38:[1,59],39:m},e(k,[2,34]),e(k,[2,35]),e(k,[2,36]),e(k,[2,37]),e(k,[2,38]),e(k,[2,39]),{11:61,39:m},{11:63,31:62,39:m},{39:[2,28]},{39:[2,29]},{13:[1,64]},e(A,[2,10]),e(A,[2,12]),e(A,[2,13]),e(A,[2,15]),{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,65],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,66],22:d,23:p,25:g,28:f,39:m},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,22:d,23:p,24:[1,67],25:g,28:f,39:m},{21:[1,68]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[2,20],22:d,23:p,25:g,27:[1,69],28:f,39:m},{11:70,39:m},{11:71,39:m},{19:72,46:b},{19:73,46:b},{19:74,46:b},{33:[1,75],46:[2,27]},{5:[1,76]},e(A,[2,16]),e(A,[2,17]),{13:[1,77]},e(A,[2,19]),{13:[1,78]},{19:79,46:b},{19:80,46:b},{5:[2,32]},{5:[2,22]},{5:[2,23]},{11:81,39:m},e(A,[2,9]),e(E,s,{7:82}),e(x,s,{7:57,26:83}),{5:[2,30]},{5:[2,31]},{46:[2,26]},{4:a,5:u,8:8,9:10,10:o,11:22,14:13,15:c,16:l,17:16,18:h,20:y,21:[1,84],22:d,23:p,25:g,28:f,39:m},{21:[2,21]},e(A,[2,18])],defaultActions:{5:[2,1],6:[2,2],32:[2,40],46:[2,28],47:[2,29],72:[2,32],73:[2,22],74:[2,23],79:[2,30],80:[2,31],81:[2,26],83:[2,21]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},v=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 5;case 1:case 2:case 3:case 4:break;case 5:return this.begin("ID"),10;case 6:return this.begin("ALIAS"),39;case 7:return this.popState(),this.popState(),this.begin("LINE"),12;case 8:return this.popState(),this.popState(),5;case 9:return this.begin("LINE"),20;case 10:return this.begin("LINE"),22;case 11:return this.begin("LINE"),23;case 12:return this.begin("LINE"),24;case 13:return this.begin("LINE"),25;case 14:return this.begin("LINE"),27;case 15:return this.popState(),13;case 16:return 21;case 17:return 34;case 18:return 35;case 19:return 30;case 20:return 28;case 21:return this.begin("ID"),15;case 22:return this.begin("ID"),16;case 23:return 18;case 24:return 6;case 25:return 33;case 26:return 5;case 27:return e.yytext=e.yytext.trim(),39;case 28:return 42;case 29:return 43;case 30:return 40;case 31:return 41;case 32:return 44;case 33:return 45;case 34:return 46;case 35:return 37;case 36:return 38;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\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,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[2,3,15],inclusive:!1},ALIAS:{rules:[2,3,7,8],inclusive:!1},ID:{rules:[2,3,6],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}}}();return _.lexer=v,t.prototype=_,_.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n={},i=[],s=[],a="",u=r(0),o=u.Log;e.addActor=function(t,e,r){var i=n[t];i&&e===i.name&&null==r||(null==r&&(r=e),n[t]={name:e,description:r})},e.addMessage=function(t,e,r,n){i.push({from:t,to:e,message:r,answer:n})},e.addSignal=function(t,e,r,n){o.debug("Adding message from="+t+" to="+e+" message="+r+" type="+n),i.push({from:t,to:e,message:r,type:n})},e.getMessages=function(){return i},e.getActors=function(){return n},e.getActor=function(t){return n[t]},e.getActorKeys=function(){return Object.keys(n)},e.getTitle=function(){return a},e.clear=function(){n={},i=[]},e.LINETYPE={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21},e.ARROWTYPE={FILLED:0,OPEN:1},e.PLACEMENT={LEFTOF:0,RIGHTOF:1,OVER:2},e.addNote=function(t,r,n){var a={actor:t,placement:r,message:n},u=[].concat(t,t);s.push(a),i.push({from:u[0],to:u[1],message:n,type:e.LINETYPE.NOTE,placement:r})},e.setTitle=function(t){a=t},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)},e.apply=function(t){if(t instanceof Array)t.forEach(function(t){e.apply(t)});else switch(t.type){case"addActor":e.addActor(t.actor,t.actor,t.description);break;case"activeStart":case"activeEnd":e.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":e.addNote(t.actor,t.placement,t.text);break;case"addMessage":e.addSignal(t.from,t.to,t.msg,t.signalType);break;case"loopStart":e.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"optStart":e.addSignal(void 0,void 0,t.optText,t.signalType);break;case"optEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"altStart":case"else":e.addSignal(void 0,void 0,t.altText,t.signalType);break;case"altEnd":e.addSignal(void 0,void 0,void 0,t.signalType);break;case"setTitle":e.setTitle(t.text);break;case"parStart":case"and":e.addSignal(void 0,void 0,t.parText,t.signalType);break;case"parEnd":e.addSignal(void 0,void 0,void 0,t.signalType)}}},function(t,e,r){"use strict";var n=r(0),i=n.Log,s="",a=!1;e.setMessage=function(t){i.debug("Setting message to: "+t),s=t},e.getMessage=function(){return s},e.setInfo=function(t){a=t},e.getInfo=function(){return a},e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,9,10,12],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,message:11,say:12,TXT:13,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo",12:"say",13:"TXT"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1],[8,1],[11,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return n;case 4:break;case 6:n.setInfo(!0);break;case 7:n.setMessage(s[u]);break;case 8:this.$=s[u-1].substring(1).trim().replace(/\\n/gm,"\n")}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8],11:9,12:[1,10]},{1:[2,1]},e(r,[2,3]),e(r,[2,4]),e(r,[2,5]),e(r,[2,6]),e(r,[2,7]),{13:[1,11]},e(r,[2,8])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},i=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 9;case 1:return 10;case 2:return 4;case 3:return 12;case 4:return 13;case 5:return 6;case 6:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:showInfo\b)/i,/^(?:info\b)/i,/^(?:say\b)/i,/^(?::[^#\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6],inclusive:!0}}}}();return n.lexer=i,t.prototype=n,n.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[6,8,10,11,12,13,14],n=[1,9],i=[1,10],s=[1,11],a=[1,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,dateFormat:11,title:12,section:13,taskTxt:14,taskData:15,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"title",13:"section",14:"taskTxt",15:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,2]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:this.$=[];break;case 3:s[u-1].push(s[u]),this.$=s[u-1];break;case 4:case 5:this.$=s[u];break;case 6:case 7:this.$=[];break;case 8:n.setDateFormat(s[u].substr(11)),this.$=s[u].substr(11);break;case 9:n.setTitle(s[u].substr(6)),this.$=s[u].substr(6);break;case 10:n.addSection(s[u].substr(8)),this.$=s[u].substr(8);break;case 11:n.addTask(s[u-1],s[u]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},e(r,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,13:s,14:a},e(r,[2,7],{1:[2,1]}),e(r,[2,3]),{9:13,11:n,12:i,13:s,14:a},e(r,[2,5]),e(r,[2,6]),e(r,[2,8]),e(r,[2,9]),e(r,[2,10]),{15:[1,14]},e(r,[2,4]),e(r,[2,11])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},o=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){case 0:return 10;case 1:case 2:case 3:break;case 4:return 4;case 5:return 11;case 6:return"date";case 7:return 12;case 8:return 13;case 9:return 14;case 10:return 15;case 11:return":";case 12:return 6;case 13:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\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:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}}}();return u.lexer=o,t.prototype=u,u.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n=r(15),i=r(0),s=i.Log,a="",u="",o=[],c=[],l="";e.clear=function(){o=[],c=[],l="",u="",g=0,h=void 0,y=void 0,b=[]},e.setDateFormat=function(t){a=t},e.getDateFormat=function(){return a},e.setTitle=function(t){u=t},e.getTitle=function(){return u},e.addSection=function(t){l=t,o.push(t)},e.getTasks=function(){for(var t=x(),e=0;!t&&e<10;)t=x(),e++;return c=b};var h,y,d=function(t,r,i){i=i.trim();var a=/^after\s+([\d\w-]+)/,u=a.exec(i.trim());if(null!==u){var o=e.findTaskById(u[1]);if(void 0===o){var c=new Date;return c.setHours(0,0,0,0),c}return o.endTime}return n(i,r.trim(),!0).isValid()?n(i,r.trim(),!0).toDate():(s.debug("Invalid date:"+i),s.debug("With date format:"+r.trim()),new Date)},p=function(t,e,r){if(r=r.trim(),n(r,e.trim(),!0).isValid())return n(r,e.trim()).toDate();var i=n(t),s=/^([\d]+)([wdhms])/,a=s.exec(r.trim());if(null!==a){switch(a[2]){case"s":i.add(a[1],"seconds");break;case"m":i.add(a[1],"minutes");break;case"h":i.add(a[1],"hours");break;case"d":i.add(a[1],"days");break;case"w":i.add(a[1],"weeks")}return i.toDate()}return i.toDate()},g=0,f=function(t){return void 0===t?"task"+(g+=1):t},m=function(t,r){var n;n=":"===r.substr(0,1)?r.substr(1,r.length):r;for(var i=n.split(","),s={},a=e.getDateFormat(),u=!0;u;)u=!1,i[0].match(/^\s*active\s*$/)&&(s.active=!0,i.shift(1),u=!0),i[0].match(/^\s*done\s*$/)&&(s.done=!0,i.shift(1),u=!0),i[0].match(/^\s*crit\s*$/)&&(s.crit=!0,i.shift(1),u=!0);var o;for(o=0;o<i.length;o++)i[o]=i[o].trim();switch(i.length){case 1:s.id=f(),s.startTime=t.endTime,s.endTime=p(s.startTime,a,i[0]);break;case 2:s.id=f(),s.startTime=d(0,a,i[0]),s.endTime=p(s.startTime,a,i[1]);break;case 3:s.id=f(i[0]),s.startTime=d(0,a,i[1]),s.endTime=p(s.startTime,a,i[2])}return s},A=function(t,e){var r;r=":"===e.substr(0,1)?e.substr(1,e.length):e;for(var n=r.split(","),i={},s=!0;s;)s=!1,n[0].match(/^\s*active\s*$/)&&(i.active=!0,n.shift(1),s=!0),n[0].match(/^\s*done\s*$/)&&(i.done=!0,n.shift(1),s=!0),n[0].match(/^\s*crit\s*$/)&&(i.crit=!0,n.shift(1),s=!0);var a;for(a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:i.id=f(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:n[0]};break;case 2:i.id=f(),i.startTime={type:"getStartDate",startData:n[0]},i.endTime={data:n[1]};break;case 3:i.id=f(n[0]),i.startTime={type:"getStartDate",startData:n[1]},i.endTime={data:n[2]}}return i},b=[],E={};e.addTask=function(t,e){var r={section:l,type:l,processed:!1,raw:{data:e},task:t},n=A(y,e);r.raw.startTime=n.startTime,r.raw.endTime=n.endTime,r.id=n.id,r.prevTaskId=y,r.active=n.active,r.done=n.done,r.crit=n.crit;var i=b.push(r);y=r.id,E[r.id]=i-1},e.findTaskById=function(t){var e=E[t];return b[e]},e.addTaskOrg=function(t,e){var r={section:l,type:l,description:t,task:t},n=m(h,e);r.startTime=n.startTime,r.endTime=n.endTime,r.id=n.id,r.active=n.active,r.done=n.done,r.crit=n.crit,h=r,c.push(r)};var x=function(){var t,r=e.getDateFormat(),n=!0;for(t=0;t<b.length;t++)!function(t){var n=b[t],i="";switch(b[t].raw.startTime.type){case"prevTaskEnd":var s=e.findTaskById(n.prevTaskId);n.startTime=s.endTime;break;case"getStartDate":i=d(0,r,b[t].raw.startTime.startData),i&&(b[t].startTime=i)}b[t].startTime&&(b[t].endTime=p(b[t].startTime,r,b[t].raw.endTime.data),b[t].endTime&&(b[t].processed=!0)),b[t].processed}(t),n=n&&b[t].processed;return n};e.parseError=function(t,e){global.mermaidAPI.parseError(t,e)}},function(t,e){t.exports=require("moment")},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[1,11],n=[1,12],i=[1,13],s=[1,15],a=[1,16],u=[1,17],o=[6,8],c=[1,26],l=[1,27],h=[1,28],y=[1,29],d=[1,30],p=[1,31],g=[6,8,13,17,23,26,27,28,29,30,31],f=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],m=[23,45,46,47],A=[23,30,31,45,46,47],b=[23,26,27,28,29,45,46,47],E=[6,8,13],x=[1,46],k={trace:function(){},yy:{},symbols_:{error:2,mermaidDoc:3,graphConfig:4,CLASS_DIAGRAM:5,NEWLINE:6,statements:7,EOF:8,statement:9,className:10,alphaNumToken:11,relationStatement:12,LABEL:13,classStatement:14,methodStatement:15,CLASS:16,STRUCT_START:17,members:18,STRUCT_STOP:19,MEMBER:20,SEPARATOR:21,relation:22,STR:23,relationType:24,lineType:25,AGGREGATION:26,EXTENSION:27,COMPOSITION:28,DEPENDENCY:29,LINE:30,DOTTED_LINE:31,commentToken:32,textToken:33,graphCodeTokens:34,textNoTagsToken:35,TAGSTART:36,TAGEND:37,"==":38,"--":39,PCT:40,DEFAULT:41,SPACE:42,MINUS:43,keywords:44,UNICODE_TEXT:45,NUM:46,ALPHA:47,$accept:0,$end:1},terminals_:{2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"},productions_:[0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]],performAction:function(t,e,r,n,i,s,a){var u=s.length-1;switch(i){case 5:this.$=s[u-1]+s[u];break;case 6:this.$=s[u];break;case 7:n.addRelation(s[u]);break;case 8:s[u-1].title=n.cleanupLabel(s[u]),n.addRelation(s[u-1]);break;case 12:n.addMembers(s[u-3],s[u-1]);break;case 13:this.$=[s[u]];break;case 14:s[u].push(s[u-1]),this.$=s[u];break;case 15:break;case 16:n.addMembers(s[u-1],n.cleanupLabel(s[u]));break;case 17:console.warn("Member",s[u]);break;case 18:break;case 19:this.$={id1:s[u-2],id2:s[u],relation:s[u-1],relationTitle1:"none",relationTitle2:"none"};break;case 20:this.$={id1:s[u-3],id2:s[u],relation:s[u-1],relationTitle1:s[u-2],relationTitle2:"none"};break;case 21:this.$={id1:s[u-3],id2:s[u],relation:s[u-2],relationTitle1:"none",relationTitle2:s[u-1]};break;case 22:this.$={id1:s[u-4],id2:s[u],relation:s[u-2],relationTitle1:s[u-3],relationTitle2:s[u-1]};break;case 23:this.$={type1:s[u-2],type2:s[u],lineType:s[u-1]};break;case 24:this.$={type1:"none",type2:s[u],lineType:s[u-1]};break;case 25:this.$={type1:s[u-1],type2:"none",lineType:s[u]};break;case 26:this.$={type1:"none",type2:"none",lineType:s[u]};break;case 27:this.$=n.relationType.AGGREGATION;break;case 28:this.$=n.relationType.EXTENSION;break;case 29:this.$=n.relationType.COMPOSITION;break;case 30:this.$=n.relationType.DEPENDENCY;break;case 31:this.$=n.lineType.LINE;break;case 32:this.$=n.lineType.DOTTED_LINE}},table:[{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},{8:[1,18]},{6:[1,19],8:[2,3]},e(o,[2,7],{13:[1,20]}),e(o,[2,9]),e(o,[2,10]),e(o,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:c,27:l,28:h,29:y,30:d,31:p}),{10:32,11:14,45:s,46:a,47:u},e(o,[2,17]),e(o,[2,18]),e(g,[2,6],{11:14,10:33,45:s,46:a,47:u}),e(f,[2,46]),e(f,[2,47]),e(f,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:r,20:n,21:i,45:s,46:a,47:u},e(o,[2,8]),{10:35,11:14,23:[1,36],45:s,46:a,47:u},{22:37,24:24,25:25,26:c,27:l,28:h,29:y,30:d,31:p},e(o,[2,16]),{25:38,30:d,31:p},e(m,[2,26],{24:39,26:c,27:l,28:h,29:y}),e(A,[2,27]),e(A,[2,28]),e(A,[2,29]),e(A,[2,30]),e(b,[2,31]),e(b,[2,32]),e(o,[2,11],{17:[1,40]}),e(g,[2,5]),{8:[2,4]},e(E,[2,19]),{10:41,11:14,45:s,46:a,47:u},{10:42,11:14,23:[1,43],45:s,46:a,47:u},e(m,[2,25],{24:44,26:c,27:l,28:h,29:y}),e(m,[2,24]),{18:45,20:x},e(E,[2,21]),e(E,[2,20]),{10:47,11:14,45:s,46:a,47:u},e(m,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:x},e(E,[2,22]),e(o,[2,12]),{19:[2,14]}],defaultActions:{2:[2,1],18:[2,2],34:[2,4],49:[2,14]},parseError:function(t,e){if(!e.recoverable){var r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},_=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){switch(r){case 0:break;case 1:return 6;case 2:break;case 3:return 5;case 4:return this.begin("struct"),17;case 5:return this.popState(),19;case 6:break;case 7:return"MEMBER";case 8:return 16;case 9:this.begin("string");break;case 10:this.popState();break;case 11:return"STR";case 12:case 13:return 27;case 14:case 15:return 29;case 16:return 28;case 17:return 26;case 18:return 30;case 19:return 31;case 20:return 13;case 21:return 43;case 22:return"DOT";case 23:return"PLUS";case 24:return 40;case 25:case 26:return"EQUALS";case 27:return 47;case 28:return"PUNCTUATION";case 29:return 46;case 30:return 45;case 31:return 42;case 32:return 8}},rules:[/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[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:{string:{rules:[10,11],inclusive:!1},struct:{rules:[5,6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!0}}}}();return k.lexer=_,t.prototype=k,k.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";var n,i=r(0),s=i.Log,a=[];n={},e.addClass=function(t){void 0===n[t]&&(n[t]={id:t,methods:[],members:[]})},e.clear=function(){a=[],n={}},t.exports.getClass=function(t){return n[t]},t.exports.getClasses=function(){return n},t.exports.getRelations=function(){return a},e.addRelation=function(t){s.warn("Adding relation: "+JSON.stringify(t)),e.addClass(t.id1),e.addClass(t.id2),a.push(t)},e.addMembers=function(t,e){var r=n[t];"string"==typeof e&&(")"===e.substr(-1)?r.methods.push(e):r.members.push(e))},e.cleanupLabel=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},e.lineType={LINE:0,DOTTED_LINE:1},e.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}},function(t,e,r){"use strict";(function(t){var n=function(){function t(){this.yy={}}var e=function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r},r=[2,3],n=[1,7],i=[7,12,15,17,19,20,21],s=[7,11,12,15,17,19,20,21],a=[2,20],u=[1,32],o={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,r,n,i,s,a){var u=s.length-1;switch(i){case 1:return s[u-1];case 2:return n.setDirection(s[u-3]),s[u-1];case 4:n.setOptions(s[u-1]),this.$=s[u];break;case 5:s[u-1]+=s[u],this.$=s[u-1];break;case 7:this.$=[];break;case 8:s[u-1].push(s[u]),this.$=s[u-1];break;case 9:this.$=s[u-1];break;case 11:n.commit(s[u]);break;case 12:n.branch(s[u]);break;case 13:n.checkout(s[u]);break;case 14:n.merge(s[u]);break;case 15:n.reset(s[u]);break;case 16:this.$="";break;case 17:this.$=s[u];break;case 18:this.$=s[u-1]+":"+s[u];break;case 19:this.$=s[u-1]+":"+n.count,n.count=0;break;case 20:n.count=0;break;case 21:n.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:r,9:6,12:n},{5:[1,8]},{7:[1,9]},e(i,[2,7],{10:10,11:[1,11]}),e(s,[2,6]),{6:12,7:r,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]},e(s,[2,5]),{7:[1,21]},e(i,[2,8]),{12:[1,22]},e(i,[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]},e(i,[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:u},{12:a,25:33,26:u},{12:[2,18]},{12:a,25:34,26:u},{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 r=function(t,e){this.message=t,this.hash=e};throw r.prototype=Error,new r(t,e)}this.trace(t)},parse:function(t){var e=this,r=[0],n=[null],i=[],s=this.table,a="",u=0,o=0,c=0,l=i.slice.call(arguments,1),h=Object.create(this.lexer),y={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(y.yy[d]=this.yy[d]);h.setInput(t,y.yy),y.yy.lexer=h,y.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;i.push(p);var g=h.options&&h.options.ranges;"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,A,b,E,x,k,_,v,F={};;){if(A=r[r.length-1],this.defaultActions[A]?b=this.defaultActions[A]:(null!==f&&void 0!==f||(f=function(){var t;return t=h.lex()||1,"number"!=typeof t&&(t=e.symbols_[t]||t),t}()),b=s[A]&&s[A][f]),void 0===b||!b.length||!b[0]){var D="";v=[];for(x in s[A])this.terminals_[x]&&x>2&&v.push("'"+this.terminals_[x]+"'");D=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(D,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+f);switch(b[0]){case 1:r.push(f),n.push(h.yytext),i.push(h.yylloc),r.push(b[1]),f=null,m?(f=m,m=null):(o=h.yyleng,a=h.yytext,u=h.yylineno,p=h.yylloc,c>0&&c--);break;case 2:if(k=this.productions_[b[1]][1],F.$=n[n.length-k],F._$={first_line:i[i.length-(k||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(k||1)].first_column,last_column:i[i.length-1].last_column},g&&(F._$.range=[i[i.length-(k||1)].range[0],i[i.length-1].range[1]]),void 0!==(E=this.performAction.apply(F,[a,o,u,y.yy,b[1],n,i].concat(l))))return E;k&&(r=r.slice(0,-1*k*2),n=n.slice(0,-1*k),i=i.slice(0,-1*k)),r.push(this.productions_[b[1]][0]),n.push(F.$),i.push(F._$),_=s[r[r.length-2]][r[r.length-1]],r.push(_);break;case 3:return!0}}return!0}},c=function(){return{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,r=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 n=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[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 r,n,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))),n=t[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((r=this._input.match(this.rules[i[s]]))&&(!e||r[0].length>e[0].length)){if(e=r,n=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&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),t>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,n){switch(r){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_]+)/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}}}}();return o.lexer=c,t.prototype=o,o.Parser=t,new t}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=r(3).readFileSync(r(4).normalize(t[1]),"utf8");return e.parser.parse(n)},void 0!==t&&r.c[r.s]===t&&e.main(process.argv.slice(1))}).call(e,r(2)(t))},function(t,e,r){"use strict";function n(t,e){return Math.floor(Math.random()*(e-t))+t}function i(){for(var t="",e=0;e<7;e++)t+="0123456789abcdef"[n(0,16)];return t}function s(t,e){for(l.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return l.debug("In merge commit:",e.parent),s(t,y[e.parent[0]])||s(t,y[e.parent[1]]);e=y[e.parent]}return l.debug(t.id,e.id),t.id===e.id}function a(t,e){return t.seq>e.seq&&s(e,t)}function u(t,e,r){var n=t.indexOf(e);-1===n?t.push(r):t.splice(n,1,r)}function o(t){var e=h.maxBy(t,"seq"),r="";t.forEach(function(t){r+=t===e?"\t*":"\t|"});var n=[r,e.id,e.seq];if(h.each(p,function(t,r){t===e.id&&n.push(r)}),l.debug(n.join(" ")),Array.isArray(e.parent)){var i=y[e.parent[0]];u(t,e,i),t.push(y[e.parent[1]])}else{if(null==e.parent)return;var s=y[e.parent];u(t,e,s)}t=h.uniqBy(t,"id"),o(t)}var c=r(0),l=c.Log,h=r(20),y={},d=null,p={master:d},g="master",f="LR",m=0;e.setDirection=function(t){f=t};var A={};e.setOptions=function(t){l.debug("options str",t),t=t&&t.trim(),t=t||"{}";try{A=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},e.getOptions=function(){return A},e.commit=function(t){var e={id:i(),message:t,seq:m++,parent:null==d?null:d.id};d=e,y[e.id]=e,p[g]=e.id,l.debug("in pushCommit "+e.id)},e.branch=function(t){p[t]=null!=d?d.id:null,l.debug("in createBranch")},e.merge=function(t){var e=y[p[g]],r=y[p[t]];if(a(e,r))return void l.debug("Already merged");if(s(e,r))p[g]=p[t],d=y[p[g]];else{var n={id:i(),message:"merged branch "+t+" into "+g,seq:m++,parent:[null==d?null:d.id,p[t]]};d=n,y[n.id]=n,p[g]=n.id}l.debug(p),l.debug("in mergeBranch")},e.checkout=function(t){l.debug("in checkout"),g=t;var e=p[g];d=y[e]},e.reset=function(t){l.debug("in reset",t);var e=t.split(":")[0],r=parseInt(t.split(":")[1]),n="HEAD"===e?d:y[p[e]];for(l.debug(n,r);r>0;)if(n=y[n.parent],r--,!n){var i="Critical error - unique parent commit not found during reset";throw l.error(i),i}d=n,p[g]=n.id},e.prettyPrint=function(){l.debug(y),o([e.getCommitsArray()[0]])},e.clear=function(){y={},d=null,p={master:d},g="master",m=0},e.getBranchesAsObjArray=function(){return h.map(p,function(t,e){return{name:e,commit:y[t]}})},e.getBranches=function(){return p},e.getCommits=function(){return y},e.getCommitsArray=function(){var t=Object.keys(y).map(function(t){return y[t]});return t.forEach(function(t){l.debug(t.id)}),h.orderBy(t,["seq"],["desc"])},e.getCurrentBranch=function(){return g},e.getDirection=function(){return f},e.getHead=function(){return d}},function(t,e){t.exports=require("lodash")},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(0),s=i.Log,a=r(5),u=r(6),o=r(23),c=r(25),l=r(27),h=r(12),y=r(7),d=r(8),p=r(9),g=r(10),f=r(11),m=r(28),A=r(13),b=r(14),E=r(16),x=r(29),k=r(17),_=r(18),v=r(31),F=r(19),D=r(1),C={logLevel:5,cloneCssStyles:!0,startOnLoad:!0,arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequenceDiagram:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:3,axisFormatter:[["%I:%M",function(t){return t.getHours()}],["w. %U",function(t){return 1===t.getDay()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%m-%y",function(t){return t.getMonth()}]]},classDiagram:{},gitGraph:{},info:{}};i.setLogLevel(C.logLevel);var T=function(t){var e,r=u.detectType(t);switch(r){case"gitGraph":e=_,e.parser.yy=F;break;case"graph":e=y,e.parser.yy=a;break;case"dotGraph":e=d,e.parser.yy=a;break;case"sequenceDiagram":e=p,e.parser.yy=g;break;case"info":e=h,e.parser.yy=f;break;case"gantt":e=A,e.parser.yy=b;break;case"classDiagram":e=E,e.parser.yy=k}try{return e.parse(t),!0}catch(t){return!1}};e.parse=T,e.version=function(){return r(32).version},e.encodeEntities=function(t){var e=t;return e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)}),e=e.replace(/#\w+;/g,function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},e.decodeEntities=function(t){var e=t;return e=e.replace(/fl°°/g,function(){return"&#"}),e=e.replace(/fl°/g,function(){return"&"}),e=e.replace(/¶ß/g,function(){return";"})};var w=function(t,r,n,i){if(void 0!==i)i.innerHTML="",D.select(i).append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var h=document.querySelector("#d"+t);h&&(h.innerHTML=""),D.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=r,r=e.encodeEntities(r);var y=D.select("#d"+t).node(),d=u.detectType(r),p={};switch(d){case"gitGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,v.setConf(C.gitGraph),v.draw(r,t,!1);break;case"graph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!1),C.cloneCssStyles&&(p=o.getClasses(r,!1),u.cloneCssStyles(y.firstChild,p));break;case"dotGraph":C.flowchart.arrowMarkerAbsolute=C.arrowMarkerAbsolute,o.setConf(C.flowchart),o.draw(r,t,!0),C.cloneCssStyles&&(p=o.getClasses(r,!0),u.cloneCssStyles(y.firstChild,p));break;case"sequenceDiagram":C.sequenceDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,c.setConf(C.sequenceDiagram),c.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"gantt":C.gantt.arrowMarkerAbsolute=C.arrowMarkerAbsolute,m.setConf(C.gantt),m.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"classDiagram":C.classDiagram.arrowMarkerAbsolute=C.arrowMarkerAbsolute,x.setConf(C.classDiagram),x.draw(r,t),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[]);break;case"info":C.info.arrowMarkerAbsolute=C.arrowMarkerAbsolute,l.draw(r,t,e.version()),C.cloneCssStyles&&u.cloneCssStyles(y.firstChild,[])}D.select("#d"+t).selectAll("foreignobject div").attr("xmlns","http://www.w3.org/1999/xhtml");var g="";C.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)"));var f=D.select("#d"+t).node().innerHTML.replace(/url\(#arrowhead/g,"url("+g+"#arrowhead","g");f=e.decodeEntities(f),void 0!==n?n(f,a.bindFunctions):s.warn("CB = undefined!");var A=D.select("#d"+t).node();return null!==A&&"function"==typeof A.remove&&D.select("#d"+t).node().remove(),f};e.render=function(t,e,r,n){try{if(1===arguments.length&&(e=t,t="mermaidId0"),"undefined"!=typeof document)return w(t,e,r,n)}catch(t){s.warn(t)}};var S=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)if("object"===n(t[r[e]])){var i,a=Object.keys(t[r[e]]);for(i=0;i<a.length;i++)s.debug("Setting conf ",r[e],"-",a[i]),void 0===C[r[e]]&&(C[r[e]]={}),s.debug("Setting config: "+r[e]+" "+a[i]+" to "+t[r[e]][a[i]]),C[r[e]][a[i]]=t[r[e]][a[i]]}else C[r[e]]=t[r[e]]};e.initialize=function(t){s.debug("Initializing mermaidAPI"),"object"===(void 0===t?"undefined":n(t))&&S(t),i.setLogLevel(C.logLevel)},e.getConfig=function(){return C},e.parseError=function(t,e){"undefined"!=typeof mermaid?global.mermaid.parseError(t,e):(s.debug("Mermaid Syntax error:"),s.debug(t))},global.mermaidAPI={render:e.render,parse:e.parse,initialize:e.initialize,detectType:u.detectType,parseError:e.parseError,getConfig:e.getConfig}},function(t,e){t.exports=require("d3")},function(t,e,r){"use strict";var n=r(5),i=r(7),s=r(8),a=r(1),u=r(24),o=r(0),c=o.Log,l={};t.exports.setConf=function(t){var e,r=Object.keys(t);for(e=0;e<r.length;e++)l[r[e]]=t[r[e]]},e.addVertices=function(t,e){var r=function(t,e){var r;for(r=0;r<e.length;r++)void 0!==e[r]&&(t=t+e[r]+";");return t};Object.keys(t).forEach(function(n){var i,s=t[n],a="";s.classes.length>0&&(a=s.classes.join(" "));var u="";u=r(u,s.styles),i=void 0===s.text?s.id:s.text;var o="";if(l.htmlLabels)o="html",i=i.replace(/fa:fa[\w-]+/g,function(t){return'<i class="fa '+t.substring(3)+'"></i>'});else{var c=document.createElementNS("http://www.w3.org/2000/svg","text"),h=i.split(/<br>/),y=0;for(y=0;y<h.length;y++){var d=document.createElementNS("http://www.w3.org/2000/svg","tspan");d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),d.setAttribute("dy","1em"),d.setAttribute("x","1"),d.textContent=h[y],c.appendChild(d)}o="svg",i=c}var p=0,g="";switch(s.type){case"round":p=5,g="rect";break;case"square":g="rect";break;case"diamond":g="question";break;case"odd":case"odd_right":g="rect_left_inv_arrow";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"group":g="rect",i=l.htmlLabels?"":document.createElementNS("http://www.w3.org/2000/svg","text");break;default:g="rect"}e.setNode(s.id,{labelType:o,shape:g,label:i,rx:p,ry:p,class:a,style:u,id:s.id})})},e.addEdges=function(t,e){var r,n=0;void 0!==t.defaultStyle&&(r=t.defaultStyle.toString().replace(/,/g,";")),t.forEach(function(i){n++;var s={};"arrow_open"===i.type?s.arrowhead="none":s.arrowhead="normal";var a="";if(void 0!==i.style)i.style.forEach(function(t){a=a+t+";"});else switch(i.stroke){case"normal":a="fill:none",void 0!==r&&(a=r);break;case"dotted":a="stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":a="stroke: #333; stroke-width: 3.5px;fill:none"}s.style=a,void 0!==i.interpolate?s.lineInterpolate=i.interpolate:void 0!==t.defaultInterpolate&&(s.lineInterpolate=t.defaultInterpolate),void 0===i.text?void 0!==i.style&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",void 0===i.style?(s.labelpos="c",l.htmlLabels?(s.labelType="html",s.label='<span class="edgeLabel">'+i.text+"</span>"):(s.labelType="text",s.style="stroke: #333; stroke-width: 1.5px;fill:none",s.label=i.text.replace(/<br>/g,"\n"))):s.label=i.text.replace(/<br>/g,"\n")),e.setEdge(i.start,i.end,s,n)})},e.getClasses=function(t,e){var r;n.clear(),r=e?s.parser:i.parser,r.yy=n,r.parse(t);var a=n.getClasses();return void 0===a.default&&(a.default={id:"default"},a.default.styles=[],a.default.clusterStyles=["rx:4px","fill: rgb(255, 255, 222)","rx: 4px","stroke: rgb(170, 170, 51)","stroke-width: 1px"],a.default.nodeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"],a.default.edgeLabelStyles=["fill:#000","stroke:none","font-weight:300",'font-family:"Helvetica Neue",Helvetica,Arial,sans-serf',"font-size:14px"]),a},e.draw=function(t,r,o){c.debug("Drawing flowchart");var h;n.clear(),h=o?s.parser:i.parser,h.yy=n;try{h.parse(t)}catch(t){c.debug("Parsing failed")}var y;void 0===(y=n.getDirection())&&(y="TD");var d,p=new u.graphlib.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:y,marginx:20,marginy:20}).setDefaultEdgeLabel(function(){return{}}),g=n.getSubGraphs(),f=0;for(f=g.length-1;f>=0;f--)d=g[f],n.addVertex(d.id,d.title,"group",void 0);var m=n.getVertices(),A=n.getEdges();f=0;var b;for(f=g.length-1;f>=0;f--)for(d=g[f],a.selectAll("cluster").append("text"),b=0;b<d.nodes.length;b++)p.setParent(d.nodes[b],d.id);e.addVertices(m,p),e.addEdges(A,p);var E=u.render,x=new E;x.shapes().question=function(t,e,r){var n=e.width,i=e.height,s=.8*(n+i),a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("rx",5).attr("ry",5).attr("transform","translate("+-s/2+","+2*s/4+")");return r.intersect=function(t){return u.intersect.polygon(r,a,t)},o},x.shapes().rect_left_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.shapes().rect_right_inv_arrow=function(t,e,r){var n=e.width,i=e.height,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],a=t.insert("polygon",":first-child").attr("points",s.map(function(t){return t.x+","+t.y}).join(" ")).attr("transform","translate("+-n/2+","+2*i/4+")");return r.intersect=function(t){return u.intersect.polygon(r,s,t)},a},x.arrows().none=function(t,e,r,n){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=i.append("path").attr("d","M 0 0 L 0 0 L 0 0 z");u.util.applyStyle(s,r[n+"Style"])},x.arrows().normal=function(t,e,r,n){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var k=a.select("#"+r),_=a.select("#"+r+" g");for(x(_,p),_.selectAll("g.node").attr("title",function(){return n.getTooltip(this.id)}),l.useMaxWidth?(k.attr("height","100%"),k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20)),k.attr("style","max-width:"+(p.graph().width+20)+"px;")):(k.attr("height",p.graph().height),void 0===l.width?k.attr("width",p.graph().width):k.attr("width",l.width),k.attr("viewBox","0 0 "+(p.graph().width+20)+" "+(p.graph().height+20))),n.indexNodes("subGraph"+f),f=0;f<g.length;f++)if(d=g[f],"undefined"!==d.title){var v=document.querySelectorAll("#"+r+" #"+d.id+" rect"),F=document.querySelectorAll("#"+r+" #"+d.id),D=v[0].x.baseVal.value,C=v[0].y.baseVal.value,T=v[0].width.baseVal.value,w=a.select(F[0]),S=w.append("text");S.attr("x",D+T/2),S.attr("y",C+14),S.attr("fill","black"),S.attr("stroke","none"),S.attr("id",r+"Text"),S.style("text-anchor","middle"),void 0===d.title?S.text("Undef"):S.text(d.title)}if(!l.htmlLabels){var B,L=document.querySelectorAll("#"+r+" .edgeLabel .label");for(B=0;B<L.length;B++){var I=L[f],O=I.getBBox(),P=document.createElementNS("http://www.w3.org/2000/svg","rect");P.setAttribute("rx",0),P.setAttribute("ry",0),P.setAttribute("width",O.width),P.setAttribute("height",O.height),P.setAttribute("style","fill:#e8e8e8;"),I.insertBefore(P,I.firstChild)}}}},function(t,e){t.exports=require("dagre-d3-renderer")},function(t,e,r){"use strict";var n=r(9).parser;n.yy=r(10);var i=r(26),s=r(1),a=r(0),u=a.Log,o={diagramMarginX:50,diagramMarginY:30,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!1,bottomMarginAdj:1,activationWidth:10,textPlacement:"tspan"};e.bounds={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],init:function(){this.sequenceItems=[],this.activations=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])},updateBounds:function(t,r,n,i){function s(s){return function(c){u++;var l=a.sequenceItems.length-u+1;a.updateVal(c,"starty",r-l*o.boxMargin,Math.min),a.updateVal(c,"stopy",i+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"startx",t-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopx",n+l*o.boxMargin,Math.max),"activation"!==s&&(a.updateVal(c,"startx",t-l*o.boxMargin,Math.min),a.updateVal(c,"stopx",n+l*o.boxMargin,Math.max),a.updateVal(e.bounds.data,"starty",r-l*o.boxMargin,Math.min),a.updateVal(e.bounds.data,"stopy",i+l*o.boxMargin,Math.max))}}var a=this,u=0;this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},insert:function(t,r,n,i){var s,a,u,o;s=Math.min(t,n),u=Math.max(t,n),a=Math.min(r,i),o=Math.max(r,i),this.updateVal(e.bounds.data,"startx",s,Math.min),this.updateVal(e.bounds.data,"starty",a,Math.min),this.updateVal(e.bounds.data,"stopx",u,Math.max),this.updateVal(e.bounds.data,"stopy",o,Math.max),this.updateBounds(s,a,u,o)},newActivation:function(t,e){var r=n.yy.getActors()[t.from.actor],s=h(t.from.actor).length,a=r.x+o.width/2+(s-1)*o.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+o.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.anchorElement(e)})},endActivation:function(t){var e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},newLoop:function(t){this.sequenceItems.push({startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t})},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var r=this.sequenceItems.pop();r.sections=r.sections||[],r.sectionTitles=r.sectionTitles||[],r.sections.push(e.bounds.getVerticalPos()),r.sectionTitles.push(t),this.sequenceItems.push(r)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}};var c=function(t,r,n,s,a){var u=i.getNoteRect();u.x=r,u.y=n,u.width=a||o.width,u.class="note";var c=t.append("g"),l=i.drawRect(c,u),h=i.getTextObj();h.x=r-4,h.y=n-13,h.textMargin=o.noteMargin,h.dy="1em",h.text=s.message,h.class="noteText";var y=i.drawText(c,h,u.width-o.noteMargin),d=y[0][0].getBBox().height;!a&&d>o.width?(y.remove(),c=t.append("g"),y=i.drawText(c,h,2*u.width-o.noteMargin),d=y[0][0].getBBox().height,l.attr("width",2*u.width),e.bounds.insert(r,n,r+2*u.width,n+2*o.noteMargin+d)):e.bounds.insert(r,n,r+u.width,n+2*o.noteMargin+d),l.attr("height",d+2*o.noteMargin),e.bounds.bumpVerticalPos(d+2*o.noteMargin)},l=function(t,r,i,s,a){var u,c=t.append("g"),l=r+(i-r)/2,h=c.append("text").attr("x",l).attr("y",s-7).style("text-anchor","middle").attr("class","messageText").text(a.message);u=void 0!==h[0][0].getBBox?h[0][0].getBBox().width:h[0][0].getBoundingClientRect();var y;if(r===i){y=c.append("path").attr("d","M "+r+","+s+" C "+(r+60)+","+(s-10)+" "+(r+60)+","+(s+30)+" "+r+","+(s+20)),e.bounds.bumpVerticalPos(30);var d=Math.max(u/2,100);e.bounds.insert(r-d,e.bounds.getVerticalPos()-10,i+d,e.bounds.getVerticalPos())}else y=c.append("line"),y.attr("x1",r),y.attr("y1",s),y.attr("x2",i),y.attr("y2",s),e.bounds.insert(r,e.bounds.getVerticalPos()-10,i,e.bounds.getVerticalPos());a.type===n.yy.LINETYPE.DOTTED||a.type===n.yy.LINETYPE.DOTTED_CROSS||a.type===n.yy.LINETYPE.DOTTED_OPEN?(y.style("stroke-dasharray","3, 3"),y.attr("class","messageLine1")):y.attr("class","messageLine0");var p="";o.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),y.attr("stroke-width",2),y.attr("stroke","black"),y.style("fill","none"),a.type!==n.yy.LINETYPE.SOLID&&a.type!==n.yy.LINETYPE.DOTTED||y.attr("marker-end","url("+p+"#arrowhead)"),a.type!==n.yy.LINETYPE.SOLID_CROSS&&a.type!==n.yy.LINETYPE.DOTTED_CROSS||y.attr("marker-end","url("+p+"#crosshead)")};t.exports.drawActors=function(t,r,n,s){var a;for(a=0;a<n.length;a++){var u=n[a];r[u].x=a*o.actorMargin+a*o.width,r[u].y=s,r[u].width=o.diagramMarginX,r[u].height=o.diagramMarginY,i.drawActor(t,r[u].x,s,r[u].description,o),e.bounds.insert(r[u].x,s,r[u].x+o.width,o.height)}e.bounds.bumpVerticalPos(o.height)},t.exports.setConf=function(t){Object.keys(t).forEach(function(e){o[e]=t[e]})};var h=function(e){return t.exports.bounds.activations.filter(function(t){return t.actor===e})},y=function(t){var e=n.yy.getActors(),r=h(t);return[r.reduce(function(t,e){return Math.min(t,e.startx)},e[t].x+o.width/2),r.reduce(function(t,e){return Math.max(t,e.stopx)},e[t].x+o.width/2)]};t.exports.draw=function(r,a){function h(t,r){var n=e.bounds.endActivation(t);n.starty+18>r&&(n.starty=r-6,r+=12),i.drawActivation(f,n,r,o),e.bounds.insert(n.startx,r-10,n.stopx,r)}n.yy.clear(),n.parse(r+"\n"),e.bounds.init();var d,p,g,f=s.select("#"+a),m=n.yy.getActors(),A=n.yy.getActorKeys(),b=n.yy.getMessages(),E=n.yy.getTitle();t.exports.drawActors(f,m,A,0),i.insertArrowHead(f),i.insertArrowCrossHead(f),b.forEach(function(t){var r;switch(t.type){case n.yy.LINETYPE.NOTE:e.bounds.bumpVerticalPos(o.boxMargin),d=m[t.from].x,p=m[t.to].x,t.placement===n.yy.PLACEMENT.RIGHTOF?c(f,d+(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.placement===n.yy.PLACEMENT.LEFTOF?c(f,d-(o.width+o.actorMargin)/2,e.bounds.getVerticalPos(),t):t.to===t.from?c(f,d,e.bounds.getVerticalPos(),t):(g=Math.abs(d-p)+o.actorMargin,c(f,(d+p+o.width-g)/2,e.bounds.getVerticalPos(),t,g));break;case n.yy.LINETYPE.ACTIVE_START:e.bounds.newActivation(t,f);break;case n.yy.LINETYPE.ACTIVE_END:h(t,e.bounds.getVerticalPos());break;case n.yy.LINETYPE.LOOP_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.LOOP_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"loop",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.OPT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.OPT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"opt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.ALT_ELSE:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.ALT_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"alt",o),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_START:e.bounds.bumpVerticalPos(o.boxMargin),e.bounds.newLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin+o.boxTextMargin);break;case n.yy.LINETYPE.PAR_AND:e.bounds.bumpVerticalPos(o.boxMargin),r=e.bounds.addSectionToLoop(t.message),e.bounds.bumpVerticalPos(o.boxMargin);break;case n.yy.LINETYPE.PAR_END:r=e.bounds.endLoop(),i.drawLoop(f,r,"par",o),e.bounds.bumpVerticalPos(o.boxMargin);break;default:try{e.bounds.bumpVerticalPos(o.messageMargin);var s=y(t.from),a=y(t.to),u=s[0]<=a[0]?1:0,A=s[0]<a[0]?0:1;d=s[u],p=a[A];var b=e.bounds.getVerticalPos();l(f,d,p,b,t);var E=s.concat(a);e.bounds.insert(Math.min.apply(null,E),b,Math.max.apply(null,E),b)}catch(t){console.error("error while drawing message",t)}}}),o.mirrorActors&&(e.bounds.bumpVerticalPos(2*o.boxMargin),t.exports.drawActors(f,m,A,e.bounds.getVerticalPos()));var x=e.bounds.getBounds();u.debug("For line height fix Querying: #"+a+" .actor-line"),s.selectAll("#"+a+" .actor-line").attr("y2",x.stopy);var k=x.stopy-x.starty+2*o.diagramMarginY;o.mirrorActors&&(k=k-o.boxMargin+o.bottomMarginAdj);var _=x.stopx-x.startx+2*o.diagramMarginX;E&&f.append("text").text(E).attr("x",(x.stopx-x.startx)/2-2*o.diagramMarginX).attr("y",-25),o.useMaxWidth?(f.attr("height","100%"),f.attr("width","100%"),f.attr("style","max-width:"+_+"px;")):(f.attr("height",k),f.attr("width",_));var v=E?40:0;f.attr("viewBox",x.startx-o.diagramMarginX+" -"+(o.diagramMarginY+v)+" "+_+" "+(k+v))}},function(t,e,r){"use strict";e.drawRect=function(t,e){var r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),void 0!==e.class&&r.attr("class",e.class),r},e.drawText=function(t,e,r){var n=e.text.replace(/<br\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);var s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.attr("fill",e.fill),s.text(n),void 0!==i.textwrap&&i.textwrap({x:e.x,y:e.y,width:r,height:1800},e.textMargin),i},e.drawLabel=function(t,r){var n=t.append("polygon");n.attr("points",function(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}(r.x,r.y,50,20,7)),n.attr("class","labelBox"),r.y=r.y+r.labelMargin,r.x=r.x+.5*r.labelMargin,e.drawText(t,r)};var n=-1;e.drawActor=function(t,r,s,a,u){var o=r+u.width/2,c=t.append("g");0===s&&(n++,c.append("line").attr("id","actor"+n).attr("x1",o).attr("y1",5).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var l=e.getNoteRect();l.x=r,l.y=s,l.fill="#eaeaea",l.width=u.width,l.height=u.height,l.class="actor",l.rx=3,l.ry=3,e.drawRect(c,l),i(u)(a,c,l.x,l.y,l.width,l.height,{class:"actor"})},e.anchorElement=function(t){return t.append("g")},e.drawActivation=function(t,r,n){var i=e.getNoteRect(),s=r.anchored;i.x=r.startx,i.y=r.starty,i.fill="#f4f4f4",i.width=r.stopx-r.startx,i.height=n-r.starty,e.drawRect(s,i)},e.drawLoop=function(t,r,n,i){var s=t.append("g"),a=function(t,e,r,n){return s.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("class","loopLine")};a(r.startx,r.starty,r.stopx,r.starty),a(r.stopx,r.starty,r.stopx,r.stopy),a(r.startx,r.stopy,r.stopx,r.stopy),a(r.startx,r.starty,r.startx,r.stopy),void 0!==r.sections&&r.sections.forEach(function(t){a(r.startx,t,r.stopx,t).style("stroke-dasharray","3, 3")});var u=e.getTextObj();u.text=n,u.x=r.startx,u.y=r.starty,u.labelMargin=15,u.class="labelText",e.drawLabel(s,u),u=e.getTextObj(),u.text="[ "+r.title+" ]",u.x=r.startx+(r.stopx-r.startx)/2,u.y=r.starty+1.5*i.boxMargin,u.anchor="middle",u.class="loopText",e.drawText(s,u),void 0!==r.sectionTitles&&r.sectionTitles.forEach(function(t,n){""!==t&&(u.text="[ "+t+" ]",u.y=r.sections[n]+1.5*i.boxMargin,e.drawText(s,u))})},e.insertArrowHead=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")},e.insertArrowCrossHead=function(t){var e=t.append("defs"),r=e.append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},e.getTextObj=function(){return{x:0,y:0,fill:"black","text-anchor":"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0}},e.getNoteRect=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}};var i=function(){function t(t,e,r,i,s,a,u){n(e.append("text").attr("x",r+s/2).attr("y",i+a/2+5).style("text-anchor","middle").text(t),u)}function e(t,e,r,i,s,a,u){var o=e.append("text").attr("x",r+s/2).attr("y",i).style("text-anchor","middle");if(o.append("tspan").attr("x",r+s/2).attr("dy","0").text(t),void 0!==o.textwrap){o.textwrap({x:r+s/2,y:i,width:s,height:a},0);var c=o.selectAll("tspan");c.length>0&&c[0].length>0&&(c=c[0],o.attr("y",i+(a/2-o[0][0].getBBox().height*(1-1/c.length)/2)).attr("dominant-baseline","central").attr("alignment-baseline","central"))}n(o,u)}function r(t,r,i,s,a,u,o){var c=r.append("switch"),l=c.append("foreignObject").attr("x",i).attr("y",s).attr("width",a).attr("height",u),h=l.append("div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,c,i,s,a,u,o),n(h,o)}function n(t,e){for(var r in e)e.hasOwnProperty(r)&&t.attr(r,e[r])}return function(n){return"fo"===n.textPlacement?r:"old"===n.textPlacement?t:e}}()},function(t,e,r){"use strict";var n=r(11),i=r(12),s=r(1),a=r(0),u=a.Log;e.draw=function(t,e,r){var a;a=i.parser,a.yy=n,u.debug("Renering example diagram"),a.parse(t);var o=s.select("#"+e);o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("mermaid "+r),o.attr("height",100),o.attr("width",400)}},function(t,e,r){"use strict";var n=r(13).parser;n.yy=r(14);var i,s=r(1),a=r(15),u={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})};var o;t.exports.draw=function(t,e){function r(t,e,r,n,i,s,a,o){m.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,n){return n*e+r-2}).attr("width",function(){return a-u.rightPadding/2}).attr("height",e).attr("class",function(t){for(var e=0;e<x.length;e++)if(t.type===x[e])return"section section"+e%u.numberSectionStyles;return"section section0"});var c=m.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("rx",3).attr("ry",3).attr("x",function(t){return E(t.startTime)+n}).attr("y",function(t,n){return n*e+r}).attr("width",function(t){return E(t.endTime)-E(t.startTime)}).attr("height",i).attr("class",function(t){for(var e="task ",r=0,n=0;n<x.length;n++)t.type===x[n]&&(r=n%u.numberSectionStyles);return t.active?t.crit?e+" activeCrit"+r:e+" active"+r:t.done?t.crit?e+" doneCrit"+r:e+" done"+r:t.crit?e+" crit"+r:e+" task"+r}),c.append("text").text(function(t){return t.task}).attr("font-size",u.fontSize).attr("x",function(t){var e=E(t.startTime),r=E(t.endTime),i=this.getBBox().width;return i>r-e?r+i+1.5*u.leftPadding>a?e+n-5:r+n+5:(r-e)/2+e+n}).attr("y",function(t,n){return n*e+u.barHeight/2+(u.fontSize/2-2)+r}).attr("text-height",i).attr("class",function(t){for(var e=E(t.startTime),r=E(t.endTime),n=this.getBBox().width,i=0,s=0;s<x.length;s++)t.type===x[s]&&(i=s%u.numberSectionStyles);var o="";return t.active&&(o=t.crit?"activeCritText"+i:"activeText"+i),t.done?o=t.crit?o+" doneCritText"+i:o+" doneText"+i:t.crit&&(o=o+" critText"+i),n>r-e?r+n+1.5*u.leftPadding>a?"taskTextOutsideLeft taskTextOutside"+i+" "+o:"taskTextOutsideRight taskTextOutside"+i+" "+o:"taskText taskText"+i+" "+o})}function c(t,e,r,n){var a,o=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["h1 %I:%M",function(t){return t.getMinutes()}]],c=[["%Y",function(){return!0}]],l=[["%I:%M",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!==t.getDate()}],["%b %d",function(t){return 1!==t.getDate()}],["%B",function(t){return t.getMonth()}]];void 0!==u.axisFormatter&&(l=[],u.axisFormatter.forEach(function(t){var e=[];e[0]=t[0],e[1]=t[1],l.push(e)})),a=o.concat(l).concat(c);var h=s.svg.axis().scale(E).orient("bottom").tickSize(-n+e+u.gridLineStartPadding,0,0).tickFormat(s.time.format.multi(a));i>7&&i<230&&(h=h.ticks(s.time.monday.range)),m.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(h).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")}function l(t,e){for(var r=[],n=0,i=0;i<x.length;i++)r[i]=[x[i],d(x[i],_)];m.append("g").selectAll("text").data(r).enter().append("text").text(function(t){return t[0]}).attr("x",10).attr("y",function(i,s){if(!(s>0))return i[1]*t/2+e;for(var a=0;a<s;a++)return n+=r[s-1][1],i[1]*t/2+n*t+e}).attr("class",function(t){for(var e=0;e<x.length;e++)if(t[0]===x[e])return"sectionTitle sectionTitle"+e%u.numberSectionStyles;return"sectionTitle"})}function h(t,e,r,n){var i=m.append("g").attr("class","today"),s=new Date;i.append("line").attr("x1",E(s)+t).attr("x2",E(s)+t).attr("y1",u.titleTopMargin).attr("y2",n-u.titleTopMargin).attr("class","today")}function y(t){for(var e=t.length,r={};e;)r[t[--e]]=(r[t[e]]||0)+1;return r}function d(t,e){return y(e)[t]||0}n.yy.clear(),n.parse(t);var p=document.getElementById(e);o=p.parentElement.offsetWidth,void 0===o&&(o=1200),void 0!==u.useWidth&&(o=u.useWidth);var g=n.yy.getTasks(),f=g.length*(u.barHeight+u.barGap)+2*u.topPadding;p.setAttribute("height","100%"),p.setAttribute("viewBox","0 0 "+o+" "+f);var m=s.select("#"+e),A=s.min(g,function(t){return t.startTime}),b=s.max(g,function(t){return t.endTime}),E=s.time.scale().domain([s.min(g,function(t){return t.startTime}),s.max(g,function(t){return t.endTime})]).rangeRound([0,o-u.leftPadding-u.rightPadding]),x=[];i=a.duration(b-A).asDays();for(var k=0;k<g.length;k++)x.push(g[k].type);var _=x;x=function(t){for(var e={},r=[],n=0,i=t.length;n<i;++n)e.hasOwnProperty(t[n])||(e[t[n]]=!0,r.push(t[n]));return r}(x),function(t,e,n){var i=u.barHeight,a=i+u.barGap,o=u.topPadding,y=u.leftPadding,d=s.scale.linear().domain([0,x.length]).range(["#00B9FA","#F95002"]).interpolate(s.interpolateHcl);c(y,o,e,n),r(t,a,o,y,i,d,e,n),l(a,o),h(y,o,e,n)}(g,o,f),void 0!==u.useWidth&&p.setAttribute("width",o),m.append("text").text(n.yy.getTitle()).attr("x",o/2).attr("y",u.titleTopMargin).attr("class","titleText")}},function(t,e,r){"use strict";var n=r(16).parser,i=r(17);n.yy=i;var s,a=r(1),u=r(0),o=u.Log,c=r(30);s={};var l=0,h={dividerMargin:10,padding:5,textHeight:10},y=function(t){var e,r=Object.keys(s);for(e=0;e<r.length;e++)if(s[r[e]].label===t)return r[e]},d=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},p=0,g=function(t,e,r){var n=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}},s=e.points,u=a.svg.line().x(function(t){return t.x}).y(function(t){return t.y}).interpolate("basis"),o=t.append("path").attr("d",u(s)).attr("id","edge"+p).attr("class","relation"),c="";h.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),"none"!==r.relation.type1&&o.attr("marker-start","url("+c+"#"+n(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&o.attr("marker-end","url("+c+"#"+n(r.relation.type2)+"End)");var l,y,d=e.points.length;if(d%2!=0){var g=e.points[Math.floor(d/2)],f=e.points[Math.ceil(d/2)];l=(g.x+f.x)/2,y=(g.y+f.y)/2}else{var m=e.points[Math.floor(d/2)];l=m.x,y=m.y}if(void 0!==r.title){var A=t.append("g").attr("class","classLabel"),b=A.append("text").attr("class","label").attr("x",l).attr("y",y).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=b;var E=b.node().getBBox();A.insert("rect",":first-child").attr("class","box").attr("x",E.x-h.padding/2).attr("y",E.y-h.padding/2).attr("width",E.width+h.padding).attr("height",E.height+h.padding)}p++},f=function(t,e){o.info("Rendering class "+e);var r=function(t,e,r){var n=t.append("tspan").attr("x",h.padding).text(e);r||n.attr("dy",h.textHeight)},n="classId"+l,i={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",n).attr("class","classGroup"),u=a.append("text").attr("x",h.padding).attr("y",h.textHeight+h.padding).text(e.id),c=u.node().getBBox().height,y=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin/2).attr("y2",h.padding+c+h.dividerMargin/2),d=a.append("text").attr("x",h.padding).attr("y",c+h.dividerMargin+h.textHeight).attr("fill","white").attr("class","classText"),p=!0;e.members.forEach(function(t){r(d,t,p),p=!1});var g=d.node().getBBox(),f=a.append("line").attr("x1",0).attr("y1",h.padding+c+h.dividerMargin+g.height).attr("y2",h.padding+c+h.dividerMargin+g.height),m=a.append("text").attr("x",h.padding).attr("y",c+2*h.dividerMargin+g.height+h.textHeight).attr("fill","white").attr("class","classText");p=!0,e.methods.forEach(function(t){r(m,t,p),p=!1});var A=a.node().getBBox();return a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*h.padding).attr("height",A.height+h.padding+.5*h.dividerMargin),y.attr("x2",A.width+2*h.padding),f.attr("x2",A.width+2*h.padding),i.width=A.width+2*h.padding,i.height=A.height+h.padding+.5*h.dividerMargin,s[n]=i,l++,i};t.exports.setConf=function(t){Object.keys(t).forEach(function(e){h[e]=t[e]})},t.exports.draw=function(t,e){n.yy.clear(),n.parse(t),o.info("Rendering diagram "+t);var r=a.select("#"+e);d(r);var s=new c.graphlib.Graph({multigraph:!0});s.setGraph({isMultiGraph:!0}),s.setDefaultEdgeLabel(function(){return{}});var u,l=i.getClasses(),h=Object.keys(l);for(u=0;u<h.length;u++){var p=l[h[u]],m=f(r,p);s.setNode(m.id,m),o.info("Org height: "+m.height)}i.getRelations().forEach(function(t){o.info("tjoho"+y(t.id1)+y(t.id2)+JSON.stringify(t)),s.setEdge(y(t.id1),y(t.id2),{relation:t})}),c.layout(s),s.nodes().forEach(function(t){void 0!==t&&(o.debug("Node "+t+": "+JSON.stringify(s.node(t))),a.select("#"+t).attr("transform","translate("+(s.node(t).x-s.node(t).width/2)+","+(s.node(t).y-s.node(t).height/2)+" )"))}),s.edges().forEach(function(t){o.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),g(r,s.edge(t),s.edge(t).relation)}),r.attr("height","100%"),r.attr("width","100%"),r.attr("viewBox","0 0 "+(s.graph().width+20)+" "+(s.graph().height+20))}},function(t,e){t.exports=require("dagre")},function(t,e,r){"use strict";function n(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",A.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",A.nodeLabel.width).attr("height",A.nodeLabel.height).attr("x",A.nodeLabel.x).attr("y",A.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("xhtml:p").html("")}function i(t,e,r,n){n=n||"basis";var i=A.branchColors[r%A.branchColors.length],s=p.svg.line().x(function(t){return Math.round(t.x)}).y(function(t){return Math.round(t.y)}).interpolate(n);t.append("svg:path").attr("d",s(e)).style("stroke",i).style("stroke-width",A.lineStrokeWidth).style("fill","none")}function s(t,e){e=e||t.node().getBBox();var r=t.node().getCTM();return{left:r.e+e.x*r.a,top:r.f+e.y*r.d,width:e.width,height:e.height}}function a(t,e,r,n,a){f.debug("svgDrawLineForCommits: ",e,r);var u=s(t.select("#node-"+e+" circle")),o=s(t.select("#node-"+r+" circle"));switch(n){case"LR":if(u.left-o.left>A.nodeSpacing){var c={x:u.left-A.nodeSpacing,y:o.top+o.height/2},l={x:o.left+o.width,y:o.top+o.height/2};i(t,[c,l],a,"linear"),i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:c.y},c],a)}else i(t,[{x:u.left,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:u.top+u.height/2},{x:u.left-A.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],a);break;case"BT":o.top-u.top>A.nodeSpacing?(c={x:o.left+o.width/2,y:u.top+u.height+A.nodeSpacing},l={x:o.left+o.width/2,y:o.top},i(t,[c,l],a,"linear"),i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+u.height+A.nodeSpacing/2},{x:o.left+o.width/2,y:c.y-A.nodeSpacing/2},c],a)):i(t,[{x:u.left+u.width/2,y:u.top+u.height},{x:u.left+u.width/2,y:u.top+A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-A.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],a)}}function u(t,e){return t.select(e).node().cloneNode(!0)}function o(t,e,r,n){var i,s=Object.keys(m).length;if(y.isString(e))do{if(i=m[e],f.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append(function(){return u(t,"#def-commit")}).attr("class","commit").attr("id",function(){return"node-"+i.id}).attr("transform",function(){switch(n){case"LR":return"translate("+(i.seq*A.nodeSpacing+A.leftMargin)+", "+l*A.branchOffset+")";case"BT":return"translate("+(l*A.branchOffset+A.leftMargin)+", "+(s-i.seq)*A.nodeSpacing+")"}}).attr("fill",A.nodeFillColor).attr("stroke",A.nodeStrokeColor).attr("stroke-width",A.nodeStrokeWidth);var a=y.find(r,["commit",i]);a&&(f.debug("found branch ",a.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(a.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===n&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&m[e]);y.isArray(e)&&(f.debug("found merge commmit",e),o(t,e[0],r,n),l++,o(t,e[1],r,n),l--)}function c(t,e,r,n){for(n=n||0;e.seq>0&&!e.lineDrawn;)y.isString(e.parent)?(a(t,e.id,e.parent,r,n),e.lineDrawn=!0,e=m[e.parent]):y.isArray(e.parent)&&(a(t,e.id,e.parent[0],r,n),a(t,e.id,e.parent[1],r,n+1),c(t,m[e.parent[1]],r,n+1),e.lineDrawn=!0,e=m[e.parent[0]])}var l,h=r(19),y=r(20),d=r(18),p=r(1),g=r(0),f=g.Log,m={},A={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}},b={};e.setConf=function(t){b=t},e.draw=function(t,e,r){try{var i;i=d.parser,i.yy=h,f.debug("in gitgraph renderer",t,e,r),i.parse(t+"\n"),A=y.extend(A,b,h.getOptions()),f.debug("effective options",A);var s=h.getDirection();m=h.getCommits();var a=h.getBranchesAsObjArray();"BT"===s&&(A.nodeLabel.x=a.length*A.branchOffset,A.nodeLabel.width="100%",A.nodeLabel.y=-2*A.nodeRadius);var u=p.select("#"+e);n(u),l=1,y.each(a,function(t){o(u,t.commit.id,a,s),c(u,t.commit,s),l++}),u.attr("height",function(){return"BT"===s?Object.keys(m).length*A.nodeSpacing:(a.length+1)*A.branchOffset})}catch(t){f.error("Error while rendering gitgraph"),f.error(t.message)}}},function(t,e){t.exports={name:"mermaid",version:"7.0.5",description:"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",main:"src/mermaid.js",keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],bin:{mermaid:"./bin/mermaid.js"},scripts:{build:"node -r babel-register ./node_modules/.bin/webpack --progress --colors",watch:"yarn build -- --watch",release:"yarn build -- -p --config webpack.config.prod.js",upgrade:"yarn-upgrade-all && yarn remove d3 && yarn add d3@3.5.17",lint:"node_modules/.bin/standard",karma:"node node_modules/karma/bin/karma start karma.conf.js --single-run",tape:"node node_modules/tape/bin/tape test/cli_test-*.js",test:"yarn lint && yarn tape && yarn karma",live:"live-server ./test/examples",jison:"gulp jison_legacy",live_server:"gulp live-server",prepublishOnly:"yarn build && yarn release && yarn test"},repository:{type:"git",url:"https://github.com/knsv/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js"]},dependencies:{chalk:"^2.1.0",d3:"3.5.17",dagre:"^0.7.4","dagre-d3-renderer":"^0.1.6",he:"^1.1.1",lodash:"^4.17.4",minimist:"^1.2.0",mkdirp:"^0.5.1",moment:"^2.18.1",semver:"^5.4.1",which:"^1.3.0"},devDependencies:{async:"^2.5.0","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-remove-strict-mode":"^0.0.2","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.1",clone:"^2.1.1","codeclimate-test-reporter":"^0.5.0","css-loader":"^0.28.7",dox:"^0.9.0","event-stream":"^3.3.4","extract-text-webpack-plugin":"^3.0.0","front-matter":"^2.2.0",gulp:"^3.9.1","gulp-bower":"^0.0.13","gulp-bump":"^2.7.0","gulp-concat":"^2.6.1","gulp-data":"^1.2.1","gulp-dox":"^0.1.6","gulp-ext-replace":"^0.3.0","gulp-filelog":"^0.4.1","gulp-front-matter":"^1.3.0","gulp-hogan":"^2.0.0","gulp-if":"^2.0.2","gulp-insert":"^0.5.0","gulp-istanbul":"^1.1.2","gulp-jasmine":"^2.4.2","gulp-jasmine-browser":"^1.9.0","gulp-jison":"^1.2.0","gulp-less":"^3.3.2","gulp-livereload":"^3.8.1","gulp-marked":"^1.0.0","gulp-mdvars":"^2.0.0","gulp-qunit":"^1.5.0","gulp-rename":"^1.2.2","gulp-shell":"^0.6.3","gulp-tag-version":"^1.3.0","gulp-util":"^3.0.8","gulp-vartree":"^2.0.1","hogan.js":"^3.0.2","inject-loader":"^3.0.1",jasmine:"^2.8.0","jasmine-es6":"^0.4.1",jison:"^0.4.17",jsdom:"^11.2.0",karma:"^1.7.1","karma-chrome-launcher":"^2.2.0","karma-jasmine":"^1.1.0","karma-webpack":"^2.0.4",less:"^2.7.2","less-loader":"^4.0.5","live-server":"^1.2.0","map-stream":"^0.0.7",marked:"^0.3.6","mock-browser":"^0.92.14","phantomjs-prebuilt":"^2.1.15","require-dir":"^0.3.2",rimraf:"^2.6.1",standard:"^10.0.3","style-loader":"^0.18.2",tape:"^4.8.0",webpack:"^3.5.5","webpack-node-externals":"^1.6.0","yarn-upgrade-all":"^0.1.8"},files:["bin","dist","lib","src"]}}]);
diff --git a/www/wiki/extensions/Mermaid/src/HookRegistry.php b/www/wiki/extensions/Mermaid/src/HookRegistry.php
new file mode 100644
index 00000000..f6fac542
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/src/HookRegistry.php
@@ -0,0 +1,116 @@
+<?php
+
+namespace Mermaid;
+
+use Hooks;
+
+/**
+ * @license GNU GPL v2+
+ * @since 1.0
+ *
+ * @author mwjames
+ */
+class HookRegistry {
+
+ /**
+ * @var array
+ */
+ private $handlers = array();
+
+ /**
+ * @since 1.0
+ *
+ * @param array $configuration
+ */
+ public function __construct( $configuration = array () ) {
+ $this->registerCallbackHandlers( $configuration );
+ }
+
+ /**
+ * @since 1.0
+ */
+ public function register() {
+ foreach ( $this->handlers as $name => $callback ) {
+ Hooks::register( $name, $callback );
+ }
+ }
+
+ /**
+ * @since 1.0
+ */
+ public function deregister() {
+ foreach ( array_keys( $this->handlers ) as $name ) {
+ Hooks::clear( $name );
+ }
+ }
+
+ /**
+ * @since 1.0
+ *
+ * @param string $name
+ *
+ * @return Callable|false
+ */
+ public function getHandlerFor( $name ) {
+ return isset( $this->handlers[$name] ) ? $this->handlers[$name] : false;
+ }
+
+ /**
+ * @since 1.0
+ *
+ * @param string $name
+ *
+ * @return boolean
+ */
+ public function isRegistered( $name ) {
+ return Hooks::isRegistered( $name );
+ }
+
+ private function registerCallbackHandlers( $configuration ) {
+
+ /**
+ * @see https://www.mediawiki.org/wiki/Manual:Hooks/ParserFirstCallInit
+ */
+ $this->handlers['ParserFirstCallInit'] = function ( &$parser ) {
+ $defaultTheme = $GLOBALS['mermaidgDefaultTheme'];
+
+ $parser->setFunctionHook(
+ 'mermaid',
+ MermaidParserFunction::newCallback( $defaultTheme ),
+ 0
+ );
+
+ return true;
+ };
+
+ /**
+ * @see https://www.mediawiki.org/wiki/Manual:Hooks/ResourceLoaderGetConfigVars
+ */
+ $this->handlers['ResourceLoaderGetConfigVars'] = function ( &$vars ) {
+
+ $vars['mermaid'] = [
+ 'theme' => $GLOBALS['mermaidgDefaultTheme']
+ ];
+
+ return true;
+ };
+
+ /**
+ * @see https://www.mediawiki.org/wiki/Manual:Hooks/OutputPageParserOutput
+ */
+ $this->handlers['OutputPageParserOutput'] = function ( $out, $parserOutput ) {
+
+ $out->addModuleStyles( 'ext.mermaid.styles' );
+
+ if ( $parserOutput->getExtensionData( 'ext-mermaid' ) === null ||
+ $parserOutput->getExtensionData( 'ext-mermaid' ) === false ) {
+ return true;
+ }
+
+ $out->addModules( 'ext.mermaid' );
+
+ return true;
+ };
+ }
+
+}
diff --git a/www/wiki/extensions/Mermaid/src/MermaidParserFunction.php b/www/wiki/extensions/Mermaid/src/MermaidParserFunction.php
new file mode 100644
index 00000000..0697f0e7
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/src/MermaidParserFunction.php
@@ -0,0 +1,139 @@
+<?php
+
+namespace Mermaid;
+
+use Parser;
+use Html;
+
+/**
+ * @license GNU GPL v2+
+ * @since 1.0
+ *
+ * @author mwjames
+ */
+class MermaidParserFunction {
+
+ /**
+ * @var Parser
+ */
+ private $parser;
+
+ /**
+ * @var string
+ */
+ private $defaultTheme = '';
+
+ /**
+ * @since 1.1
+ *
+ * @param string $defaultTheme
+ *
+ * @return callable
+ */
+ public static function newCallback( $defaultTheme ) {
+
+ return function( $parser ) use ( $defaultTheme ) {
+ $mermaidParserFunction = new self(
+ $parser
+ );
+
+ $mermaidParserFunction->setDefaultTheme(
+ $defaultTheme
+ );
+
+ return $mermaidParserFunction->parse( func_get_args() );
+ };
+ }
+
+ /**
+ * @since 1.0
+ *
+ * @return Parser $parser
+ */
+ public function __construct( Parser $parser ) {
+ $this->parser = $parser;
+ }
+
+ /**
+ * @since 1.0
+ *
+ * @param string $defaultTheme
+ */
+ public function setDefaultTheme( $defaultTheme ) {
+ $this->defaultTheme = $defaultTheme;
+ }
+
+ /**
+ * @since 1.0
+ *
+ * @param array $params
+ *
+ * @return string
+ */
+ public function parse( array $params ) {
+
+ $class = 'ext-mermaid';
+ $parserOutput = $this->parser->getOutput();
+
+ if( isset( $params[0] ) && $params[0] instanceof \Parser ) {
+ array_shift( $params );
+ }
+
+ // Signal the OutputPageParserOutput hook
+ $parserOutput->setExtensionData(
+ 'ext-mermaid',
+ true
+ );
+
+ $parserOutput->addModuleStyles(
+ 'ext.mermaid.styles'
+ );
+
+ $parserOutput->addModules(
+ 'ext.mermaid'
+ );
+
+ $config = [
+ 'theme' => $this->defaultTheme
+ ];
+
+ foreach ( $params as $key => $param ) {
+
+ if ( strpos( $param, '=' ) !== false ) {
+ list( $k, $v ) = explode( '=', $param, 2 );
+
+ if ( $k === 'config.theme' ) {
+ $config['theme'] = $v;
+ unset( $params[$key] );
+ }
+
+ if ( $k === 'config.flowchart.curve' ) {
+ $config['flowchart'] = [ 'curve' => $v ];
+ unset( $params[$key] );
+ }
+ }
+ }
+
+ $content = implode( "|", $params );
+
+ return Html::rawElement(
+ 'div',
+ [
+ 'class' => $class,
+ 'data-mermaid' => json_encode(
+ [
+ 'content' => $content,
+ 'config' => $config
+ ]
+ )
+ ],
+ Html::rawElement(
+ 'div',
+ [
+ 'class' => 'mermaid-dots',
+ ]
+ )
+ );
+ }
+
+}
diff --git a/www/wiki/extensions/Mermaid/tests/bootstrap.php b/www/wiki/extensions/Mermaid/tests/bootstrap.php
new file mode 100644
index 00000000..7bbb37e3
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/bootstrap.php
@@ -0,0 +1,31 @@
+<?php
+
+if ( PHP_SAPI !== 'cli' && PHP_SAPI !== 'phpdbg' ) {
+ die( 'Not an entry point' );
+}
+
+error_reporting( E_ALL | E_STRICT );
+date_default_timezone_set( 'UTC' );
+ini_set( 'display_errors', 1 );
+
+if ( !class_exists( 'Mermaid' ) || ( $version = Mermaid::getVersion() ) === null ) {
+ die( "\nMermaid is not available, please check your Composer or LocalSettings (wfLoadExtension).\n" );
+}
+
+print sprintf( "\n%-20s%s\n", "Mermaid: ", $version );
+
+if ( is_readable( $path = __DIR__ . '/../vendor/autoload.php' ) ) {
+ print sprintf( "%-20s%s\n", "MediaWiki:", $GLOBALS['wgVersion'] . " (Extension vendor autoloader)" );
+} elseif ( is_readable( $path = __DIR__ . '/../../../vendor/autoload.php' ) ) {
+ print sprintf( "%-20s%s\n", "MediaWiki:", $GLOBALS['wgVersion'] . " (MediaWiki vendor autoloader)" );
+} else {
+ die( 'To run tests it is required that packages are installed using Composer.' );
+}
+
+$dateTimeUtc = new \DateTime( 'now', new \DateTimeZone( 'UTC' ) );
+print sprintf( "\n%-20s%s\n\n", "Execution time:", $dateTimeUtc->format( 'Y-m-d h:i' ) );
+
+$autoloader = require $path;
+$autoloader->addPsr4( 'Mermaid\\Tests\\', __DIR__ . '/phpunit/Unit' );
+$autoloader->addPsr4( 'Mermaid\\Tests\\Integration\\', __DIR__ . '/phpunit/Integration' );
+unset( $autoloader );
diff --git a/www/wiki/extensions/Mermaid/tests/phpunit/Integration/I18nJsonFileIntegrityTest.php b/www/wiki/extensions/Mermaid/tests/phpunit/Integration/I18nJsonFileIntegrityTest.php
new file mode 100644
index 00000000..c5a1c4ae
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/phpunit/Integration/I18nJsonFileIntegrityTest.php
@@ -0,0 +1,77 @@
+<?php
+
+namespace Mermaid\Tests\Integration;
+
+/**
+ * @group mermaid
+ * @group medium
+ *
+ * @license GNU GPL v2+
+ * @since 1.0
+ *
+ * @author mwjames
+ */
+class I18nJsonFileIntegrityTest extends \PHPUnit_Framework_TestCase {
+
+ /**
+ * @dataProvider i18nFileProvider
+ */
+ public function testI18NJsonDecodeEncode( $file ) {
+
+ $contents = file_get_contents( $file );
+
+ $this->assertInternalType(
+ 'array',
+ json_decode( $contents, true ),
+ 'Failed with ' . $this->getDescriptiveJsonError( json_last_error() ) . ' in ' . $file
+ );
+ }
+
+ public function i18nFileProvider() {
+
+ $provider = array();
+
+ $files = $this->findFilesForExtension(
+ $GLOBALS['wgMessagesDirs']['Mermaid'],
+ 'json'
+ );
+
+ foreach ( $files as $file ) {
+ $provider[] = array( $file );
+ }
+
+ return $provider;
+ }
+
+ private function findFilesForExtension( $path, $extension ) {
+
+ $files = array();
+
+ $directoryIterator = new \RecursiveDirectoryIterator(
+ str_replace( array( '\\', '/' ), DIRECTORY_SEPARATOR, $path )
+ );
+
+ foreach ( new \RecursiveIteratorIterator( $directoryIterator ) as $fileInfo ) {
+ if ( strtolower( substr( $fileInfo->getFilename(), -( strlen( $extension ) + 1 ) ) ) === ( '.' . $extension ) ) {
+ $files[$fileInfo->getFilename()] = $fileInfo->getPathname();
+ }
+ }
+
+ return $files;
+ }
+
+ private function getDescriptiveJsonError( $errorCode ) {
+
+ $errorMessages = array(
+ JSON_ERROR_NONE => '',
+ JSON_ERROR_STATE_MISMATCH => 'Underflow or the modes mismatch, malformed JSON',
+ JSON_ERROR_CTRL_CHAR => 'Unexpected control character found, possibly incorrectly encoded',
+ JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON',
+ JSON_ERROR_UTF8 => 'Malformed UTF-8 characters, possibly incorrectly encoded',
+ JSON_ERROR_DEPTH => 'The maximum stack depth has been exceeded'
+ );
+
+ return $errorMessages[$errorCode];
+ }
+
+}
diff --git a/www/wiki/extensions/Mermaid/tests/phpunit/Unit/HookRegistryTest.php b/www/wiki/extensions/Mermaid/tests/phpunit/Unit/HookRegistryTest.php
new file mode 100644
index 00000000..2c98737a
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/phpunit/Unit/HookRegistryTest.php
@@ -0,0 +1,119 @@
+<?php
+
+namespace Mermaid\Tests;
+
+use Mermaid\HookRegistry;
+use Title;
+
+/**
+ * @covers \Mermaid\HookRegistry
+ * @group mermaid
+ *
+ * @license GNU GPL v2+
+ * @since 1.0
+ *
+ * @author mwjames
+ */
+class HookRegistryTest extends \PHPUnit_Framework_TestCase {
+
+ public function testCanConstruct() {
+
+ $this->assertInstanceOf(
+ HookRegistry::class,
+ new HookRegistry()
+ );
+ }
+
+ public function testRegister() {
+
+ $title = Title::newFromText( __METHOD__ );
+
+ $parserOutput = $this->getMockBuilder( '\ParserOutput' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parser = $this->getMockBuilder( '\Parser' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parser->expects( $this->any() )
+ ->method( 'getTitle' )
+ ->will( $this->returnValue( $title ) );
+
+ $parser->expects( $this->any() )
+ ->method( 'getOutput' )
+ ->will( $this->returnValue( $parserOutput ) );
+
+ $instance = new HookRegistry();
+ $instance->deregister();
+ $instance->register();
+
+ $this->doTestParserFirstCallInit( $instance, $parser );
+ $this->doTestResourceLoaderGetConfigVars( $instance );
+ $this->doTestOutputPageParserOutput( $instance );
+ }
+
+ public function doTestParserFirstCallInit( $instance, $parser ) {
+
+ $handler = 'ParserFirstCallInit';
+
+ $this->assertTrue(
+ $instance->isRegistered( $handler )
+ );
+
+ $this->assertThatHookIsExcutable(
+ $instance->getHandlerFor( $handler ),
+ array( &$parser )
+ );
+ }
+
+ public function doTestResourceLoaderGetConfigVars( $instance ) {
+
+ $handler = 'ResourceLoaderGetConfigVars';
+
+ $this->assertTrue(
+ $instance->isRegistered( $handler )
+ );
+
+ $vars = array();
+
+ $this->assertThatHookIsExcutable(
+ $instance->getHandlerFor( $handler ),
+ array( &$vars )
+ );
+ }
+
+ public function doTestOutputPageParserOutput( $instance ) {
+
+ $parserOutput = $this->getMockBuilder( '\ParserOutput' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parserOutput->expects( $this->any() )
+ ->method( 'getExtensionData' )
+ ->will( $this->returnValue( true ) );
+
+ $outputPage = $this->getMockBuilder( '\OutputPage' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $handler = 'OutputPageParserOutput';
+
+ $this->assertTrue(
+ $instance->isRegistered( $handler )
+ );
+
+ $this->assertThatHookIsExcutable(
+ $instance->getHandlerFor( $handler ),
+ array( $outputPage, $parserOutput )
+ );
+ }
+
+ private function assertThatHookIsExcutable( \Closure $handler, $arguments ) {
+ $this->assertInternalType(
+ 'boolean',
+ call_user_func_array( $handler, $arguments )
+ );
+ }
+
+}
diff --git a/www/wiki/extensions/Mermaid/tests/phpunit/Unit/MermaidParserFunctionTest.php b/www/wiki/extensions/Mermaid/tests/phpunit/Unit/MermaidParserFunctionTest.php
new file mode 100644
index 00000000..2a819c17
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/phpunit/Unit/MermaidParserFunctionTest.php
@@ -0,0 +1,109 @@
+<?php
+
+namespace Mermaid\Tests;
+
+use Mermaid\MermaidParserFunction;
+
+/**
+ * @covers \Mermaid\MermaidParserFunction
+ * @group mermaid
+ *
+ * @license GNU GPL v2+
+ * @since 1.0
+ *
+ * @author mwjames
+ */
+class MermaidParserFunctionTest extends \PHPUnit_Framework_TestCase {
+
+ public function testCanConstruct() {
+
+ $parser = $this->getMockBuilder( '\Parser' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->assertInstanceOf(
+ MermaidParserFunction::class,
+ new MermaidParserFunction( $parser )
+ );
+ }
+
+ public function testInitCallback() {
+
+ $callback = MermaidParserFunction::newCallback( 'foo' );
+
+ $this->assertInstanceOf(
+ '\Closure',
+ $callback
+ );
+
+ $parserOutput = $this->getMockBuilder( '\ParserOutput' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parser = $this->getMockBuilder( '\Parser' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parser->expects( $this->any() )
+ ->method( 'getOutput' )
+ ->will( $this->returnValue( $parserOutput ) );
+
+ $this->assertNotEmpty(
+ call_user_func_array( $callback, [ $parser ] )
+ );
+ }
+
+ /**
+ * @dataProvider textProvider
+ */
+ public function testParse( $text, $expected ) {
+
+ $parserOutput = $this->getMockBuilder( '\ParserOutput' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parserOutput->expects( $this->once() )
+ ->method( 'setExtensionData' )
+ ->with(
+ $this->equalTo( 'ext-mermaid' ),
+ $this->equalTo( true ) );
+
+ $parser = $this->getMockBuilder( '\Parser' )
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $parser->expects( $this->any() )
+ ->method( 'getOutput' )
+ ->will( $this->returnValue( $parserOutput ) );
+
+ $instance = new MermaidParserFunction(
+ $parser
+ );
+
+ $this->assertContains(
+ $expected,
+ $instance->parse( $text )
+ );
+ }
+
+ public function textProvider() {
+
+ yield [
+ [ 'sequenceDiagram...', 'config.theme=foo' ],
+ 'class="ext-mermaid" data-mermaid="{&quot;content&quot;:&quot;sequenceDiagram...&quot;,&quot;config&quot;:{&quot;theme&quot;:&quot;foo&quot;}}"><div class="mermaid-dots"></div></div>'
+ ];
+
+ // [ ... ]
+ yield [
+ [ 'sequenceDiagram id1["This is the (text) in the box"]', 'config.theme=foo' ],
+ 'data-mermaid="{&quot;content&quot;:&quot;sequenceDiagram id1[\&quot;This is the (text) in the box\&quot;]'
+ ];
+
+ // |
+ yield [
+ [ 'A[Hard edge] -->|Link text| B(Round edge)' ],
+ 'data-mermaid="{&quot;content&quot;:&quot;A[Hard edge] --&gt;|Link text| B(Round edge)&quot;'
+ ];
+ }
+
+}
diff --git a/www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh b/www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh
new file mode 100644
index 00000000..0fe25fb1
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+set -ex
+
+cd ..
+
+## Use sha (master@5cc1f1d) to download a particular commit to avoid breakages
+## introduced by MediaWiki core
+if [[ "$MW" == *@* ]]
+then
+ arrMw=(${MW//@/ })
+ MW=${arrMw[0]}
+ SOURCE=${arrMw[1]}
+else
+ MW=$MW
+ SOURCE=$MW
+fi
+
+wget https://github.com/wikimedia/mediawiki/archive/$SOURCE.tar.gz -O $MW.tar.gz
+
+tar -zxf $MW.tar.gz
+mv mediawiki-* mw
+
+cd mw
+
+## MW 1.25+ requires Psr\Logger
+if [ -f composer.json ]
+then
+ composer self-update
+ composer install --prefer-source
+fi
+
+if [ "$DB" == "postgres" ]
+then
+ # See #458
+ sudo /etc/init.d/postgresql stop
+ sudo /etc/init.d/postgresql start
+
+ psql -c 'create database its_a_mw;' -U postgres
+ php maintenance/install.php --dbtype $DB --dbuser postgres --dbname its_a_mw --pass nyan TravisWiki admin --scriptpath /TravisWiki
+else
+ mysql -e 'create database its_a_mw;'
+ php maintenance/install.php --dbtype $DB --dbuser root --dbname its_a_mw --dbpath $(pwd) --pass nyan TravisWiki admin --scriptpath /TravisWiki
+fi
diff --git a/www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh b/www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh
new file mode 100644
index 00000000..d87aa25a
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+set -ex
+
+BASE_PATH=$(pwd)
+MW_INSTALL_PATH=$BASE_PATH/../mw
+
+# Run Composer installation from the MW root directory
+function installToMediaWikiRoot {
+ echo -e "Running MW root composer install build on $TRAVIS_BRANCH \n"
+
+ cd $MW_INSTALL_PATH
+
+ if [ "$PHPUNIT" != "" ]
+ then
+ composer require 'phpunit/phpunit='$PHPUNIT --update-with-dependencies
+ else
+ composer require 'phpunit/phpunit=4.8.*' --update-with-dependencies
+ fi
+
+ if [ "$MERMAID" != "" ]
+ then
+ composer require 'mediawiki/mermaid='$MERMAID --update-with-dependencies
+ else
+ composer init --stability dev
+ composer require "mediawiki/mermaid:dev-master" --dev --update-with-dependencies
+
+ cd extensions
+ cd Mermaid
+
+ # Pull request number, "false" if it's not a pull request
+ # After the install via composer an additional get fetch is carried out to
+ # update th repository to make sure that the latests code changes are
+ # deployed for testing
+ if [ "$TRAVIS_PULL_REQUEST" != "false" ]
+ then
+ git fetch origin +refs/pull/"$TRAVIS_PULL_REQUEST"/merge:
+ git checkout -qf FETCH_HEAD
+ else
+ git fetch origin "$TRAVIS_BRANCH"
+ git checkout -qf FETCH_HEAD
+ fi
+
+ cd ../..
+ fi
+
+ # Rebuild the class map for added classes during git fetch
+ composer dump-autoload
+}
+
+function updateConfiguration {
+
+ cd $MW_INSTALL_PATH
+
+ # Site language
+ if [ "$SITELANG" != "" ]
+ then
+ echo '$wgLanguageCode = "'$SITELANG'";' >> LocalSettings.php
+ fi
+
+ echo 'error_reporting(E_ALL| E_STRICT);' >> LocalSettings.php
+ echo 'ini_set("display_errors", 1);' >> LocalSettings.php
+ echo '$wgShowExceptionDetails = true;' >> LocalSettings.php
+ echo '$wgDevelopmentWarnings = true;' >> LocalSettings.php
+ echo "putenv( 'MW_INSTALL_PATH=$(pwd)' );" >> LocalSettings.php
+
+ echo "wfLoadExtension( 'Mermaid' );" >> LocalSettings.php
+
+ php maintenance/update.php --quick
+}
+
+installToMediaWikiRoot
+updateConfiguration
diff --git a/www/wiki/extensions/Mermaid/tests/travis/run-tests.sh b/www/wiki/extensions/Mermaid/tests/travis/run-tests.sh
new file mode 100644
index 00000000..7f37b652
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/run-tests.sh
@@ -0,0 +1,14 @@
+#! /bin/bash
+set -ex
+
+BASE_PATH=$(pwd)
+MW_INSTALL_PATH=$BASE_PATH/../mw
+
+cd $MW_INSTALL_PATH/extensions/Mermaid
+
+if [ "$TYPE" == "coverage" ]
+then
+ composer phpunit -- --coverage-clover $BASE_PATH/build/coverage.clover
+else
+ composer phpunit
+fi
diff --git a/www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh b/www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh
new file mode 100644
index 00000000..aff95cf7
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh
@@ -0,0 +1,10 @@
+#! /bin/bash
+set -ex
+
+BASE_PATH=$(pwd)
+
+if [ "$TYPE" == "coverage" ]
+then
+ wget https://scrutinizer-ci.com/ocular.phar
+ php ocular.phar code-coverage:upload --format=php-clover $BASE_PATH/build/coverage.clover
+fi \ No newline at end of file